使用 relsize 包和 KOMA 缩放文本大小错误

使用 relsize 包和 KOMA 缩放文本大小错误

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}。此解决方案似乎运行顺利,没有任何其他副作用。

相关内容