
フォントを12pt
、18pt
行間を (正確に)にして文書を作成する必要があります。\linespread{X}\selectfont
コマンドラインを使用して行間サイズを大きくしましたが、X に を設定するにはどのくらいの値を入力しなければならないかわかりません18pt
。各行間 を取得するために X を適切に定義する方法をご存知ですか18pt
?
ありがとう !
答え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 は、行間スペースを制御する 3 つの基本レジスタを使用します。最初のレジスタは です\baselineskip
。後続の 2 行が\lineskiplimit
レジスタの意味で重複していない場合、 は\baselineskip
後続の 2 つのベースラインの距離として使用されます。「\lineskiplimit
レジスタの意味で重複している」(デフォルトでは 0pt に設定されますが、正または [より一般的には] 負にする必要があります) とは、( の規則が\baselineskip
試行された場合) 最初の行の最大のディセンダと 2 番目の行の最大のアセンダの間の距離が より大きいか等しいことを意味します\lineskiplimit
。このような条件が真でない場合、 は\baselineskip
これらの 2 行にまったく使用されず、\lineskip
そのような行の間に が挿入されます (プレーン TeX ではデフォルトで 1pt)。
例:\lineskiplimit
十分な負の値に設定すると、\baselineskip
重なり合っているかどうかに関係なく、すべての線に距離が設定されます。
\lineskiplimit
と を\baselineskip
0pt に設定すると、\lineskip
すべての行の間に が挿入され、通常はベースライン グリッドが失われます。
\baselineskip
nad は\lineskip
「スキップ」レジスタ(伸縮性や収縮性が含まれる場合があります)ですが、\lineskiplimit
「ディメンション」レジスタであることに注意してください。