\twopagepicture 包精炼,长标题跨越两页

\twopagepicture 包精炼,长标题跨越两页

如果您有许多大图片,这个\twopagepicture软件包绝对值得一用。但也许我没有得到所需的结果,因为我没有正确遵循建议。以下是我需要澄清的一些步骤:

  1. 当您说“这些类型的图最好手动插入”时。您的意思是直接插入章节吗?\twopagepicture那么命令行在哪里?
  2. 您建议“尝试\twopagepicture通过复制并重命名来修改”。我应该将文件复制到哪里?我该如何重命名它?
  3. 命令:

    \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)。

相关内容