Файл: Учебное пособие для студентов направления "Информатика и вычислительная техника".pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 10.01.2024
Просмотров: 44
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Конструкция с \left и \right применима не только к круглым скобкам. В
следующей табл. 19 перечислены скобки и некоторые другие символы, ко- торые с помощью \left и \right автоматически принимают нужный раз- мер. TEXнический термин для таких символов – ограничители (по-английски delimiters).
Таблица 19
Cимволы-ограничители
Символ Команда
Символ Команда
Символ Команда
(
(
)
)
[
[
]
]
{
\{
}
\}
⌊
\lfloor
⌋
\rfloor
⌈
\lceil
⌉
\rceil h
\langle i
\rangle
|
|
k
\|
/
/
\
\backslash
Вместо \left\langle можно писать \left< , и аналогичным образом вместо \right\rangle можно писать \right> (однако же < – это не \langle!).
Вместе с каждой командой \left в формуле должна присутствовать соответствующая ей команда \right, в противном случае TEX выдаст со- общение об ошибке. Вместе с тем TEX вовсе не требует, чтобы «ограничи- тели» (например, скобки) при командах \left и \right были расположены сколько-нибудь осмысленно с математической точки зрения: вы вполне може- те написать что-нибудь вроде \left(...\right] или даже, вопреки смыслу слов left и right, \left) ..\right(.
Вместо «ограничителя» после команды \left или \right можно поста- вить точку. На месте этой точки ничего не напечатается, а другой «ограничи- тель» будет необходимого размера. Вот пример того, как можно использовать этот прием. Таким способом можно создать косую дробную черту увеличен- ного размера (символ / также является «ограничителем» – см. табл. 19):
M(f ) =
b
Z
a f (x) dx
,
(b
− a)
$$
M(f)=\left.\left(
\int\limits_a^b f(x)\,dx
\right)
\right/(b-a)
$$
39
5.6
Шрифты и текст в формулах
Размер символов в формулах и их начертание в большинстве случаев ре- гулируется L
A
TEX’ом автоматически. Но иногда необходимо указать нужные параметры вручную. Следует помнить, что в формулах используются четыре размера шрифта:
${\displaystyle Text}, {\textstyle Text},$\\
${\scriptstyle Text}, {\scriptscriptstyle Text}$
Результат применения команд изменения шрифта к слову Text:
T ext, T ext,
T ext
,
T ext
Данные виды шрифтов имеют относительные размеры, автоматически рассчитываемые по величине базового шрифта tex-документа. Но их можно задать явно в преамбуле с помощью команды:
DeclareMathSizes{display}{text}{script}{scriptscript}
В каждой фигурной скобке необходимо указать размер соответствующе- го шрифта в порядке, указанном выше, в любых известных TEX’у единицах измерения.
Продемонстрируем применение команд изменения шрифта. Для слож- ных дробей с несколькими уровнями вложенности возникает проблема с раз- мерами символов, которую можно разрешить, управляя стилями формулы:
Так выглядит формула, набранная обычным способом:
\[ \frac{1}{x+ \frac{1}{x+\frac{1}{x+\frac{x}{x+1}}}}\]
1
x +
1
x
+
1
x+
x x+1
А это усовершенствованная формула:
\[ \frac{1}{x+\displaystyle
\frac{1}{x+\displaystyle\frac{1}{x+\displaystyle
\frac{x}{x+1}}}}\] \\
1
x +
1
x +
1
x +
x x + 1
В следующей табл. 20 представлены разные команды изменения начер- тания шрифта в формулах.
40
Таблица 20
Команды изменения шрифтов в формулах
Команда
Пример Необходимый пакет mathrm{ABCdef}
ABCdef mathbf{ABCdef}
ABCdef mathit{ABCdef}
ABCdef mathnormal{ABCdef}
ABCdef mathcal{ABC}
ABC
mathfrak{ABCdef}
ABCdef
Пакет eufrak mathbb{ABC}
ABC
Пакет amsfonts или amssymb
Обычно L
A
TEX игнорирует любые текстовые строки в формулах, не явля- ющиеся именами операторов и переменных. Но вставить фрагмент текста в математическую формулу все-таки можно. Для этого используется команда
\mbox
, оформленная по описанным в разделе 3.5 правилам:
\begin{displaymath}
\forall \: x \: \exists \: \delta \: \mbox{такое, что}
\left\|x-\delta\right\| \leqslant \varepsilon
\end{displaymath}
∀ x ∃ δ такое, что kx − δk 6 ε
5.7
Один элемент над другим
В разделах 5.2.2 и 5.4 говорилось о частных случаях размещения одного элемента над другим (пределы, дроби и акценты). Сейчас рассмотрим общий случай.
Для набора столбцов из двух элементов, можно пользоваться командами:
{... \choose ...} или {... \atop ...}
Первая команда отличается от второй тем, что столбец заключается в скобки.
Приведем пример. Исходный текст:
Иллюстрация двухстрочных элементов:
\[ {x+1 \choose x}, \quad {x+1 \atop x} \].
Результат:
Иллюстрация двухстрочных элементов:
x + 1
x
,
x + 1
x
Чтобы нарисовать горизонтальную фигурную скобку под выражением
(а после сделать подпись под этой скобкой), надо воспользоваться командой
\underbrace
. Аргумент этой команды – тот фрагмент формулы, под которым
41
надо провести скобку; подпись под скобкой, если она нужна, оформляется как нижний индекс. Например, такая формула:
1 + 3 + 5 + 7 +
· · · + 2n − 1
|
{z
}
n слагаемых
= n
2
получается следующим образом:
$$
\underbrace{1+3+5+7+\cdots+2n-1}_{\mbox{$n$ слагаемых}}=n^2
$$
Горизонтальная фигурная скобка над фрагментом формулы генерирует- ся командой \overbrace, надпись над ней оформляется как верхний индекс.
В одной формуле могут присутствовать горизонтальные фигурные скобки как над, так и под фрагментом формулы:
36
z
}|
{
a + b +
· · · + z
|
{z
}
26
+1 +
· · · + 10
$$
\overbrace{\underbrace{
a+b+\cdots+z
}_{26}+1+
\cdots+10}^{36}
$$
5.8
Набор матриц
Чтобы набрать с помощью L
A
TEX’a матрицу, надо воспользоваться окру- жением array. Чтобы понять, как это окружение работает, разберем такой пример:
a
11
a
12
. . . a
1n a
21
a
22
. . . a
2n a
n
1
a n
2
. . . a nn
$$
\begin{array}{cccc}
a_{11}&a_{12}
&\ldots&a_{1n}\\
a_{21}&a_{22}
&\ldots&a_{2n}\\
\vdots&\vdots
&\ddots&\vdots\\
a_{n1}&a_{n2}
&\ldots&a_{nn}
\end{array}
$$
42
1 + 3 + 5 + 7 +
· · · + 2n − 1
|
{z
}
n слагаемых
= n
2
получается следующим образом:
$$
\underbrace{1+3+5+7+\cdots+2n-1}_{\mbox{$n$ слагаемых}}=n^2
$$
Горизонтальная фигурная скобка над фрагментом формулы генерирует- ся командой \overbrace, надпись над ней оформляется как верхний индекс.
В одной формуле могут присутствовать горизонтальные фигурные скобки как над, так и под фрагментом формулы:
36
z
}|
{
a + b +
· · · + z
|
{z
}
26
+1 +
· · · + 10
$$
\overbrace{\underbrace{
a+b+\cdots+z
}_{26}+1+
\cdots+10}^{36}
$$
5.8
Набор матриц
Чтобы набрать с помощью L
A
TEX’a матрицу, надо воспользоваться окру- жением array. Чтобы понять, как это окружение работает, разберем такой пример:
a
11
a
12
. . . a
1n a
21
a
22
. . . a
2n a
n
1
a n
2
. . . a nn
$$
\begin{array}{cccc}
a_{11}&a_{12}
&\ldots&a_{1n}\\
a_{21}&a_{22}
&\ldots&a_{2n}\\
\vdots&\vdots
&\ddots&\vdots\\
a_{n1}&a_{n2}
&\ldots&a_{nn}
\end{array}
$$
42
Посмотрим, как устроен исходный текст, давший на печати эту матрицу.
Структура матрицы похожа на устройство таблицы tabular, рассмотренной в разделе 4.3.3: строки матрицы разделяются с помощью команды \\ (послед- нюю строку можно не заканчивать командой \\), а элементы одной строки отделяются друг от друга с помощью символа &. После \begin{array}, от- крывающего окружение, в фигурных скобках описывается «преамбула мат- рицы», определяющая количество столбцов и выравнивание элементов по го- ризонтали.
В рассматриваемом примере четыре буквы сссс. Это значит, что в мат- рице 4 столбца (по букве на столбец) и что содержимое каждого из этих столбцов выравнивается по центру. Кроме с, в преамбуле может стоять бук- ва l – выравнивание по левому краю, или r – выравнивание по правому краю.
Матрице не хватает еще скобок; чтобы их создать, надо написать \left(
перед \begin{array} и \right) после \end{array} (см. раздел 5.5).
Окружение array можно использовать не только для матриц: это окруже- ние просто создает массивы, состоящие из строк и столбцов. Вот, например,
как можно напечатать треугольник Паскаля:
1 1
1 2
1 1
3 3
1 1
4 6
4 1
1 5
10 10 5
1
Исходный текст для него выглядит так:
$$
\begin{array}{ccccccccccc}
&&&& 1 && 1
&&& 1 && 2 && 1
&& 1 && 3 && 3 && 1
& 1 && 4 && 6 && 4 && 1 1 && 5 && 10 && 10 && 5 && 1
\end{array}
$$
Если в таблице отсутствует какой-то элемент, то в соответствующей ячей- ке, ограниченной &, нужно просто ничего не писать (или оставить сколько угодно пробелов). Если после того, что вы написали в строке, до конца стро- ки идут только пустые ячейки, то можно не дописывать до конца значки &,
а сразу написать \\.
Разберем еще один пример, типичный при работе в L
A
TEX’е 2.09: верстку системы уравнений с помощью окружения array.
43
x
2
+ y
2
= 7
x + y = 3
$$
\left\{
\begin{array}{rcl}
x^2+y^2&\!=\!&7\\ х+у &\!=\!&3\\
\end{array}
\right.
$$
Мы отвели по одному столбцу на левую часть каждого уравнения, на знак равенства и на правую часть. При этом левые части выровнены по пра- вому краю, а правые части – по левому краю, а знак равенства расположен по центру колонки.
Для создания фигурной скобки, охватывающей всю систему слева, мы воспользовались командами \left\{ и \right., причем при команде \right стоит «пустой ограничитель» – точка (см. разд. 5.5). Обратите внимание на отрицательные пробелы \! с двух сторон знака равенства, которые уменьша- ют пробелы (отбивки) до размеров, допустимых типографскими правилами.
6
Программирование в системе L
A
TEX
6.1
Создание собственных команд и окружений
В пакете L
A
TEX имеется довольно мощный набор команд, которые поз- воляют значительно облегчить верстку как простых, так и сложных доку- ментов. Можно переопределять уже существующие команды и окружения, а можно писать новые. Простым и эффективным примером служит определе- ние новых команд для сокращения стандартных имен.
Для определения новых команд в системе L
A
TEX имеется команда
\newcommand{name}[num]{definition}
,
где обязательными являются первый и третий аргументы, которые соответ- ственно задают имя и содержание новой команды. Необязательный аргумент num определяет количество аргументов команды, которое может изменять- ся от 1 до 9. Аргументы в тексте определения команды обозначаются двумя символами: «#» и номером аргумента.
Для переопределения существующих команд предназначена команда
\renewcommand{name}[num]{definition}
Смысл параметров аналогичен описанным для команды \newcommand.
Удобно для часто встречающегося сочетания слов или формулы опреде- лить команду, генерирующую такой текст. Приведем примеры.
Исходный текст:
\newcommand{\o}{ортогональн}\\
Набор {\o}ых полиномов удовлетворяет условию {\о}ости.
44
Результат:
Набор ортогональных полиномов удовлетворяет условию ортогональности.
Исходный текст:
$\omega$ - полнота. \renewcommand{\omega}{Омега} \omega - полнота.
Результат:
ω
- полнота. Омега - полнота.
Исходный текст:
\newcommand{\Func}[2]{\frac{\sqrt{#2}}{\sqrt[3]{{#1}^4+({#2}-6)}}}\\
$\Func{1}{2}$, $\Func{a+b}{c+d}$
Результат:
√
2 3
√
(1)
4
+(2
−6)
,
√
c
+d
3
√
(a+b)
4
+(c+d
−6)
C помощью данных команд можно определять новые операторы, как бы- ло показано в разделе 5.3. Но стоить помнить, что в пакете amsmath имеется специальная команда для этого: \DeclareMathOperator\{name}{definition}.
Аргументы команды аналогичны соответствующим аргументам \newcommand.
Если же оператор встречается в тексте только один-два раза, то можно внутри формулы использовать команду \operatorname{\name} для оформ- ления аргумента name по правилам оформления операторов в формулах.
Для определения нового окружения и изменения уже существующего ис- пользуются соответственно команды:
\newenvirorment{name}[num]{before}{after}
,
\renewenvironment{name}[num]{before}{after}
Здесь обязательный аргумент name задает имя окружения, а необязатель- ный аргумент num определяет число формальных аргументов окружения.
Аргумент before здесь обозначает набор команд, выполнение которых пред- шествует анализу текста находящегося внутри окружения, а after – команды,
выполняющиеся по завершении анализа. Отметим, что формальные аргумен- ты окружения могут находиться только в группе команд before.
В пакете amsmath есть специальная команда для определения нового окружения типа теорема: \newtheorem\{name}{definition}. При помощи данной команды можно задать свое оформление и организовать автоматиче- скую нумерацию лемм, утверждений, следствий, примеров и пр.
6.2
Работа со счетчиками
Автоматическую нумерацию каких-либо частей документа можно легко организовывать при помощи счетчиков. Счетчик – это специальная перемен- ная, принимающая целые значения. Счетчику можно присваивать значение
45
и изменять его, выводить его значение на печать и организовывать с его по- мощью автоматическую генерацию ссылок.
Мы уже касались стандартных счетчиков в разделе 4.2. Рассмотрим во- прос создания новых счетчиков и работу с их значениями.
Каждый счетчик имеет свое имя и создается с помощью команды:
\newcounter{new}{old}
,
где new – имя вновь организуемого счетчика, a old – имя уже существующе- го счетчика, которому будет подчинен вновь организуемый счетчик. Второй аргумент этой команды не является обязательным.
Для изменения значения существующего счетчика используются ранее упомянутые команды: \setcounter{name}{num}, \addtocounter{name}{num}.
Напомним, что первая команда устанавливает счетчику с именем name зна- чение num, а вторая увеличивает значение счетчика name на величину num.
Существуют еще две команды, которые увеличивают значение счетчика на единицу и обнуляют все подчиненные счетчики: \refstepcounter{count},
\stepcounter{count}
. Вторая команда применяется реже, так как с ее по- мощью нельзя организовать автоматические ссылки.
Как стандартные, так и созданные пользователем счетчики могут вы- водиться арабскими, римскими цифрами и символами латинского алфавита.
По умолчанию значение счетчика выводится арабскими цифрами, изменить вывод можно следующими командами:
\arabic{count} – для арабских цифр;
\roman{count} и \Roman{count} – для малых и больших римских цифр;
\alph{count} и \Alph{count} – для малых и больших латинских букв.
Приведем пример, включающий определение нового счетчика и органи- зацию автоматических ссылок:
\newcounter{z}\\
\newcommand{\zdch}
{\par\textbf{Задача \addtocounter{z}{1}\arabic{z}. }}\\
\zdch Сформулировать \ldots \\
\zdch Доказать \ldots\\
\zdch Применить \ldots \\
46
Мы уже касались стандартных счетчиков в разделе 4.2. Рассмотрим во- прос создания новых счетчиков и работу с их значениями.
Каждый счетчик имеет свое имя и создается с помощью команды:
\newcounter{new}{old}
,
где new – имя вновь организуемого счетчика, a old – имя уже существующе- го счетчика, которому будет подчинен вновь организуемый счетчик. Второй аргумент этой команды не является обязательным.
Для изменения значения существующего счетчика используются ранее упомянутые команды: \setcounter{name}{num}, \addtocounter{name}{num}.
Напомним, что первая команда устанавливает счетчику с именем name зна- чение num, а вторая увеличивает значение счетчика name на величину num.
Существуют еще две команды, которые увеличивают значение счетчика на единицу и обнуляют все подчиненные счетчики: \refstepcounter{count},
\stepcounter{count}
. Вторая команда применяется реже, так как с ее по- мощью нельзя организовать автоматические ссылки.
Как стандартные, так и созданные пользователем счетчики могут вы- водиться арабскими, римскими цифрами и символами латинского алфавита.
По умолчанию значение счетчика выводится арабскими цифрами, изменить вывод можно следующими командами:
\arabic{count} – для арабских цифр;
\roman{count} и \Roman{count} – для малых и больших римских цифр;
\alph{count} и \Alph{count} – для малых и больших латинских букв.
Приведем пример, включающий определение нового счетчика и органи- зацию автоматических ссылок:
\newcounter{z}\\
\newcommand{\zdch}
{\par\textbf{Задача \addtocounter{z}{1}\arabic{z}. }}\\
\zdch Сформулировать \ldots \\
\zdch Доказать \ldots\\
\zdch Применить \ldots \\
46
Результат:
Задача 1. Сформулировать . . .
Задача 2. Доказать . . .
Задача 3. Применить . . .
7
Компиляция файла и обработка ошибок
Для компиляции tex-документа в dvi- или pdf-формат нужно выбрать одну из программ-компиляторов через соответствующие инструменты спе- циализированного редактора tex-файлов (TeXworks, WinEdt, др. ) и нажать на кнопку компиляции. А можно просто через командную строку ввести ко- манду вида
<file.tex>, где
– название программы- компилятора, а <file.tex> – имя исходного файла. Например, pdflatex main.tex.
Приведем список наиболее известных компиляторов:
tex – простейший компилятор, берет TEX-файл и создает DVI-файл;
pdftex – берет TEX-файл и создает PDF-файл;
latex – наиболее используемый: берет L
A
TEX-файл и создает DVI-файл;
pdflatex – берет L
A
TEX-файл и создает PDF-файл;
dvips – конвертирует DVI-файл в PostScript;
dvipdf – конвертирует DVI-файл в PDF;
dvipdfm – улучшенная (с некоторых точек зрения) версия предыдущей про- граммы.
При наборе текстов неизбежно возникают ошибки. При компиляции до- кумента все сообщения об ошибках и предупреждения о неточностях пока- зываются на экране и, кроме того, записываются пакетом в файл протокола
(расширение .log). Предупреждения не вызывают прерывания процесса ком- пиляции, а при обнаружении синтаксической ошибки компиляция останав- ливается и на экран выводится сообщение об ошибке.
При компиляции L
A
TEX-файла возможны ошибки двух типов: ошибки пакета L
A
TEX и ошибки языка TEX, то есть ошибки более низкого уровня.
Если компилятор обнаруживает ошибку, то печатает ее тип (L
A
TEX-error или
47
TEX-error), номер строки исходного файла, в которой, по мнению пакета, на- ходится ошибка, и само ее содержание. Сообщение заканчивается знаком во- проса. При этом компиляция приостанавливается и пакет переходит в режим ожидания реакции пользователя.
Ошибку можно проигнорировать, нажав клавишу Enter. В этом случае
L
A
TEX сам попробует ее исправить по своему разумению. Набрав
Enter, можно посмотреть информацию об ошибке на английском языке.
Если ошибок много, можно при остановке компиляции ввести с клавиа- туры
а затем вы сможете их изучить, просмотрев log-файл.
Вместо
Можно набрать
и «ввод»: результат будет такой же, как от r, с той разницей, что на экран не будет выдаваться вообще ничего (в log-файл все будет записано).
Ошибки можно исправлять в диалоговом режиме. Для этого при оста- новке необходимо ввести и «ввод», после чего появится предложение, куда нужно ввести исправленную команду. Но затем все равно необ- ходимо исправить ошибку в исходном файле.
А можно прекратить компиляцию исходного файла, нажав клавиши <х>
и «ввод».
Наконец, режимы реакции на ошибки, задаваемые с клавиатуры с помо- щью клавиш s, r или q, можно задать прямо в файле, написав в преамбуле одну из перечисленных ниже команд:
1. Команда \scrollmode равносильна нажатию;
2. Команда \nonstopmode равносильна нажатию;
3. Команда \batchmode равносильна нажатию.
48
Список литературы
1. Говорухин В., Цибулин Б. Компьютер в математическом исследовании:
Maple, MATLAB, LaTeX.[Текст]/Говорухин В., Цибулин Б. – СПб.: Питер,
2001. – 624 с.
2. Гуссенс М., Миттельбах Ф., Самарин А. Путеводитель по пакету LaTeX
и его расширению LaTeX 2ε.[Текст]/Гуссенс М., Миттельбах Ф., Сама- рин А. – М.: Мир, 1999. – 606 с.
3. Львовский С.М. Работа в системе LaTeX [Текст]/Львовский С.М. –
М.Национальный Открытый Университет «ИНТУИТ» , 2007. – 465 с.
4. Столяров А.В. Сверстай диплом красиво: LATEX за три дня [Текст]/
Столяров А.В. – М.: МАКС Пресс, 2010. – 100 с.
49
Чебарыков Михаил Сергеевич
ОСНОВЫ РАБОТЫ В СИСТЕМЕ L
A
TEX
Учебное пособие для студентов направления "Информатика и вычислительная техника"
Редактор Е.Ф. Изотова
Подписано к печати 29.12.14. Формат 60x84 1/16.
Усл. печ. л. 3,06. Тираж 35 экз. Зак. № 141366. Рег. № 222
Отпечатано в ИТО Рубцовского индустриального института.
658207, г. Рубцовск, ул. Тракторная, 2/6.