数学模式 - 默认情况下下标采用直立字体

数学模式 - 默认情况下下标采用直立字体

我写的大多数数学下标不是变量,而是名称(这是工程)。因此,将它们排版为直立是合适的。如果默认行为是这样的,我的代码看起来会干净得多

$a_m$

将“m”排版为直立,而在少数情况下,我需要正常的斜体字体,我可以使用类似

$a_\mathnormal{m}$

澄清一下:我是不是正在寻找一个宏,使排版索引变得不那么麻烦。我已经有了。相反,我想更改/覆盖默认行为(在序言中)。

另外,如果您想告诉我不应该改变默认行为,请考虑我已经收到通知。

相关问题(没有一个提供我想要的答案):

有没有办法让数学模式下标自动变为非斜体?

自动以直立字体形式排版下标材料

如何使用 amsmath 在直立字体的数学模式中全局放置下标?

答案1

大卫·卡莱尔向我指出了这一点回答在其中一个链接的问题中。它不会立即与该类一起工作scrartcl,因为它会产生错误“未定义的旧字体命令‘\rm’”。因此必须将其更改为可识别的字体:

\documentclass{scrartcl}
\usepackage{amsmath}

% typesetting indexes upright by default
\def\subinrm#1{\sb{\textnormal{#1}}}
{\catcode`\_=13 \global\let_=\subinrm}
\mathcode`_="8000
\def\upsubscripts{\catcode`\_=12 } \def\normalsubscripts{\catcode`\_=8 }
% the toggle for upright subscripts
\upsubscripts
% the toggle for italic subscripts
%\normalsubscripts

\begin{document}
    $A_{läke}$, $\normalsubscripts \sum_{i=1}^\infty {1\over n}$
\end{document}

\def\subinrm#1{\sb{\mathrm{#1}}}这是我的第一个尝试,但它不支持 ä、ö、ü 等重音字符,虽然不太好看,但可能仍会显示在我的德语文档中。使用该amsmath软件包,可以\textnormal按预期方式工作:可以使用变音符号,并且下标可以正确缩放。

功劳应该归于擦拭他最初的解决方案和大卫·卡莱尔向我指出这一点。

编辑:更新了 MWE。

相关内容