这里汽车的单元格宽度比其他单元格大。所以我想让所有单元格都具有汽车的宽度。我试过这个代码,但不知道如何指定单元格的宽度和高度:
\begin{table}[]
\centering
\caption{My caption}
\label{my-label}
\begin{tabular}{|l|l|l|l|l|l|}
\hline
labels & airplane & automobile & bird & cat & deer \\ \hline
airplane & & & & & \\ \hline
automobile & & & & & \\ \hline
bird & & & & & \\ \hline
cat & & & & & \\ \hline
\end{tabular}
\end{table}
答案1
最干净的方法是使用包X
中的 columntype——tabularx
它根据作为第一个参数指定的宽度来计算列宽tabularx
。
\documentclass{article}
\usepackage{tabularx}
\begin{document}
\begin{table}
\centering
\caption{My caption}
\label{my-label}
\begin{tabular}{|*{6}{p{1.5cm}|}}
\hline
labels & airplane & automobile & bird & cat & deer \\ \hline
airplane & & & & & \\ \hline
automobile & & & & & \\ \hline
bird & & & & & \\ \hline
cat & & & & & \\ \hline
\end{tabular}
\end{table}
\begin{table}
\centering
\caption{My caption}
\label{my-other-label}
\begin{tabularx}{\linewidth}{|*{6}{X|}}
\hline
labels & airplane & automobile & bird & cat & deer \\ \hline
airplane & & & & & \\ \hline
automobile & & & & & \\ \hline
bird & & & & & \\ \hline
cat & & & & & \\ \hline
\end{tabularx}
\end{table}
\end{document}
答案2
更好看的版本使用booktabs
:
\documentclass{article}
\usepackage{tabularx,booktabs}
\begin{document}
\begin{table}
\centering
\caption{My caption}
\label{my-other-label}
\begin{tabularx}{\linewidth}{l*{5}{X}}
\toprule
labels & airplane & automobile & bird & cat & deer \\ \midrule
airplane & & & & & \\
automobile & & & & & \\
bird & & & & & \\
cat & & & & & \\ \bottomrule
\end{tabularx}
\end{table}
\end{document}
答案3
使用,您可以使用键来固定所有列的宽度。使用 值{NiceTabular}
,所有列的宽度将等于最宽单元格的宽度。nicematrix
columns-with
auto
\documentclass{article}
\usepackage{nicematrix}
\usepackage{caption}
\begin{document}
\begin{table}[]
\centering
\caption{My caption}
\label{my-label}
\begin{NiceTabular}{llllll}[hvlines,columns-width=auto]
labels & airplane & automobile & bird & cat & deer \\
airplane & & & & & \\
automobile & & & & & \\
bird & & & & & \\
cat & & & & & \\
\end{NiceTabular}
\end{table}
\end{document}
您需要多次编译(因为nicematrix
在后台使用 PGF/Tikz 节点)。