Por que recebo um aviso sobre o computador moderno mesmo usando o lmodern?

Por que recebo um aviso sobre o computador moderno mesmo usando o lmodern?

Eu gostaria de usar o script KOMA com um tamanho de fonte de 13pt (veja perguntas relacionadas aqui:Koma Script e 13pt reais). Considere o seguinte documento:

\documentclass[fontsize=13pt,DIV=12]{scrartcl}

\usepackage{lmodern}
\usepackage[T1]{fontenc}

\begin{document}
test
\end{document}

Recebo os seguintes avisos:

Class scrartcl Warning: Using fallback calculation to setup font sizes
(scrartcl)              for basic size `13pt' on input line 1564.

LaTeX Font Warning: Font shape `OT1/cmr/m/n' in size <13> not available
(Font)              size <12> substituted on input line 1564.

LaTeX Font Warning: Font shape `T1/cmr/m/n' in size <13> not available
(Font)              size <12> substituted on input line 100.

Embora eu entenda perfeitamente o primeiro aviso (aceito tamanhos de fonte calculados), não vejo por que o LaTeX está reclamando da falta de formas de fonte na fonte moderna do computador (eu entendo que cmrsignifica computador romano moderno?).

Posso me livrar dos avisos de formato da fonte usando \RequirePackage{fix-cm}antes da documentclass, mas isso me parece estranho (quero usar lmodern, não computer modern).

Acho que é seguro ignorar os avisos (o PDF não inclui cm), mas ainda assim gostaria de entender o que está acontecendo. Tentei adiar a alteração no tamanho da fonte até depois lmoderndo carregamento, mas não adiantou.

[Pergunta relacionada em alemão com resposta de Markus Kohm, sugerindo usar lmodern:http://www.komascript.de/node/1137]

Responder1

O alerta se deve ao fato de que as fontes Computer Modern só estão disponíveis em tamanhos “discretos”. O problema é que, aparentemente, as classes Koma processam a fontsizeopção muito cedo, quando Computer Modern ainda é a fonte padrão.

Você pode remover o aviso falso carregando fix-cmantes de começar:

\RequirePackage{fix-cm}
\documentclass[fontsize=13pt,DIV=12]{scrartcl}

\usepackage[T1]{fontenc}
\usepackage{lmodern}

\begin{document}
test
\end{document}

Você só conseguirá

Class scrartcl Warning: Using fallback calculation to setup font sizes
(scrartcl)              for basic size `13pt' on input line 1564.

isso é inevitável, a menos que você use o silencepacote para removê-lo:

\RequirePackage{fix-cm}
\RequirePackage{silence}
\WarningFilter{scrartcl}{Using fallback}

\documentclass[fontsize=13pt,DIV=12]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{lmodern}


\begin{document}
test
\end{document}

Uma estratégia diferente seria

\documentclass[DIV=12]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\normalfont
\KOMAoption{fontsize=13pt}
\recalctypearea

\begin{document}
test
\end{document}

mas não recomendo.

Responder2

Se você modificar seu exemplo para

\documentclass[fontsize=13pt,DIV=12]{scrartcl}

\stop
\usepackage{lmodern}
\usepackage[T1]{fontenc}


\begin{document}

test
\end{document}

Você vê o aviso sobre cmro que vem antes de lmodernser carregado. Portanto, a classe configura algumas fontes que são substituídas posteriormente, mas ainda geram alguns avisos.

Provavelmente é seguro fazer isso (embora eu não ache que tenha tentado isso antes :-)

Você não recebe avisos de

\renewcommand\familydefault{lmr}
\renewcommand\encodingdefault{T1}
\selectfont
\DeclareErrorFont{T1}{lmr}{m}{n}{10}
\documentclass[fontsize=13pt,DIV=12]{scrartcl}


\usepackage{lmodern}
\usepackage[T1]{fontenc}


\begin{document}

test
\end{document}

informação relacionada