我有一个文档,其中包含一个表格,该表格对于页面来说略微太宽。但我不想只向右侧扩展,而是想让它在页面中居中。
我曾尝试使用该center
环境,但似乎没有帮助。
答案1
如果表格(或任何其他水平框)比文本宽(\textwidth
)水平盒溢出警告已给出,但内容仍会放置,这会导致内容超出右边距。为了避免这种情况并抑制错误,必须将内容放置在等于或小于的框中\textwidth
。\makebox
可以使用宏及其两个可选参数(宽度和水平对齐)来实现此目的:\makebox[\textwidth][c]{<table>}
将使内容居中。请参阅中心图形的宽度大于 \textwidth和将图表并排摆放,溢出到外边距这是用于图形和进一步解释的。
对于更复杂的表格,尤其是当它们应该包含逐字内容时,您应该使用不同的方法。\makebox
将整个内容读取为宏参数,这不允许逐字内容并且效率不高(好吧,现在后者不再那么重要了)。可以使用来自的\Makebox
宏或环境作为替代。它将内容读取为一个框。更好的方法是将来自包的宏或环境与密钥一起读取。Makebox
realboxes
adjustbox
adjustbox
center
\begin{adjustbox}{center}
<your table (i.e. the tabular or similar environment)>
\end{adjustbox}
默认情况下,它将内容居中到\linewidth
(大部分与 相同\textwidth
),但也接受任何其他长度作为可选值,例如center=10cm
。请注意,<your table>
应该是tabular
或等效环境,而不是table
环境。
您现在还可以使用tabular
键adjustbox
(作为第一个键!)来保存额外的\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}
这是输出: