為什麼當我改變大小時我的字體也會改變?

為什麼當我改變大小時我的字體也會改變?

我的問題是,當我使用 更改字體大小時,字體似乎發生了變化\fontsize

acm我正在嘗試調整模板作者區塊中的字體大小。我正在使用來自的程式碼這個帖子列印出字體資訊。

在此輸入影像描述

當我在更改任何內容之前列印字體訊息時,我得到第一行。然後我打電話

\fontsize{13 pt}{1 em} \selectfont

我得到了第二行。最後我試圖改變家庭

\fontsize{13 pt}{1 em}\sffamily \selectfont`

我得到第三行,看起來不錯,但似乎被放大了,而不是真實的字體大小,而且顯然與其他兩行不同。

編輯:在創建 MWE 時,我發現它有些奇怪acm.cls 文件

例子是:

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

答案1

您提供的連結不再有效,但是我找到了該課程的一個版本

注意\fontsize{13 pt}{1 em}不是錯誤,但在選擇字體之前,此時長度已被吸收,因此基線間距將在目前的在此設定之前的字體(通常不夠大)

您找到的包含類別文件的文檔現在會生成

在此輸入影像描述

如果我將文件修改為以 tx 字體開頭,如您的輸出所示,請添加

\renewcommand\rmdefault{txr}
\renewcommand\sfdefault{txss}

我得到的序言

在此輸入影像描述

這或多或少符合你所展示的內容。

想必問題是為什麼 9pt 和 13pt 大小或多或少相同,而第一個是無襯線字體。原因可以透過在\selectfont第一個之前添加一個來看出\showfont。這使得實際使用的字體與 LaTeX 巨集同步,例如\f@size記錄最後請求的字體大小。

\author{
  \alignauthor
        \showfont - \selectfont\showfont\\
        {\fontsize{13 pt}{1 em} \selectfont \showfont }\\
        {\fontsize{13 pt}{1 em}\sffamily \selectfont \showfont }\\
}

產生

在此輸入影像描述

您可以看到強制\selectfont第一行使用真正的 9pt 羅馬字體,該字體明顯小於下一行的 13pt。

\selectfont儘管按照您的顯示設定了宏,但如果沒有,\showfont實際字體是設定標題時留下的 13pt 無襯線字體。

字體選擇不遵循乳膠約定的原因是它們在類別中聲明的方式很不幸。例如,作者被設定 \aufnt為使用“作者字體”,但這尚未根據 LaTeX 系列/大小軸定義,它定義為

\newfont{\aufnt}{phvr at 12pt}

它是一個圍繞基元的非常薄的包裝\font,定義\aufnt為基元字體選擇,忽略所有乳膠相關字體更改,例如\bfseries或大小更改。

相關內容