我创建了一个表格,希望它在页面上水平居中。我使用 缩放表格大小\resizebox
。但是,这样做会使表格左对齐。我如何使它居中?
以下是 MWE:
\documentclass[11pt,english,titlepage]{article}
\usepackage{graphicx}
\begin{document}
\begin{table}
\caption{mytable}
\resizebox{.5\textwidth}{!}{
\begin{centering}
\begin{tabular}{rrr}
A & B & C \\
\hline
A1 & B1 &C1\\
A2 & B2 & C2 \\
A3 & B3 & C3 \\
\end{tabular}
\end{centering}
}
\end{table}
\end{document}
答案1
没有centering
环境。而且无论如何,\centering
在内部发出\resizebox
也没有意义:它应该在外部,因为您想将调整大小的框居中。
\documentclass[11pt,english,titlepage]{article}
\usepackage{graphicx}
\begin{document}
\begin{table}
\centering
\caption{mytable}
\resizebox{.5\textwidth}{!}{% <------ Don't forget this %
\begin{tabular}{rrr}
A & B & C \\
\hline
A1 & B1 & C1 \\
A2 & B2 & C2 \\
A3 & B3 & C3 \\
\end{tabular}% <------ Don't forget this %
}
\end{table}
\end{document}
答案2
这里有一个使用 的替代答案adjustbox
。它涵盖了 的功能\resizebox
,并且还能够使其内容居中。它还消除了使用 转义换行符的需要%
,如 egregs 答案中所示,因为adjustbox
环境会删除它们添加的空格。
甚至可以table
使用adjustbox
按键来生成环境,甚至可以tabular
替换整个环境。从长远来看,这可以为您节省大量输入时间。请注意,大多数adjustbox
按键的顺序都很重要。
\documentclass[11pt,english,titlepage]{article}
\usepackage{adjustbox}
\begin{document}
\begin{table}
\caption{mytable}% will not give you proper skip as it is configured for placement below the content
\begin{adjustbox}{width=.5\textwidth,center}
\begin{tabular}{rrr}
A & B & C \\
\hline
A1 & B1 & C1 \\
A2 & B2 & C2 \\
A3 & B3 & C3 \\
\end{tabular}
\end{adjustbox}
\end{table}
% shorter, also covering the `table` environment
\begin{adjustbox}{width=.5\textwidth,center,caption=mytable,float=table}
\begin{tabular}{rrr}
A & B & C \\
\hline
A1 & B1 & C1 \\
A2 & B2 & C2 \\
A3 & B3 & C3 \\
\end{tabular}
\end{adjustbox}
% even shorter, now also covering the `tabular` environment
\begin{adjustbox}{tabular=rrr,width=.5\textwidth,center,caption=mytable,float=table}
A & B & C \\
\hline
A1 & B1 & C1 \\
A2 & B2 & C2 \\
A3 & B3 & C3 \\
\end{adjustbox}
\end{document}