![表格使用 X 列不包装单元格(tabu 包)](https://linux22.com/image/333584/%E8%A1%A8%E6%A0%BC%E4%BD%BF%E7%94%A8%20X%20%E5%88%97%E4%B8%8D%E5%8C%85%E8%A3%85%E5%8D%95%E5%85%83%E6%A0%BC%EF%BC%88tabu%20%E5%8C%85%EF%BC%89.png)
我有以下代码。
\documentclass{article}
\usepackage{lscape}
\usepackage[table]{xcolor}
\usepackage{tabu}
\usepackage{multirow}
\begin{document}
\begin{landscape}
\taburowcolors[3] 2{gray!20 .. white}
\arrayrulewidth=1pt
\begin{tabu}{ X[2.2,c] *{8}{| X[c] X[c]}}
\multirow{2}{*}{\textbf{Pseudonym}}
& \multicolumn{2}{c |}{\textbf{Abduction}}
& \multicolumn{2}{c |}{\textbf{Adduction}}
& \multicolumn{2}{c |}{\textbf{Anteversion}}
& \multicolumn{2}{c |}{\textbf{Retroversion}}
& \multicolumn{2}{c |}{\textbf{Lateral Rotation neutral}}
& \multicolumn{2}{c |}{\textbf{Medial Rotation neutral}}
& \multicolumn{2}{c |}{\textbf{Lateral Rotation 90° abduction}}
& \multicolumn{2}{c |}{\textbf{Medial Rotation 90° abduction}}
\\
% already filled by multirow
& \textbf{left} & \textbf{right}
& \textbf{left} & \textbf{right}
& \textbf{left} & \textbf{right}
& \textbf{left} & \textbf{right}
& \textbf{left} & \textbf{right}
& \textbf{left} & \textbf{right}
& \textbf{left} & \textbf{right}
& \textbf{left} & \textbf{right}
\\
\hline
Proband 01
& &
& &
& &
& &
& &
& &
& &
& &
\\
Proband 02
& &
& &
& &
& &
& &
& &
& &
& &
\\
Proband 03
& &
& &
& &
& &
& &
& &
& &
& &
\\
Proband 04
& &
& &
& &
& &
& &
& &
& &
& &
\\
Proband 05
& &
& &
& &
& &
& &
& &
& &
& &
\\
Proband 07
& &
& &
& &
& &
& &
& &
& &
& &
\\
Proband 08
& &
& &
& &
& &
& &
& &
& &
& &
\\
Proband 09
& &
& &
& &
& &
& &
& &
& &
& &
\\
\end{tabu}
\end{landscape}
\end{document}
我不明白的是,为什么像“横向旋转中性”这样的长行不会被换行,这样表格才能适合文本宽度。使用该to \textwidth
选项不会改变任何东西。
有人能告诉我如何让最后一列的标题看起来像我输入的一样吗Lateral Rotation\\neutral
?我完全被困在这里了。
答案1
尝试使用包makecell
并使用其宏\thead
。在这种情况下,您需要在需要的地方手动换行。例如:
\documentclass{article}
\usepackage{lscape}
\usepackage[table]{xcolor}
\usepackage{tabu}
\usepackage{makecell,multirow}
\renewcommand\theadfont{\bfseries}
\begin{document}
\begin{landscape}
\setlength\tabcolsep{3pt}
\taburowcolors[3] 2{gray!20 .. white}
\arrayrulewidth=1pt
\begin{tabu}{@{} X[3,c] *{8}{| X[c] X[c]} @{}|}
& \multicolumn{2}{c |}{\thead[b]{Abduction}}
& \multicolumn{2}{c |}{\thead[b]{Adduction}}
& \multicolumn{2}{c |}{\thead[b]{Anteversion}}
& \multicolumn{2}{c |}{\thead[b]{Retroversion}}
& \multicolumn{2}{c |}{\thead[b]{Lateral\\ Rotation\\ neutral}}
& \multicolumn{2}{c |}{\thead[b]{Medial\\ Rotation\\ neutral}}
& \multicolumn{2}{c |}{\thead[b]{Lateral\\ Rotation\\ 90° abduction}}
& \multicolumn{2}{c |}{\thead[b]{Medial\\ Rotation\\ 90° abduction}}
\\
\thead[b]{Pseudonym}
& \textbf{left} & \textbf{right}
& \textbf{left} & \textbf{right}
& \textbf{left} & \textbf{right}
& \textbf{left} & \textbf{right}
& \textbf{left} & \textbf{right}
& \textbf{left} & \textbf{right}
& \textbf{left} & \textbf{right}
& \textbf{left} & \textbf{right}
\\
\hline
Proband 01
& &
& &
& &
& &
& &
& &
& &
& &
\\
Proband 02
& &
& &
& &
& &
& &
& &
& &
& &
\\
\end{tabu}
\end{landscape}
\end{document}
该 MWE 给出:
附录:
@{}
tabcolspace
在放置文本的位置消除文本。在本例中,消除在表格的左边框和右边框上。可以省略文本,但我使用它是因为您的表格很高(无法放在页面上)。在底部的列标题[b]
中thead
对齐文本(没有文本则垂直居中)。
附录(2):
彩色行中的空白是由于行宽\multicolumn{2}{c|}{...}
在大多数情况下比跨列宽而导致的。SE 中的许多问题都涉及此问题,而且——简而言之——在...中很难解决tabu
...