我正在输入一份包含大量公式的文档,这些公式中都有单词。我知道我可以使用\text{}
AMS 包中的功能使单词在公式中正常显示,但我想知道当同一个公式中有很多单词时,是否有一种不那么麻烦的方法来实现这一点。有没有办法将公式中的所有字符设置为正常显示,或者有没有一些不那么麻烦的方法来实现这一点?
例子:
$\sigma_{\text{type}=\text{'single'} \, \text{AND} \, \text{price} < 20}(\text{Room})$
答案1
基于此回答,这里我们使用*
而不是<
在数学模式中经常使用的。
只需在数学模式中添加您的文本*text*
,如果您想*
在数学模式之外使用字符,您可以通过恢复组内的代码号来完成。
平均能量损失
\documentclass{article}
\usepackage{amsmath}
\catcode`\*=13
\begingroup
\lccode`\~=`\*
\lowercase{\endgroup
\def~#1*}{\text{#1}}
\begin{document}
$\sigma_{*type*=*'single'* \, *AND* \, *price* < 20}(*Room*)$
{\catcode`\*=12 text*}
$\sigma_{*type*=*'single'* \, *AND* \, *price* < 20}(*Room*)$
\end{document}
更新
感谢@egreg 建议替换\catcode
为,以避免每次在数学模式之外\mathcode
更改代码号*
\documentclass{article}
\usepackage{amsmath}
\mathcode`*="8000
\begingroup
\lccode`\~=`\*
\lowercase{\endgroup
\def~#1*}{\text{#1}}
\begin{document}
$\sigma_{*type*=*'single'* \, *AND* \, *price* < 20}(*Room*)$
text*
$\sigma_{*type*=*'single'* \, *AND* \, *price* < 20}(*Room*)$
\end{document}
输出
答案2
您可以通过 \newcommand(或 \renewcommand,如果存在)创建新命令来制作文本下标。我认为类似的东西\newcommand{\pippo}[1]{{}_\text{#1}}
可以工作。(我现在无法尝试,抱歉)