我正在编写一个对于页面来说太宽的表格,因此我尝试对列使用固定宽度,但是当我这样做时,两列会合并为一列:
还有一个 MWE:
\documentclass[a4paper]{abntex2}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\begin{document}
\begin{table}[]
\centering
\begin{tabular}{|r p{2cm} |c|c|}
\textbf{Quantidade de rodadas} & \textbf{Duração (ms)}&
\textbf{Controle no começo do jogo} \\
\hline
17 & 90110 & Monte Carlo \\
27 & 140253 & Monte Carlo \\
19 & 100284 & Monte Carlo \\
23 & 120247 & Monte Carlo \\
11 & 60366 & Monte Carlo \\
\end{tabular}
\caption{Durações das partidas} \label{montecarloduracoes}
\end{table}
\end{document}
我做错了什么吗?还是我必须使用其他方法来水平压缩表格?
答案1
您可以使用 来实现这一点makecell
,它允许换行以及由\thead
或\makecell
命令引入的常见单元格格式。
我abntex2
用以下内容替换了 cls(我的系统上未安装)report
:
\documentclass[a4paper]{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{makecell} %
\usepackage{showframe}
\renewcommand\theadfont{\normalsize\bfseries}
\begin{document}
\vspace*{1cm}
\begin{table}[!ht]
\centering\setlength\extrarowheight{3pt}
\begin{tabular}{|r |c|c|}
\hline
\thead{Quantidade \\ de rodadas} & \thead{Duração\\ (ms)}&
\thead{Controle no começo\\ do jogo} \\
\hline
17 & 90110 & Monte Carlo \\
27 & 140253 & Monte Carlo \\
19 & 100284 & Monte Carlo \\
23 & 120247 & Monte Carlo \\
11 & 60366 & Monte Carlo \\ \hline
\end{tabular}
\caption{Durações das partidas} \label{montecarloduracoes}
\end{table}
\end{document}
答案2
我建议你去掉垂直条,让表格看起来“开放”且易于访问。为了进一步提高中间列数字的可读性,可以考虑将它们与(隐式)小数点对齐。
\documentclass[a4paper]{abntex2}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{siunitx,array,booktabs,ragged2e}
\newcolumntype{C}[1]{>{\Centering\arraybackslash}p{#1}}
\begin{document}
\begin{table}
\centering
\begin{tabular}{C{2cm} S[table-format=6.0] C{3cm}}
\textbf{Quantidade de rodadas} &
\multicolumn{1}{C{2cm}}{\textbf{Duração} (ms)}&
\textbf{Controle no começo do jogo} \\
\midrule
17 & 90110 & Monte Carlo \\
27 & 140253 & Monte Carlo \\
19 & 100284 & Monte Carlo \\
23 & 120247 & Monte Carlo \\
11 & 60366 & Monte Carlo \\
\end{tabular}
\caption{Durações das partidas}
\label{montecarloduracoes}
\end{table}
\end{document}