如果您有许多大图片,这个\twopagepicture
软件包绝对值得一用。但也许我没有得到所需的结果,因为我没有正确遵循建议。以下是我需要澄清的一些步骤:
- 当您说“这些类型的图最好手动插入”时。您的意思是直接插入章节吗?
\twopagepicture
那么命令行在哪里? - 您建议“尝试
\twopagepicture
通过复制并重命名来修改”。我应该将文件复制到哪里?我该如何重命名它? 命令:
\cleartoevenpage \includegraphics[height=0.95\textheight]{petra} \newpage
应该出现在我正在写的章节中吗?我如何将这些命令与命令结合使用
\twopagepicture
?是否0.95
表示对我的图片进行“确定”的重新缩放,还是我应该尝试其他比例,直到达到所需的结果?
最后,我在我的章节中使用了以下命令:
\cleartoevenpage
\twopagepicture{b}{p}{mypicture.jpg}{very very very very very very very very very very long caption }
\label{fig:mypicture}
\pagebreak
\cleardoublepage
通过尝试\cleartoevenpage
之前\includegraphics
和\newpage
之后的方法,我没有得到所需的结果。请注意,我需要省略所有纸张边距,并且我的浮动仍然会移动到章节末尾,在所需部分留下空白纸张。以下是图片
我的.sty
文件包含以下代码\twopagepicture
:
\usepackage{caption}
\usepackage{crop}
\usepackage[strict]{changepage}
\makeatletter
\newcommand{\cleartoevenpage}{%
\clearpage%
\ifoddpage\c@page\hbox{}\clearpage\fi}
\makeatother
\setcounter{totalnumber}{1}
\setcounter{topnumber}{1}
\setcounter{bottomnumber}{1}
\renewcommand{\topfraction}{.99}
\renewcommand{\bottomfraction}{.99}
\renewcommand{\textfraction}{.01}
\makeatletter
\newcommand*{\twopagepicture}[4]{%
\checkoddpage
\ifoddpage
\expandafter\@firstofone
\else
\expandafter\afterpage
\fi
{\afterpage{%
\if #1t%
\if #2p%
\thispagestyle{empty}%
\afterpage{\thispagestyle{empty}}%
\fi
\fi
\begin{figure}[#1]
\if #2p%
\if #1t%
\vspace*{-\dimexpr1in+\voffset+\topmargin+\headheight+\headsep\relax}%
\fi
\fi
\if #1b%
\caption{#4}%
\fi
\makebox[\textwidth][l]{%
\if #2p\relax
\let\mywidth\paperwidth
\hskip-\dimexpr1in+\hoffset+\evensidemargin\relax
\else
\let\mywidth\linewidth
\fi
\adjustbox{trim=0 0 {\mywidth} 0,clip}{\includegraphics[width=2\mywidth]{#3}}}%
\if #1b\else
\caption{#4}%
\fi
\if #2p%
\if #1b%
\vspace*{-\dimexpr\paperheight-\textheight-1in-\voffset-\topmargin-\headheight-\headsep\relax}%
\fi
\fi
\end{figure}%
\begin{figure}[#1]
\if #2p%
\if #1t%
\vspace*{-\dimexpr1in+\voffset+\topmargin+\headheight+\headsep\relax}%
\fi
\fi
\makebox[\textwidth][l]{%
\if #2p%
\let\mywidth\paperwidth
\hskip-\dimexpr1in+\hoffset+\oddsidemargin\relax
\else
\let\mywidth\linewidth
\fi
\adjustbox{trim={\mywidth} 0 0 0,clip}{\includegraphics[width=2\mywidth]{#3}}}%
\if #2p%
\if #1b%
\vspace*{-\dimexpr\paperheight-\textheight-1in-\voffset-\topmargin-\headheight-\headsep\relax}%
\fi
\fi
\end{figure}%
}}%
}
在 下工作\documentclass[a4paper,12pt,twoside]{StyleThese}
。
最后,我该如何应对横跨两页的标题? 如果这不可能的话,如何在第二页上制作白色标题,以便图片的两部分对齐在一起?
答案1
我认为制作跨页需要人工干预。我的意思是,您不能真正依赖魔术包或使用浮动图像。我知道 Martin 的解决方案有效,但可能在某些限制内有效,我会让他自己想出其他解决方案。
要使用我在此提出的解决方案,您需要了解图像的放置方式。如果您注意到(我说的是图像),因为我不建议您将图像切成两半,而是将其保持为一张完整的图像。
您可以获得pdf如果您愿意的话,可以通过上图更好地查看页面参数。
步骤1
确保图像的纵横比正确,并检查缩放时不会溢出页面。例如,在上图中,如果我们尝试让图像水平填充页面,它将扩展到比页面更高的高度(将造成严重破坏,图像将到处都是,并且可能部分图像会消失)。我认为您的 atm 过程图像存在此问题(如果将右侧的图像向下推,它将溢出页面并且图像将移动)。
第2步
确保图像放在偶数页上。您可以使用宏来执行此操作,\cleartoevenpage
甚至可以\newpage
在适当的位置手动使用。
步骤3
将图像放在左侧页面上。您可以使用以下方法执行此操作:
\includegraphics[height=0.78\textheight]{china-05}
(不要使用\begin{figure}..\end{figure}.
)
此时您将获得如上图所示的页面。右侧网格下方显示的部分会被引擎自动裁剪pdf
。
步骤4
将图像再次放置在下一页上。但是,我们需要将此图像“拉”到左侧,这样我们只能看到网格线下方的部分。
\hspace*{\dimexpr(-2in-\textwidth- 2\evensidemargin)}%
\includegraphics[height=0.78\textheight]{china-05}
步骤5
如果您需要在顶部添加一些文本,则需要确保它位于固定大小的框中,并且该框位于左页和右页上。我更喜欢\vbox
;如果您更熟悉 LaTeX,则可以使用具有固定高度的迷你页面。
该代码实际上非常短,到目前为止将是:
% left page
\cleartoevenpage
\checkoddpage%
{\parindent0pt
\vbox to 120pt{\lipsum[1]}%
\includegraphics[height=0.78\textheight]{china-05}}
% right page
{\parindent0pt
\vbox to 120pt{\lipsum[1]}%
\hspace*{\dimexpr(-2in-\textwidth-2\evensidemargin)}
\includegraphics[height=0.78\textheight]{china-05}}
注意\parindent
,它必须是 0pt。将其放在组中,{}
以免影响页面的其余部分。
步骤5
如果您需要在右侧添加一些文本,请添加为\parbox
或\vbox
。
完成的涂抹,
一般建议
如果您有跨越两页的图表或图片,最好将它们打印在 A3 纸上,并将它们包含在最终论文中。(您可以通过在适当位置留出两页空白来调整页码)。
使用 MWE 时不要尝试对整篇论文进行此操作,您可能需要尝试几次才能正确完成。
先按比例缩小0.5\textheight
,然后慢慢增加,看看问题出现在哪里。
您可以使用pgfpages,
pgf 套件中提供的功能,根据需要进行稍微扩展,并合并页面,就像我对示例所做的那样。
完整的 MWE
\documentclass[twoside]{book}
\usepackage[left=80pt,right=80pt,top=0.75in]{geometry}
\usepackage{graphicx,lipsum}
\usepackage{changepage}
\usepackage{pgf,tikz,pgfpages}
%\usepackage{xlayouts,xcolor,amsmath,fancyhdr}
\makeatletter
\providecommand{\cleartoevenpage}[1][\@empty]{%
\clearpage%
\ifodd\c@page\null#1\clearpage\fi}
\makeatother
%\pagestyle{grid}
\begin{document}
\mainmatter
\null\newpage
%\pgfpagesuselayout{2 on 1}[a3paper,landscape,border shrink=0mm]
% first page
\cleartoevenpage
\checkoddpage%
{\parindent0pt
\vbox to 120pt{\lipsum[1]}%
\includegraphics[height=0.78\textheight]{china-05}}
%secondpage
{\parindent0pt
\vbox to 120pt{\lipsum[1]}%
\hspace*{\dimexpr(-2in-\textwidth-2\evensidemargin)}
\includegraphics[height=0.78\textheight]{china-05}}
\hspace{1em}\parbox[b]{0.35\textwidth}{\lipsum[1-2]}
\end{document}
(网格和页面尺寸是用我正在开发的软件包绘制的。它还没有准备好公开发布,不过你可以从这里获得一份副本,无论它值多少钱。github)。