
Английский не является моим родным языком, но я постараюсь объяснить свой вопрос как можно лучше.
Моя проблема в дополнительном интервале между столбцами L и T, который, по-видимому, появляется, когда я пишу числа в научном режиме. Есть ли способ сделать научные числа такими, выровнять их по запятой и сделать интервал в столбцах более нормальным (меньше)?
Преамбула:
\documentclass[12pt,twoside]{report}
\usepackage{booktabs}
\usepackage{siunitx}
\usepackage[a4paper,width=150mm,top=25mm,bindingoffset=6mm]{geometry}
\usepackage{amsmath}
\sisetup{input-symbols = ()}
Код таблицы:
\begin{table}[ht]\centering
\caption[caption]{caption}\label{reg_basis1}
\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
\sisetup{table-space-text-post = \sym{***}}
\begin{tabular}{l*{5}{S[table-align-text-post=false]}}
\toprule
\multicolumn{1}{l}{\textbf{}}&\multicolumn{1}{c}{\textbf{L}}&
\multicolumn{1}{c}{\textbf{T}}&\multicolumn{1}{c}{\textbf{n}}&
\multicolumn{1}{c}{\textbf{\(R^{2}\)}}&
\multicolumn{1}{c}{\textbf{Justert $R^{2}$}}\\
\midrule
1997 - 2008 & 0.207 \sym{***} & 3.5\num{1e-4} \sym{***} & {623} & 0.27 & 0.21 \\
& (0.049) & (0.8\num{1e-4}) & & & \\
\addlinespace
2009 - 2015 &&&&& \\
&&&&& \\
\addlinespace
\bottomrule
\multicolumn{5}{l}{\footnotesize Estimerte standardavvik er gitt i parenteser}\\
\multicolumn{5}{l}{\footnotesize \sym{*} $p<0.05$, \sym{**} $p<0.01$, \sym{***} \ $p<0.001$}\\
\end{tabular}
\end{table}
Надеюсь, у кого-нибудь здесь найдется время ответить мне. Я пробовал искать/гуглить, но не нашел ничего конкретного, что я мог бы использовать для решения своей проблемы.
решение1
Я думаю, что ваша главная проблема в том,(круглые) скобкииспользуются для окружения ваших чисел, поскольку они также используются как естественный ввод команды \num
для указания ошибки числа. Вот почему вам нужно защитить (круглые) скобки, поместив их в фигурные скобки.
(Я бы не стал использовать ваше решение и добавлять их в input-symbols
, так как это может вызвать нежелательные побочные эффекты, которые я не проверял.)
Чтобы затем правильно расставить интервалы, это довольно просто, и на этот вопрос уже дан ответ, напримерздесьпредоставление «элементов», которые могут быть найдены в столбце, параметрам спецификатора, S
например table-format
. (Посмотрите натаблица 25 руководства siunitx
v2.6 на стр. 47).
Взгляните на следующий код, который я немного сократил, чтобы не отвлекать от основной таблицы.
\documentclass[border=2mm]{standalone}
\usepackage{amsmath}
\usepackage{booktabs}
\usepackage{siunitx}
\begin{document}
\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
\sisetup{
table-align-text-post=false,
}
\begin{tabular}{
l
S[table-format=1.3, table-space-text-pre={(},table-space-text-post={\sym{***}}]
S[table-format=1.1e-1,table-space-text-pre={(},table-space-text-post={\sym{***}}]
S[table-format=3]
S[table-format=1.2]
S[table-format=1.2]
}
\toprule
& {\textbf{L}} & {\textbf{T}} & {\textbf{n}}
& {\textbf{$R^{2}$}}
& {\textbf{Justert $R^{2}$}} \\
\midrule
1997 -- 2008 & 0.207 \sym{***} & 3e-4 \sym{***} & 623 & 0.27 & 0.21 \\
& {(}0.049{)} & {(}0.8e-4{)} & & & \\
\addlinespace
2009 -- 2015 & & & & & \\
& & & & & \\
\addlinespace
\bottomrule
\multicolumn{5}{l}{\footnotesize Estimerte standardavvik er gitt i parenteser}\\
\multicolumn{5}{l}{\footnotesize
\sym{*} $p < \num{0.05}$,
\sym{**} $p < \num{0.01}$,
\sym{***} $p < \num{0.001}$}\\
\end{tabular}
\end{document}