Я хотел бы использовать шрифт KOMA с размером шрифта 13pt (см. очень похожий вопрос здесь:Шрифт Koma и настоящий 13pt). Рассмотрим следующий документ:
\documentclass[fontsize=13pt,DIV=12]{scrartcl}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\begin{document}
test
\end{document}
Я получаю следующие предупреждения:
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.
Хотя я полностью понимаю первое предупреждение (меня устраивают рассчитанные размеры шрифтов), я не понимаю, почему LaTeX жалуется на отсутствие форм шрифта в шрифте computer modern (я правильно понимаю, это cmr
расшифровывается как computer modern roman?).
Я могу избавиться от предупреждений о форме шрифта, используя \RequirePackage{fix-cm}
перед documentclass, но мне это кажется странным (я хочу использовать lmodern, а не computer modern).
Я думаю, что можно проигнорировать предупреждения (PDF не включает cm), но я все равно хотел бы понять, что происходит. Я пробовал отложить изменение размера шрифта до тех пор, пока не lmodern
загрузится, но это не помогло.
[ Сопутствующий вопрос на немецком языке с ответом Маркуса Кома, предлагающего использовать lmodern
:http://www.komascript.de/node/1137]
решение1
Предупреждение связано с тем, что шрифты Computer Modern доступны только в «дискретных» размерах. Проблема в том, что, по-видимому, классы Koma обрабатывают опцию fontsize
слишком рано, когда Computer Modern все еще является шрифтом по умолчанию.
Вы можете удалить ложное предупреждение, загрузив fix-cm
перед запуском:
\RequirePackage{fix-cm}
\documentclass[fontsize=13pt,DIV=12]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\begin{document}
test
\end{document}
Вы получите только
Class scrartcl Warning: Using fallback calculation to setup font sizes
(scrartcl) for basic size `13pt' on input line 1564.
это неизбежно, если вы не используете silence
пакет для его удаления:
\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}
Другая стратегия была бы
\documentclass[DIV=12]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\normalfont
\KOMAoption{fontsize=13pt}
\recalctypearea
\begin{document}
test
\end{document}
но я не рекомендую этого делать.
решение2
Если вы измените свой пример на
\documentclass[fontsize=13pt,DIV=12]{scrartcl}
\stop
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\begin{document}
test
\end{document}
Вы видите предупреждение о том, cmr
что приходит до того, как lmodern
загружено. Таким образом, класс устанавливает некоторые шрифты, которые позже переопределяются, но все равно генерируют некоторые предупреждения.
Вероятно, это безопасно (хотя я не думаю, что пробовал это раньше:-)
Вы не получаете никаких предупреждений от
\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}