带文本下标的新命令

带文本下标的新命令

我正在输入一个文件,我经常需要在其中写入$T_{\text{area}}$。但是,当我必须一直写入时,添加下标文本的命令会很长。有人能提供一些可以简化此过程的新命令的提示吗?例如,我可以在哪里输入 T_area 并得到正确的格式?

我尝试使用

\newcommand{T_area}{S_{\text{area}}}

但它不起作用。另外,最好将其推广到所有文本,而不仅仅是“区域”。

答案1

指令

\newcommand{T_area}{S_{\text{area}}}

有两个原因导致它有缺陷。首先,TeX 宏通常应以\(反斜杠) 字符开头。(嗯,有这种\csname ... \endcsname可能;但是,这显然不是你所关心的。)其次,TeX 控制序列应由一个或多个小写和大写字母组成(也称为atozAto Z...)或恰好一个非字母字符。非字母控制序列的示例包括\,\!\_\$\%\\等。

基于这两个见解,替代定义

\newcommand{\Tarea}{S_{\text{area}}}

是有效的——但仅从纯粹的语法角度来看。正如查询下方的评论已经指出的那样,宏的输出\text并不像您想象的那么强大。尝试执行$\Tarea$ \textit{$\Tarea$} \textsc{$\Tarea$} \texttt{$\Tarea$}并准备好感到惊讶。如果您希望下标材料仅以文档主文本字体的直立形状排版,请给出

\newcommand\TareaX{S_{\textnormal{area}}}

试一试。当然,您可以完全自由地选择不同的宏名称。

另外,最好将其推广到所有文本,而不仅仅是“区域”。

\TareaX使用一些不可避免的 LaTeX 术语,可以通过指定采用具有默认值的可选参数来实现此目的area

\newcommand\TareaX[1][area]{S_{\textnormal{#1}}}

最后说明一下:由于 TeX 特殊字符出现在宏和_的定义中,如果这些宏被\Tarea\TareaX不是在数学模式中使用。


在此处输入图片描述

\documentclass{article}
\usepackage{amsmath} % for \text macro

\newcommand\Tarea{S_{\text{area}}} % problematic
\newcommand\TareaX[1][area]{S_{\textnormal{#1}}} % fine

\begin{document}
$\Tarea$ \textit{$\Tarea$} \textsc{$\Tarea$} \texttt{$\Tarea$} --- not good

$\TareaX$ \textit{$\TareaX$} \textsc{$\TareaX[volume]$} \texttt{$\TareaX[length]$} --- good
\end{document}

相关内容