Warum ändert sich meine Schriftart, wenn ich die Größe ändere?

Warum ändert sich meine Schriftart, wenn ich die Größe ändere?

Mein Problem ist, dass sich die Schriftart zu ändern scheint, wenn ich ihre Größe mit ändere \fontsize.

acmIch versuche, die Größe einer Schriftart innerhalb eines Vorlagenautorenblocks anzupassen . Ich verwende den Code vondieser Beitragum die Schriftinformationen auszudrucken.

Bildbeschreibung hier eingeben

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

Bildbeschreibung hier eingeben

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

Bildbeschreibung hier eingeben

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 \selectfontvor dem ersten ein einfügt \showfont. Dadurch wird die tatsächlich verwendete Schriftart mit den LaTeX-Makros synchronisiert, die beispielsweise \f@sizedie 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

Bildbeschreibung hier eingeben

Dort sehen Sie, dass \selectfontin der ersten Zeile die echte 9pt-Roman-Schriftart verwendet wird, die sichtbar kleiner ist als die 13pt-Schrift der nächsten Zeile.

Obwohl \selectfontdie Makros wie von Ihnen gezeigt festgelegt sind, \showfontist 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 \aufntmit „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 \fontPrimitiv und definiert \aufnteine Schriftartauswahl als Primitiv, die alle relativen Schriftartänderungen in Latex, wie z. B. \bfseriesGrößenänderungen, ignoriert.

verwandte Informationen