Перейти к содержимому
Topos Uranos

Краткое содержание

Этот урок учит писать сплошной текст с той точностью, которой требует набор. Он различает абзац, который открывается пустой строкой или командой \par, и простой разрыв строки, \\ или \newline, и объясняет, почему разрыв строки не должен заменять абзац. Он представляет вертикальный пробел и причину пользоваться им умеренно; горизонтальные пробелы: межсловный пробел, тильду, которая запрещает перенос строки, узкий пробел и пробел после точки, который babel настраивает в зависимости от языка; четыре знака, которые клавиатура сливает в один: дефис, короткое тире, тире и знак минуса, с их употреблением в русской и в английской типографике; кавычки, набранные напрямую или с помощью csquotes; многоточие; прямой ввод в Unicode, который допускает LuaLaTeX; и числа, чьи десятичная запятая, разряды и проценты требуют в тексте и в формулах внимания, о котором лучше знать заранее, чем узнать от неожиданности.

Цели обучения

  1. Разделять абзацы пустыми строками и оставлять разрыв строки для тех случаев, когда единицей служит строка, а не абзац.
  2. Выбирать для каждой пары слов или чисел между обычным пробелом, тильдой, узким пробелом и отсутствием пробела.
  3. Ставить дефис, короткое тире, тире и знак минуса там, где им место, согласно типографской традиции языка.
  4. Набирать кавычки нескольких уровней по-русски, напрямую или с помощью \enquote, а также многоточие.
  5. Предсказывать, как LaTeX в русском документе набирает десятичные дроби, разряды и проценты в тексте и в формулах, и записывать их так, чтобы результат был правильным.

Абзацы и разрывы строк

Для LaTeX исходный текст делится не на строки, а на абзацы. Конец строки в исходном тексте равнозначен пробелу, а несколько пробелов подряд равнозначны одному; пустая строка, напротив, завершает абзац, а несколько пустых строк подряд равнозначны одной. Команда \par делает ровно то же, что и пустая строка: на самом деле движок превращает каждую пустую строку в \par. Внутри абзаца движок решает, где кончается каждая строка, принимая во внимание весь абзац, как было показано в первом уроке; между абзацами он применяет правила класса документа: абзацный отступ первой строки, вертикальный пробел, который их разделяет, нежелание оставлять одинокую строку внизу или вверху страницы.

ПримерАбзацы по-русски

Конец строки внутри первого абзаца исходного текста не виден в результате; две пустые строки подряд дают только одну смену абзаца, так же как \par.

Код LaTeX
\documentclass{article}\usepackage{fontspec}\usepackage[russian]{babel}\babelfont{rm}{Noto Serif}\usepackage{indentfirst}\begin{document}\section{Гипотеза}Первый абзац раздела набирается с отступом,как принято в русской типографике.​Пустая строка открывает новый абзац.​​Две пустые строки тоже дают только один.\par Команда par делает то же самое.\end{document}
Результат
Результат

Четвёртая строка выбирает шрифт с кириллицей (здесь Noto Serif), потому что шрифт по умолчанию, Latin Modern, её не содержит. Отсутствие отступа в первом абзаце после заголовка представляет собой англо-американскую традицию, которой LaTeX следует по умолчанию и которую babel сохраняет и для русского языка. Русская типографика делает отступ во всех абзацах, и это обеспечивает пакет indentfirst, подключённый в пятой строке; для испанского или французского языка babel сам делает этот отступ.

Разрыв строки, \\ или равнозначная ему команда \newline, завершает строку в этом месте, не завершая абзаца: следующая строка принадлежит тому же абзацу, начинается без отступа и не отделяется от предыдущей. Форма \\[6pt] добавляет вертикальный пробел под разорванной строкой, а форма \\*, как было показано в уроке об анатомии документа, вдобавок запрещает в этом месте разрыв страницы.

ПримерТри разрыва строки в одном абзаце
Код LaTeX
\documentclass{article}\usepackage{fontspec}\usepackage[russian]{babel}\babelfont{rm}{Noto Serif}\begin{document}Первая строка абзаца,\\вторая строка того же абзаца,\newlineтретья строка,\\[6pt]и четвёртая, после дополнительного пробела.​Настоящий абзац начинается с отступа.\end{document}
Результат
Результат

Однако разрыв строки не есть абзац, и использовать его в этой роли является самой частой ошибкой набора у тех, кто пришёл из текстового процессора. Причин три. Первая: форму абзацев определяет класс, и документ, который разделяет абзацы разрывами строк, имеет для движка лишь один абзац; если потом сменить класс или потребовать больше места между абзацами, настоящие абзацы изменятся, а мнимые нет. Вторая: правила, которые защищают абзац, например правило, не позволяющее оставить одинокую строку внизу страницы, не применяются к тому, что абзацем не является. Третья: разрывы, которыми пытаются оставить пустые строки, вызывают предупреждения о боксах с максимальной мерой дефекта, а разрыв в начале абзаца является ошибкой. У разрыва строки есть законные применения, в которых единицей служит строка: стихи, строки адреса или строки заголовка, набранного вручную.