如何自定义输出页面的大小memoir class
?
例如,在以下 MWE 中,如何更改页面大小6x9
(同时保留我使用的边距比例和页眉/页脚)?
\documentclass[11pt,a4paper]{memoir}
% customize
\setstocksize{297mm}{210mm}
\settrimmedsize{\stockheight}{195mm}{*}
\settypeblocksize{671.6pt}{335.8pt}{*}
\setlrmargins{*}{*}{4}
\setulmargins{*}{*}{2}
\setmarginnotes{5mm}{45.23mm}{\onelineskip}
\setlength{\footskip}{3.0\baselineskip}
\checkandfixthelayout
% headers and footers
\nouppercaseheads
\makepagestyle{mystyle}
\setlength{\headwidth}{\dimexpr\textwidth+\marginparsep+\marginparwidth\relax}
\makerunningwidth{mystyle}{\headwidth}
\makeevenhead{mystyle}{\itshape\leftmark}{}{}
\makeoddhead{mystyle}{}{}{\itshape\leftmark}
\makeevenfoot{mystyle}{\thepage}{}{}
\makeoddfoot{mystyle}{}{}{\thepage}
\makepsmarks{mystyle}{\createmark{chapter}{left}{}{}{}}
\makeatletter
\makepsmarks{mystyle}{\createmark{chapter}{left}{shownumber}{\@chapapp\ }{:\ }}
\makeatother
\makepagestyle{plain}
\makerunningwidth{plain}{\headwidth}
\makeevenfoot{plain}{\thepage}{}{}
\makeoddfoot{plain}{}{}{\thepage}
\pagestyle{mystyle}
\begin{document}
Here is some text.
\end{document}
PS 目前,我的文档位于\documentclass[11pt,a4paper]{memoir}
顶部 - 这可以控制页面大小吗?
答案1
自从memoir
提供了自己的页面布局宏集,最好使用它们,而不是使用类似geometry
。此外,使用a4paper
后面的\setstocksize{297mm}{210mm}
也是多余的,因为a4paper
具有这些维度。事实上,如果您选择a4paper
带有的文档类选项memoir
,它将执行\stockaiv
,其定义为
\newcommand*{\stockaiv} {\stockheight=297mm \stockwidth=210mm}
因此,要么使用a4paper
或者 \setstocksize{297mm}{210mm}
,但不能同时满足两者。
为了减少页面大小从297mm
x210mm
到9in
x 6in
“同时保留边距比例和页眉/页脚”,我会计算出两个尺寸之间的比例,知道
1mm ~ 2.84526pt
1in ~ 72.26999pt
因此,使用以下设置:
\documentclass[11pt,showtrims]{memoir}
% Original setup
% \setstocksize{297mm}{210mm}
% \settrimmedsize{\stockheight}{195mm}{*}
% \settypeblocksize{671.6pt}{335.8pt}{*}
% New setup
\setstocksize{9in}{6in}
\settrimmedsize{\stockheight}{\dimexpr 6in-15mm}{*}
\settypeblocksize{516.9312pt}{243.6962pt}{*}
它保持页面大小和文本块之间的比例相同,但保持修剪边距相同(15mm
小于\stockwidth
)。原始图像显示在左侧,而新图像显示在右侧,分辨率相同(用于比较):