首先是一个最小的例子:
\documentclass{article}
\usepackage{makecell}
\usepackage{xtab}
\newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}}
\begin{document}
\begin{xtabular}{|p{0.65cm}||C{0.7cm}|C{0.7cm}|C{0.7cm}|C{0.7cm}|C{0.7cm}|C{0.7cm}|C{0.7cm}|}
\hline
\texttt{col}& A
& B
& C
& D
& E
& F
& G
\\\hline
\hline
\texttt{1} &\makecell{0/5\\10/20}
&\makecell{0/5\\---}
&\makecell{---\\10/10}
&\makecell{0/5\\10/20}
&\makecell{---\\10/20}
&\makecell{---\\10/20}
&\makecell{0/5\\0/20}
\\\hline
\texttt{2} &\makecell{0/10\\5/5}
&\makecell{0/10\\---}
&\makecell{---\\5/5}
&\makecell{0/10\\5/5}
&\makecell{---\\5/5}
&\makecell{---\\5/5}
&\makecell{0/10\\0/5}
\\\hline
\end{xtabular}
\end{document}
结果:
列已达到最大宽度。
在第一行中的示例中,B-1 与其他行不同,在第二行中的 C-2、E-2 和 F-2 未对齐。
我想要实现的是每行中所有单元格的两行高度都相同。我该怎么做?
答案1
作为补充格诺特很好的答案,但保留了垂直线并简化了单元格内容的书写:
\documentclass{article}
\usepackage{array,makecell,multirow}
\usepackage{xtab}
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}
\begin{document}
{\setcellgapes{4pt}\makegapedcells
\setlength\tabcolsep{3pt}
\begin{xtabular}{|>{\ttfamily}l||*{7}{C{0.9cm}|}}
\hline
col & A & B & C & D & E & F & G \\
\hline
\hline
\multirowcell{2}{1}
& 0/5 10/20
& 0/5 ---
& --- 10/10
& 0/5 10/20
& --- 10/20
& --- 10/20
& 0/5 0/20 \\
\hline
\multirowcell{2}{2}
& 0/10 5/5
& 0/10 ---
& --- 5/5
& 0/10 5/5
& --- 5/5
& --- 5/5
& 0/10 0/5 \\
\hline
\end{xtabular}
}
\end{document}
答案2
为了更好地对齐和留出空间:
将列宽扩大到
0.9cm
。错位是由于列太窄造成的,因此大多数条目(除了那些您认为错位的条目)都是错位的。删除垂直线以节省水平空间
删除垂直线,让表格更易读
booktabs
利用包装及其水平线来改善间距和水平线。
\documentclass{article}
\usepackage{makecell}
\usepackage{booktabs}
\usepackage{xtab}
\newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}}
\begin{document}
\begin{xtabular}{p{0.7cm}C{0.9cm}C{0.9cm}C{0.9cm}C{0.9cm}C{0.9cm}C{0.9cm}C{0.9cm}}
\toprule
\texttt{col}& A
& B
& C
& D
& E
& F
& G
\\\midrule
\texttt{1} &\makecell{0/5\\10/20}
&\makecell{0/5\\---}
&\makecell{---\\10/10}
&\makecell{0/5\\10/20}
&\makecell{---\\10/20}
&\makecell{---\\10/20}
&\makecell{0/5\\0/20}
\\\midrule
\texttt{2} &\makecell{0/10\\5/5}
&\makecell{0/10\\---}
&\makecell{---\\5/5}
&\makecell{0/10\\5/5}
&\makecell{---\\5/5}
&\makecell{---\\5/5}
&\makecell{0/10\\0/5}
\\\bottomrule
\end{xtabular}
\end{document}