该relsize
软件包提供了方便的方法来缩放文档中的文本。该\textscale
命令允许使用除常用开关(例如\large
和 )之外的任意文本大小\small
。但是,当使用 KOMA 脚本类时,结果大小有时会混乱。
以下 MWE 应12pt
以百分之一为步,将字母 M 从当前字体大小的 10% 缩放到 99%。
% https://tex.stackexchange.com/q/4824/77970
\RequirePackage{fix-cm}
%
\documentclass{scrartcl}
\usepackage{relsize}
\KOMAoption{fontsize}{12}
\begin{document}
\renewcommand\RSpercentTolerance{0}
\newcount\foo
\foo=10
\loop
\textscale{0.\the\foo}{M}
\advance \foo +1
\ifnum \foo<100
\repeat
\end{document}
但是,有些字母的位置不对,小字母跟在大字母后面。例如,\textscale{0.75}{M}
产生的 M 比 大\textscale{0.76}{M}
,而 应该是相反的。这个问题有解决办法吗?
答案1
看来 KOMA 字体大小选择和relsize
软件包之间存在一些不兼容问题,虽然我说不出具体是什么问题。只需加载软件包即可解决此relsize
问题后设置字体大小,\KOMAoption{fontsize}{12}
如以下 MWE 所示:
% https://tex.stackexchange.com/q/4824/77970
\RequirePackage{fix-cm}
%
\documentclass{scrartcl}
\KOMAoption{fontsize}{12}
\usepackage{relsize}
\begin{document}
\renewcommand\RSpercentTolerance{0}
\newcount\foo
\foo=10
\loop
\textscale{0.\the\foo}{M}
\advance \foo +1
\ifnum \foo<100
\repeat
\end{document}
正如预期的那样,现在\textscale{0.75}{M}
产生的 M 小于\textscale{0.76}{M}
。此解决方案似乎运行顺利,没有任何其他副作用。