我在使用该类时遇到了间距问题memoir
。主要问题是第一段之后有一行跳过和缩进,之后所有段落都正确缩进并且没有行跳过。以下是 MWE:
\documentclass[11pt,twoside,openright]{memoir}
\usepackage[size=pocket,trim,bleed]{createspace}
%\usepackage[paperwidth=4.25in, paperheight=6.875in,bindingoffset=.75in]{geometry}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{tgtermes}
\usepackage{mathpazo}
\usepackage[protrusion=true,expansion=true]{microtype}
\usepackage{lipsum}
%\usepackage{type1cm}
%\usepackage{lettrine}
%\checkandfixthelayout
% See the ``Memoir customise'' template for some common customisations
% Don't forget to read the Memoir manual: memman.pdf
%\title{TITLE OF BOOK}
%\author{NAME OF AUTHOR}
%\date{} % Delete this line to display the current date
%% BEGIN TITLE
\makeatletter
\def\maketitle{%
\null
\thispagestyle{empty}%
\vfill
\begin{center}\leavevmode
\normalfont
{\LARGE\raggedleft \@author\par}%
\hrulefill\par
{\huge\raggedright \@title\par}%
\vskip 1cm
% {\Large \@date\par}%
\end{center}%
\vfill
\null
\cleardoublepage
}
\makeatother
\author{AUTHOR}
%\author{NAME OF AUTHOR}
\title{TITLE}
%\date{}
%%% BEGIN DOCUMENT
\begin{document}
\pdftitle{TITLE}
\pdfauthor{AUTHOR}
\pdfsubject{SUBJECT}
\chapterstyle{bianchi}
\let\cleardoublepage\clearpage
\maketitle
\frontmatter
\null\vfill
\begin{flushleft}
Copyright \copyright
%\textit{TITLE}
All rights reserved.
ISBN:
ISBN--13:
\bigskip
\end{flushleft}
\let\cleardoublepage\clearpage
\clearpage
\tableofcontents
\chapter{Introduction}
\lipsum[1]
\lipsum[2]
\lipsum[3]
\mainmatter
\sloppy
%Input all of the chapter here
\backmatter
\end{document}
我还遇到了未满的\vbox
情况,我不知道该如何解决。也许这两者有关?
编辑:
我修改了文档以符合 createspace 的指导方针,但现在又\vbox
回来了。我尝试使用\vfil
选项,但不起作用。可能是什么问题?
\documentclass[11pt,twoside,openright]{memoir}
\usepackage{geometry}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{lipsum}
\geometry{
paperheight=8.00in,
top=.75in,
bottom=.75in,
paperwidth=5.25in,
inner=.38in,
outer=.75in,
bindingoffset=.75in,
}
\begin{document}
\chapterstyle{bianchi}
\tableofcontents*
\let\cleardoublepage\clearpage
\clearpage
\pagenumbering{roman}
\chapter{Introduction Chapter}
\vfil
\lipsum[1-10]
\mainmatter
\sloppy
%Input all of the chapter hermane
\pagenumbering{arabic}
\chapter{Awesome chapter}
\vfil
\lipsum[1-20]
\end{document}
更新
我\raggedbottom
按照之前的建议使用了序言,这似乎已经消除了所有\vbox
错误。我将查看整个文件并再次更新。
更新2
\raggedbottom
修复了 99.99% 的问题,除了我得到 1 overfull \vbox
。确切的错误是:
\output 处于活动状态时,发生 \vbox 过满(13.59999pt 太高)[]
答案1
问题在于,您的设置和包为 定义了一个可拉伸尺寸\parskip
,即可增加或减少(在某些限制内)的尺寸,以便始终生成完全填充的页面(即\vbox
)。
TeX 在寻找结束第一页的点时遇到了麻烦。在某个点,没有足够的空间来放置另一行,但如果他在那个点中断页面,则没有足够的材料来生成完全填充的页面(即:最后一行将不会与底部对齐)。因此,它使用他在页面中可以找到的可拉伸空间。显然,他找到的唯一可拉伸空间是\parskip
。即使使用它,允许的可拉伸性\parskip
也不够,因此 TeX 必须将其拉伸到极限之外(因此底部有盒子信息)。
这个“问题”有一个简单的解决方案:
- 设置
\parskip=0pt
。这将禁用其可拉伸性,并且段落之间的距离将始终为零,因此当 TeX 无法完全填满页面时,它将在底部插入空格并抱怨底部填充垂直框。 - 放入
\raggedbottom
序言中。这会在每页末尾添加一个可无限拉伸的空间。此解决方案产生的结果与 2 相同,但没有未满会产生信息,因为无限的胶水会“吸收”所有的赤字。
无论如何,我怀疑问题在于createspace
样式试图设置所有设置,以便所有页面都有“网格”中的线条,即所有文本的基线在每一页之后都是相同的。可能第一页会因为标题而以某种方式打破布局。
如果我是对的,那么在文档的剩余部分中您将不会再看到更多未满的框或额外的跳过框,直到下一个章节标题,这会再次破坏布局。
如果是这种情况,更好的解决方案是在章节标题周围插入可伸缩空间。这样,在那些有问题的页面中,TeX 会选择该空间来“吸收”缺陷,而不是选择 parskip。这样做:
\chapter{Introduction}
\vfil
有关可拉伸胶水的更多信息,您可以阅读我对另一个问题的回答。
更新
我做了一些实验,并得出结论,我正确地猜出了问题的原因和最佳解决方案。
原因是它createspace
试图通过强制对齐每页的底线来将所有页面排版到同一个网格上。但是,第一页有所不同,因为章节标题引入了不是 baselineskip 倍数的间距,并导致对齐问题。
以下屏幕截图显示了原始文档中第一页和第二页的基线不匹配的情况:
使用该\raggedbottom
技术可以使段落之间的间隙消失,但会使基线匹配的问题更加严重,因为现在页面底部并不统一(并且中间行仍然无法正确匹配):
使用\vfil
after\chapter
解决所有问题: