Набор текста
Специальные типографские знаки
Большинство знаков препинания (точка, запятая, двоеточие и т.п.) набираются очевидным образом: точке в исходном тексте, например, соответствует типографская точка на печати. В этом разделе речь пойдет о знаках, требующих специального набора.
Дефисы, минусы и тире
При печати на пишущей машинке эти знаки по внешнему виду не различаются. В издательских системах, основанных на TeX'е, различают дефис - (по-английски hyphen), (en-dash), длинное тире — (em-dash) и знак минуса - (обратите внимание, что он отличается от обоих тире).
Чтобы получить на печати дефис, короткое тире или длинное тире, надо в исходном тексте набрать один, два или три знака "-" соответственно. В русских текстах часто используют длинное тире в качестве тире как такового, а короткое тире — в сочетаниях типа "я вернусь через 2-3 часа" (в исходном тексте это выглядит как "через 2-3 часа"; обратите внимание на отсутствие пробелов вокруг тире). Длинное тире в русском тексте обычно окружают (следуя традиции) пробелами; в английском обычно пробелов не делают. См. также разд. "Экзотика" ниже по поводу альтернативы длинному тире.
Знак минуса, в отличие от короткого тире, встречается только в математических формулах, и там он, как вы помните, изображается просто знаком "-" (см. разд. "Многоточие").
Любознательный читатель может спросить, как получается, что запись жж в исходном тексте дает на печати всего-навсего две буквы "ж", а запись -- дает тире, которое шире, чем два дефиса. Ответ: TeX'овские шрифты так устроены, что некоторые последовательности подряд идущих символов заменяются на печати на новый знак
Другой пример лигатур — это то, как выглядит в основных шрифтах сочетание букв : не так, как поставленные рядом и ( ).
Близкое к этому явление — так называемый кернинг, когда некоторые пары букв, стоящие рядом, на печати автоматически сближаются: сравните (полученное на печати естественным образом) и (набранное со специальной командой, убирающей кернинг).
Кавычки
В отличие от пишущей машинки, книжный набор использует различные знаки для открывающей и закрывающей кавычек (вместо нейтрального знака "). В английских текстах открывающая кавычка изображается во входном тексте двумя подряд идущими обратными апострофами, закрывающая — двумя апострофами.
The "definitions" are translations rather than explanations.
Образование знака кавычек из двух апострофов — еще один пример лигатуры.
В русских текстах употребляются кавычки типа "елочки" и "лапки". В исходном комплекте TeX'овских шрифтов эти символы отсутствовали; при установке системы LaTeX вы должны выяснить, как именно они задаются в полученной вами русификации.
Если в тексте встречаются кавычки внутри кавычек, то, согласно типографским правилам, внутренние кавычки должны отличаться от внешних: в английских текстах снаружи ставятся двойные кавычки, задаваемые как "``" и "''", а внутри одинарные, задаваемые как "`" и "'"; в русских текстах можно, например, снаружи поставить "елочки ", а внутри "лапки". Если при этом наружная и внутренняя кавычка соседствуют, их надлежит разделить дополнительным небольшим пробелом. В LaTeX'е этой цели служит команда \. Пример (в русификации LaTeX'а, использованной при наборе этой книги, "елочки " задаются командами (с именами из русских букв!) \лк и пк, а "лапки" лап командами \glqq и \grqq:
поставили символ ~ после закрывающих кавычек, чтобы тире заведомо напечаталось на той же строчке, что и предшествующее слово (см. ниже).
Многоточие
На пишущей машинке многоточие — это три точки подряд (каждая из которых имеет стандартную ширину буквы). При наборе это не так: для многоточия есть специальная команда \ldots или \dots.
(Отметим кстати, что команда \dots может встречаться и в формулах, где она — в зависимости от контекста — может давать многоточие в центре строки, как \cdots, или в низу строки, как \ldots.)
При подключении стилевого пакета amsmath (а это приходится делать очень часто) могут появиться нежелательные пробелы около многоточий, задаваемых команды \dots и \ldots. Случится это или нет, зависит от версии пакета amsmath, но самый простой способ справиться с этой проблемой, если это произошло — употреблять в тексте (но не в формулах!) вместо \dots или \ldots команду \textellipsis, никаких лишних пробелов не создающую.
Параграф, копирайт и прочее
Знак параграфа набирается с помощью команды \S, знак — с помощью команды \copyright ; о том, что знаки $ и & набираются с помощью команд \$ и \&, мы уже говорили (см. "Элементарное введение" ); знак фунта стерлингов набирается с помощью команды \pounds или ее синонима \textsterling. Чтобы получить на печати знак , можно подключить стилевой пакет textcomp (см. разд."Экзотика" ниже), после чего этот знак можно будет набирать с помощью команды \textnumero. (Заодно подключение этого пакета может несколько улучшить вид знака параграфа.) Кроме того, в тексте можно использовать и любой из великого множества математических символов, если оформить его как математическую формулу:
Экзотика
В поставку LaTeX'а входит стилевой пакет textcomp, открывающий доступ к большому числу типографских значков. Если его подключить (для чего надо сказать в преамбуле \usepackage{textcomp} ), то становятся доступными следующие символы:
\textquotestraightbase | \textquotestraightdblbase | ||
\texttwelveudash | \textthreequartersemdash | ||
\textleftarrow | \textrightarrow | ||
\textblank | \textquotesingle | ||
\textasteriskcentered | \textdblhyphen | ||
\textfractionsolidus | \textzerooldstyle | ||
\textoneoldstyle | \texttwooldstyle | ||
\textthreeoldstyle | \textfouroldstyle | ||
\textfiveoldstyle | \textsixoldstyle | ||
\textsevenoldstyle | \texteightoldstyle | ||
\textnineoldstyle | \textlangle | ||
\textminus | \textrangle | ||
\textmho | \textbigcircle | ||
\textohm | \textlbrackdbl | ||
\textrbrackdbl | \textuparrow | ||
\textdownarrow | \textasciigrave | ||
\textborn | \textmarried | ||
\textdivorced | \textdied | ||
\textleaf | \textmusicalnote | ||
\texttildelow | \textdblhyphenchar | ||
\textasciibreve | \textasciicaron | ||
\textgravedbl | \textacutedbl | ||
\textdagger | \textdaggerdbl | ||
\textperthousand | \textpertenthousand | ||
\textbardbl | \textbullet | ||
\textcelsius | \textcolonmonetary | ||
\textdollar | \textdollaroldstyle | ||
\textcent | \textcentoldstyle | ||
\textflorin | \textwon | ||
\textnaira | \textguarani | ||
\textpeso | \textlira | ||
\textdong | \textbaht | ||
\textsterling | \textyen | ||
\textrecipe | \textinterrobang | ||
\textinterrobangdown | \texttrademark | ||
\textpilcrow | \textnumero | ||
\textdiscount | \textestimated | ||
\textopenbullet | \textservicemark | ||
\textlquill | \textrquill | ||
\textbrokenbar | \textsection | ||
\textasciidieresis | \textcopyright | ||
\textordfeminine | \textcopyleft | ||
\textlnot | \textcircledP | ||
\textregistered | \textdegree | ||
\textpm | \texttwosuperior | ||
\textthreesuperior | \textasciiacute | ||
\textmu | \textparagraph | ||
\textperiodcentered | \textreferencemark | ||
\textonesuperior | \textonehalf | ||
\textthreequarters | \texttimes | ||
\textdiv | \textsurd | ||
\textordmasculine | \textonequarter | ||
\texteuro | \textcurrency | ||
\textasciimacron |
Некоторые символы из этой таблицы нам уже знакомы, и их можно напечатать и без помощи пакета textcomp (например, можно сказать вместо \textasteriskcentered ; если набрать просто *, то звездочка напечатается в верхней части строки, а не в ее середине), но многие другие являются для нас новыми (кстати, команды, включающие в свое имя florin, won и т.п., суть обозначения для различных валют). Хотя в этой таблице и есть символ для " евро" ( \texteuro ), но его изображение довольно далеко от принятого; соответствующие шрифты и способы их подключения к LaTeX'у есть, но они пока не стандартизированы.
Полезно обратить внимание на команду \textthreequartersemdash: тире, задаваемое ей, может оказаться более приемлемым в русских текстах, чем "длинное тире", задаваемое как |---|.
Если какая-то из команд, перечисленных в этой таблице, встречается в вашем тексте часто, разумно определить для нее более короткое обозначение; в начале "Создание новых команд" объясняется, как это сделать.
Вызов символа по коду
Можно добраться до любого символа в текущем шрифте, если знать код этого символа. Для этих целей предназначена команда \symbol. Ее единственный обязательный аргумент — код символа. Для латинских букв и цифр эти коды совпадают с обычными ASCII-кодами:
Код символа можно указывать не только в десятичной системе, как в приведенном примере, но и в восьмеричной (тогда перед кодом надо поставить символ "'") или шестнадцатеричной (перед кодом ставится символ |"|, "цифры" от A до F должны быть прописными буквами). Например, записи \symbol{122}, \symbol{'172} и \symbol{"7A} на печати дадут одно и то же: букву "z".
Если вы не знаете ASCII -кода нужного вам символа, можно в аргументе команды \symbol вместо номера поставить символы `\ и требуемый вам символ:
Мы использовали в этом примере команду \ttfamily, включающую специальное начертание шрифта , чтобы backslash выглядел на печати как \ (в большинстве TeX'овских шрифтов символу с этим кодом на печати соответствует нечто другое, см. таблицу в приложении В).
Подчеркивания, рамки
Чтобы подчеркнуть текст, используется команда \underline. У нее один обязательный аргумент — подчеркиваемый текст:
Подчеркнутый текст должен умещаться в одной строке.
Чтобы взять часть текста в рамку, используется команда \fbox:
Команда \fbox позволяет взять в рамку только фрагмент текста, умещающийся в одну строку. Чтобы взять в рамку фрагмент, состоящий из нескольких строк, надо воспользоваться командами, о которых пойдет речь в "Блоки и клей" .
При использовании подчеркивания и рамок могут пригодиться невидимые линейки, описанные в разд. "Линейки".