显然,我对 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 对我来说真的没有意义)