siunitx 和 alignat?

siunitx 和 alignat?

这可能很容易做到,但我不知道该怎么做。我有一组方程式,我已经设法使用环境对其进行了垂直对齐alignat。这是 MWE:

\documentclass[12pt]{article}
\usepackage[english, italian]{babel}
\usepackage{amsmath}
\usepackage{siunitx}
\sisetup{unit-mode = text, output-decimal-marker={,}, detect-mode, detect-shape, group-digits = integer, binary-units=true}

\begin{document}

\begin{alignat*}{3}
& I_{A}           && = \mathit{SSA}/\mathit{SST}  && = \SI{99,25}{\percent}\\
& I_{B}           && = \mathit{SSB}/\mathit{SST}  && = \SI{0,35}{\percent}\\
& I_{\mathit{AB}} && = \mathit{SSAB}/\mathit{SST} && = \SI{0,40}{\percent}
\end{alignat*}

\end{document}

输出结果如下:

在此处输入图片描述

我想让最后一列的数字与小数点对齐,就像siunitx在表格中一样。换句话说,我希望 0.35% 的“0”与 99.25% 的第二个“9”对齐。这可能吗?

答案1

像这样:

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

\begin{alignat*}{4}
& I_{A}           && = \mathit{SSA}/\mathit{SST}  && ={} &\SI{99,25}{\percent}&\\
& I_{B}           && = \mathit{SSB}/\mathit{SST}  && = &\SI{0,35}{\percent}&\\
& I_{\mathit{AB}} && = \mathit{SSAB}/\mathit{SST} && = &\SI{0,40}{\percent}&
\end{alignat*}

\end{document}

额外的{}是在最后一个更正之后做出间距=

顺便说一句:由于您没有分享完整的最小示例,因此我没有复制将逗号添加到输出中。请始终分享完整的最小示例,而不是片段。

在此处输入图片描述

答案2

这是一个使用array环境的解决方案。

在此处输入图片描述

\documentclass[12pt]{article}
\usepackage[english, italian]{babel}

\usepackage{array}
\newcolumntype{C}{>{{}}c<{{}}}  % col. type for binary and relational operators
\newenvironment{myarray}[1]{%  % define a customized 'array' environment
   \setlength\arraycolsep{0pt}
   \renewcommand\arraystretch{1.25}
   \begin{array}{#1}}{%
   \end{array}}

\usepackage{siunitx}
\sisetup{unit-mode = text, output-decimal-marker={,}, 
         detect-mode, detect-shape, 
         group-digits = integer, binary-units=true}

\begin{document}
\[
\begin{myarray}{@{} lClCr @{}}
 I_{A} &=& \mathit{SSA}/\mathit{SST} &=& \SI{99,25}{\percent}\\
 I_{B} &=& \mathit{SSB}/\mathit{SST} &=& \SI{0,35}{\percent}\\
 I_{\mathit{AB}} &=& \mathit{SSAB}/\mathit{SST} &=& \SI{0,40}{\percent}
\end{myarray}
\]
\end{document}

答案3

編輯: 抱歉,但在上传我的答案时,我被打断了......然后米科有一分钟我有过类似的想法...但是,在一些细节上我的答案是不同的(而且更简单?):

在此处输入图片描述

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

\begin{document}
\[
\setlength\arraycolsep{1pt}
\begin{array}{llcS[table-format=2.2,
                   table-space-text-post={\,\%},
                   output-decimal-marker={,}]<{\,\%}
             }
I_{A}           & = \mathit{SSA}/\mathit{SST}  & = & 99.25  \cr
I_{B}           & = \mathit{SSB}/\mathit{SST}  & = &  0.35  \cr
I_{\mathit{AB}} & = \mathit{SSAB}/\mathit{SST} & = &  0.40  \cr
\end{array}
\]
\end{document}

相关内容