Файл: Лекции Компьютерная графика.pdf

Добавлен: 29.10.2018

Просмотров: 6938

Скачиваний: 24

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

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


background image

тексте могут быть неформатированные участки (созданные командой

\

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


background image

Таблица 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’а представлены в табл.

4.4

.

Внутренние счётчики подчинены (подчинённые счётчики) своим внешним счёт-

чикам и автоматически сбрасываются при изменении внешних счётчиков.

Пример

.22 (подчинённость счётчиков). Счётчик

subsection

является внешним для

счётчика

subsubsection

и внутренним для

section

.

Большинство счётчиков устанавливаются в нуль в начале компиляции. Команды

и окружения, работающие со счётчиками, сначала увеличивают значение счётчика,

а потом уже используют его.

Для работы непосредственно со счётчиками существуют команды:

\

theсчётчик

— печатает значение счётчика в формате, определённом для этого

счётчика.

77


background image

Всего имеется 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


background image

\

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