双面文档中的宽表格

双面文档中的宽表格

我使用的是双面文档样式,如果表格在右页,则宽表格会横跨右边距。如何禁用双面样式,只让表格居中。解决此问题的正确方法是什么?这是一个 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警告 - 在处理“过长/过宽的内容”时很常见:

在此处输入图片描述

在上面的输出中,tabulars 是使用以下方式设置的

\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 ofbegin{table}[hp] and\end{table}。(由于 sidewaystable 环境中的材料必须设置在单独的页面上,因此提供位置说明符毫无意义[h]。)

相关内容