在 LaTeX 中定义新的重音

在 LaTeX 中定义新的重音

我输入的文档包含大量对复数及其复共轭的引用,例如$j, \overline{j}$

我发现能够输入一些东西来\*j表示会容易得多\overline{j}。然后它\*的工作方式非常像重音符,如果没有花括号,则只应用于下一个符号。

但是,使用\renewcommand{\*}[1]{\overline{#1}}根本无法产生令人满意的结果:(x^\*j)产生

有想法吗?

答案1

在你提到的具体应用中,你可以简单地在 的定义中将括号加倍\*。即,

\documentclass{article}
\renewcommand{\*}[1]{{\overline{#1}}}
\begin{document}
\[
(x^\*j)
\]
\end{document}

的默认行为^是它会扩展后面的内容,直到无法再扩展为止。一旦发生这种情况,^就会抓取下一个“标记”,并将其作为指数。根据 的定义\*,扩展将转换(x^\*j)(x^\overline{j})。然后 TeX 无法\overline进一步扩展,因此它将\overline作为 的指数x。但这行不通,因为\overline需要一个参数。

使用额外的括号后,相同的表达式将扩展为(x^{\overline{j}}),并且整个表达式都在括号中。

不过,我建议不要使用这种方法,而是键入$(x^{\*j})$,保留之前的定义。您不应该依赖于^在抓取参数之前扩展其参数这一事实:某些包会改变该行为。

相关内容