为什么这两个表达式在案例中不一致?

为什么这两个表达式在案例中不一致?

为什么这两个表达式没有对齐?它们的大小完全相同。 在此处输入图片描述

这是默认的吗?我怎样才能让它们对齐?

\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}

使用 amsmath alignedat 呈现的案例

\quad我在对齐的逗号后添加了一个空格,因为alignedat否则就会删除该空格。

我还在对齐字符和加号 ( &{} +) 之间添加了花括号,因为否则它会占用默认空格,但请尝试不使用它们,看看效果如何。

编辑:根据 amsmath 用户指南,第二个参数应该alignedat是 2,而不是之前的 4:

计算任意行中 & 的最大数量,加 1 并除以 2

对我来说,它们的呈现效果完全相同。

编辑2:你可以通过输入更多的对齐字符来获得更细粒度的对齐 - 对齐方式

R&L & R&L

其中RL分别是右对齐和左对齐部分。(这也说明了为什么三个对齐字符有 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.
\]

在 amsmath alignedat 中呈现的案例具有更多对齐方式

相关内容