我有一份使用回忆录的文档,我想制作一个带有大表格的横向页面,我只需要更改此页面的边距以使表格适合。
我曾尝试使用该包中提供的\newgeometry{margin=1cm}
功能,但无法使其适用于景观。\restoregeometry
geometry
有人知道如何更改边距以使表格适合下面的示例吗?
\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}