МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУНАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ЛАБОРАТОРНА РОБОТА №4
РЕДАГУВАННЯ СКЛАДНИХ МАТЕМАТИЧНИХ ФОРМУЛ В LATEX
Мета роботи – ознайомитись з основними принципами набору та верстки складних формул в LaTeX.
ТЕОРЕТИЧНІ ВІДОМОСТІ
Для підключення пакету mathtext згідно з загальними правилами необхідно в преамбулу документу додати \usepackage {mathtext}.
Для підключення пакету amsmath необхідно в преамбулу документу додати \usepackage {amsmath}.
Системи рівнянь
Для набору систем рівнянь в LaTeX передбачені оточення eqnarray для нумерованих формул та eqnarray* для ненумерованих формул. Всередині оточення рівняння, які повинні розміщуватися на окремих рядках, відділяються одна від одної командами \\. Вираз в межах одного рядка повинен складатися з трьох частин (можливо порожніх), розділених амперсантами &. Кожна частина поміщається в свій стовпець. У лівому стовпці формули мають вирівнюваня вправо, в середньому – по центру, а в правому стовпці – по лівому краю. Символи & задають точки вирівнювання формул з різних рядків по вертикалі. Кожен рядок в оточенні eqnarray отримує при друці свій номер. Відмінити нумерацію будь-якого рядка можна командою \nonumber.
Оточення equation і eqnarray використовують один і той же лічильник equation, значення якого і друкується як номер формули. Отже, всі нумеровані формули в документі матимуть єдину нумерацію.
Для друку системи рівнянь без вирівнювання по вертикалі пакет amsmath вводить оточення gather. Це дає можливість створити нумеровані рівняння. Для ненумерованих формул необхідно використовувати оточення gather*.Точки перенесення рядків задаються командою \\. Всі рядки центруються.
Для набору систем рівнянь з вирівнюванням по вертикалі, пакет amsmath пропонує оточення align, alignat і flalign для нумерованих формул align*, alignat* та flalign* для ненумерованих формул. Точки перенесення рядків задаються командою \\. Точки вирівнювання рівнянь з різних рядків по вертикалі задаються знаком амперсанту &. На відміну від оточення eqnarray, рівняння не треба розбивати на три частини:
В оточеннях AMS-LaTeX, призначених для друку систем нумерованих рівнянь, можна відмінити нумерацію будь-якого рядка, використовуючи команду \notag, аналогічну команді \nonumber.
Розбиття довгих формул
Формули, виділені в окремий рядок, на відміну від внутрішньотекстових, LaTeX ніколи не переносить. Якщо така формула не поміщається в рядку і виходить на поля сторінки, то при трансляції LaTeX видає повідомлення про переповнювання (Overfull ...). Розбивати довгі формули на рядки доводиться вручну. Для друку таких формул можна використовувати оточення eqnarray або eqnarray.
Для того щоб частини формули на різних рядках не починалися б точно одна під одною, доводиться використовувати команди, що вставляють пропуски, наприклад \qquad.
При використанні оточення eqnarray , формула отримає номер. Перед командою \\, що завершує обірваний рядок, треба поставити команду \nonumber, інакше залишок формули буде пронумерований. Для зсуву вправо частини формули, розташованої на другому рядку, можна скористатися точками вирівнювання (задаються символами &).
Парні дужки {} у вихідному тексті в кінці першого рядка задають «порожню формулу». Оскільки знак «+» стоїть між двома формулами, LaTeX робить пропуски належного розміру.
Оператори з межами
В LaTeX можна отримати формулу із записами над і під знаками операцій (в разі оператора вони називаються «межі підсумовування», тому записи над і під знаком операцій прийнято називати межами (limits)).
Приклад.
\[\lim_{n \to \infty} \sum_{k=1}^n \frac{1}{k^2} = \frac{\pi^2}{6}\]
/
Рис.1.Приклад зі знаком суми
В даному прикладі важливим є те, що формула виділена в окремий рядок; а у формулі межі друкуються на тих же місцях, що й індекси.
Індекси розміщують в межах операторами різного розміру, та операторами типу \lim, при використанні якого друкують ім'я операції прямим шрифтом без зміни розміру букв.
Якщо треба, аби межі в якого-небудь оператора стояли не над чи під знаком оператора, а збоку, то після команди для знаку оператора треба поставити команду \nolimits, а вже після неї – позначення для меж.
Інтеграли
Для набору знаків інтегралу використовуються команди \int для звичайного інтегралу і \oint для контурного інтегралу. Межі інтегралу за замовчуванням друкуються збоку як індекси, див. рис.2.
Приклад.
\[\int_0^1 f(x)\,dx \qquad \oint_C \mu\,dl\]
Рис. 2.Приклад зі знаком суми із межами інтегралу, що розміщені як індекси
Аби межі інтеграції стояли над і під знаком інтегралу, необхідно відразу після \int (або \oint) поставити команду \limits, а вже після неї – позначення для меж інтегралу.
Пакет amsmath вводить команди \iint, \iiint і \iiiint для друку кратних інтегралів і команду \idotsint для друку двох знаків інтеграла з багатокрапкою між ними.
Варіанти застосування індексів
Пакет amsmath вводить команду \substack для набору багаторядкових індексів в символів змінного розміру. Індекси розбиваються на рядки, як завжди, командою \\, див. рис. 3.
Приклад:
\[\sum_{\substack{i\in\Lambda\\0<j<n} } P(i,j)\]
/
Рис. 3.Приклад зі знаком суми
Можливості команди \substack розширюють командні дужки subarray. Вони мають обов'язковий аргумент, який вказує, як повинні вирівнюватися рядки індексів. Допустимі значення l, с і r відповідають вирівнюванню по лівому краю, по центру і правому краю.
Пакет amsmath вводить також команду \sideset для друку індексів по кутах символів змінного розміру, див. рис. 4.
Приклад:
\[\sideset{_1^2}{_3^4}\prod_k \qquad
\sideset{}{’}\sum_{0\le i\le m}E_i\beta x\]
/
Рис. 4.Приклад зі знаком суми із використанням команди \sideset
Математичні функції
Функції типу логарифма. Прийняті для позначення функцій імена sin, log і т.п. друкуються прямим шрифтом командами, складеними з \ й імені функції; між ім'ям функції і її аргументом автоматично вставляється маленький пробіл. Якщо ви хочете взяти аргумент функції в дужки, то їх треба набирати самому.
Конструкції для багаторядкових виразів
Матриці
Пакет amsmath вводить декілька спеціалізованих середовищ для набору матриць. Всередині стовпців вони завжди центруються. Крім matrix, в оточеннях pmatrix, bmatrix, vmatrix і Vmatrix автоматично друкуються дужки навколо, див. рис.5.
Приклад.
\[ \begin{matrix} 0 & 1 \\ 1 & 0 \end{matrix} \qquad
\begin{pmatrix} 0 & -i \\ i & 0 \end{pmatrix} \qquad
\begin{bmatrix} 1 & 0 \\ 0 & -1 \end{bmatrix} \qquad
\begin{vmatrix} a & b \\ c & d \end{vmatrix} \qquad
\begin{Vmatrix} 1 & 0 \\ 0 & 1 \end{Vmatrix} \]
/
Рис.5. Приклад зі записом матрицею
ПОРЯДОК ВИКОНАННЯ РОБОТИ
Ознайомитись зі основними принципами набору та редагування складних формул в системі LaTeX.
Приклад програми відповідно до індивідуального завдання:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[ukrainian,russian]{babel}
\usepackage {amsmath}
\begin{document}
\[\lim_{n \to \infty} \sqrt[3]{n} \Biggl(\sqrt[3]{n^2+4}-\sqrt[3]{n(n-2)}\Biggl)\]
\[lim_{n \to \null0 }\frac{\sqrt{x+4}-2} {sin2x}\]
\[ \left\{
\begin{array}{ll}
x=\sin^2(t)\textrm{,}\\
y=\ctg^2(t)
\end{array} \right. \]
$\vec a$= $\frac {x^2+y^2} {2} $ $\vec i$+(xy+z)$\vec j$ - (y+xz)$\vec k$
\[ \begin{bmatrix}\
1 & 0 & 4 \\
0 & -1 & 5 \\
3 & 6 & 9 \\
12 & 15 & 18 \\
21 & 23 & 27 \\
\end{bmatrix} \qquad \]
\[ \int\limits_0^\frac{1} {2} \arccos(\sqrt{1-2x^2})\,dx \]
\[ \sum_{n=1}^\infty \frac{2^n sin^{2n} 3x}{\sqrt[3]{n}} \]
\[ \int\ \frac{4x^3-12x^2+12x-36}{(x-1)^2 (x^2+7)}\,dx \]
\end{document}
Результат вищевказаної програми:
/
Приклад тексту програми:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[ukrainian,russian]{babel}
\usepackage {amsmath}
\begin{document}
\begin{eqnarray}
I& = &U+ PV \\
\Psi& = &U -TS \\
\Psi + PV & = & \Phi \nonumber
\end{eqnarray}
\begin{eqnarray*}
& \int(F_i x_k -F_k x_i)\,dV = & \\
& \qquad=\oint(u_{il}x_k- u_{kl}x_i)\,df_l &
\end{eqnarray*}
\[\lim_{n \to \infty} \sum_{k=1}^n \frac{1}{k^2} = \frac{\pi^2}{6}\]
\[\prod\nolimits_{i=1}^n i = n!\]
\[ \begin{matrix} 0 & 1 \\ 1 & 0 \end{matrix} \qquad
\begin{pmatrix} 0 & -i \\ i & 0 \end{pmatrix} \qquad
\begin{bmatrix} 1 & 0 \\ 0 & -1 \end{bmatrix} \qquad
\begin{vmatrix} a & b \\ c & d \end{vmatrix} \qquad
\begin{Vmatrix} 1 & 0 \\ 0 & 1 \end{Vmatrix} \]
\[ W(\Phi) = \begin{Vmatrix}
1 & 0 & \hdotsfor{2} & 0 \\
k_{n2} & 1 & 0 & \dots & 0 \\
\hdotsfor[2]{5} \\
k_{n1} & k_{n2} & \dots & k_{n\,n-1} & 1
\end{Vmatrix} \]
\[ \varphi(x) = \begin{cases}
0 & \text{для $x\leq 0$,}\\
e^{-1/x} & \text{інакше}
\end{cases} \]
\end{document}
Результат вищевказаної програми:
/
Висновок: ми ознайомились з основними принципами набору та верстки складних формул в LaTeX.