Emacs для начинающих

       

Определение собственных команд и окружений


Одним из главных преимуществ системы предпечатной подготовки 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}}



Содержание раздела