将使用 resizebox 的表格置于中心

将使用 resizebox 的表格置于中心

我创建了一个表格,希望它在页面上水平居中。我使用 缩放表格大小\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}

相关内容