有没有办法重新使用对齐环境(通过\input
),但由于包含之前设置了不同的布尔值而对其进行轻微更改? 理由是我想在我的文档中分段构建这样的环境(并解释添加的内容)而不重复我自己(以便以后编辑某些方程式时不会出错)。
以下不是工作,但显示了我的意图:我想使用这两个方程式并根据命令改变外观ifthenelse
。
\documentclass{article}
\usepackage{ifthen}
\usepackage{amsmath}
\begin{document}
\begin{align*}
& 42 & = \text{the answer}
{\ifthenelse{true}{\\ & 23 & = \text{a mysterious number}}{}}
\end{align*}
\end{document}
答案1
tabular(align 也是 tabular)是复杂的怪物:单元格是组,它们向前看下一个 &,因此经常与向前看的条件发生冲突。align 甚至更加复杂,因为它要经过两次传递。一种经常有效的策略是使用原始 if 并隐藏&
命令中的:
\documentclass{article}
\usepackage{amsmath,ifthen}
\newif\ifshowline
\newcommand\alignline{\\& 23 & = \text{a mysterious number}}
\begin{document}
\begin{align*}
& 42 & = \text{the answer}
%\showlinetrue
\ifshowline
\alignline
\else
% something else
\fi
\end{align*}
\end{document}