![flalign 环境不适用于方程式之间的较长 \text{}](https://linux22.com/image/432096/flalign%20%E7%8E%AF%E5%A2%83%E4%B8%8D%E9%80%82%E7%94%A8%E4%BA%8E%E6%96%B9%E7%A8%8B%E5%BC%8F%E4%B9%8B%E9%97%B4%E7%9A%84%E8%BE%83%E9%95%BF%20%5Ctext%7B%7D.png)
这是一个有点复杂的问题,因为我想对齐方程式和字符串文本,使得所有文本都向左对齐,并且所有方程式的开头都对齐。这两个对齐不能相互关联。
我正在使用 amsmath 包。我尝试使用 align 环境,但使用 flalign 效果更好。
我用下面的代码得到的结果非常接近,但还不够好。方程式在文本之后开始,并超出页面范围。
如果可能的话,我希望文本对齐(黑色)忽略方程式对齐,以便方程式不会尝试对齐到太右。
我想说我不是高级 Latex 用户,所以简单的解决方案对我来说会更好。
{\color{red}
\begin{flalign}
&{\color{black}\text{komplex konjugiert, Spiegelung auf der reellen Achse:}}& \nonumber \\
&&z = x + iy \Rightarrow \overline{z} = x - iy \\
&{\color{black}\text{Realteil:}} \nonumber \\
&&Re(z) = Re(\overline{z}) = x = \frac{z + \overline{z} }{2} \\
&{\color{black}\text{Imaginärteil:}} \nonumber \\
&&Im(z) = -Im(\overline{z}) = y = \frac{z - \overline{z} }{2i} \\
&{\color{black}\text{Betrag:}} \nonumber \\
&&r = |z| = |\overline{z}| = \sqrt{x^2+y^2} = \sqrt{z \cdot \overline{z}} \\
&{\color{black}\text{Argument:}} \nonumber \\
&&\varphi = arg(z) = arg(\overline{z}) =
\begin{cases}
\cos^{-1}(\frac{x}{r}), \quad y \geq 0\\
-\cos^{-1}(\frac{x}{r}), \quad y \leq 0\\
\end{cases} \\
&{\color{black}\text{Eulersche Zahlen:}} \nonumber \\
&&z = r \cdot e^{i \varphi} = r \cdot (\cos(\varphi) + i\sin(\varphi)),\\
&&\overline{z} = r \cdot e^{-i \varphi} = r \cdot (\cos(\varphi) - i\sin(\varphi)) \\
&{\color{black}\text{Skalar Produkt von 2 komplexe Zahlen:}} \nonumber \\
&&Re(z \cdot \overline{w}) = <z,w>
\end{flalign}
}
答案1
这样的解决方案并不总是有效,但在这种情况下,由于文本和数学位于 的不同行flalign
,因此它就足够了。我所做的是将所有 的实例替换为\text
,\laptext
其中后者被定义为其\rlap
参数之一。这样,文本的宽度就不会对对齐点产生影响。
编辑:为了安抚 TeX 神,我用排版直立文本的宏替换了Re
、Im
和。arg
\documentclass{article}
\usepackage{amsmath,xcolor}
\newcommand\laptext[1]{\rlap{#1}}
\newcommand\Real{\mathrm{Re}}
\newcommand\Imag{\mathrm{Im}}
\newcommand\Arg{\mathrm{arg}}
\begin{document}
{\color{red}
\begin{flalign}
&{\color{black}\laptext{komplex konjugiert, Spiegelung auf der reellen Achse:}}& \nonumber \\
&&z = x + iy \Rightarrow \overline{z} = x - iy \\
&{\color{black}\laptext{Realteil:}} \nonumber \\
&&\Real(z) = \Real(\overline{z}) = x = \frac{z + \overline{z} }{2} \\
&{\color{black}\laptext{Imaginärteil:}} \nonumber \\
&&\Imag(z) = -\Imag(\overline{z}) = y = \frac{z - \overline{z} }{2i} \\
&{\color{black}\laptext{Betrag:}} \nonumber \\
&&r = |z| = |\overline{z}| = \sqrt{x^2+y^2} = \sqrt{z \cdot \overline{z}} \\
&{\color{black}\laptext{Argument:}} \nonumber \\
&&\varphi = \Arg(z) = \Arg(\overline{z}) =
\begin{cases}
\cos^{-1}(\frac{x}{r}), \quad y \geq 0\\
-\cos^{-1}(\frac{x}{r}), \quad y \leq 0\\
\end{cases} \\
&{\color{black}\laptext{Eulersche Zahlen:}} \nonumber \\
&&z = r \cdot e^{i \varphi} = r \cdot (\cos(\varphi) + i\sin(\varphi)),\\
&&\overline{z} = r \cdot e^{-i \varphi} = r \cdot (\cos(\varphi) - i\sin(\varphi)) \\
&{\color{black}\laptext{Skalar Produkt von 2 komplexe Zahlen:}} \nonumber \\
&&\Real(z \cdot \overline{w}) = <z,w>
\end{flalign}
}
\end{document}
答案2
您似乎不想要任何对齐,因此flalign
是错误的环境,请使用gather
。此外,不要对诸如 之类的单词使用数学斜体arg
。也\langle\rangle
不要<>
。
\documentclass[a4paper]{article}
\usepackage{amsmath,color}
\let\Re\relax\DeclareMathOperator\Re{Re}
\let\Im\relax\DeclareMathOperator\Im{Im}
\begin{document}
{\color{red}
\begin{gather}
\intertext{\color{black}komplex konjugiert, Spiegelung auf der reellen Achse:}
z = x + iy \Rightarrow \overline{z} = x - iy \\
\intertext{\color{black}Realteil:}
\Re(z) = \Re(\overline{z}) = x = \frac{z + \overline{z} }{2} \\
\intertext{\color{black}Imaginärteil:}
\Im(z) = -\Im(\overline{z}) = y = \frac{z - \overline{z} }{2i} \\
\intertext{\color{black}Betrag:}
r = |z| = |\overline{z}| = \sqrt{x^2+y^2} = \sqrt{z \cdot \overline{z}} \\
\intertext{\color{black}Argument:}
\varphi = \arg(z) = \arg(\overline{z}) =
\begin{cases}
\cos^{-1}(\frac{x}{r})&, y \geq 0\\
-\cos^{-1}(\frac{x}{r})&, y \leq 0\\
\end{cases} \\
\intertext{\color{black}Eulersche Zahlen:}
z = r \cdot e^{i \varphi} = r \cdot (\cos(\varphi) + i\sin(\varphi)),\\
\overline{z} = r \cdot e^{-i \varphi} = r \cdot (\cos(\varphi) - i\sin(\varphi)) \\
\intertext{\color{black}Skalar Produkt von 2 komplexe Zahlen:}
\Re(z \cdot \overline{w}) = \langle z,w\rangle
\end{gather}
}
\end{document}