在显示模式下,在 LaTeX 中排版一系列等价和不等长度集合的定义的正确方法是什么?
考虑一下我用于一系列等价关系的以下代码
$$
\begin{array}{rcl}
y_{0}=\frac{\pm\sqrt{1-z^{2}}}{z} & \Longleftrightarrow & y_{0}z=\pm\sqrt{1-z^{2}}\\
& \Longleftrightarrow & y_{0}^{2}z^{2}=1-z^{2}\\
& \Longleftrightarrow & (1+y_{0})z^{2}=1\\
& \Longleftrightarrow & z=\pm\frac{1}{1+y_{0}^{2}}.
\end{array}
$$
我使用以下代码来定义不等长度的集合:
\begin{alignat*}{1}
D_{1} & :=C_{a}\cap\left\{ (x,y,z)\in D_{2}:x>0\right\} \ \text{and}\\
D_{2} & :=\left\{ (x,y,z)\in D_{1}:x<0\right\} .
\end{alignat*}
(忽略数学上的无意义。)我使用的环境及其对齐是否适合这一点?
答案1
我会使用align*
环境。
\begin{align*}
y_{0}=\frac{\pm\sqrt{1-z^{2}}}{z} &\Longleftrightarrow y_{0}z=\pm\sqrt{1-z^{2}}\\
&\Longleftrightarrow y_{0}^{2}z^{2}=1-z^{2}\\
&\Longleftrightarrow (1+y_{0})z^{2}=1\\
&\Longleftrightarrow z=\pm\frac{1}{1+y_{0}^{2}}.
\end{align*}
\begin{align*}
D_{1} & :=C_{a}\cap\left\{ (x,y,z)\in D_{2}:x>0\right\} \text{ and}\\
D_{2} & :=\left\{ (x,y,z)\in D_{1}:x<0\right\} .
\end{align*}
附言: \left\{ \right\}
在您的情况下没有必要。只需使用\{ \}
或某些变体\bigl\{ \bigr\}
或 即可\Bigl\{ \Bigr\}
。
答案2
该包还有另一种可能性mathtools
:它定义了一个\ArrowBetweenLines
命令,默认情况下会放置一个\Updownarrow
之间环境的线条alignat
,在左边。有一个带星号的版本,放在右边。
它接受将要使用的符号作为可选参数,我利用这个特性定义了一个\TextBetweenLines
命令,我在 OP 问题的第二个例子中使用了该命令:
\documentclass{article}
\usepackage{mathtools}
\newcommand\TextBetweenLines[1]{\ArrowBetweenLines[\text{#1}]}
\begin{document}
\begin{alignat*}{2}
& & y_{0} & =\frac{\pm\sqrt{1-z^{2}}}{z} \\
\ArrowBetweenLines & & y_{0}z & =\pm\sqrt{1-z^{2}} \\
\ArrowBetweenLines & & y_{0}^{2}z^{2} & =1-z^{2}
\end{alignat*}
\begin{alignat*}{2}
y_{0}^{2}z^{2} & =1-z^{2} & & \\
\ArrowBetweenLines *(1+y_{0})z^{2} & =1 & & \\
\ArrowBetweenLines* z & =\pm\frac{1}{1+y_{0}^{2}}. & &
\end{alignat*}
\begin{alignat*}{2}
& & D_{1} & \coloneqq C_{a}\cap\left\{ (x,y,z)\in D_{2}:x>0\right\} \\
\TextBetweenLines{and} & & D_{2} & :=\left\{ (x,y,z)\in D_{1}:x<0\right\} .
\end{alignat*}
\end{document}