Набор текста
Специальные типографские знаки
Большинство знаков препинания (точка, запятая, двоеточие и т.п.) набираются очевидным образом: точке в исходном тексте, например, соответствует типографская точка на печати. В этом разделе речь пойдет о знаках, требующих специального набора.
Дефисы, минусы и тире
При печати на пишущей машинке эти знаки по внешнему виду не различаются. В издательских системах, основанных на 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 позволяет взять в рамку только фрагмент текста, умещающийся в одну строку. Чтобы взять в рамку фрагмент, состоящий из нескольких строк, надо воспользоваться командами, о которых пойдет речь в "Блоки и клей" .
При использовании подчеркивания и рамок могут пригодиться невидимые линейки, описанные в разд. "Линейки".