在alignat環境中對齊水平cdot

在alignat環境中對齊水平cdot

我正在使用alignat環境來對齊一組方程,這些方程實際上描述了相同的事物,但數量不同。因此我決定跳過常見的東西並將它們替換為\cdots,但是我似乎無法將它們對齊在中心。

在此輸入影像描述

有辦法讓點居中嗎?

範例程式碼如下

\documentclass{article}
\usepackage{amsmath}

\begin{document}

\begin{alignat*}{4}
  &\sigma(E) &=& \vec{\sigma(E)} = \big\{\sigma(E_1), \sigma(E_2), \cdots, \sigma(E_n)\big\} &=&  \big\{\sigma_1, \sigma_2, \cdots, \sigma_n\big\}&\\
 &C(E) &=&{\cdots}&=&  \big\{C_1, C_2, \cdots, C_n\big\}&\\
\end{alignat*}

\end{document}

答案1

您可以使用 來產生低階 TeX 來\omit打破目前格式:

樣本輸出

\documentclass{article}

\usepackage{amsmath}

\begin{document}

\begin{alignat*}{2}
  \sigma(E) &={}& \vec{\sigma(E)}
  = \bigl\{\sigma(E_1), \sigma(E_2), \dots, \sigma(E_n)\bigr\}
  &= \bigl\{\sigma_1, \sigma_2, \dots, \sigma_n\bigr\}\\
  C(E) &={}&\omit\hfill$\cdots$\hfill
  &= \bigl\{C_1, C_2, \dots, C_n\bigr\}
\end{alignat*}

\end{document}

注意我還添加了組{}以獲得等號處的正確間距,並使用\bigl...\bigr代替\big。另外,在逗號之間您應該只使用\dots(或\dotsc)。

這裡要小心使用&符號&。在 中alignat,隱式對齊方式rlrl...為第一組右對齊,第二組左對齊,依此類推。

答案2

帶有包的解決方案eqparbox。請注意,2 個對齊列就足夠了。

\documentclass{article}
\usepackage{amsmath}
\usepackage{eqparbox}
\newcommand{\eqmathbox}[2][M]{\eqmakebox[#1]{$\displaystyle#2$}}

\begin{document}

\begin{alignat*}{2}
  \sigma(E) &= {}& \eqmathbox{\vec{\sigma(E)} = \big\{\sigma(E_1), \sigma(E_2), \cdots, \sigma(E_n)\big\}} &= \big\{\sigma_1, \sigma_2, \cdots, \sigma_n\big\}\\
 C(E) &= {}& \eqmathbox{\cdots\cdots}&= \big\{C_1, C_2, \cdots, C_n\big\}\\
\end{alignat*}

\end{document} 

在此輸入影像描述

答案3

array不是為了對齊方程式而設計的,但在這種情況下,透過一些技巧(@{}以及{}我們希望第一個/最後一個等號之後/之前的正確間距),它可能會很方便。

\documentclass{article}
\usepackage{amsmath}
\usepackage{array}
\begin{document}
\[
\begin{array}{r@{}c@{}l}
  \sigma(E) ={} & \vec{\sigma(E)} = \big\{\sigma(E_1), \sigma(E_2), \cdots, \sigma(E_n)\big\} & {}= \big\{\sigma_1, \sigma_2, \cdots, \sigma_n\big\}\\
 C(E) ={} &\cdots& {}=  \big\{C_1, C_2, \cdots, C_n\big\}\\
\end{array}
\]
\end{document}

在此輸入影像描述

相關內容