更简短的 \text{} 书写方法

更简短的 \text{} 书写方法

\text{}大量使用下标,因为它使等式看起来更清晰。

然而,多次编写类似代码是一件非常痛苦的事情x_{\text{subscript}}。更不用说这会让普通人更难阅读 latex 代码。

有没有更快捷的办法来实现写作的结果\text{myText}

答案1

强制使用奇怪的 catcode 会改变标准行为,_并且^肯定会引发问题(TiZ? babel?)。我也使用了很多纯文本下标;我建议一个语义定义:

\newcommand{\tsub}[2]{#1_{\textrm{#2}}}
\newcommand{\maxval}[1]{\tsub{#1}{máx}}

(例如)然后您可以使用(请注意,语义非常清楚,如果您想更改语言,则只有一个更新点......)

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\newcommand{\tsub}[2]{#1_{\textrm{#2}}}
\newcommand{\maxval}[1]{\tsub{#1}{máx}}
\begin{document}

$a+\tsub{b}{medio}=\maxval{c}$

\end{document}

上述代码片段的输出

(是的,\textrm¹ 否则\mathrm您不能使用máx......)


¹ 感谢@DavidCarlisle...

答案2

您可以简单地将自定义宏定义为一个小包装器:

\newcommand{\t}[1]{\text{#1}}

然后您可以使用\t{myText}而不是\text{myText}

编辑:正如评论中指出的那样,\t已被使用。因此,要么选择其他名称,要么 - 如果您不需要\t文档中的原始内容 - 改用\renewcommand来覆盖 的定义\t。但这可能会产生其他意想不到的副作用,所以这可能不是最好的主意。

相关内容