我试过这个代码,它创建了一个像这样的大空间
\begin{align}
&C^\text {UL} &= \log_2\left|{\bf I}_M + \frac{\rho_\text{ul}}{K}{\bf H}{\bf H}^\dagger\right|\\
%\end{align}
%\begin{align}
&C^\text {DL} &= \log_2\left|{\bf I}_K + \frac{\rho_\text{dl}}{M}{\bf H}{\bf H}^\dagger\right| \nonumber \\
&&= \log_2\left|{\bf I}_M + \frac{\rho_\text{dl}}{M}{\bf H}{\bf H}^\dagger\right|
\end{align}
我怎样才能解决这个问题?
答案1
删除&
行前面的
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align}
C^\text {UL} &= \log_2\left|{\mathbf I}_M + \frac{\rho_\text{ul}}{K}{\mathbf H}{\mathbf H}^\dagger\right|\\
C^\text {DL} &= \log_2\left|{\mathbf I}_K + \frac{\rho_\text{dl}}{M}{\mathbf H}{\mathbf H}^\dagger\right| \nonumber \\
&= \log_2\left|{\mathbf I}_M + \frac{\rho_\text{dl}}{M}{\mathbf H}{\mathbf H}^\dagger\right|
\end{align}
\end{document}
答案2
除了 (a) 删除&
每行开头的有害符号和 (b) 用 替换{\bf ...}
之外\mathbf{...}
,您可能还想 (c) 使用\mathrm
而不是—— 以防万一这个等式出现在类似定理的环境中 —— 以及 (d) 降低绝对值栅栏的高度。对于最终目标,我建议您在包的宏\text
的帮助下定义一个“绝对值”宏。\DeclarePairedDelimiter
mathtools
\documentclass{article}
\usepackage{mathtools} % for '\DeclarePairedDelimiter' macro
\DeclarePairedDelimiter\abs\lvert\rvert
\begin{document}
\begin{align}
C^\mathrm{UL} &= \log_2\abs[\big]{\mathbf{I}_M
+ \frac{\rho_{\mathrm{ul}}}{K} \mathbf{H}\mathbf{H}^\dagger} \\
C^\mathrm{DL} &= \log_2\abs[\big]{\mathbf{I}_K
+ \frac{\rho_{\mathrm{dl}}}{M} \mathbf{H}\mathbf{H}^\dagger} \nonumber \\
&= \log_2\abs[\big]{\mathbf{I}_M
+ \frac{\rho_{\mathrm{dl}}}{M} \mathbf{H}\mathbf{H}^\dagger}
\end{align}
\end{document}
答案3
而不是align
,而是使用alignat
环境。alignat
环境将需要一个额外的参数来表示您想要使用的左右列对的最大数量,但给出一个更大的数字并没有错。
\begin{alignat}{2}
&C^\text {UL} &= \log_2\left|{\bf I}_M + \frac{\rho_\text{ul}}{K}{\bf H}{\bf H}^\dagger\right|\\
&C^\text {DL} &= \log_2\left|{\bf I}_K + \frac{\rho_\text{dl}}{M}{\bf H}{\bf H}^\dagger\right| \nonumber \\
&&= \log_2\left|{\bf I}_M + \frac{\rho_\text{dl}}{M}{\bf H}{\bf H}^\dagger\right|
\end{alignat}
对我来说,区别在于align
想要使每列对之间的间距相等,而alignat
将它们移动到对齐允许的尽可能靠近的位置,然后使整个对象居中。
确保对齐标记的位置,因为列的左右对齐特性否则会弄乱您的输出。