
Mein Problem ist, dass sich die Schriftart zu ändern scheint, wenn ich ihre Größe mit ändere \fontsize
.
acm
Ich versuche, die Größe einer Schriftart innerhalb eines Vorlagenautorenblocks anzupassen . Ich verwende den Code vondieser Beitragum die Schriftinformationen auszudrucken.
Wenn ich die Schriftartinformationen ausdrucke, bevor ich etwas ändere, erhalte ich die erste Zeile. Dann rufe ich auf
\fontsize{13 pt}{1 em} \selectfont
und ich bekomme die zweite Zeile. Schließlich habe ich versucht, die Familie zu ändern mit
\fontsize{13 pt}{1 em}\sffamily \selectfont`
und ich erhalte die dritte Zeile, die einigermaßen richtig aussieht, aber eher vergrößert als in tatsächlicher Schriftgröße zu sein scheint und außerdem eindeutig einer anderen Familie als die anderen beiden angehört.
Edit: Beim Erstellen eines MWE habe ich festgestellt, dass es eine gewisse Merkwürdigkeit mit demACM-Cls-Datei.
Das Beispiel ist:
\documentclass{acm_proc_article-sp}
\begin{document}
\title{problem with my unit}
\numberofauthors{1}
\makeatletter
\newcommand{\showfont}{encoding: \f@encoding{},
family: \f@family{},
series: \f@series{},
shape: \f@shape{},
size: \f@size{}
}
\author{
\alignauthor
\showfont\\
{\fontsize{13 pt}{1 em} \selectfont \showfont }\\
{\fontsize{13 pt}{1 em}\sffamily \selectfont \showfont }\\
}
\maketitle
\end{document}
Antwort1
der Link, den du angegeben hast, ist nicht mehr gültig, aberIch habe eine Version der Klasse gefunden
Beachten Sie, dass dies \fontsize{13 pt}{1 em}
kein Fehler ist, sondern dass die Längen an dieser Stelle absorbiert werden, bevor die Schriftart ausgewählt wird. Der Grundlinienabstand wird daher imaktuellSchriftart vor dieser Einstellung (die normalerweise nicht groß genug ist)
Ihr Dokument mit der gefundenen Klassendatei erzeugt nun
Wenn ich das Dokument so ändere, dass es mit tx-Schriftarten beginnt, wie in Ihrer Ausgabe, indem ich hinzufüge
\renewcommand\rmdefault{txr}
\renewcommand\sfdefault{txss}
zur Präambel bekomme ich
was mehr oder weniger mit dem übereinstimmt, was Sie zeigen.
Die Frage ist vermutlich, warum die Größen 9pt und 13pt mehr oder weniger gleich groß sind und die erste serifenlos ist. Der Grund dafür wird ersichtlich, wenn man \selectfont
vor dem ersten ein einfügt \showfont
. Dadurch wird die tatsächlich verwendete Schriftart mit den LaTeX-Makros synchronisiert, die beispielsweise \f@size
die zuletzt angeforderte Schriftgröße aufzeichnen.
\author{
\alignauthor
\showfont - \selectfont\showfont\\
{\fontsize{13 pt}{1 em} \selectfont \showfont }\\
{\fontsize{13 pt}{1 em}\sffamily \selectfont \showfont }\\
}
produziert
Dort sehen Sie, dass \selectfont
in der ersten Zeile die echte 9pt-Roman-Schriftart verwendet wird, die sichtbar kleiner ist als die 13pt-Schrift der nächsten Zeile.
Obwohl \selectfont
die Makros wie von Ihnen gezeigt festgelegt sind, \showfont
ist die tatsächliche Schriftart eine 13-Punkt-Serifenschrift, die beim Festlegen des Titels übrig geblieben ist.
Der Grund, warum die Schriftartenauswahl nicht den Latex-Konventionen entspricht, ist die unglückliche Art und Weise, wie sie in der Klasse deklariert wurden. Beispielsweise werden Autoren \aufnt
mit „Autorenschriftart“ festgelegt, aber dies wurde nicht in Bezug auf die LaTeX-Familien-/Größenachse definiert, sondern als
\newfont{\aufnt}{phvr at 12pt}
Dies ist eine sehr dünne Hülle um das \font
Primitiv und definiert \aufnt
eine Schriftartauswahl als Primitiv, die alle relativen Schriftartänderungen in Latex, wie z. B. \bfseries
Größenänderungen, ignoriert.