在一个大的对齐环境中,我想放置一些案例环境。我希望案例环境的对齐方式相同。例如,如果我写:
\begin{align}
f(x) &=
\begin{cases}
x & \text{if } x\geq 0,\\
-x & \text{if } x <0,
\end{cases}\\
g(x) &=
\begin{cases}
\sqrt{x} & \text{if } x \geq 0,\\
-\sqrt{-x} & \text{if } x < 0.
\end{cases}
\end{align}
那么方程看起来就很难看,因为两个案例环境的对齐点不同。有没有办法强制两个环境的对齐点相同?
答案1
您还可以使用\hphantom{}
来添加适当数量的水平空间:
代码:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align}
f(x) &=
\begin{cases}
x\hphantom{-\sqrt{-}} & \text{if } x\geq 0,\\
-x & \text{if } x <0,
\end{cases}\\
g(x) &=
\begin{cases}
\sqrt{x} & \text{if } x \geq 0,\\
-\sqrt{-x} & \text{if } x < 0.
\end{cases}
\end{align}
\end{document}
答案2
您可以将第一个环境中的某个条目放在cases
一个框中,该框的宽度与第二个环境中最长的宽度相同cases
。
\newlength{\temp}
\settowidth{\temp}{$-\sqrt{-x}$}
\begin{align}
f(x) &=
\begin{cases}
\makebox[\temp][l]{$x$} & \text{if } x\geq 0,\\
-x & \text{if } x <0,
\end{cases}\\
g(x) &=
\begin{cases}
\sqrt{x} & \text{if } x \geq 0,\\
-\sqrt{-x} & \text{if } x < 0.
\end{cases}
\end{align}
答案3
使用包提供的hphantom
和的组合。将最长的表达式放入其中,并包裹后面的表达式。mathrlap
mathtools
hphantom
mathrlap
hphantom
在您的示例中,最长的表达式是-\sqrt{-x}
。要放置hphantom
,x
请使用
\mathrlap{x}\hphantom{-\sqrt{-x}}
例如:
\documentclass{article}
\usepackage{amsmath,mathtools}
\begin{document}
\begin{align}
f(x) &= \begin{cases}
\mathrlap{x}\hphantom{-\sqrt{-x}} & \text{if } x\geq 0,\\
-x & \text{if } x <0,
\end{cases}\\
g(x) &= \begin{cases}
\sqrt{x} & \text{if } x \geq 0,\\
-\sqrt{-x} & \text{if } x < 0.
\end{cases}
\end{align}
\end{document}