Por que minha fonte muda quando altero o tamanho?

Por que minha fonte muda quando altero o tamanho?

Meu problema é que a fonte parece mudar quando altero seu tamanho com \fontsize.

Estou tentando ajustar o tamanho de uma fonte dentro de um acmbloco de autor de modelo. Estou usando o código deesta postagempara imprimir as informações da fonte.

insira a descrição da imagem aqui

Quando imprimo as informações da fonte antes de alterar qualquer coisa, recebo a primeira linha. Então eu ligo

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

e eu recebo a segunda linha. Finalmente tentei mudar a família com

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

e recebo a terceira linha que parece correta, mas parece ampliada em vez de um tamanho de fonte real e também é claramente uma família diferente das outras duas.

Edit: Ao criar um MWE descobri que há alguma estranheza com oarquivo acmcls.

O exemplo é:

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

Responder1

o link que você deu não é mais bom, masEncontrei uma versão da aula

Observe que isso \fontsize{13 pt}{1 em}não é um erro, mas os comprimentos são absorvidos neste ponto, antes da fonte ser selecionada, portanto o espaçamento da linha de base será definido como 1em noatualfonte antes desta configuração (que normalmente não será grande o suficiente)

Seu documento com o arquivo de classe encontrado agora produz

insira a descrição da imagem aqui

Se eu modificar o documento para começar com fontes tx como na sua saída, adicionando

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

para o preâmbulo eu recebo

insira a descrição da imagem aqui

que corresponde mais ou menos ao que você mostra.

Presumivelmente, a questão é por que os tamanhos de 9pt e 13pt são mais ou menos do mesmo tamanho, e o primeiro é sem serifa. O motivo pode ser visto adicionando um \selectfontantes do primeiro \showfont. Isso sincroniza a fonte real usada com as macros LaTeX, como \f@sizeas que registram o último tamanho de fonte solicitado.

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

produz

insira a descrição da imagem aqui

onde você vê que \selectfontforça a primeira linha a usar a fonte romana real de 9 pontos, que é visivelmente menor que os 13 pontos da próxima linha.

Sem o \selectfontfato de as macros serem definidas conforme mostrado por sua \showfontfonte, a fonte real é uma sans serif de 13 pontos que sobrou da configuração do título.

A razão pela qual as escolhas de fontes não seguem as convenções do látex é a forma infeliz como foram declaradas na classe. Por exemplo, os autores são definidos usando \aufnt"fonte do autor", mas isso não foi definido em termos do eixo família/tamanho do LaTeX, é definido como

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

que é um invólucro muito fino em torno do \fontprimitivo e define \aufntcomo uma seleção de fonte primitiva que ignora todas as alterações de fonte relativas ao látex, como \bfseriesalterações de tamanho ou tamanho.

informação relacionada