Größe der Zwischenzeile in pt?

Größe der Zwischenzeile in pt?

Ich muss ein Dokument mit einer Schriftart von 12ptund 18ptInterline (GENAU) schreiben. Ich habe die \linespread{X}\selectfontBefehlszeile verwendet, um die Interline-Größe zu erhöhen... aber ich weiß nicht, wie viel ich eingeben muss, damit X hat 18pt. Wissen Sie, wie man X richtig definiert, um 18ptfür jede Interline zu erhalten?

Danke !

Antwort1

Beim Einsatz von Metalllettern wurden die Buchstaben auf Metallplatten geschnitten, die alle die gleiche Größe hatten, unabhängig von Ober- und Unterlängen.

Bildbeschreibung hier eingeben

Quelle:http://designwithfontforge.com/en-US/The_EM_Square.html (Beachten Sie, dass das Bild gespiegelt wurde, um das Lesen zu erleichtern.)

Die Linien konnten durch das Einfügen von Metallstreifen (meistens aus Blei, daher „bleihaltig“) voneinander getrennt werden.

TeX verwendet hierfür ein anderes Modell, da es Zeichen nur anhand ihres Referenzpunkts ausrichtet. Daher ist sein Modell anders: Es versucht, einen festen Abstand zwischen den Grundlinien einzuhalten (die Höhe des aktuellen \baselineskip).

Was 18pt Zeilenabstand bedeutet, ist ziemlich zweideutig. Wie Sie sehen, gibt es im Bild keinen Zeilenabstand, aber die Buchstaben berühren sich nicht: „yp“ steht knapp über „th“, aber es besteht ein gewisser Abstand zwischen ihnen. Dies liegt daran, dass die Höhe des Teils, der einen Buchstaben trägt, größer ist als die Summe der maximalen Höhe und maximalen Tiefe aller Buchstaben (die gleiche Länge wie einStrebe).

Sie könnten sich also auf 18pt zwischen der tiefsten möglichen Unterlänge einer Zeile und der höchstmöglichen Oberlänge der nächsten Zeile beziehen; oder Sie könnten die 18pt anhand der Tiefe und Höhe einer Strebe messen. Dies führt zu ganz unterschiedlichen Ergebnissen.

Das vorgeschlagene leadingPaket kann das Problem lösen, da es die Angabe der Basislinienentfernung in Punkten ermöglicht, anstatt einen Faktor für zu berechnen \linespread. Eine vereinfachte

\leading{18pt}

wird nicht tun:

\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}

Bildbeschreibung hier eingeben

Das Bild macht deutlich, dass 18pt der Grundlinienabstand ist.

\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}

Bildbeschreibung hier eingeben

Jetzt sind es von der Unterseite des y bis zur Oberseite des b genau 18pt.

Wenn Sie Großbuchstaben mit Akzent verwenden, müssen Sie möglicherweise das Alphabet korrigieren, das zum Messen der maximalen Höhe und Tiefe verwendet wird.

Antwort2

TeX verwendet drei primitive Register, die den Zeilenabstand steuern. Das erste davon ist \baselineskip. Wenn die beiden folgenden Zeilen sich im Registersinn nicht überlappen, \lineskiplimitwird \baselineskipals Abstand zwischen zwei folgenden Grundlinien verwendet. Die „Überlappung im Registersinn \lineskiplimit“ (standardmäßig auf 0pt eingestellt, sollte aber positiv oder [üblicher] negativ sein) bedeutet: Der Abstand zwischen der größten Unterlänge in der ersten Zeile und der größten Oberlänge in der zweiten Zeile (wenn die Regel mit \baselineskipangewendet wird) ist größer oder gleich \lineskiplimit. Wenn diese Bedingung nicht erfüllt ist, \baselineskipwird für diese beiden Zeilen überhaupt nicht verwendet, sondern \lineskipzwischen diesen Zeilen wird eingefügt (Standard 1pt bei einfachem TeX).

Beispiele: Wenn Sie \lineskiplimiteinen ausreichend negativen Wert festlegen, haben alle Linien \baselineskipeinen Abstand, unabhängig davon, ob sie sich überlappen oder nicht.

Wenn Sie \lineskiplimitund \baselineskipauf 0pt setzen, \lineskipwird zwischen allen Zeilen eingefügt und das Grundlinienraster geht normalerweise verloren.

Beachten Sie, dass es sich \baselineskipbei nad \lineskipum „Überspring“-Register handelt (sie können Dehnbarkeit und/oder Schrumpfbarkeit enthalten), es \lineskiplimitsich jedoch um „Dimen“-Register handelt.

verwandte Informationen