定义接受参数中的 \\ 的命令

定义接受参数中的 \\ 的命令

我正在尝试定义一个\dfix可以处理参数中换行符的新命令。当参数中没有换行符时,该命令可以正常工作\\,但如果我包含换行符,LaTeX 就会出错。

如何创建一个对于换行来说是安全的命令/宏?

我想\dfix在以下情况下

\begin{align*}
  &\dfix{(A\\
  &B)}{C}
\end{align*

产生与

\begin{align*}
  &(A\\
  &B)^\ddag_{C}
\end{align*}

类似地,$\dfix{A}{B}$应该产生与相同的输出$A^\ddag_B$

这里是定义命令并尝试在各个地方使用它的 MWE。

\documentclass{minimal}
\usepackage{amsmath}
\newcommand{\dfix}[2]{\ensuremath{{#1}^\ddag_{#2}}}
\begin{document}
% This causes: ./mwe.tex:9: Missing } inserted.
\begin{align*}
  &\dfix{A\\
  &B}{C}
\end{align*}
% This is OK
\begin{align*}
  &\dfix{A B}{C}
\end{align*}
% This also produces errors.
\begin{multline*}
  \dfix{A\\
    B}{C}
\end{multline*}
\end{document}

答案1

这可以满足您的要求,但是似乎构造非常奇怪,您确定这是您所需要的吗?

\documentclass{minimal}
\usepackage{amsmath}
\newcommand{\dfix}[2]{(#1)^\ddag_{#2}}
\begin{document}
% This causes: ./mwe.tex:9: Missing } inserted.
\begin{align*}
  &\dfix{A\\
  &B}{C}
\end{align*}
% This is OK
\begin{align*}
  &\dfix{A B}{C}
\end{align*}
% This also produces errors.
\begin{multline*}
  \dfix{A\\
    B}{C}
\end{multline*}
\end{document}

相关内容