Почему шрифт меняется, когда я меняю его размер?

Почему шрифт меняется, когда я меняю его размер?

Моя проблема в том, что шрифт меняется, когда я меняю его размер с помощью \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} это не ошибка, но длины поглощаются на этом этапе, до выбора шрифта, поэтому интервал между базовыми линиями будет установлен на 1em втекущийшрифт до этой настройки (который обычно не будет достаточно большим)

Ваш документ с файлом класса, который был найден, теперь выдает

введите описание изображения здесь

Если я изменю документ так, чтобы он начинался со шрифтов 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первую строку использовать настоящий римский шрифт размером 9 пунктов, который заметно меньше, чем 13 пунктов в следующей строке.

Несмотря на то, \selectfontчто макросы установлены, как показано вами, \showfontфактический шрифт представляет собой 13-пунктный шрифт без засечек, оставшийся после установки заголовка.

Причина, по которой выбор шрифта не соответствует соглашениям LaTeX, заключается в неудачном способе их объявления в классе. Например, авторы устанавливаются с помощью \aufnt"шрифта автора", но это не было определено в терминах оси семейства/размера LaTeX, это определено как

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

который является очень тонкой оболочкой вокруг \fontпримитива и определяет\aufnt как примитивный выбор шрифта, который игнорирует все относительные изменения шрифта Latex, такие как \bfseriesизменение или изменение размера.

Связанный контент