为 amsmath 的 align 环境定义一个命令

为 amsmath 的 align 环境定义一个命令

我想为\begin{align*}和定义一个简写命令\end{align*}。当我写

\newcommand{\ba}{\begin{align*}}  

它工作得很好。但是当我写

\newcommand{\ea}{\end{align*}}  

LaTeX 发出抱怨。它似乎将其解释为环境的一部分,但对此并不满意。有人知道如何解决这个问题吗?

答案1

另一种解决方案——这是我用于一切的自定义文档类中的代码:

\newcommand{\eq}[1]{\begin{align*}#1\end{align*}}

用法:

\eq{
  x^2 + 9 &= 0
}

(显然,更改命令名称以适合您的喜好。)

答案2

一些测试表明,这似乎与 amsmath 的“align”环境相当相关。例如,

\documentclass{article}

\usepackage{amsmath}

\newcommand{\bc}{\begin{center}}
\newcommand{\ec}{\end{center}}

\begin{document}

\bc
hello world
\ec

\end{document}

运行良好。我不确定为什么align*不起作用(没有星号也不行);我怀疑对齐环境周围的无数扩展和别名比“传统” LaTeX 环境要复杂一些。但是,我发现了一些东西可能正好能为您实现相同的目标:

\documentclass{article}

\usepackage{amsmath}

\newcommand{\ba}{\[\begin{aligned}}
\newcommand{\ea}{\end{aligned}\]}

\begin{document}

\ba
x^2 &= y^2 \\
z^2 &= t^2
\ea

\end{document}

希望有帮助!

答案3

在我看来这是一个错误。

\newcommand{\ba}{\begin{align}} 
\newcommand{\ea}{\end{align}}
\ba
x=1
\ea

LaTeX 抱怨align无法关闭。

相关内容