我使用的是双面文档样式,如果表格在右页,则宽表格会横跨右边距。如何禁用双面样式,只让表格居中。解决此问题的正确方法是什么?这是一个 MWE。
\documentclass[11pt, a4paper, titlepage]{book}
\usepackage{booktabs}
\usepackage{color,graphicx}
\usepackage{geometry}
\usepackage[utf8]{inputenc}
\usepackage{ngerman}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\geometry{ a4paper,
twoside,
includemp,
includehead,
top = 30mm,
headsep = 10mm,
bindingoffset = 10mm,
inner = 20mm,
outer = 40mm,
bottom = 45mm,
marginparsep = 10mm,
marginparwidth = 30mm
}
\savegeometry{myText}
\begin{document}
aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo iaeoiaeo iaeoiaeo aeo eaoiaeoiaeoi oiaeo iaeoiaeo
\begin{table}[hp]
\begin{tabular}{p{2.5cm} l p{3.5cm} p{5cm} }
\hline
\cline{1-2}
wiiiiide text \\
\hline
abcd wide text & abcd wide abcd wide text & abcd wide text abcd wide text \\
abcd & abcd wide text & abcd wide text & \\
abcd & abcd & abcd & \\
abcd & abcd &1 & \\
abcd & abcd & 1 & \\
\hline
\end{tabular}
\caption{\mbox{Looooooooong caption)}}
\end{table}
\end{document}
答案1
您可以将tabular
(not table
)放置在\makebox
预先指定宽度的 内。这样表格有多大就无关紧要了;LaTeX 会将其视为具有预先指定宽度的框。这样做的好处是,您可以调整对齐方式以满足您的需要,同时不会看到任何过满\hbox
警告 - 在处理“过长/过宽的内容”时很常见:
在上面的输出中,tabular
s 是使用以下方式设置的
\makebox[\linewidth]{%
\begin{tabular}{p{2.5cm} l p{3.5cm} p{5cm} }
\hline
\cline{1-2}
wiiiiide text \\
\hline
abcd wide text & abcd wide abcd wide text & abcd wide text abcd wide text \\
abcd & abcd wide text & abcd wide text & \\
abcd & abcd & abcd & \\
abcd & abcd & 1 & \\
abcd & abcd & 1 & \\
\hline
\end{tabular}}
\makebox[\linewidth][r]{%
\begin{tabular}{p{2.5cm} l p{3.5cm} p{5cm} }
\hline
\cline{1-2}
wiiiiide text \\
\hline
abcd wide text & abcd wide abcd wide text & abcd wide text abcd wide text \\
abcd & abcd wide text & abcd wide text & \\
abcd & abcd & abcd & \\
abcd & abcd & 1 & \\
abcd & abcd & 1 & \\
\hline
\end{tabular}}
前者\makebox
自然地使其内容居中,而后者则是r
右对齐的。
另一个选项是调整的位置,\caption
可以通过以下方式获得帮助varwidth
:
\begin{table}[hp]
\makebox[\linewidth][r]{%
\begin{varwidth}{\paperwidth}
\begin{tabular}{p{2.5cm} l p{3.5cm} p{5cm} }
\hline
\cline{1-2}
wiiiiide text \\
\hline
abcd wide text & abcd wide abcd wide text & abcd wide text abcd wide text \\
abcd & abcd wide text & abcd wide text & \\
abcd & abcd & abcd & \\
abcd & abcd & 1 & \\
abcd & abcd & 1 & \\
\hline
\end{tabular}
\caption{\mbox{Looooooooong caption)}}
\end{varwidth}}
\end{table}
答案2
考虑到你的桌子看起来更加广泛比文本块更复杂,可能无法以美观的方式将表格与常规文本一起放置在页面上。因此,您可能需要研究使用包rotating
及其sidewaystable
环境,将旋转 90 度的表格单独放置在页面上。即,rotating
在序言中加载包并使用\begin{sidewaystable}
\ \end{sidewaystable} instead of
begin{table}[hp] and
\end{table}。(由于 sidewaystable 环境中的材料必须设置在单独的页面上,因此提供位置说明符毫无意义[h]
。)