Определение собственных команд и окружений
Одним из главных преимуществ системы предпечатной подготовки LaTeX является то, что пользователь имеет возможность определять собственные команды и окружения. Скажем, вы хотите использовать специальную разметку для всех заменяемых параметров в описании утилиты UN*X, например чтобы:
cd directory
отображалась, скажем, так:
cddirectory
Здесь cd соответствует имени утилиты, а directory -- заменяемый параметр.
Часто имя утилиты выделяется полужирным шрифтом, а заменяемые параметры -- курсивом. Хорошим решением будет такое:
\utilityname{cd} \replaceable{directory}
где команды \utilityname и \replaceable переключают, соответственно, шрифт "жирность" и "курсивность" шрифта. Использование команд \utilityname и \replaceable позволит сделать оформление всего документа последовательным:
\utilityname{pushd} \replaceable{directory} \utilityname{ls} \replaceable{filename}
Для того, чтобы определить новую команду LaTeX, воспользуйтесь
\newcommand{имя-команды}[число-аргументов ]{последовательность команд}
где имя-команды -- имя команды, число-аргументов -- число аргументов, которые принимает новая команда (по умолчанию 0 можно опустить), а последовательность комманд -- последовательнось команд LaTeX, которые должны быть выполнены при вызове имя-команды.
Для нашего примера, определим \utilityname и \replaceable следующим образом:
\newcommand{\utilityname}[1]{\textbf{#1}} \newcommand{\replaceable}[1]{\textit{#1}}
Предопределенные комнады \textbf и \textit переключают стиль шрифта на текстовой полужирный (в противоположность математическому полужирному шрифту) и тектсовой курсивный соответственно. Аргументы обозначаются #цифра, где цифра может принимать значения от 1 до 9.
Для того, чтобы дать представление о полезности наши "свежеопределенных" команд, предположим, что мы хотим сгенерировать указатель для всех утилит, упомянутых в тексте. Команда \index{термин} помещает термин в указатель. Для этого нам достаточно лишь изменить определение \utilityname:
\newcommand{\utilityname}[1]{\textbf{#1}\index{#1}}