siunitx: S 열에서 평균 및 표준 편차를 "M(SD)"로 출력하는 올바른 방법은 무엇입니까?

siunitx: S 열에서 평균 및 표준 편차를 "M(SD)"로 출력하는 올바른 방법은 무엇입니까?

나는 사용하려고siunitx심리학 결과 테이블에서 소수점 이하 자릿수를 정렬하면 테이블은 다음과 같습니다.

\documentclass[]{article}
\begin{document}
\begin{table}[h]
    \begin{tabular}{@{}cc@{}}
    \multicolumn{2}{c}{Mean (SD)} \\
    \hline
    A & B \\
    \hline
    .45 (.23) & .78 (.11) \\ 
    \end{tabular}
\end{table}
\end{document}

이는 사용되는 짧은 형식의 불확실성을 따르지 않고 siunitx오히려 전체 표준 편차 값(심리학에서 일반적으로 사용되는 것처럼)을 제공합니다.

내 질문은 코드에 실제 표준 편차 값(예: .11)을 제공하면서 어떻게 siunitx형식으로 출력 할 수 있습니까? 입력이 실제 표준 편차 값(예: )을 반환하는 R 코드(knitr 사용)에서 왔기 때문에 짧은 불확실성 형식을 사용할 수 없습니다.M (SD)SDsiunitx\Sexpr{sd(some.numbers)}

편집: 시도해 보았 separate-uncertainty으나 강제로 출력되는 것 같아서 를 M ± SD사용하고 싶습니다 M (SD).

답변1

에 의해 구문 분석되는 형식 siunitx1.23(4)1.23 \pm 0.04이며 다른 형식은 없습니다. 따라서 원하는 효과를 얻으려면 일부 구문 분석을 별도로 수행해야 합니다. 한 가지 접근 방식은 셀 내용을 잡고, 서식을 변경하고, \tablenum명령을 사용하여 정렬하는 것입니다.

\documentclass[]{article}
\usepackage{siunitx}
\def\converter\ignorespaces#1(#2){%
  \begingroup\tablenum[table-format = 1.2]{#1}\endgroup\space
  (\tablenum[table-format = 1.2]{#2})}
\newcolumntype{R}{>{\converter}c}
\begin{document}
\begin{table}[h]
    \begin{tabular}{@{}RR@{}}
    \multicolumn{2}{@{}c@{}}{Mean/SD} \\
    .45 (.23) & .78 (.11) \\
    0.2(.4) \\ 
    \end{tabular}
\end{table}
\end{document}

관련 정보