Размер междустрочного интервала в пт?

Размер междустрочного интервала в пт?

Мне нужно написать документ со шрифтом 12ptи 18ptinterline (ТОЧНО). Я использовал \linespread{X}\selectfontкомандную строку, чтобы увеличить размер interline... но я не знаю, сколько мне нужно ввести, чтобы X имел 18pt. Вы знаете, как правильно определить X, чтобы получить 18ptдля каждого interline ?

Спасибо !

решение1

При использовании металлического шрифта символы вырезались на кусках металла, имеющих одинаковый размер, независимо от верхних и нижних выносных элементов.

введите описание изображения здесь

Источник:http://designwithfontforge.com/en-US/The_EM_Square.html (Обратите внимание, что для удобства чтения изображение отображено зеркально.)

Линии можно было разделить, вставив полоски металла (в основном из свинца, поэтому их называли «ведущими»).

TeX использует для этого другую модель, поскольку он просто выравнивает символы по их опорной точке, поэтому его модель отличается: он пытается поддерживать фиксированное расстояние между базовыми линиями (величину текущего \baselineskip).

Что означает интерлиньяж 18pt, довольно двусмысленно. Как вы видите, на картинке интерлиньяжа нет, но символы не соприкасаются: «yp» находится чуть выше «th», но между ними есть некоторое пространство. Это потому, что высота элемента, несущего символ, больше суммы максимальной высоты и максимальной глубины среди всех символов (такая же длина, как устойка).

Таким образом, вы можете сослаться на 18pt между самым глубоким возможным нисходящим элементом на линии и самым высоким возможным восходящим элементом на следующей линии; или вы можете измерить 18pt от глубины и высоты стойки. Это даст совершенно разные результаты.

Предлагаемый leadingпакет может решить эту проблему, поскольку он позволяет указать базовое расстояние в точках, а не вычислять фактор для \linespread. Однако упрощенный

\leading{18pt}

не будет делать:

\documentclass[12pt]{article}
\usepackage{leading}

\leading{18pt}

\begin{document}

\noindent
\llap{\smash{%
  \vrule height0pt depth \fontchardp\font`y \hskip 1pt
  \vrule height0pt depth \dimexpr\fontchardp\font`y + 18pt\relax
}}by\\
by

\end{document}

введите описание изображения здесь

На изображении ясно, что 18pt — это базовая линия.

\documentclass[12pt]{article}
\usepackage{leading}

\AtBeginDocument{%
  \settoheight{\dimen0}{%
    ABCDEFGHIJKLMNOPQRSTUVWXYZ%
    abcdefghijklmnopqrstuvwxyz%
  }%
  \settodepth{\dimen2}{%
    ABCDEFGHIJKLMNOPQRSTUVWXYZ%
    abcdefghijklmnopqrstuvwxyz%
  }%
  \leading{\dimexpr18pt+\dimen0+\dimen2}%
}

\begin{document}

\noindent
\llap{\smash{%
  \vrule height0pt depth \fontchardp\font`y \hskip 1pt
  \vrule height0pt depth \dimexpr\fontchardp\font`y + 18pt\relax
}}by\\
by

\end{document}

введите описание изображения здесь

Теперь от нижней части y до верхней части b ровно 18pt.

Если вы используете заглавные буквы с диакритическими знаками, вам, возможно, придется исправить алфавит, используемый для измерения максимальной высоты и глубины.

решение2

TeX использует три примитивных регистра, которые управляют межстрочными интервалами. Первый из них — \baselineskip. Если две следующие строки не перекрываются в смысле \lineskiplimitрегистра, то \baselineskipиспользуется как расстояние двух следующих базовых линий. «Перекрытие в смысле \lineskiplimitрегистра» (по умолчанию установлено в 0pt, но должно быть положительным или [чаще] отрицательным) означает: расстояние между самым большим подстрочным элементом в первой строке и самым большим подстрочным элементом во второй строке (когда \baselineskipпробуется правило с ) больше или равно \lineskiplimit. Если такое условие не выполняется, то \baselineskipвообще не используется для этих двух строк, но вставляется \lineskipмежду такими строками (по умолчанию 1pt в простом TeX).

Примеры: если задать \lineskiplimitдостаточно отрицательное значение, то все линии будут иметь \baselineskipрасстояние независимо от того, перекрываются они или нет.

Если установить \lineskiplimitи \baselineskipна 0pt, то \lineskipвставляется между всеми линиями, а сетка базовых линий обычно теряется.

Обратите внимание, что \baselineskipnad \lineskip— это регистры «пропуска» (они могут включать растяжимость и/или усадку), но \lineskiplimitэто регистр «размера».

Связанный контент