Командование или окружение?

Макросы принимают аргументы; среды обертывают регионы.

Команда или окружение?

Все, что вы вводите в LaTeX, помимо обычного текста, принимает одну из двух форм: команду или среду. Это различие звучит академично, пока вы не наткнетесь на первое сообщение об ошибке. Половина жалоб LaTeX связана с тем, что один используется там, где должен быть другой. Научившись видеть, на какую фигуру вы смотрите, становится читабельной и документация, и ошибки.

Команды

\newcommand{\foo}{bar}
\foo
\textbf{argument}

Команда представляет собой обратную косую черту, за которой следует имя, и она выполняет замену в том месте, где она появляется. \textbf{argument} принимает один аргумент в фигурных скобках и выделяет его жирным шрифтом; эффект начинается и заканчивается фигурными скобками. Команды могут принимать несколько аргументов в фигурных скобках, а многие из них также принимают необязательный аргумент в квадратных скобках перед ними, как в \documentclass[11pt]{article}.

Первые две строки показывают, что команды — это то, что вы можете создавать. \newcommand{\foo}{bar} определяет новую команду с именем \foo, расширением которой является текст bar, и с этого момента ввод \foo в любом месте производит bar. Это механизм, лежащий в основе пользовательских макросов, а также то, как работают пакеты: пакет по сути представляет собой файл определений команд.

Одна особенность, которую стоит знать заранее: команда типа \LaTeX поглощает пробел после нее, поэтому \LaTeX is fun печатает слова вместе. Напишите \LaTeX{} is fun или \LaTeX\ is, чтобы сохранить место.

Окружающая среда

\begin{center}
Centered block
\end{center}

Среда помещает область документа между соответствующей парой \begin{...} и \end{...} и применяет ее поведение ко всему внутри. Здесь среда «center» центрирует каждую строку блока. Среды могут быть вложенными, при условии, что они закрываются в порядке, обратном открытию, а также могут принимать аргументы: \begin{tabular}{ll} открывает таблицу и передает ей спецификацию столбца.

Поскольку окружающая среда должна быть сбалансирована, она терпит неудачу особым образом. Ошибка типа \begin{itemize}, завершенная \end{document} означает, что среда была открыта и никогда не закрывалась. Найдите недостающий \end; не смотрите на строку с именами ошибок.

Эмпирическое правило

Если он охватывает область с четким началом и концом, вероятно, это среда. Если это небольшая замена или переключение, то это команда. Эти две формы даже перекрываются: каждая среда foo реализована как пара команд \foo и \endfoo под капотом. Для ознакомления с командами и средами, которые вы чаще всего встретите, см. объяснение каждой команды или попробуйте обе формы на живой игровой площадке.

Commands vs environmentsOptional practice quiz5 questions

A short check on what this lesson covers. Wrong answers show the right one. Choices are shuffled each attempt. You can retry as often as you like.

Вернуться к Справочник по таблице