Lec6 1

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

Лекція 6.

Багаторядкові та нумеровані формули

1. Нумерація формул
У математичних текстах досить часто доводиться для зручності нумерувати формули.
LATEХ дозволяє організувати цю нумерацію так, щоб номери формул і посилання на них
генерувалися автоматично. Нумерувати таким чином можна тільки виключні формули.
Робиться це так. Виключна формула, яку Ви нумеруєте, повинна бути оформлена як
оточення equation (знаків $$$ не повинно бути!). Кожна така формула на друці
автоматично одержить номер. Щоб на нього можна було посилатися, необхідно формулу
помітити: у будь-якому місці між \begin{equation} і \end{equation} поставити команду
\label, і після цього команда \ref генеруватиме номер формули.

Приклад

Знак ~ ми поставили, щоб номер формули і слово «формула» не потрапили в різні рядки.

Зауваження! Зверніть увагу, що дужки навколо номера формули, що генерується


командою \ref, автоматично не ставляться.

Проте, в пакеті amsmath з колекції AMS-LATEX є команда \eqref, яка сама ставить
дужки. Тобто, \eqref{trivial} нaдрукує (1).

Можна також використовувати команду \pageref замість \ref — тоді на друці вийде не
номер формули, а номер сторінки, на яку потрапила ця формула.

В стандартних класах документа номер формули по замовчуванню ставиться справа від


формули. Однак, при наявності опції leqno в команді \documentclass

\documentclass[leqno]{article}

номери будуть розміщуватися зліва від формули. Пакет amsmath вводить також опцію
reqno: якщо деякий нестандартний клас встановлю по замовчуванню номерацію з лівої
сторони, то опція reqno відміняє це правило.

Те, як саме виглядає на друці номер формули, залежить від стилю документа. Наприклад,
в стилі article (стаття) формули мають суцільну нумерацію, а в стилі book (книга)
нумерація формул починається заново в кожному розділі, і номер, скажімо, формули 5 з
розділу 3, що генерується оточенням equation, має вигляд (3.5).
Ви можете взагалі не користуватися автоматичною генерацією номерів формул, а ставити
їх вручну. Щоб номер виглядав при цьому красиво, зручно скористатися ТЕХівською
командою \eqno.

Приклад

Зауваження! Виключна формула, яка номерується за допомогою команди \eqno, повинна


бути оформлена за допомогою знаків $$$; номером формули буде увесь текст, що
міститься між \eqno і закриваючими формулу $$$; цей текст обробляється LATEХом так
само, як математичні формули (отже, пропуски ігноруються, букви друкуються
«математичним курсивом», і т. п.).

Можна також замість \eqno вказати \leqno, тоді Ваш номер формули буде не справа, а
зліва.

Приклад

Зауваження! Ніяких автоматичних посилань на формулу, що генерується командою \eqno


або \leqno, TЕX не робить, і в цьому випадку за коректність посилань відповідаєте тільки
Ви.

2. Включення тексту в формули


Якщо Ви хочете в математичну формулу ввести нормальний текст (нормальний прямий
шрифт з нормальними пропусками), то використовуйте команду \textrm{...}.
Приклад

У даному прикладі використовується команда \qquad, що робить в тексті або формулі


додатковий пропуск.
У математичну формулу можна включити фрагмент звичайного тексту також за
допомогою LATEXівської команди \mbox.

Приклад

Аргумент команди \mbox обробляється ТЕХом як звичайний текст: пропуски не


ігноруються, слова набираються не математичним курсивом, а тим же шрифтом, який був
поточним перед початком формули (у нас це був звичайний прямий шрифт; якщо Ви
хочете, щоб шрифт був іншим, можна усередині аргументу команди \mbox дати команду
зміни шрифту). Весь текст, що є аргументом команди \mbox, буде надрукований в один
рядок. У навденому прикладі ми залишили пропуск перед закриваючою фігурною
дужкою, щоб забезпечити пропуск між текстом і формулою (фрагмент тексту, створений
командою \mbox, розглядається ТЕХом як одна велика літера).

Насправді можна було б написати навіть так:

Зауваження! Аргумент команди \mbox розглядається як текст, але цей текст цілком може,
у свою чергу, містити формули!

Зауваження! При включенні тексту в формули за допомогою команди \mbox важливо


мати на увазі наступне. В математичних формулах верхні і нижні індекси, чисельник і
знаменник дробів і тому подібні фрагменти набираються дрібнішим шрифтом, ніж решта
частини формули. Проте в тексті, створеному з допомогою \mbox, розмір шрифту не
зміниться, в яку б частину формули цей текст не потрапив.

В розглянутому вище прикладі слова "для всіх" не є частиною формули хоча і входять в
математичний вираз. Якщо ви хочете набрати звичайним шрифтом частину формули, то
потрібно змінити математичний шрифт, який використовується по замовчуванню, на
математичний шрифт з формою символів, як у звичайного шрифта. Для цього можна
скористатися командою \mathrm. В цьому випдку ТЕХ залишається в математичній моді і
правильно підбирає розмір шрифта для індексів, чисельників, знаменників і т.д.
Зауважимо, що при підключенні пакета amsmath команда \textrm також змінює розмір
шрифта. Порівняйте:

Приклад

3. Вертикально розміщений матеріал


3.1. Матриці

Щоб набрати за допомогою LATEXа матрицю, потрібно скористатися оточенням array.


Перш, ніж описувати, як це оточення працює, розберемо такий приклад:

Приклад

Подивимося, як побудований початковий текст, що дає на друці цю матрицю. Кожна


матриця складається з рядків і стовпців; рядки матриці розділяються за допомогою
команди \\ (останній рядок закінчувати командою \\ не треба), а елементи усередині
одного рядка, що відносяться до різних стовпців, відділяються один від одного за
допомогою символу &. Далі, після команди \begin{array}, яка відкриває оточення,
повинна слідувати (у фігурних дужках, оскільки це параметр оточення array) так звана
преамбула матриці, що описує, скільки стовпців повинно бути в матриці. У нашому
випадку преамбула є чотирма літерами сссс. Це означає, що в матриці 4 стовпці (по літері
на один стовбець), і що вміст кожного з цих стовпців повинен бути розташована по
центру стовпця (оскільки кожна з літер — літера с). Крім того, в преамбулі може стояти
літера l, яка означає, що відповідний стовбець буде вирівняний по лівому краю, або r, що
означає, що стовбець буде вирівняний по правому краю.

У третьому рядку матриці ми використовували вертикальних три крапки, що генеруються


командою \vdots, і діагональних три крапки, що генеруються командою \ddots. Ці
команди можна використовувати не тільки всередині оточення array, але і в будь-якому
місці в математичних формулах.

Нашій матриці не вистачає ще дужок; щоб їх створити, треба перед \begin{array} написати
\left ( , а після \end{array} написати \right)

Вихідний текст, що генерує на друці нашу матрицю, розташований так, щоб одному рядку
вихідного тексту відповідав один рядок матриці. Таке розташування ми вибрали тільки
для зручності читання, але, взагалі кажучи, воно абсолютно не обов'язкове: буває, що
впродовж декількох рядків доводиться тягнути текст, який піде в один рядок на друці, а
іноді в одному рядку початкового тексту поміщається декілька рядків матриці.

Зауваження! В LATEХу розбиття тексту на рядки ролі не відіграє: кінець рядка


сприймається просто як пропуск.

Пакет amsmth вводить кілька спеціальних оточень для набору матриць. на відміну від
оточення array, для них не потрібно вказувати кількість стовпців у матриці і задавати
розположення формул в клітинці. Всередині стовпців вони завжди центруються. Крім
matrix, в оточеннях pmatrix, bmatrix, vmatrix i Vmatrix автоматично друкуються дужки
навколо матриці, причому різні для різних оточень.
Приклад

Цей ряд матриць у вихідному тексті задається наступним чином:

3.2. Системи рівнянь та нерівностей

Оточення array можна також використовувати для набору виразів, які мають один великий
розділювач (наприклад, фігурну), підставляючи крапку "." в якості невидимого правого
розділювача.

Приклад

Ми відвели по одному стовпцю на ліву частину кожного рівняння, на знак рівності і на


праву частину. При цьому ми вимагаємо, щоб ліві частини рівнянь були вирівняні по
правому краю (звідси r в преамбулі), праві частини вирівняні по лівому краю (l в
преамбулі), а знак рівності розташовувався по центру своєї колонки (тому друга літера в
преамбулі — літера c). Для створення фігурної дужки, що охоплює всю систему, ми
скористалися командами \left і \right, причому при команді \right стоїть «порожній
обмежувач» — крапка.

Приклад
Якщо необхідно, щоб окремі рівняння в системі були пронумеровані, можна скористатися
оточенням eqnarray. Воно працює так само, як оточення array з преамбулою у
вищенаведеному прикладі, але при цьому біля кожного рівняння автоматично друкується
його номер (подібно тому, як автоматично друкується номер біля виключної формули,
створеної за допомогою оточення equation). Якщо поставити мітку яке-небудь рівняння за
допомогою команди \label, то надалі можна на неї посилатися за допомогою команди \ref
(тоді автоматично друкуватиметься номер рівняння) або \pageref (тоді автоматично
друкуватиметься номер сторінки, на яку потрапило це рівняння).

Приклад

Оточення eqnarray* працює так само, як eqnarray, тільки в цьому випадку формули не
нумеруються.

3.3. Надрядкові знаки

Горизонтальні лінії

Команди \overline i \underline створюють горизонтальні лінії відразу над або під виразом.

Приклад

Горизонтальні фігурні дужки

Команди \overbrace i \underbrace створюють довгі горизонтальні фігурні дужки відразу


над чи під виразом.

Приклад

Вектори
Вектори часто вказуються добавлянням маленьких стрілок над змінними. Це робиться за
допомогою команди \vec. Для позначення вектора від A до B, корисною є команда
\overrightarrow. Аналогічна їй команда \overleftarrow ставить над формулою стрілку,
направлену вліво, а не вправо.

Приклад

Інші надрядкові символи

Для постановки інших знаків над літерами в формулах передбачені команди, перераховані
в наступній таблиці, в якій, для прикладу, ці знаки ставляться над літерою а:

Зауваження! Надрядкові знаки, перераховані в таблиці, можна ставити тільки над однією
літерою.

Тому, якщо написати у вихідному тексті \hat{a+b}, то одержимо досить некрасиву


формулу TEX дозволяє поставити "дашок" відповідного розміру над цілим
фрагментом формули з допомогою команди \widehat.

Приклад

3.4. Багаторядкові індекси

Пакет amsmath вводить команду \substack для набору багаторядкових індексів і символів
змінного розміру. Індекси розбиваються на рядки командою \\.

Приклад
Можливості команди \substack розширює оточення subarray. Воно має обов`язковий
аргумент, який вказує, як повинні вирівнюватися рядки індексів. Допустимі значення l, c
та r відповідають вирівнюванню по лівому краю, центру та по правому краю.

Приклад

4. Переноси в формулах
При необхідності TЕX може перенести частину внутрішньотекстової формули на інший
рядок. Такі перенесення можливі після знаків «бінарних відношень», на зразок знаку
рівності або «бінарних операцій», на зразок знаків додавання або множення, причому
останній знак в рядку, всупереч нашій традиції, не дублюється на початку наступного.
Якщо це Вас дратує, або Ви взагалі не хочете, щоб внутрішньотекстові формули
переносилися, можна скористатися тією обставиною, що ТЕХ не розриває при
перенесенні частину формули, поміщену в фігурні дужки. Зокрема, можна помістити в
фігурні дужки всю формулу, від відкриваючого її знаку долара до закриваючого.

Зауваження! Виключні формули, на відміну від внутрішньотекстових, TЕX ніколи не


переносить. Якщо виключна формула не поміщається в рядок, то при трансляції Ви
одержите повідомлення «Overfull \hbox», і Вам доведеться розбивати формулу на рядки
вручну.

Для друку таких формул можна використовувати оточення eqnarray або eqnarray*.

Приклад

Для того, щоб частини формули в різних рядках не починалися б точно одна під другою,
використовуються команди, які ставлять додатковий пропуск, наприклад \qquad.

У випадку, коли використовується оточення eqnarray, формула отримає номер. Зрозуміло,


що перед командою \\, яка завершує розірваний рядок, необхідно поставити команду
\nonumber, в протилежному випадку кусок формули також буде занумерований. Для
зміщення вправо частини формули, розміщеної в другому рядку, можна скористатися
точками вирівнювання, які задаються символами &.

Приклад

Парні дужки у вихідному тексті в кінці першого рядка задають "порожню формулу".

Пакет amsmath вводить спеціальне оточення multline для розщеплення рівнянь на


декілька частин. Воно дає занумеровану формулу. Для ненумерованих формул треба
використовувати оточення multline*. Точки переносу рядків задаються командою \\.
Перша частина рівняння присувається до лівого поля, а остання – до правого. Решта
частин центрується (крім випадку, коли в \documentclass задана опція flenq).

Приклад

Для розщеплення довгих виразів з вирівнюванням по вертикалі, пакет amsmath пропонує


оточення split. Точки переносу рядків задаються командою \\. Точки вирівнювання частин
формули з різних рядків задаються амперсантом &.

Оточення split використовується тільки всередині інших оточень для набору виключних
формул.

Приклад

По замовчуванню діє опція centertags і номер розбитої на кілька рядків формули


центрується по вертикалі відносно загальної висоти формули.

You might also like