如何简单地使用 \def \begin{array}?

如何简单地使用 \def \begin{array}?

我想用\def它来简化\begin{array}。这是代码

\def\ba#1{\begin{array}#1}
\def\ea{\end{array}}

$$ \ba{ccc} a11 & a12 & a13\\ a21 & a22 & a23 \ea $$

我收到错误。我尝试使用:

\renewcommand {\begin{array}} {\ba}
\renewcommand {\end{array}} {\ea}

和这个:

\newcommand(\ba)[]{\begin{array}}
\newcommand(\ea)[]{\end{array}}

也出现错误。那么我应该使用哪个命令?

我认为这与编程语言不同。在这里我只想用文本替换\ba\begin{array}它不需要在宏定义中进行评估。

更新:所以我使用相同的技巧来继续简化:

\bea
 y &=& x^4 + 4      \nonumber \\
   &=& (x^2+2)^2 -4x^2 \nonumber \\
   &\le&(x^2+2)^2
\eea

它工作正常。将它们全部结合起来:

\newcommand{\sev}[1]{\left| {#1} \right|}
\def\ba#1{\begin{array}{#1}}
\def\ea{\end{array}}
\def\bea{\begin{eqnarray}}
\def\eea{\end{eqnarray}}

Q: $$D=\sev{\ba{cccccc}
 s_0&s_1&s_2&\cdots&s_{n-1}&1\\ 
 s_1&s_2&s_3&\cdots&s_n&x\\ 
 s_2&s_3&s_4&\cdots&s_{n+1}&x^2\\ 
 \vdots&\vdots&\vdots&\ddots&\vdots\\ 
 s_n&s_{n+1}&s_{n+2}&\cdots&s_{2n-1}&x^n \ea}$$ 
 and $s_k=x_1^k+x_2^k+\cdots+x_n^k$.

A: $$ \bea D &=& \sev{\ba{ccccc} 
 1&1&\cdots&1&1\\
 x_1&x_2&\cdots&x_n&x\\ 
 \vdots&\vdots&\ddots&\vdots&\vdots\\ 
 x_1^{n-1}&x_2^{n-1}&\cdots&x_n^{n-1}&x^{n-1}\\ 
 x_1^n&x_2^n&\cdots&x_n^n&x^n \ea} \eea $$

Q正确的,但是A是错误的,并告诉“缺少 \endgroup”

答案1

你需要改变

\def\ba#1{\begin{array}#1}

\def\ba#1{\begin{array}{#1}}

#1观察第二行代码中的一对花括号。

顺便说一句,您不应该$$在 LaTeX 文档中直接使用 来启动和终止 displaymath 模式;而应该使用\[\]。有关此主题的更多信息,请参阅帖子为什么 [ ... ] 比 $$ ... $$ 更可取?$$、[、align、equation 和 displaymath 之间有什么区别?

相关内容