我需要一个非常简单的表格,其中所有单元格(第一个单元格除外)的宽度相同。第一行的前几个单元格有两个字符,后三个单元格只有一个字符。
即使固定,我也无法有均匀的间距\setlength
:第一个单元格中具有单个字符的列总是较细。
\documentclass{scrbook}
\begin{document}
\chapter{votazioni quesiti e documento}
\setlength{\tabcolsep}{7pt}
\begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|}
\hline
&1A &1B &1C &1D &1E &1F &2A &2B &2C &2D &2E &2F & 3 & 4 & D \\
\hline
white& & & & & & & & & & & & & & & \\
\hline
red& & & & & & & & & & & & & & & \\
\hline
blue& & & & & & & & & & & & & & & \\
\hline
cyan& & & & & & & & & & & & & & & \\
\hline
yellow& & & & & & & & & & & & & & & \\
\hline
green& & & & & & & & & & & & & & & \\
\hline
purple& & & & & & & & & & & & & & & \\
\hline
black& & & & & & & & & & & & & & & \\
\hline
silver& & & & & & & & & & & & & & & \\
\hline
gold& & & & & & & & & & & & & & & \\
\hline
pink& & & & & & & & & & & & & & & \\
\hline
brown& & & & & & & & & & & & & & & \\
\hline
orange& & & & & & & & & & & & & & & \\
\hline
darkblue& & & & & & & & & & & & & & & \\
\hline
lightblue& & & & & & & & & & & & & & & \\
\hline
whatelse& & & & & & & & & & & & & & & \\
\hline
VOTO \%& & & & & & & & & & & & & & & \\
\hline
\end{tabular}
\end{document}
答案1
由于单元格内的自动换行似乎不是当前表格的必需功能,我建议您不是使用基本p
列类型。相反,我建议您加载array
包并使用其w
列类型。此列类型允许您指定所需的固定宽度,例如5mm
。
\documentclass{scrbook}
\usepackage{array} % for 'w' column type
\begin{document}
\chapter{votazioni quesiti e documento}
\begin{center}
\setlength{\tabcolsep}{4pt} % default: 6pt
\begin{tabular}{ |l| *{15}{wc{5mm}|} } %15 'w' cols, centered, width 5mm
\hline
&1A&1B&1C&1D&1E&1F&2A&2B&2C&2D&2E&2F& 3& 4& D \\
\hline
white & & & & & & & & & & & & & & & \\
\hline
red & & & & & & & & & & & & & & & \\
\hline
blue & & & & & & & & & & & & & & & \\
\hline
cyan & & & & & & & & & & & & & & & \\
\hline
yellow& & & & & & & & & & & & & & & \\
\hline
green & & & & & & & & & & & & & & & \\
\hline
purple& & & & & & & & & & & & & & & \\
\hline
black & & & & & & & & & & & & & & & \\
\hline
silver& & & & & & & & & & & & & & & \\
\hline
gold & & & & & & & & & & & & & & & \\
\hline
pink & & & & & & & & & & & & & & & \\
\hline
brown & & & & & & & & & & & & & & & \\
\hline
orange& & & & & & & & & & & & & & & \\
\hline
darkblue & & & & & & & & & & & & & & & \\
\hline
lightblue& & & & & & & & & & & & & & & \\
\hline
whatelse & & & & & & & & & & & & & & & \\
\hline
VOTO \% & & & & & & & & & & & & & & & \\
\hline
\end{tabular}
\end{center}
\end{document}
答案2
除第一列之外的所有列均具有tabularray
包装和列类型:X[c]
\documentclass{scrbook}
%---------------- Show page layout. Don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\usepackage{tabularray}
\begin{document}
\chapter{votazioni quesiti e documento}
\centering
\begin{tblr}{hlines, vlines,
colspec = {l *{15}{X[c]} },
colsep = 3.4pt,
}
& 1A & 1B & 1C & 1D & 1E & 1F & 2A & 2B & 2C & 2D & 2E & 2F & 3 & 4 & D \\
white & & & & & & & & & & & & & & & \\
red & & & & & & & & & & & & & & & \\
blue & & & & & & & & & & & & & & & \\
cyan & & & & & & & & & & & & & & & \\
yellow & & & & & & & & & & & & & & & \\
green & & & & & & & & & & & & & & & \\
purple & & & & & & & & & & & & & & & \\
black & & & & & & & & & & & & & & & \\
silver & & & & & & & & & & & & & & & \\
gold & & & & & & & & & & & & & & & \\
pink & & & & & & & & & & & & & & & \\
brown & & & & & & & & & & & & & & & \\
orange & & & & & & & & & & & & & & & \\
darkblue & & & & & & & & & & & & & & & \\
lightblue & & & & & & & & & & & & & & & \\
whatelse & & & & & & & & & & & & & & & \\
VOTO \% & & & & & & & & & & & & & & & \\
\end{tblr}
\end{document}
(红线表示文本区域边框)
附录:
使用tabularx
包和列可获得相同的结果>{\centering\arraybackslash}X
。在这种情况下,MWE 为:
\documentclass{scrbook}
\usepackage{tabularx}
\begin{document}
\chapter{votazioni quesiti e documento}
\centering
\setlength\tabcolsep{3.4pt}
\begin{tabularx}{\linewidth}{|l| *{15}{ >{\centering\arraybackslash}X| } }
\hline
& 1A & 1B & 1C & 1D & 1E & 1F & 2A & 2B & 2C & 2D & 2E & 2F & 3 & 4 & D \\
\hline
white & & & & & & & & & & & & & & & \\
\hline
white & & & & & & & & & & & & & & & \\
\hline
red & & & & & & & & & & & & & & & \\
\hline
blue & & & & & & & & & & & & & & & \\
\hline
cyan & & & & & & & & & & & & & & & \\
\hline
yellow & & & & & & & & & & & & & & & \\
\hline
green & & & & & & & & & & & & & & & \\
\hline
purple & & & & & & & & & & & & & & & \\
\hline
black & & & & & & & & & & & & & & & \\
\hline
silver & & & & & & & & & & & & & & & \\
\hline
gold & & & & & & & & & & & & & & & \\
\hline
pink & & & & & & & & & & & & & & & \\
\hline
brown & & & & & & & & & & & & & & & \\
\hline
orange & & & & & & & & & & & & & & & \\
\hline
darkblue & & & & & & & & & & & & & & & \\
\hline
lightblue & & & & & & & & & & & & & & & \\
\hline
whatelse & & & & & & & & & & & & & & & \\
\hline
VOTO \% & & & & & & & & & & & & & & & \\
\hline
\end{tabularx}
\end{document}
答案3
将 \hspace{1mm} 添加到包含单个字母的列。这应该会使所有列的宽度相等。
您可以随时通过使用不同的间距 \hspace{2mm}、 \hspace{3mm}、... 来调整宽度。