如何让太宽的表格居中?

如何让太宽的表格居中?

我有一个文档,其中包含一个表格,该表格对于页面来说略微太宽。但我不想只向右侧扩展,而是想让它在页面中居中。

我曾尝试使用该center环境,但似乎没有帮助。

答案1

如果表格(或任何其他水平框)比文本宽(\textwidth水平盒溢出警告已给出,但内容仍会放置,这会导致内容超出右边距。为了避免这种情况并抑制错误,必须将内容放置在等于或小于的框中\textwidth\makebox可以使用宏及其两个可选参数(宽度和水平对齐)来实现此目的:\makebox[\textwidth][c]{<table>} 将使内容居中。请参阅中心图形的宽度大于 \textwidth将图表并排摆放,溢出到外边距这是用于图形和进一步解释的。

对于更复杂的表格,尤其是当它们应该包含逐字内容时,您应该使用不同的方法。\makebox将整个内容读取为宏参数,这不允许逐字内容并且效率不高(好吧,现在后者不再那么重要了)。可以使用来自的\Makebox宏或环境作为替代。它将内容读取为一个框。更好的方法是将来自包的宏或环境与密钥一起读取。Makeboxrealboxesadjustboxadjustboxcenter

\begin{adjustbox}{center}
<your table (i.e. the tabular or similar environment)>
\end{adjustbox}

默认情况下,它将内容居中到\linewidth(大部分与 相同\textwidth),但也接受任何其他长度作为可选值,例如center=10cm。请注意,<your table>应该是tabular或等效环境,而不是table环境。


您现在还可以使用tabularadjustbox(作为第一个键!)来保存额外的\begin{tabular}..\end{tabular}然后在内部添加。

\begin{adjustbox}{tabular=lll,center}
     a & b & c \\
     a & b & c \\
     a & b & c \\
\end{adjustbox}

答案2

tabular块放入\centerline{}。如果宽度大于 ,则表格将均匀延伸至两个边距\textwidth

答案3

我见过基于使用的答案\centerline已经被考虑过了;然后我认为,即使是下面的粗鲁的破解方法,我有时会用它来快速一次性解决类似的情况,也值得一提:

% My standard header for TeX.SX answers:
\documentclass[a4paper]{article} % To avoid confusion, let us explicitly 
                                 % declare the paper format.

\usepackage[T1]{fontenc}         % Not always necessary, but recommended.
% End of standard header.  What follows pertains to the problem at hand.

\usepackage{mwe} % facilitates the writing of Minimale Working Examples like 
                 % this one, not to be used in actual documents



\begin{document}

\lipsum[1]
\begin{center}
    \addtolength{\leftskip} {-2cm} % increase (absolute) value if needed
    \addtolength{\rightskip}{-2cm}
    \begin{tabular*}{1.2\textwidth}{@{\extracolsep{\fill}}|ccc|}
        \hline
        Does & this & table  \\
        really & need & to  \\
        be & so & wide?  \\
        \hline
    \end{tabular*}
\end{center}

It works with floating objects, too: see, for example, figure~\ref{fig:a} and
table~\ref{tab:b}.

\begin{figure}[tbp]
    \centering
    \addtolength{\leftskip} {-2cm}
    \addtolength{\rightskip}{-2cm}
    \includegraphics[width=1.2\textwidth,height=5cm]{image}
    \caption{A example image}
    \label{fig:a}
\end{figure}

\begin{table}[bp]
    \centering
    \addtolength{\leftskip} {-2cm}
    \addtolength{\rightskip}{-2cm}
    \begin{tabular*}{1.2\textwidth}{@{\extracolsep{\fill}}|ccc|}
        \hline
        And & what & about  \\
        this & one, & eh?  \\
        \hline
    \end{tabular*}
    \caption{An example table}
    \label{tab:b}
\end{table}

\lipsum[2]

\end{document}

这是输出:

上述代码的输出

相关内容