МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ І СПОРТУ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
РЕДАГУВАННЯ СКЛАДНИХ МАТЕМАТИЧНИХ ФОРМУЛ В LATEX
МЕТОДИЧНІ ВКАЗІВКИ ДО ЛАБОРАТОРНОЇ РОБОТИ №4
з курсу
“Технічне редагування ”
для студентів базового напряму 051501 «Видавничо-поліграфічна справа»
освітньо-кваліфікаційного рівня бакалавр
Затверджено
на засіданні кафедри АСУ
Протокол № 14-2010/2011
від 20.06.2011 р.
Львів – 2011
Лабораторна робота №4
Редагування складних математичних формул в LaTeX
Мета роботи – ознайомитись з основними принципами набору та верстки складних формул в LaTeX.
Теоретичні відомості
Для підключення пакету mathtext згідно з загальними правилами необхідно в преамбулу документу додати \usepackage {mathtext}.
Для підключення пакету amsmath необхідно в преамбулу документу додати \usepackage {amsmath}.
Системи рівнянь
Для набору систем рівнянь в LaTeX передбачені оточення eqnarray для нумерованих формул та eqnarray* для ненумерованих формул. Всередині оточення рівняння, які повинні розміщуватися на окремих рядках, відділяються одна від одної командами \\. Вираз в межах одного рядка повинен складатися з трьох частин (можливо порожніх), розділених амперсантами &. Кожна частина поміщається в свій стовпець. У лівому стовпці формули притискаються до правого краю, в середньому – центруються, а в правому стовпці – притискаються до лівого краю. Символи & задають точки вирівнювання формул з різних рядків по вертикалі. Кожен рядок в оточенні eqnarray отримує при друці свій номер. Відмінити нумерацію будь-якого рядка можна командою \nonumber.
Приклад.
\begin{eqnarray}
I& = &U+ PV \\
\Psi& = &U -TS \\
\Psi + PV & = & \Phi \nonumber
\end{eqnarray}
Оточення equation і eqnarray використовують один і той же лічильник equation, значення якого і друкується як номер формули. Отже, всі нумеровані формули в документі матимуть єдину нумерацію.
Для друку системи рівнянь без вирівнювання по вертикалі пакет amsmath вводить оточення gather. Воно дає нумеровані рівняння. Для ненумерованих формул необхідно використовувати оточення gather*.Точки перенесення рядків задаються командою \\. Всі рядки центруються.
Приклад.
\begin{gather}
A_x =-Hy\\
A_y =A_z =0
\end{gather}
Для набору систем рівнянь з вирівнюванням по вертикалі, пакет amsmath пропонує оточення align, alignat і flalign для нумерованих формул align*, alignat* та flalign* для ненумерованих формул. Точки перенесення рядків задаються командою \\. Точки вирівнювання рівнянь з різних рядків по вертикалі задаються амперсантом &. На відміну від оточення eqnarray, рівняння не треба розбивати натри частини:
Приклад.
\begin{align}
\Psi& = U -TS \\
\Psi+ PV& = \Phi
\end{align}
В оточеннях AMS-LaTeX, призначених для друку систем нумерованих рівнянь, можна відмінити нумерацію будь-якого рядка, використовуючи команду \notag, аналогічну команді \nonumber.
Розбиття довгих формул
Формули, виділені в окремий рядок, на відміну від внутрішньотекстових, LaTeX ніколи не переносить. Якщо така формула не поміщається в рядку і виходить на поля сторінки, то при трансляції LaTeX видає повідомлення про переповнювання (Overfull ...). Розбивати довгі формули на рядки доводиться вручну. Для друку таких формул можна використовувати оточення eqnarray або 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*}
Для того щоб частини формули на різних рядках не починалися б точно одна під одною, доводиться використовувати команди, що вставляють пропуски, наприклад \qquad.
При використанні оточення eqnarray формула отримає номер. Перед командою \\, що завершує обірваний рядок, треба поставити команду \nonumber, інакше залишок формули буде пронумерований. Для зсуву вправо частини формули, розташованої на другому рядку, можна скористатися точками вирівнювання (задаються символами &).
Приклад.
\begin{eqnarray}
x+y& = &a+b+c+ {}\nonumber\\
& &d+e+f+ g.
\end{eqnarray}
Парні дужки {} у вихідному тексті в кінці першого рядка задають «порожню формулу». Оскільки знак «+» стоїть між двома формулами, LaTeX робить пропуски належного розміру.
Оператори з межами
В LaTeX можна отримати формулу із записами над і під знаками операцій (в разі оператора вони називаються «межі підсумовування», тому записи над і під знаком операцій прийнято називати межами (limits)).
Приклад.
\[\lim_{n \to \infty} \sum_{k=1}^n \frac{1}{k^2} = \frac{\pi^2}{6}\]
В даному прикладі важливим є те, що формула виділена в окремий рядок; у внутрішньотекстовій формулі межі друкуються на тих же місцях, що і індекси.
\bigcap
\bigotimes
\prod
\bigcup
\bigsqcup
\coprod
\bigodot
\biguplus
\sum
\bigoplus
\bigvee
\int
\bigwedge
\oint
Приклад.
\( \lim_{n \to \infty}\sum_{k=1}^n
\frac{1}{k^2}= \frac{\pi^2}{6} \)
Індекси поводяться як межі не лише в операторів змінного розміру, але і в операторів типу \lim, які друкують ім'я операції прямим шрифтом без зміни розміру букв.
Якщо треба, аби межі в якого-небудь оператора стояли не над і під знаком оператора, а збоку, то після команди для знаку оператора треба поставити команду \nolimits, а вже після неї – позначення для меж.
Приклад.
\[\prod\nolimits_{i=1}^n i = n!\]
Інтеграли
Для набору знаків інтегралу використовуються команди \int для звичайного інтегралу і \oint для контурного інтегралу. Межі інтеграції за замовчанням друкуються збоку як індекси не лише у формулах всередині тексту, але й у виключних формулах.
Приклад.
\[\int_0^1 f(x)\,dx \qquad \oint_C \mu\,dl\]
Аби межі інтеграції стояли над і під знаком інтегралу, необхідно відразу після \int (або \oint) поставити команду \limits, а вже після неї – позначення для меж інтеграції.
Приклад.
\[ \int\limits_0^\infty в(x)\,dx
\qquad
\oint\limits_C dl \]
Пакет amsmath вводить команди \iint, \iiint і \iiiint для друку кратних інтегралів і команду \idotsint для друку двох знаків інтеграла з багатокрапкою між ними.
Приклад.
\[\iint dxdy\quad\iiint dxdydz\quad\iiiint dV\]
\[\idotsint\limits_V d\vec{x}\]
Варіанти застосування індексів
Пакет amsmath вводить команду \substack для набору багаторядкових індексів в символів змінного розміру. Індекси розбиваються на рядки, як завжди, командою \\.
Приклад.
\[\sum_{\substack{i\in\Lambda\\0<j<n} } P(i,j)\]
Можливості команди \substack розширюють командні дужки subarray. Вони мають обов'язковий аргумент, який вказує, як повинні вирівнюватися рядки індексів. Допустимі значення l, с і r відповідають вирівнюванню по лівому краю, по центру і правому краю, відповідно.
Приклад.
\begin{equation}
\sum_{\begin{subarray}{l}
i \in \Lambda \\ 0<j<n
\end{subarray}} P(i,j)
\end{equation}
Пакет amsmath вводить також команду \sideset для друку індексів по кутах символів змінного розміру.
Приклад.
\[\sideset{_1^2}{_3^4}\prod_k \qquad
\sideset{}{’}\sum_{0\le i\le m}E_i\beta x\]
Стрілки з індексами
Команди \xleftarrow і \xrightarrow з пакету amsmath проводять розтяжні стрілки з індексами. Перший (необов'язковий) аргумент розміщується під стрілкою, а другий (обов'язковий) – над нею:
Приклад.
\[ 0 \xleftarrow[\zeta]{\alpha}
F\times\triangle[n-1]
\xrightarrow{\partial_0\alpha(b)}
E^{\partial_0b} \]
Математичні функції
Функції типу логарифма
Прийняті для позначення функцій імена sin, log і т.п. друкуються прямим шрифтом командами, складеними з \ й імені функції; між ім'ям функції і її аргументом автоматично вставляється маленький пробіл. Якщо ви хочете взяти аргумент функції в дужки, то їх треба набирати самому. Повний список команд для друку імен математичних функцій типу log наведено в таблиці 1.
Таблиця 1.
Список команд для друку імен математичних функцій.
arccos
\arccos
deg
\deg
sin
\sin
cos
\cos
ker
\ker
arg
\arg
csc
\csc
sec
\sec
coth
\coth
hom
\hom
tanh
\tanh
exp
\exp
log
\log
arctan
\arctan
ln
\ln
tan
\tan
cot
\cot
sinh
\sinh
arcsin
\arcsin
dim
\dim
cosh
\cosh
lg
\lg
До будь-якої з команд можна поставити верхній і/або нижній індекс.
Приклад.
$\log_{1/16}2=-1/4 \quad \sin^2(\pi/6)=1/4$
Функції з межами
Функції типу lim друкуються прямим шрифтом; між ім'ям функції і її аргументом автоматично вставляється маленький пробіл.
Команди, які друкують імена функції з межами, наведені в таблиці 2.
Таблиця 2.
Команди, які друкують імена функції з межами.
lim sup
\limsup
sup
\sup
gcd
\gcd
lim
\lim
lim inf
\liminf
Pr
\Pr
max
\max
inf
\inf
det
\det
min
\min
Конструкції для багаторядкових виразів
Матриці
Пакет amsmath вводить декілька спеціалізованих середовищ для набору матриць. Всередині стовпців вони завжди центруються. Крім matrix, в оточеннях pmatrix, bmatrix, vmatrix і Vmatrix автоматично друкуються дужки навколо.
Приклад.
\[ \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} \]
За замовчуванням допустима кількість стовпців дорівнює 10. Якщо потрібна більша кількість стовпців, то треба змінити значення лічильника MaxMatrixCols.
У великих матрицях рядок точок друкує команда \hdotsfor. Обов'язковий аргумент команди задає число стовпців, зайнятих точками, а необов'язковий (стоїть першим) – відстань між точками у відносних одиницях до стандартного.
Приклад.
\[ 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} \]
Оточення smallmatrix призначено для набору матриць всередині текстового абзацу.
Приклад.
Щоб показати матрицю $\left(\begin{smallmatrix} a & b \\ c & d \end{smallmatrix} \right)$ ми робим отак.
Система умов з дужкою
Оточення array можна використовувати для верстки виразів, що мають один великий роздільник, підставляючи «.» як невидимий на правій сторінці:
Приклад.
\[ \varphi(x) = \left\{
\begin{array}{ll}
0 & \textrm{для } x\leq 0\textrm{,}\\
e^{-1/x} & \textrm{інакше}
\end{array} \right. \]
Пакет amsmath вводить оточення cases, яке спрощує набір умовних конструкцій.
Приклад.
\[ \varphi(x) = \begin{cases}
0 & \text{для $x\leq 0$,}\\
e^{-1/x} & \text{інакше}
\end{cases} \]
Порядок виконання роботи
Ознайомитись зі основними принципами набору та редагування складних формул в системі LaTeX.
Відкомпілювати наведені приклади в редакторі TexWorks.
Відповідно до індивідуального завдання (№ варіанту відповідає номеру студента в загальному списку групи), набрати формули.
Індивідуальне завдання
Створити матрицю розміром 3 х 3 (з квадратними дужками)
Створити матрицю розміром 4 х 4 (з квадратними дужками)
Створити матрицю розміром 5 х 5 (з квадратними дужками)
Створити матрицю розміром 3 х 3 (з круглими дужками)
Створити матрицю розміром 4 х 4 (з круглими дужками)
Створити матрицю розміром 5 х 5 (з круглими дужками)
Створити матрицю розміром 1 х 3 (з квадратними дужками)
Створити матрицю розміром 1 х 4 (з квадратними дужками)
Створити матрицю розміром 1 х 5 (з квадратними дужками)
Створити матрицю розміром 2 х 3 (з круглими дужками)
Створити матрицю розміром 2 х 4 (з круглими дужками)
Створити матрицю розміром 4 х 5 (з круглими дужками)
Створити матрицю розміром 4 х 3 (з квадратними дужками)
Створити матрицю розміром 4 х 1 (з квадратними дужками)
Створити матрицю розміром 5 х 2 (з квадратними дужками)
Створити матрицю розміром 3 х 5 (з круглими дужками)
Створити матрицю розміром 4 х 5 (з круглими дужками)
Створити матрицю розміром 5 х 3 (з круглими дужками)
Створити матрицю розміром 2 х 5 (з квадратними дужками)
Створити матрицю розміром 5 х 3 (з квадратними дужками)
Створити матрицю розміром 4 х 5 (з квадратними дужками)
Створити матрицю розміром 7 х 3 (з круглими дужками)
Створити матрицю розміром 2 х 3 (з круглими дужками)
Створити матрицю розміром 5 х 2 (з круглими дужками)
Створити матрицю розміром 2 х 5 (з квадратними дужками)
Створити матрицю розміром 4 х 2 (з квадратними дужками)
Створити матрицю розміром 2 х 4 (з квадратними дужками)
Створити матрицю розміром 1 х 2 (з круглими дужками)
Створити матрицю розміром 4 х 2 (з круглими дужками)
Створити матрицю розміром 1 х 2 (з круглими дужками)
Зміст звіту
Титульна сторінка.
Мета роботи.
Короткі теоретичні відомості.
Порядок виконання роботи.
Текст LaTeX-файлу (з командами).
Приклад відкомпільованого LaTeX-файлу.
Висновки.
Рекомендована література
Львовский С. М. Набор и верстка в пакете LaTeX, 3-е издание. — М.: МЦHМО, 2003, 448 с.
Оетикер Т., Партль Х., Шлегл Э., Хина И. Не очень краткое введение в LaTeX2e, или LaTeX2e за 94 минуты. Перевод с английского Б. Тоботраса, 1999, 108 с.
Клименко С. В., Лисина М. В. LaTeX и его команды. – Институт физики высоких энергий, 1996, 149 с.
Сюткин В. Русский язык в LaTeX2e. 2002, 7 с.
Сюткин В. Включение рисунков в LaTeX2e. 2001, 12 с.
Гуссенс М., Миттельбах Ф., Cамарин А. Путеводитель по пакету LaTeX и его расширению LaTeX2e. — Москва: Мир, 1999, 606 с.
Контрольні запитання
Як створити системи рівнянь.
Метод розбиття довгих формул.
Які оператори використовують межі?
Варіанти застосування індексів.
Функції типу логарифма.
Правила створення матриць.
Система умов з дужкою.