$...$ 和 align 环境中的不同符号

$...$ 和 align 环境中的不同符号

有没有办法强制 LaTeX 在$...$\begin{align}...\end{align}环境中产生不同的符号?例如

$ \mymacro $

应该导致

A

尽管

\begin{align} \mymacro \end{align}

应该产生

乙................................................................. (1)

(没有点)。

答案1

\documentclass{article}
\usepackage{amsmath}
\makeatletter
\def\mymacro{\ifinalign@ B\else A\fi}
\makeatother
\begin{document}

$ \mymacro $
\begin{align} \mymacro \end{align}

\end{document}

答案2

听起来好像您想检测的不是特定环境而是当前的数学风格。\mathchoice原始方法在这里很合适:

\documentclass{article}
\usepackage{amsmath}
\newcommand*{\mymacro}{\mathchoice{A}{B}{C}{D}}

\begin{document}

$ \mymacro_{\mymacro} $
\begin{align} \mymacro \end{align}

\[ \mymacro \]

\end{document}

这四种情况分别是显示样式、文本样式、下标样式和下下标样式。对于演示来说,它们完全不同,但在实际情况下会以某种方式相关!

相关内容