更改回忆录中单个横向页面的边距

更改回忆录中单个横向页面的边距

我有一份使用回忆录的文档,我想制作一个带有大表格的横向页面,我只需要更改此页面的边距以使表格适合。

我曾尝试使用该包中提供的\newgeometry{margin=1cm}功能,但无法使其适用于景观。\restoregeometrygeometry

有人知道如何更改边距以使表格适合下面的示例吗?

\documentclass[b5paper,10pt]{memoir}
\settypeblocksize{*}{11.5cm}{1.61803}
\setulmarginsandblock{3.2cm}{*}{*}
\checkandfixthelayout[nearest]
\usepackage{lipsum}
\usepackage{pdflscape}
\begin{document}
\lipsum

\begin{landscape}
\thispagestyle{empty}
\begin{table}[c]
\centering
\footnotesize
    \caption{Big table AAAAAAAAAAAAAAAAAAAAAAAA BBBBBBBBBBBBBBBBBBBBBBB CCCCCCCCCCCCCCCCCCC}
    \begin{tabular}{p{8cm}p{8cm}p{8cm}}
    \toprule\\
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA & BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB & CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\\[2cm]
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA & BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB & CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\\[2cm]
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA & BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB & CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\\[2cm]
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA & BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB & CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\\[2cm]
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA & BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB & CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\\[2cm]
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA & BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB & CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\\[1cm]
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA & BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB & CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\\
    \bottomrule
    \end{tabular}
\end{table}
\end{landscape}
\lipsum
\end{document} 

答案1

我又尝试了一下,找到了以下解决方案。由于我无法直接控制文本块的大小和位置,因此它并不完美,但它几乎可以适应大表格中我想要的位置。

\documentclass[b5paper,10pt]{memoir}
\settypeblocksize{*}{11.5cm}{1.61803}
\setulmarginsandblock{3.2cm}{*}{*}
\checkandfixthelayout[nearest]
\usepackage{lipsum}
\usepackage{pdflscape}
\usepackage{rotating}
\usepackage{floatpag}
    \rotfloatpagestyle{empty} 
\usepackage{placeins}

\begin{document}

\lipsum

\FloatBarrier
\newpage
\begin{center}
\begin{sidewaystable}[hc]
\footnotesize
    \caption{Big table AAAAAAAAAAAAAAAAAAAAAAAA BBBBBBBBBBBBBBBBBBBBBBB CCCCCCCCCCCCCCCCCCC}
    \noindent\makebox[\textwidth]{
    \begin{tabular}{p{7.6cm}p{7.6cm}p{7.6cm}}
    \toprule\\
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA & BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB & CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\\[2cm]
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA & BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB & CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\\[2cm]
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA & BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB & CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\\[2cm]
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA & BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB & CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\\[2cm]
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA & BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB & CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\\[2cm]
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA & BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB & CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\\[2cm]
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA & BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB & CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\\
    \bottomrule
    \end{tabular}}
\end{sidewaystable}
\end{center}
\FloatBarrier
\newpage

\lipsum

\end{document} 

答案2

由于\oddsidemargin/\evensidemargin问题,\PFwidth计算为适合奇数页和偶数页的最大可能宽度。

我发现模仿sidewaystable它比使用它更容易。关键是它\caption只能在 中工作minipage

表格将自动居中。无需额外\centering操作。

\documentclass[b5paper,10pt]{memoir}
\settypeblocksize{*}{11.5cm}{1.61803}
\setulmarginsandblock{3.2cm}{*}{*}
\checkandfixthelayout[nearest]
\usepackage{lipsum}
\usepackage{environ}
\usepackage{floatpag}% \thisfloatpagestyle
\usepackage{graphics}% \rotatebox

\newlength{\PFwidth}% maximum width available
\newlength{\PFx}
\newlength{\PFy}

\newcommand{\PFcalc}% compute PFx, PFy and PFwidth
{\setlength{\PFy}{0.5\paperheight}% compute distance from center of page to center of text
\addtolength{\PFy}{-0.5\textheight}%
\addtolength{\PFy}{-1in}%
\addtolength{\PFy}{-\topmargin}%
\addtolength{\PFy}{-\headheight}%
\addtolength{\PFy}{-\headsep}%
\setlength{\PFx}{1in}% compute distance from left page to text
\setlength{\PFwidth}{\paperwidth}% maximum width
\ifdim\oddsidemargin<\evensidemargin\addtolength{\PFx}{\oddsidemargin}%
  \addtolength{\PFwidth}{\oddsidemargin}%
  \addtolength{\PFwidth}{-\evensidemargin}%
\else\addtolength{\PFx}{\evensidemargin}%
  \addtolength{\PFwidth}{\evensidemargin}%
  \addtolength{\PFwidth}{-\oddsidemargin}%
\fi}

\NewEnviron{pagetable}%
{\PFcalc%
\begin{table}[p]\thisfloatpagestyle{empty}%
\strut\hspace{-\PFx}% left shift
\raisebox{\PFy}[0.5\textheight][0.5\textheight]{%
\parbox[c]{\PFwidth}{\centering\rotatebox{-90}{%
\begin{minipage}{\paperheight}%
\centering\BODY
\end{minipage}}}}\hspace{-\PFwidth}%
\end{table}}

\begin{document}
\lipsum[1-3]
\begin{pagetable}
    \footnotesize
    \caption{Big table AAAAAAAAAAAAAAAAAAAAAAAA BBBBBBBBBBBBBBBBBBBBBBB CCCCCCCCCCCCCCCCCCC}
    \noindent\makebox[\textwidth]{
    \begin{tabular}{p{7.6cm}p{7.6cm}p{7.6cm}}
    \toprule\\
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA & BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB & CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\\[2cm]
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA & BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB & CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\\[2cm]
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA & BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB & CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\\[2cm]
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA & BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB & CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\\[2cm]
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA & BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB & CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\\[2cm]
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA & BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB & CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\\[2cm]
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA & BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB & CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\\
    \bottomrule
    \end{tabular}}
\end{pagetable}
\lipsum[4-6]
\end{document}

相关内容