在mimeTeX,允许使用大量宏,例如\cd
= \cdot
、\fr
=\frac
和\sq
= 。使用 ,可以轻松在自己的 LaTeX 文档中创建此类宏。其他 mimeTeX 宏可以说是“无括号”的;例如,可以使用 代替。我的问题是,是否也可以在 LaTeX 中模仿此类宏,如果可以,如何做到这一点。\sqrt
\newcommand
\te hallo
\text{hello}
答案1
您可以使用\def
带分隔参数的宏来制作
\def\te#1 {\text{#1}}
\te hello aaa
将放入hello
参数中\text
。参数te
结束于第一个空格(或换行符),后面的空格\te
不算数,因为它永远不会成为空格标记,它用于终止命令名称。
但是一般来说你不应该这样做。LaTeX 的一个主要设计目标是为命令提供一致的顶级语法:强制参数获取{}
可选参数获取[]
等。
从评论中的用例来看,你似乎实际上根本不想\te
接受参数,而是想要普通的 Tex/LaTeX2.09 用法
\newcommand\te{\rm}
将使\te
当前表达式的其余部分切换为直立罗马字体。