Tex: подробное описание С. М. Львовский


 Перемещаемые аргументы и хрупкие команды


Download 1.51 Mb.
Pdf ko'rish
bet82/143
Sana08.05.2023
Hajmi1.51 Mb.
#1444247
1   ...   78   79   80   81   82   83   84   85   ...   143
Bog'liq
LaTeX-Lvovsky

4.5. Перемещаемые аргументы и хрупкие команды
Если в аргументе команды \section (или любой другой L
A
TEXовской команды для создания
раздела) присутствует не только текст, но и TEXовские команды, то при трансляции они мо
гут иногда вызвать сообщение об ошибке. Чтобы этого избежать, команду надо
«защитить»:
поставить непосредственно перед ней команду \protect. Приведем пример, когда возникает
нужда в этой команде.
Пусть Вы хотите включить в заголовок раздела ссылку на какую-то страницу докумен

та. Для этого Вы, как обычно, помечаете то месте, на которое хотите сослаться, с помощью
команды \label, а в заголовок раздела включаете команду \pageref со ссылкой на помечен

ное место. Для того, однако же, чтоб L
A
TEX обработал Ваш текст правильно, надо в аргументе
команды \section написать не просто \pageref, но \protect\pageref. В итоге Ваш исход

ный файл должен будет выглядеть примерно так (несущественные для нас части файла мы
заменили точками):
\documentstyle{article}
\begin{document}
\tableofcontents
—TO --- NAˆALO DOKUMENTA.
...................
zDESX NAPISANO ˆTO-TO OˆENX
WAVNOE.\label{metka}
...................
\section{wOZWRA]AQSX K NAPEˆATANNOMU
NA STR.\ \protect\pageref{metka}}
...................
\end{document}
Если убрать в этом файле \protect, то после двух запусков L
A
TEXа для его обработки на
экране будет появляться появится загадочное сообщение об ошибке.
Такого рода ситуация может возникать, когда TEXовская команда является частью тек
ста, который будет записан в специальный файл и использован при следующем запуске
L
A
TEXа (в нашем случае заголовок раздела записывается в файл с расширением toc для
последующего использования в оглавлении). Если аргументом команды (в нашем случае ко

манды \section) является такой текст, то этот аргумент называется перемещаемым аргу
ментом; команды, которые, будучи использованы внутри перемещаемого аргумента, могут
вызвать ошибку, называются хрупкими командами.
Из тех L
A
TEXовских команд, которые могут реально понадобиться внутри заголовка раз
дела, большинство хрупкими не являются; наряду с \pageref и \ref, хрупкой является так

же команда \\, которая может понадобиться для указания места разрыва строки в заголов

ке. Если Вы сомневаетесь, хрупкая или нет какая-то конкретная команда, можете спокойно
ставить перед ней \protect
— плохого от этого не произойдет.
Нижеследующие команды не являются хрупкими и не нуждаются в защите с помощью
команды \protect:
• Команды для диакритических знаков (см. стр.
63
);
• Команды для смены текущего шрифта;
• Команды для установки промежутков вручную (см. стр.
62
).


IV.5. ПЛАВАЮЩИЕ ИЛЛЮСТРАЦИИ И ТАБЛИЦЫ
112
Рис. IV.1. К. Малевич. Белый квадрат на белом фоне

Download 1.51 Mb.

Do'stlaringiz bilan baham:
1   ...   78   79   80   81   82   83   84   85   ...   143




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling