使用case语句时如何对齐小数点

使用case语句时如何对齐小数点

我有一个声明

\begin{equations*}
\begin{cases}
{\zeta}_{A} = -10.1234567 \cdots, \\
{\zeta}_{B} = 1{,}001.2345678 \cdots.
\end{cases}
\end{equations*}

如何使小数点与等式左对齐并且大小写间距不受影响。

答案1

使用环境的解决方案array;请注意,cases对于当前的情况(双关语),使用环境似乎有点过度。

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation*}
\left\{
\begin{array}{@{} r @{{}={}} r}
\zeta_A & -10.1234567\cdots,\\
\zeta_B & 1{,}001.2345678\cdots.\\
\end{array} \right.
\end{equation*}
\end{document}

附录:上述解决方案假设两个数字的小数点后位数相同。如果此假设不成立,则以下修改后的解决方案array应该适合您,该解决方案仍然使用环境,但现在使用三列而不是两列。

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation*}
\left\{
\begin{array}{@{} r @{{}={}} r @{.} l}
\zeta_A     &     -10 & 1234\cdots,\\
\zeta_{BCD} & 1{,}001 & 12345678901 \cdots.\\
\end{array} \right.
\end{equation*}
\end{document}

答案2

一些\phantoms 可用于将内容推送到适当的位置。重叠也允许使用\phantoms。

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}
\begin{document}

\begin{align*}
  A &= \begin{cases}
    \zeta_A = -10.1234567 \cdots, \\
    \zeta_B = 1{,}001.2345678 \cdots.
  \end{cases} \\
  B &= \begin{cases}
    \rlap{$\zeta_{A}$}\phantom{\zeta_B} = \phantom{1{,}001}\llap{$-10$}.1234567 \cdots, \\
    \zeta_B = 1{,}001.2345678 \cdots.
  \end{cases}
\end{align*}

\end{document}

答案3

具有siunitx其强大的打印数字功能。

\documentclass{article}
\usepackage{amsmath,siunitx}

\newenvironment{xcases}[2][]
 {\left\lbrace\def\arraystretch{1.2}% like cases does
  \begin{array}{
    @{} r @{}
    >{{}}c<{{}} @{}
    S[table-format=#2,table-space-text-post={#1}] @{}
  }}
 {\end{array}\right.}

\begin{document}

\begin{equation*}
\begin{xcases}[$\,\cdots$,]{4.7}
\zeta_A &=& -10.1234567$\,\cdots$, \\
\zeta_B &=& 1001.2345678$\,\cdots$.
\end{xcases}
\end{equation*}

\begin{equation*}
\begin{xcases}{-4.7}
\zeta_A &=& -1001.1234567 \\
\zeta_B &=&  1001.2345678
\end{xcases}
\end{equation*}

\end{document}

强制参数是数字格式;在第一种情况下,整数部分为四位数字,小数部分为七位数字。还可以添加一些文本,可选参数是指定分配空间的文字文本。在第二种情况下,整数部分为四位数字和符号。

在此处输入图片描述

答案4

这里我使用了tabstackengine包。OP 的示例可以用 来完成\tabbedCenterstack,但我随后展示了一个稍微困难一些的版本,它需要\tabularCenterstack

\documentclass{article}
\usepackage{amsmath,tabstackengine}
\setstackEOL{\#}% end-of-line character in stack
\setstackTAB{\&}% end-of-field character in stack
\setstackgap{L}{16pt}% Inter-baseline gap in stack
\setstacktabulargap{0pt}% Inter-field gap in tabularstack
\stackMath
\begin{document}
\begin{equation*}
\begin{cases}
\tabbedCenterstack[r]{\zeta_{A} =\& -10.\&1234567 \cdots,\#
                      \zeta_{B} =\& 1,001.\&2345678 \cdots.}%
\end{cases}
\end{equation*}
\begin{equation*}
\begin{cases}
\tabularCenterstack{rrl}{\zeta_{AC} =\& -10.\&1234 \cdots,\#
                      \zeta_{B} =\& 1,001.\&2345678 \cdots.}%
\end{cases}
\end{equation*}
\end{document}

在此处输入图片描述

相关内容