Ich nehme an, dass Don Knuth seine Computer Modern-Schriftarten bei der Erstellung zumindest seiner Meinung nach für optimiert hat \nonfrenchspacing
. Da aber fast alle Bücher, die nicht mit TeX erstellt wurden, keinen zusätzlichen Abstand nach der Zeichensetzung haben, sind die meisten anderen Schriftarten, die für die Verwendung in TeX eingerichtet sind \frenchspacing
, für optimiert und werden etwaige Einstellungen für \nonfrenchspacing
nachträglich vorgenommen?
Antwort1
Für TeX entwickelte Schriftarten kodieren normalerweise sieben Werte, die TeX über die folgenden \fontdimen
Befehle zur Verfügung stehen: font_slant
, font_normal_space
, font_normal_stretch
, font_normal_shrink
, font_ex_height
, font_quad
, und . Diese sind in der richtigen Reihenfolge; Sie können sie mit , , usw. font_extra_space
abrufen .\fontdimen1
\fontdimen2
Zusätzlicher Abstand nach der Interpunktion wird durch bestimmt \fontdimen7
, das in der Metafont-Quelle als definiert ist font_extra_space
. In ist cmr
beispielsweise \fontdimen7
auf gesetzt 2u#
, was tiefe Metafont-Magie ist, auf die wir hier nicht näher eingehen müssen. (Eigentlich nicht wirklich tief; aber hier auch nicht wirklich relevant.)
Diese \fontdimen
Werte können jedoch von TeX manipuliert werden. Um beispielsweise \frenchspacing
ein Verhalten nach der Zeichensetzung mit den Computer Modern-Schriftarten zu erhalten, sagen Sie einfach „reset“ \fontdimen7
für diese Schriftarten. Also zum Beispiel:
\documentclass{article}
\begin{document}
\font\cmr=cmr10
\cmr Hello. I'm Joe.
\fontdimen7\cmr=0pt
Hello. I'm Joe.
\end{document}
Je nach Schriftformat holt sich TeX die Werte für die \fontdimen
Parameter aus unterschiedlichen Quellen. Bei Computer Modern und anderen Metafont-Schriftarten werden sie im Metafont-Quellcode gesetzt und von TeX aus der tfm
Datei übernommen.
Dies ist eine lange Art, eine kurze Antwort zu geben: Nein, Schriftarten werden nicht für \frenchspacing
oder auf andere Weise optimiert; aber sie legen die Werte fest, die in beiden Fällen verwendet werden, sofern diese Werte nicht von TeX überschrieben werden.