在memoir
文档中,我想为后面的内容设置不同的文本块大小和边距,以便为词汇表提供更大的空间。
关于更改页面布局设置,也有类似的问题被问到memoir
,尽管如此,我无法得到一致的结果(如果有的话)。我可能在下面的 MWE 中遗漏了一些琐碎的步骤。
\documentclass[11pt]{memoir}
\usepackage{multicol}
\usepackage{calc}
\setstocksize{9in}{6in}
\settrimmedsize{\stockheight}{\stockwidth}{*}
\settrims{0pt}{0pt}
\settypeblocksize{32\baselineskip + \topskip}{*}{0.577}% 1/1.732 (sqrt(3)), Hexagon ratio
\setlrmargins{*}{*}{1.125}% 1/0.889 major 2nd ratio
\setulmargins{*}{*}{1.701}% Tall Pentagon ratio
\setlength{\footskip}{3\baselineskip}
\checkandfixthelayout
\begin{document}
\mainmatter
\chapter{A Message From Mars}
In plain English, at 4 a.m., a ray of light had been observed on the
disc of the planet Mars in or near the "terminator"; that is to
say\ldots
\backmatter
\settypeblocksize{32\baselineskip + \topskip}{110mm}{*}
\setlrmargins{*}{14mm}{*}
\checkandfixthelayout
\chapter{Glossary}
``Some ten times round the world. Well, is that tremendous vacuum
absolutely impassable?''
\begin{multicols}{2}
\begin{description}
\item[The next] evening promised well, and I kept my appointment, but unfortunately a slight haze
\item[gathered] in the sky and prevented us from making further observations.
\item[While] hoping in vain for it to clear away, Professor Gazen and I talked
\end{description}
\end{multicols}
\end{document}
日志打印新的页面尺寸:
...
Text height and width: 446.2002pt by 257pt
Spine and edge margins: 82.88574pt and 93.2786pt
...
Text height and width: 446.2002pt by 312pt
Spine and edge margins: 80.80585pt and 39.83385pt
...
但不知何故,这并没有发生:
答案1
在之后添加此内容(在更改布局之前\checkandfixthelayout
添加也可能是个好主意)\clearpage
\setlength{\vsize}{\textheight}
\setlength{\columnwidth}{\textwidth}%
\setlength{\hsize}{\columnwidth}%
\setlength{\linewidth}{\hsize}
它取自geometry.sty
编辑:
\makeatletter
\ch@ngetext
\makeatother
应该做同样的事情。不太清楚为什么没有将其添加到\checkandfix...
答案2
以下是@daleif 解决方案的 MWE:
\documentclass[b5paper]{memoir}
% Set some custom paper size and layout
\setstocksize{240mm}{170mm}
\settrimmedsize{240mm}{170mm}{*}
\medievalpage[9]
\checkandfixthelayout
\usepackage{lipsum} % dummy text
\begin{document}
% Reset the margins to be symmetric
\setlrmarginsandblock{2cm}{2cm}{*}
\setulmarginsandblock{2cm}{2cm}{*}
\checkandfixthelayout
% Magic happens here. Comment this to get non-symmetric margins
\makeatletter
\ch@ngetext
\makeatletter
\clearpage
% Now center something on the page.
% Vertical centering is still somewhat off?
\vspace*{\fill}
\begin{center}
{\Huge + }
\end{center}
\vspace*{\fill}
\clearpage
\lipsum
\lipsum
\end{document}
为了恢复这一点,似乎下面的方法可行(虽然我不知道为什么),\ch@ngetext
似乎是一个切换:
\medievalpage[9]
\checkandfixthelayout
\makeatletter
\ch@ngetext
\makeatletter
\clearpage
\cleardoublepage
答案3
谢谢@daleif!这也让我抓狂。尽管搜索了多次,但直到我花了相当多的时间输入自己的问题后,这个问题才出现。如果有其他更新,我认为这绝对应该出现\checkandfixthelayout
!
我需要这个,因为我的章节有大量的边距注释,所以它们需要很大的外边距,但是诸如目录、标题页等内容不应该有这么大的边距。
我猜测第二个\makeatletter
实际上应该是\makeatother
,在大多数其他情况下也是如此。
当我尝试将该代码插入宏时,它会中断;似乎您无法放入\makeatletter
宏。这对我有用:
\makeatletter
\newcommand{\textmargins}{
\clearpage
\setlrmarginsandblock{2cm}{7.6cm}{*}
\setmarginnotes{1cm}{4.6cm}{1cm}
\checkandfixthelayout
\ch@ngetext
\pagestyle{textRuled}
}
\newcommand{\evenmargins}{
\clearpage
\setlrmarginsandblock{3.4cm}{5.2cm}{*}
\setmarginnotes{1cm}{1cm}{1cm}
\checkandfixthelayout
\ch@ngetext
\pagestyle{Ruled}
}
\makeatother