Котельников И., Чеботаев П. LaTeX2e по-русски (1185906), страница 7
Текст из файла (страница 7)
Подстрочное примечание7 на этой странице во входном файле набрано следующимобразом:Подстрочное примечание\footnote{Мы иногда пренебрегаемправилами пунктуации. Просим извинить нас.} на этой...Маркёр сноски печатается там, где стоит обратный слеш \, начинающий команду\footnote. Поэтому между словом примечание и командой \footnote в данномпримере нет пробела — иначе пробел появился бы перед маркёром.Способ маркировки подстрочного примечания определяется классом документа. Обычно сноски нумеруются арабскими цифрами и печатаются внизу страницы, а не в конце документа. Класс article определяет, что используется сквозная нумерация сносок на всём протяжении документа. В классах report и bookссылки нумеруются независимо в пределах каждой главы.
При удалении илидобавлении сноски все другие перенумеровываются автоматически.Команда \footnote не может использоваться в аргументах большинства других команд. В главе 4 объяснено, как создать подстрочное примечание к тексту,который содержится в аргументах каких-либо команд.1.6.КомментарииКак и любой другой язык программирования, LATEX имеет средства для комментирования содержимого входного файла. LATEX игнорирует любой текст междусимволом % и концом текущей строки. Трудно представить ситуацию, когда нужно было бы комментировать окончательный текст печатного документа, однаков процессе работы над ним такая необходимость возникает довольно часто.
Любителям хранения «мусора» во входном файле комментарии мало помогут, ноим полезно знать, что LATEX воспринимает как комментарий всё, что во входномфайле находится после команды \end{document}; туда можно временно складывать ненужные фрагменты текста.Помимо комментирования, символ % может иметь более важное применение:часто он необходим, чтобы начать новую строку во входном файле без вводапробелов в конце предыдущей.
Именно такой эффект демонстрирует следующийпример, с небольшим изменением позаимствованный со страницы 26:‘‘Are you---are you fond---%of---of dogs?’’7“Are you—are you fond—of—of dogs?”Мы иногда пренебрегаем правилами пунктуации. Просим извинить нас.28Глава 1. Пособие для начинающих1.7.Строки и абзацыПустая строка, не содержащая даже комментария, означает конец абзаца.
Количество пустых строк не имеет значения. Так же не имеет значения, начинаетсяпервая строка в абзаце с первой или тринадцатой позиции — LATEX вставит впечатный документ отступ фиксированной длины. С отступа начинается перваястрока каждого абзаца, однако стандартные классы определяют, что первый абзац после заголовка отступа не имеет.
Команда \noindent отменяет отступ, а\indent, наоборот, вставляет, но даже она бессильна перед магией первого абзаца — столь сильна традиция в английском языке не делать отступ после заголовка. Мы уже упоминали о пакете indentfirst и в разделе 4.5 расскажем ещё ободном способе борьбы с этой традицией.LATEX автоматически разбивает текст на строки и переносит слова так, чтобыпробелы между словами в соседних строках также были по возможности равны.Однако он не способен определить логически связанные сочетания слов, которые желательно располагать на одной строке. Например, выражение «рис.
3»выглядело бы странно, если бы «рис.» заканчивал одну строку, а «3» начиналследующую. Символ «~», вставленный между соседними словами, создаёт пробел, на котором LATEX никогда не разорвёт строку:На рис.~3 гр.~Вострикову и Ф.И.~Глазову от~2 до~5 лет.В текстах на русском языке новая строка не должна начинаться с тире. Чтобыгарантировать это, пробел перед тире делают неразрывным:Это он, это он —ленинградский почтальон.Столь же просто установить запрет на перенос отдельного слова по слогам илиобучить LATEX правильно переносить слова, которых он не знает.
Желающихосвоить эту простую науку мы отсылаем к разделу 4.4.Это он, это он~--- ленинградский почтальон.1.8.Выделение текстаВслед за разделами «Буквы и символы», «Слова и предложения», «Строки иабзацы», по логике вещей, должны следовать «Страницы и . . . ». Но это был быслишком большой шаг вперёд. Чтобы не делать затем два шага назад, расскажем сначала, какими средствами располагает LATEX для выделения фрагментовпечатного текста.В машинописном тексте слова, несущие особую смысловую нагрузку, выделяют подчеркиванием. LATEX умеет подчеркивать. Однако в типографском документе для выделения текста обычно используют курсив. Курсивный текст печатает команда \emph.
Чтобы выделить курсивом какой-либо фрагмент текста, егонужно сделать аргументом этой команды:291.9. Декларации...обычно используют \emph{курсив}. Курсивный...В выражении \emph{курсив} обратный слеш и следующие за ним четыре буквы \emph составляют имя команды, а {курсив} — её аргумент. Большинствокоманд либо не имеют аргументов, как \today, либо имеют один аргумент, как\emph{. . .
}. Есть, впрочем, некоторое количество более сложных команд, имеющих несколько аргументов, причём каждый заключён в фигурные скобки, апробелы между аргументами и между именем команды и первым аргументомигнорируются.Команды типа \emph могут быть вложены друг в друга вполне очевиднымспособом. В стандартных классах документов для выделения текста внутри ужевыделенного текста используется прямой шрифт:Выделенный \emph{текст\emph{внутри} курсива}печатается прямым шрифтом.Выделенный текст внутри курсивапечатается прямым шрифтом.Точнее говоря, команда \emph переключает шрифт на курсивный, если до неё использовался прямой шрифт. В остальных случаях она включает прямой шрифт.Не следует злоупотреблять чрезмерно частым выделением фрагментов текста.Это рассеивает внимание читателя, вызывая эффект, обратный желаемому. Естьмного других вариантов переключения шрифта.
Мы обсудим их после того, какобъясним, что такое декларация.1.9.ДекларацииДля выделения текста вместо \emph{. . . } можно использовать конструкцию{\em . . . }:Выделенный {\em текст {\em внутри}курсива} печатается прямым шрифтом.Выделенный текст внутри курсивапечатается прямым шрифтом.Команда \em не имеет аргументов, а просто информирует LATEX, что надо начать выделять текст. Она не производит ни текст, ни пробел. Такие командыназываются декларациями.
Большинство команд, определяющих внешний видпечатного документа (т. е. его класс), также являются декларациями, в том числе команды \documentclass и \usepackage. Декларация преобразует способ действия других команд или же создаёт другие команды. В частности, декларация\em инструктирует LATEX, что нужно сменить шрифт так, чтобы он отличался отиспользуемого в настоящий момент. Область действия декларации, как показывает приведённый пример, можно выделить, группируя текст в блок с помощьюфигурных скобок. Левая скобка { открывает новый блок, а правая скобка } закрывает текущий блок.
Для каждой открывающей скобки { во входном файледолжна иметься парная ей закрывающая скобка }. В следующем примере, изкоторого удалён весь текст, кроме фигурных скобок, парные скобки помеченыодинаковыми индексами: {1{2}2{3{4}4}3}1 .30Глава 1. Пособие для начинающихКогда скобка { открывает новый блок, все декларации, действовавшие до неё,остаются в силе до тех пор, пока не встретится противоречащая им декларация.Закрывающая фигурная скобка } отменяет действие всех деклараций, стоящихпосле парной ей открывающей фигурной скобки. В следующем разделе мы увидим, что область действия декларации ограничивают также командные скобки\begin и \end.1.10.ПроцедурыЕсли нужно выделить большой фрагмент текста, то использование команды\emph или декларации \em может вызвать непредвиденные трудности, так каквходной файл станет трудночитаемым.
Иногда совсем не просто найти закрывающую фигурную скобку }, если она очень далеко отстоит от парной ей открывающей скобки {.Многие декларации имеют аналоги в виде процедур с теми же именами, нобез обратного слеша в имени. Так, декларации \em соответствует процедура em.Любая процедура начинается с командной скобки \begin{env} и закрываетсякомандной скобкой \end{env}, где env — имя процедуры, в данном случае — em....обычно используют\begin{em} курсив. \end{em}Курсивный.... .
. обычно используют курсив. Курсивный. . .Текст между командными скобками составляет тело процедуры и форматируется в соответствии с тем, как она определена. Процедуры могут центрироватьтекст, выравнивать его по правой или левой границе, печатать в виде списков, таблиц, рисунков, формул и т. д. Командные скобки \begin{document} и\end{document} выделяют текст самого документа. Всё, что находится послекоманды \end{document}, попросту игнорируется, а команды, предшествующие\begin{document}, обычно определяют класс документа.Командные скобки \begin и \end ограничивают область действия декларацийнаравне с фигурными, как показывает следующий пример с процедурой center,о которой пойдет речь ниже:\begin{center}Этот текст автоматически\em центрируется.\end{center}А этот~--- нет.Этот текст автоматическицентрируется.А этот — нет.Декларации полезно оформлять в виде процедуры, если они действуют на большие фрагменты текста.LATEX имеет множество процедур и допускает создание новых с помощью команды \newenvironment, описанной в главе 7.