我想为\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
无法关闭。