案例內的對齊

案例內的對齊

我正在嘗試對齊if以下 MWE 中的 ,但也保持(n times)對齊完好無損。應用該機制多重 = 對齊和來自調整案例環境中的條件,我仍然無法讓它工作。

\documentclass[12pt,a4paper]{article}
\usepackage[fleqn]{amsmath}

\begin{document}
\begin{equation*}
    ns = 
\begin{cases}
   \quad s + s + ... + s  & \text{ (n times) if } n > 0 \\ 
   \quad\quad\quad 0 & \text{ if } n = 0  \\
   \quad (-s) + (-s) + ...+ (-s)  & \text{ (n times) if }  n < 0 
\end{cases}
\end{equation*}
\end{document}

順便問一下有沒有辦法去掉醜\quad的? (這裡每個問題一個問題適用嗎?:)

案例

答案1

您可以\hphantom在第二行中使用將文字移過去,或者\hfill,正如 Mico 在評論中提到的那樣。

s的目的\quad到底是什麼?

\documentclass[12pt,a4paper]{article}
\usepackage[fleqn]{amsmath}    
\begin{document}
\begin{equation*}
    ns = 
\begin{cases}
    s + s + \dots + s  & \text{ ($n$ times) if } n > 0 \\ 
   0 & \text{\hphantom{ ($n$ times)} if } n = 0  \\
   (-s) + (-s) + \dots + (-s)  & \text{ ($n$ times) if }  n < 0 
\end{cases}
\end{equation*}
\end{document}

在此輸入影像描述

如果您想要變更 中的列對齊方式cases,一種可能性是藉助 定義一個新環境mathtools,如中所述在案例環境中右對齊第一列例如,要讓第一列居中,第二列右對齊:

\documentclass[12pt,a4paper]{article}
\usepackage[fleqn]{mathtools}
\makeatletter
\newcases{crcases}{\quad}{%
  \hfil$\m@th\displaystyle{##}$\hfil}{\hfil$\m@th\displaystyle{##}$}{\lbrace}{.}
\makeatother
\begin{document}
\begin{equation*}
    ns = 
\begin{crcases}
    s + s + \dots + s  & \text{ ($n$ times) if } n > 0 \\ 
   0 & \text{ if } n = 0  \\
   (-s) + (-s) + \dots + (-s)  & \text{ ($n$ times) if }  n < 0 
\end{crcases}
\end{equation*}
\end{document}

在此輸入影像描述

答案2

aligned(來自amsmath包裝):

在此輸入影像描述

\documentclass[12pt,a4paper]{article}
\usepackage[fleqn]{amsmath}

\begin{document}
\[
ns = \left\{\begin{aligned}\quad
   & s + s + \dotsm + s             & \text{ ($n$ times) if } n & > 0   \\
   & 0                              & \text{ if } n             & = 0   \\
   & (-s) + (-s) + \dotsm + (-s)    & \text{ ($n$ times) if } n & < 0
     \end{aligned}\right.
\]
\end{document}

答案3

應該與“(n次)」到「如果」比公式和「(n次)”,在我看來。

與其他兩項一樣,0 應該保持齊平。我還修復了數學錯誤(應該是 |n|在第三行)。

\documentclass[12pt,a4paper]{article}
\usepackage[fleqn]{amsmath}

\begin{document}

\begin{equation*}
ns =
\begin{cases}
\begin{alignedat}{3}
&s + s + \dots + s          &\quad \text{($n$ times)}   &\qquad& \text{if $n > 0$} \\
&0                          &\quad                      &\qquad& \text{if $n = 0$} \\
&(-s) + (-s) + \dots + (-s) &\quad \text{($|n|$ times)} &\qquad& \text{if $n < 0$}
\end{alignedat}
\end{cases}
\end{equation*}

\end{document}

在此輸入影像描述

答案4

empheq,eqparboxalignat*, which allows for several alignment points, and full control on the spacing between columns. I also propose another layout (better in my opinion) which requires only情況`:

\documentclass[12pt,a4paper]{article}
\usepackage[fleqn]{empheq}
\usepackage{eqparbox}
\newcommand\eqmathbox[2][M]{\eqmakebox[#1]{$ \displaystyle#2 $}}
\usepackage[showframe]{geometry}

\begin{document}

\begin{empheq}[left = {ns=\empheqlbrace\,}]{alignat*=2}
  &\eqmathbox{s + s + \dots + s} & \text{ (n times) } & \text{if } n > 0 \\
   & \eqmathbox{0} & & \text{if } n = 0 \\
    & (-s) + (-s) + \dots+ (-s) & \qquad\text{ (n times) } & \text{if } n < 0
\end{empheq}

\begin{equation*}
    ns =
\begin{cases}
   \eqmathbox[C]{\,s + s + \dots + s} \text{\quad (n times)} & \text{ if } n > 0 \\
    \eqmathbox[C]{\,0} & \text{ if } n = 0 \\
   \, (-s) + (-s) + \dots + (-s) \text{\quad (n times)} & \text{ if } n < 0
\end{cases}
\end{equation*}

\end{document} 

在此輸入影像描述

相關內容