%C2%BB%20%D0%B2%20S-%D1%81%D1%82%D0%BE%D0%BB%D0%B1%D1%86%D0%B5%3F.png)
Я пытаюсь использовать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
используется, а дает полное значение стандартного отклонения (как это обычно бывает в психологии).
Мой вопрос в том, как мне сделать siunitx
вывод в формате, M (SD)
предоставляя при этом SD
фактическое значение стандартного отклонения в коде (например, .11)? Я не могу использовать формат короткой неопределенности, потому siunitx
что входные данные поступают из кода R (используя knitr), который возвращает реальное значение стандартного отклонения, например \Sexpr{sd(some.numbers)}
.
Редактировать: Я пробовал, separate-uncertainty
но это, похоже, приводит к принудительному выводу, M ± SD
а я хотел бы использовать M (SD)
.
решение1
Форматы, которые анализируются, siunitx
это 1.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}