我必须在我的 A4 文档中制作一个 A3 页面(其中包含几个图表)。该页面应为横向样式,两列,并包含常用的页眉和页码。在几篇帖子的帮助下,我找到了大多数问题的解决方案,但是:文本/图表的空间太小,边距太大。按照其他帖子的建议,我尝试了\addtolength{\hoffset}{-4.0cm}
,但不幸的是,它只是将所有内容移到了左边,所以右边距仍然太大……我也尝试了一些东西\usepackage{changepage}
,但我没有运气。有什么建议吗?
\documentclass[12pt,a4paper,twoside,BCOR=12mm]{scrbook} %,BCOR=80mm
\usepackage{geometry}
\usepackage{afterpage}
\usepackage{multicol}
\usepackage{lipsum}
\usepackage[demo]{graphicx}
\usepackage[autooneside=false,headsepline=1.9pt]{scrlayer-scrpage}
\ohead{\pagemark}
\begin{document}
Text on A4 page \lipsum[1]
\afterpage{% Insert after the current page
\clearpage
\KOMAoptions{paper=A3,paper=landscape,twocolumn,pagesize}
%\addtolength{\hoffset}{-4.0cm}
\recalctypearea
Text on A3 page\lipsum[2]
\lipsum[3]
\begin{figure}
\centering
\includegraphics[width=\linewidth]{foo}
\caption{Awesome figure caption.}
\end{figure}
\clearpage
\KOMAoptions{paper=A4,pagesize}
\recalctypearea
}
\end{document}
答案1
第一步
我会生成一个单独文件和A3 页面尺寸和横向只包含数字等。如下所示:
\documentclass[
paper = A3,
paper = landscape,
pagesize = auto
]{scrbook}
第二步
然后我会包括 生成的 PDF 文档(A3)在实际的 A4 中 文档使用著名的pdfpages
包裹以及它的\includepdf[options]{FileNameWithoutSpacesOrBlanks}
命令。
答案2
生成单独的 pdf 文件可能是最好的解决方案。 大概。这取决于以下解决方案如何与您的其他包交互;由于我们不知道这些,所以我无法真正预测它。
然而,根据 Martin Scharrer 在A4 文档中的 A3 页面,我认为可能对你有用。例如,如果你使用,它可能会在你的设置中做一些疯狂的事情geometry
。或者可能不会;我还没有测试过这些。但它使用标准 LaTeX 类中的一些 KOMAscript 工具来工作,并且似乎在我在这里整理的 MWE 示例中有效:
\documentclass[a4paper]{article}
\usepackage{afterpage}
\usepackage[paper=A4,pagesize]{typearea}
\usepackage{lipsum}
\begin{document}
\lipsum
\afterpage{
\clearpage
\KOMAoptions{paper=A3,paper=landscape,pagesize}
\recalctypearea
\begin{table}[p]
\begin{tabular}{lp{0.85\linewidth}}
This & \lipsum[1] \\
\end{tabular}
\caption{A very wide table}
\end{table}
\clearpage
\KOMAoptions{paper=A4,pagesize}
\recalctypearea
}
\lipsum%
\lipsum%
\end{document}
现在,我已经裁剪了这里的边距,以一种奇怪的方式将页面跨页附加在一起(例如,奇数页在左边),并裁剪以使其更适合,使得 A3 页面看起来像横向的 A4 页面,但它确实给出了结果的概念。
如果不这样做,我认为你唯一的选择就是手动破解它,这样你就可以弹出当前页面,用原语重置页面大小,用包设置页面几何形状geometry
,然后稍后重置它。例如:
\documentclass{article}
\usepackage{lipsum}
\usepackage[margin=1in]{geometry}
\newenvironment{foldoutfloat}{%
\eject\pdfpageheight=11in\pdfpagewidth=17in
\newgeometry{margin=1in}
\textwidth=15in
\begin{table}[p]
}{%
\end{table}
\clearpage % otherwise it will float to another, non-resized page
\eject\pdfpageheight=11in\pdfpagewidth=8.5in
\restoregeometry
}%
\begin{document}
\lipsum
\begin{foldoutfloat}
\begin{tabular}{lp{0.85\textwidth}}
This & \lipsum[1] \\
\end{tabular}
\caption{A wide table}
\end{foldoutfloat}
\lipsum%
\end{document}
这种方法肯定不是最理想的;如果你重新设计,你必须重置折页和普通页面的页面几何形状,它只适用于 pdftex(由于使用了 pdftex 原语),并且它不真的浮动图形;它被包裹在浮动环境中,只是为了保留编号和标题。但它会给你这个:
这里的一些更有经验的巫师肯定可以想出更好的通用解决方案;但这就是我所得到的。