这与我的主题非常接近:如何将整数右对齐,但仍使其居中。但是,我无法让它在 LyX 下工作。这是我的代码:
\begin{table}[H]
\centering
\begin{threeparttable}\caption{\textbf{\label{tab:uebersicht-alle-mspatienten}Untersuchungsergebnisse der soziodemographischen und neurologischen Parameter aller untersuchten MS-Patienten} }
\begin{tabular}{>{\raggedright}p{0.35\columnwidth}>{\centering}p{0.1\columnwidth}>{\centering}p{0.1\columnwidth}>{\centering}p{0.1\columnwidth}>{\centering}p{0.1\columnwidth}}
\toprule
& \textbf{Anzahl (n)} & \textbf{Prozent} & \textbf{Mittelwert} & \textbf{SD}\tabularnewline
\midrule
\midrule
\textbf{Patienten} & 180 & & & \tabularnewline
\midrule
\textbf{Alter} (in Jahren) & & & 43,9 & 13,1\tabularnewline
\midrule
\textbf{Geschlecht:}
- Weiblich
- Männlich & ~
125
55 & ~
69,4
30,6 & & \tabularnewline
\midrule
\textbf{Erkrankungsdauer der MS}
(in Jahren) & & & 12,3 & 8,8\tabularnewline
\midrule
\textbf{Verlaufsform:}
- RRMS
- SCP
- PPMS
- CIS & ~
86
67
24
3 & ~
47,8
37,2
13,3
1,7 & & \tabularnewline
\midrule
\end{tabular}
\end{threeparttable}
\end{table}
它产生以下(正确的)输出:
但是,如果我将第一行更改为:
\begin{tabular}{>{\raggedright}p{0.35\columnwidth}S[table-format=3.0]>{\centering}p{0.1\columnwidth}>{\centering}p{0.1\columnwidth}>{\centering}p{0.1\columnwidth}}
它给出了以下(不正确的)输出:
我的版本siunitx
来自2.2i (2011/06/15)
TeX Live 2011。
答案1
环境列规范中包含的元素tabular
应被视为类似于可能带有参数的单字母命令。例如,S[<key-value list>]
表示S
根据 (可选) 设置的参数的列<key-value list>
。将其括在括号中
\begin{tabular}{...{S[table-format=3.0]}...}
混淆了 LaTeX。删除括号应该可以解决您的问题:
\begin{tabular}{...S[table-format=3.0]...}
另请记住包括siunitx
包裹,因为它定义了S
列类型。
下面是使用时输入产生正确布局的最小示例siunitx
:
\documentclass{article}
\usepackage{siunitx}% http://ctan.org/pkg/siunitx
\usepackage{booktabs}% http://ctan.org/pkg/booktabs
\usepackage{threeparttable}% http://ctan.org/pkg/threeparttable
\begin{document}
\begin{table}[H]
\centering
\begin{threeparttable}
\caption{\textbf{\label{tab:uebersicht-alle-mspatienten}Untersuchungsergebnisse der soziodemographischen
und neurologischen Parameter aller untersuchten MS-Patienten}}
% \begin{tabular}{>{\raggedright}p{0.35\columnwidth}
% >{\centering}p{0.1\columnwidth}
% >{\centering}p{0.1\columnwidth}
% >{\centering}p{0.1\columnwidth}
% >{\centering}p{0.1\columnwidth}}
\begin{tabular}{>{\raggedright}p{0.35\columnwidth}
S[table-format=3.0]
>{\centering}p{0.1\columnwidth}
>{\centering}p{0.1\columnwidth}
>{\centering}p{0.1\columnwidth}}
\toprule
& \textbf{Anzahl (n)} & \textbf{Prozent} & \textbf{Mittelwert} & \textbf{SD}\tabularnewline
\midrule
\midrule
\textbf{Patienten} & 180 & & & \tabularnewline
\midrule
\textbf{Alter} (in Jahren) & & & 43,9 & 13,1\tabularnewline
\midrule
\textbf{Geschlecht:} \tabularnewline
- Weiblich & 125 & 69,4 & & \tabularnewline
- M\"{a}nnlich & 55 & 30,6 & & \tabularnewline
\midrule
\textbf{Erkrankungsdauer der MS}
(in Jahren) & & & 12,3 & 8,8 \tabularnewline
\midrule
\textbf{Verlaufsform:} \tabularnewline
- RRMS & 86 & 47,8 \tabularnewline
- SCP & 67 & 37,2 \tabularnewline
- PPMS & 24 & 13,3 \tabularnewline
- CIS & 3 & 1,7 & & \tabularnewline
\midrule
\end{tabular}
\end{threeparttable}
\end{table}
\end{document}
TeX 逐行构建表格 ( tabular
)。您的代码(至少是代码片段中给出的代码)似乎不允许这种逐行构建。具体来说,例如,
\textbf{Verlaufsform:}
- RRMS
- SCP
- PPMS
- CIS & ~
86
67
24
3 & ~
47,8
37,2
13,3
1,7 & & \tabularnewline
需要修改为
\textbf{Verlaufsform:} \tabularnewline
- RRMS & 86 & 47,8 \tabularnewline
- SCP & 67 & 37,2 \tabularnewline
- PPMS & 24 & 13,3 \tabularnewline
- CIS & 3 & 1,7 & & \tabularnewline
否则,所有看起来应该在同一列(一个接一个)中处理的条目最终都会出现在一行中的同一列中。TeX 的输出将与您的代码布局作为输入不匹配 - 您需要明确说明列的分隔位置(使用&
),就像您明确说明行的结束位置(使用\\
或\tabularnewline
)一样。