回忆录在文档中间更改页面大小

回忆录在文档中间更改页面大小

显然,我对 Latex 还不太熟悉(使用 xelatex 引擎),只是尝试了一下,看看是否可以过渡到它。

我需要在文档中间更改页面大小。该文档不会被打印,只能通过 PDF 查看器查看。

到目前为止最接近解决方案的是这篇文章: 如何在具有相同纸张尺寸的文档中更改裁切纸张尺寸

但实际上它不起作用。这是我的简单版本代码:

\documentclass[oneside]{memoir}
\usepackage{showframe}
\usepackage{lipsum}
\setstocksize{7in}{5in}
\settrimmedsize{7in}{5in}{*}
\setlrmarginsandblock{.5in}{1in}{*}
\setulmarginsandblock{1in}{1in}{*}
\checkandfixthelayout
\makeatletter
% adapted from \Gm@changelayout geometry.sty
\newenvironment{newlayout}[1]{%
    \newpage
    #1%
    \setlength{\@colht}{\textheight}
    \setlength{\@colroom}{\textheight}%
    \setlength{\vsize}{\textheight}
    \setlength{\columnwidth}{\textwidth}%
    \if@twocolumn%
    \advance\columnwidth-\columnsep
    \divide\columnwidth\tw@%
    \@firstcolumntrue%
    \fi%
    \setlength{\hsize}{\columnwidth}%
    \setlength{\linewidth}{\hsize}}{\newpage}
\makeatother

\makeatletter
\let\fixpdflayout\mem@fixpagelayout
\makeatother


\begin{document}
    \lipsum[2]
    \begin{newlayout}{%
            \pdfpagewidth=297mm
            \pdfpageheight=420mm
            \setstocksize{420mm}{297mm}
            \settrimmedsize{420mm}{297mm}{1}
            \setlrmarginsandblock{15mm}{30mm}{1}
            \setulmarginsandblock{30mm}{30mm}{1}
            \checkandfixthelayout
            \fixpdflayout}
        \lipsum[2]
    \end{newlayout}
    \lipsum[2]
\end{document}

如果你看一下 A3 页面文本,就会发现它实际上并不符合回忆录设定的界限,而这正是我想修复的问题,但我完全不知道该如何修复。

inb4:pdfpages(我想要一个单独的 tex 文件来统治它们,否则转换到 latex 对我来说真的没有意义)

相关内容