\baselineskip & \baselinestretch
Величина \baselineskip является длиной (см. Длины). Она задаёт межострочный интервал, обычное расстояние между строками в абзаце, от одной базовой линии до другой.
Обычно авторы документов не изменяют \baselineskip напрямую при написании. Вместо этого оно устанавливается командой низкого уровня выбора шрифта \fontsize (см. команды низкого уровня выбора шрифта fontsize). Значение \baselineskip сбрасывается каждый раз при смене шрифта, поэтому любое прямое изменение \baselineskip исчезнет при следующей смене шрифта. Как влиять на интерлиньяж, см. обсуждение \baselinestretch ниже.
Обычно размер шрифта и интервал базовой линии устанавливаются дизайнером шрифта. Эти значения носят условный характер, так как, например, если в файле стилей шрифта есть команда \fontsize{10pt}{12pt}, это не означает, что символы в шрифте имеют высоту 10 пунктов; например, скобки и акцентированные заглавные буквы могут быть выше. Это также не означает, что если строки расположены ближе, чем 12 пунктов, они могут соприкасаться. Эти значения являются типографскими оценками. (Часто, \baselineskip примерно на двадцать процентов больше, чем размер шрифта.)
Величина \baselineskip не является свойством каждой строки, а относится ко всему абзацу. В результате, большой текст посередине абзаца, например, одна {\Huge Q}, будет сжат в своей строке. TeX будет следить за тем, чтобы он не касался строки выше, но не будет изменять \baselineskip для этой одной строки, чтобы создать дополнительное пространство сверху. Для исправления используйте \strut (см. \strut).
Значение \baselineskip, используемое TeX для абзаца, — это значение, действующее в момент пустой строки или команды, завершающей блок абзаца. Таким образом, если документ содержит этот абзац, его строки будут сжаты по сравнению со строками в окружающих абзацах.
Many people see a page break between text and a displayed equation as
bad style, so in effect the display is part of the paragraph.
Because this display is in footnotesize, the entire paragraph has the
baseline spacing matching that size.
{\footnotesize $$a+b = c$$}
Процесс формирования абзацев заключается в том, что при добавлении новой строки, если глубина предыдущей строки плюс высота новой строки меньше \baselineskip, TeX вставляет вертикальную связку, чтобы заполнить разницу. Есть две важные детали. Первая заключается в том, что если строки будут слишком близко расположены, ближе чем \lineskiplimit, TeX вместо этого использует \lineskip в качестве межострочного интервала. Вторая заключается в том, что TeX фактически не использует глубину предыдущей строки. Вместо этого он использует \prevdepth, которая обычно содержит эту глубину. Но в начале абзаца (или любого вертикального списка) или сразу после правила \prevdepth имеет значение -1000pt, и это специальное значение сообщает TeX не вставлять межострочный интервал в начале абзаца.
В стандартных классах \lineskiplimit равно 0pt, а \lineskip равно 1pt. Согласно предыдущему абзацу, расстояние между строками может приближаться к нулю, но если оно станет равным нулю (или меньше нуля), то строки будут отделены на 1pt.
Иногда авторам для целей редактирования необходимо поместить документ в двойной или полуторный интервал. Правильный способ влияния на межострочное расстояние — с помощью команды \baselinestretch. Она масштабирует \baselineskip, и имеет значение по умолчанию 1.0. Это команда, а не длина, поэтому измените коэффициент масштабирования как в \renewcommand{\baselinestretch}{1.5}\selectfont.
Самый простой способ изменить интерлиньяж для всего документа — поместить \linespread{factor} в преамбулу. Для двойного интервала возьмите factor равным 1.6, а для полуторного интервала — 1.3. Эти числа приблизительные: например, так как \baselineskip примерно в 1.2 раза больше размера шрифта, умножение на 1.6 даёт отношение базового интервала к размеру шрифта около 2. (Команда \linespread определяется как \renewcommand{\baselinestretch}{factor}, поэтому она не вступит в силу до установки шрифта. Но это всегда происходит в начале документа, поэтому вам не нужно следовать за ней \selectfont.)
Более простой подход — пакет setspace. Пример:
\usepackage{setspace}
\doublespacing % or \onehalfspacing for 1.5
В преамбуле эти команды настроят документ с нужным интерлиньяжем. Но вы также можете использовать эти объявления в теле документа, чтобы изменить интерлиньяж с этого момента, и, следовательно, есть \singlespacing для возвращения интерлиньяжа к нормальному. В теле документа лучшим практическим решением, чем использование объявлений, является использование сред, таких как \begin{doublespace}
... \end{doublespace}. Пакет также содержит команды для произвольного интерлиньяжа: \setstretch{factor} и \begin{spacing}{factor} ... \end{spacing}. Этот пакет также сохраняет однострочный интервал в местах, где это обычно желательно, например, в сносках и подписях к рисункам. См. документацию пакета.
© 2007–2018 Karl Berry
Public Domain Software
http://latexref.xyz/_005cbaselineskip-_0026-_005cbaselinestretch.html