这是默认的吗?我怎样才能让它们对齐?
\documentclass[journal]{IEEEtran}
\usepackage{amsmath,amsfonts}
\usepackage[caption=false,font=normalsize,labelfont=sf,textfont=sf]{subfig}
\usepackage{booktabs}
\begin{document}
$
H_K =
\begin{cases}
x_1 H_{AB}+x_2 H_{BC}+x_3 H_{CA}, & (\text{A}, \varphi_1)\\
y_1 H_{AB}+y_2 H_{BC}+y_3 H_{CA}, & (\text{B}, \varphi_2)\\
\end{cases}
$
\end{document}
答案1
由于问题在于 x 和 y 的宽度不同,您可能希望每行中的相似项(即H_{AB}
和相似项)右对齐,这样它们就正好一个在另一个之上。 + 号周围空间的细微差异不会被注意到。
\documentclass[journal]{IEEEtran}
\usepackage{amsmath}
\usepackage{array}
\begin{document}
\[
H_k =
\left\{
\renewcommand{\arraystretch}{1.2}% like for cases
\setlength{\arraycolsep}{0pt}% let TeX do the spacings
\begin{array}{
r
>{{}}c<{{}}
r
>{{}}c<{{}}
r
@{\quad}
l
}
x_1 H_{AB} &+& x_2 H_{BC} &+& x_3 H_{CA}, & (\mathrm{A}, \varphi_1)\\
y_1 H_{AB} &+& y_2 H_{BC} &+& y_3 H_{CA}, & (\mathrm{B}, \varphi_2)
\end{array}
\right.
\]
\end{document}
注意\mathrm
,不是\text
。
答案2
正如大卫卡莱尔在评论中指出的那样,x
它们y
的宽度不同,因此出现错位。
由于您正在使用IEEEtran
文档类,因此这里有一个简单的解决方案来解决您的问题
\documentclass[journal]{IEEEtran}
\usepackage{amsmath,amsfonts}
\usepackage[caption=false,font=normalsize,labelfont=sf,textfont=sf]{subfig}
\usepackage{booktabs}
\begin{document}
\[
H_k =
\left\{\IEEEstrut[4\jot][4\jot]\begin{IEEEeqnarraybox}[][c]{CCC'C}
x_1 H_{AB}&+x_2 H_{BC}&+x_3 H_{CA}, & (\text{A}, \varphi_1)\\
y_1 H_{AB}&+y_2 H_{BC}&+y_3 H_{CA}, & (\text{B}, \varphi_2)
\end{IEEEeqnarraybox}\right.
\]
\end{document}
答案3
另一种方法是使用 amsmath alignedat
:
\documentclass[journal]{IEEEtran}
\usepackage{amsmath,amsfonts}
\usepackage[caption=false,font=normalsize,labelfont=sf,textfont=sf]{subfig}
\usepackage{booktabs}
\begin{document}
\[
H_k =
\left\{
\begin{alignedat}{2}
% R & L & R & L
x_1 H_{AB} &{} + x_2 H_{BC} &{} + x_3 H_{CA},& \quad (\text{A}, \varphi_1)\\
y_1 H_{AB} &{} + y_2 H_{BC} &{} + y_3 H_{CA},& \quad (\text{B}, \varphi_2)
\end{alignedat}
\right.
\]
\end{document}
\quad
我在对齐的逗号后添加了一个空格,因为alignedat
否则就会删除该空格。
我还在对齐字符和加号 ( &{} +
) 之间添加了花括号,因为否则它会占用默认空格,但请尝试不使用它们,看看效果如何。
编辑:根据 amsmath 用户指南,第二个参数应该alignedat
是 2,而不是之前的 4:
计算任意行中 & 的最大数量,加 1 并除以 2
对我来说,它们的呈现效果完全相同。
编辑2:你可以通过输入更多的对齐字符来获得更细粒度的对齐 - 对齐方式
R&L & R&L
其中R
和L
分别是右对齐和左对齐部分。(这也说明了为什么三个对齐字符有 2 个对齐列&
,而不是 4 个)。
实际操作:
\[
H_k =
\left\{
\begin{alignedat}{4}
% R & L & R & L & R & L & R & L
x_1 H_{AB} &{} + {}& x_2 H_{BC} &{} + {}& x_3 H_{CA},& \quad & (\text{A}, \varphi_1)& \\
y_1 H_{AB} &{} + {}& y_2 H_{BC} &{} + {}& y_3 H_{CA},& & (\text{B}, \varphi_2)&
\end{alignedat}
\right.
\]