Добавлен: 29.10.2018
Просмотров: 6938
Скачиваний: 24
s — текст растянут по всему боксу за счёт растяжимых вертикальных пробелов
(если таковые имеются).
По умолчанию действует опция, указанная в аргументе внеш.позиц.
Окружение
minipage[внеш.позиц. ][высота ][позиц. ]{ширина }
создаёт тек-
стовый бокс шириной ширина со всеми возможностями обычного текста.
Аргумент внеш.позиц. так-же задаёт положение бокса относительно текущей ба-
зисной линии.
С помощью аргумента высота можно изменить высоту бокса, а с помощью аргу-
мента позиц. так-же задать и вертикальное позиционирование текста внутри бокса.
4.3. Линейные боксы
С помощью линейных боксов можно создавать декоративные или невидимые ли-
нейки.
\
rule[смещение ]{ширина }{высота }
— создаёт линейный бокс с размерами ши-
рина
и высота. С помощью аргумента смещение задаётся смещение по вертикали
относительно базисной линии.
\
hrulefill
— создаёт тонкую горизонтальную линию длиной fill
.
\
dotfill
— создаёт пробел fill, заполненный точками . . . . . . . . . . . . . . . . . . .
\
strut
— создаёт бокс нулевой ширины («распорку»), высота и глубина кото-
рого максимальны для букв текущего шрифта.
Пример
.19 (применение распорки).
\underline{без} \underline{распорки}
\qquad
\underline{с\strut} \underline{распоркой\strut}
без распорки
с распоркой
В математической моде имеется аналогичная команда
\
mathstrut
.
4.4. Сохранение бокса
Кроме рассмотренных команд в L
A
TEX’е существует ряд команд для измерения
размеров боксов, для определения, сохранения и использования новых боксов.
Повторяющийся в документе сложный текст (рисунки, таблицы, трудоёмкое фор-
матирование) лучше отформатировать один раз, «запомнить» его в виде бокса и
использовать в уже «готовом» виде. Именно таким образом задаются логосы.
Для работы с такими боксами имеются следующие команды:
\
newsavebox{\имя }
— задаёт имя бокса.
\
sbox{\имя }{текст }
— форматирует текст в строковой моде (действует как
\
mbox
, но не выводит на печать содержимое бокса).
Окружение
lrbox{\имя }
действует аналогично команде
\
sbox
, с тем отличием,
что все пробелы в начале и конце текста будут проигнорированы. Кроме того, в
75
тексте могут быть неформатированные участки (созданные командой
\
verb
или
окружением verbatim).
\
savebox[ширина ][позиц. ]{\имя }{текст }
— форматирует текст в строко-
вой моде. Можно задать ширину бокса и позиционирование текста (действует как
\
makebox
, но не выводит на печать содержимое бокса). Опция позиц., может прини-
мать те же значения:
l — текст сдвинут к левому краю бокса;
c — текст расположен по центру бокса;
r — текст сдвинут к правому краю бокса;
s — текст растянут по всему боксу.
По умолчанию действует опция
c.
\
usebox{\имя }
— печатает бокс имя.
Пример
.20 (переиспользование бокса).
\newsavebox{\Help}
\savebox{\Help}[2em]{\fbox{\texttt{F1}}}
Клавиша \usebox{\Help} --- помощь.
Клавиша
F1 — помощь.
5.
Команды в L
A
TEX 2ε
5.1. Командные длины
Командные длины
— команды, выражающие определённые длины.
Для работы с произвольными командными длинами существуют следующие ко-
манды:
•
\
newlength{\имя }
— задание новой командной длины.
•
\
setlength{\имя }{длина plus длина minus длина}
— установка длины ко-
манды имя.
•
\addtolength{\имя }{длина plus длина minus длина}
— увеличение длины ко-
манды имя.
Команды для измерения строковых боксов:
•
\
settowidth{\длина }{текст }
— измеряет ширину строкового бокса, обра-
зованного аргументом текст.Измеренная длина присваивается аргументу
\длина
.
•
\
settoheight{\длина }{текст }
— измеряет высоту строкового бокса, обра-
зованного аргументом текст.
76
Таблица 4.4.
Основные счётчики L
A
TEX’а
Имя
Что нумерует
page
страницы
part
части
chapter
главы
section
разделы
subsection
подразделы
subsubsection
подподразделы
paragraph
параграфы
subparagraph
подпараграфы
enumi
элементы списка 1-го уровня
enumii
элементы списка 2-го уровня
enumiii
элементы списка 3-го уровня
enumiv
элементы списка 4-го уровня
footnote
подстрочные примечания
mpfootnote
подстрочные примечания в министраницах
equation
уравнения
table
таблицы
figure
рисунки
•
\
settodepth{\длина }{текст }
— измеряет глубину строкового бокса, образо-
ванного аргументом текст.
Пример
.21 (использование командных длин).
\newlength{\bx}
\settoheight{\bx}{\fbox{F8}}
\addtolength{\bx}{2\fboxsep plus 2pt}
Клавиша \framebox[\bx]{F1}
--- помощь.
Клавиша F1 — помощь.
5.2. Счётчики
Основные счётчики L
A
TEX’а представлены в табл.
Внутренние счётчики подчинены (подчинённые счётчики) своим внешним счёт-
чикам и автоматически сбрасываются при изменении внешних счётчиков.
Пример
.22 (подчинённость счётчиков). Счётчик
subsection
является внешним для
счётчика
subsubsection
и внутренним для
section
.
Большинство счётчиков устанавливаются в нуль в начале компиляции. Команды
и окружения, работающие со счётчиками, сначала увеличивают значение счётчика,
а потом уже используют его.
Для работы непосредственно со счётчиками существуют команды:
\
theсчётчик
— печатает значение счётчика в формате, определённом для этого
счётчика.
77
Всего имеется 6 форматов: arabic, roman, Roman, alph, Alph, fnsymbol. Им соответ-
ствуют следующие команды:
\
arabic{счётчик }
— печатает значение счётчика арабскими цифрами;
\
roman{счётчик }
— печатает значение счётчика строчными римскими цифрами;
\
Roman{счётчик }
— печатает значение счётчика прописными римскими цифра-
ми;
\
alph{счётчик }
— печатает значение счётчика строчными буквами английского
алфавита (значение счётчика 6 26);
\
Alph{счётчик }
— печатает значение счётчика прописными буквами английского
алфавита (значение счётчика 6 26);
\
fnsymbol{счётчик }
— печатает значение счётчика специальными символами,
часто используемыми для подстрочных примечаний в
minipage
(значение
счётчика 6 9).
\
setcounter{счётчик }{N}
— задаёт значение счётчика равное N (N — целое,
возможно отрицательное).
\
addtocounter{счётчик }{N}
— увеличивает значение счётчика на N.
78
\
value{счётчик }
— возвращает «чистое» значение счётчика. Может использо-
ваться в любых командах, где L
A
TEX ожидает число, в основном — в аргументе
N
команд
\
setcounter
и
\
addtocounter
. Эта команда устойчивая, её никогда
не следует защищать командой
\
protect
.
\
stepcounter{счётчик }
— наращивает (увеличивает на 1) значение счётчика,
при этом все внутренние счётчики сбрасываются (устанавливаются в началь-
ное значение).
\
refstepcounter{счётчик }
— выполняет тоже, что и предыдущая команда, кроме
того, ещё декларирует, что текст, генерируемый командой
\
theсчётчик
, будет
использован в месте употребления команды перекрёстного цитирования
\
ref
.
\
newcounter{имя }[счётчик ]
задаёт счётчик с именем имя. Начальное значе-
ние счётчика равно 0, а формат
\
theимя
— arabic. Необязательный аргумент задаёт
внешний счётчик. При этом, при наращивании значения этого внешнего счётчика
(командами stepcounter или refstepcounter) все подчинённые счётчики (в т. ч. и новый
счётчик имя) сбрасываются в нуль.
Замечание:
эта команда не может присутствовать в файлах, включае-
мых командой
\
include
!
Пример
.23.
\thepage\ \Roman{page}
79 LXXIX
\thesubsection
\setcounter{subsection}{\value{page}}
\thesubsection
\stepcounter{section} \thesubsection
5.2. 5.79. 6.0.
\fnsymbol{mpfootnote} \arabic{mpfootnote}
\stepcounter{mpfootnote} \fnsymbol{mpfootnote}
\setcounter{mpfootnote}{9} \fnsymbol{mpfootnote}
0 ∗ ‡‡
6.1. Определение новых команд
\
newcommand{\имя }[N пар. ][знач. ]{определение }
— определение новой ко-
манды \имя. Здесь N пар. — число параметров (аргументов), знач. — значение по
умолчанию. В определении в месте появления параметра пишется знак # и поряд-
ковый номер параметра.
\
renewcommand{\имя }[N пар. ][знач. ]{определ. }
— переопределение суще-
ствующей команды.
\
providecommand{\имя }[N пар. ][знач.]{определ.}
— определение новой ко-
манды; если такая команда существует, то сохраняется её предыдущее значение.
79