页码或正文应距页边距 1 英寸,具体取决于页面是否开始章节

页码或正文应距页边距 1 英寸,具体取决于页面是否开始章节

问题

我如何编写一个文档类,将页码放在具有章节标题的页面底部一英寸处,并将文本正文放在没有章节标题的页面底部一英寸处(页码放在页眉中)?

细节

我自愿为我的大学开设一门论文课程,这样未来的学生在选择使用 LaTeX 撰写论文时就不必担心论文的格式和布局。大学论文指南要求,如果页面包含章节标题,则页码应位于页面底部 1 英寸处,但如果页面不包含章节标题,则页码应按照相应样式指南的规定显示。

到目前为止,这可以通过使用geometry具有适当边距和includeheadfoot选项的包(例如这个问题),然后指定适当的默认页面样式(因为带有章节标题的页面将plain根据需要用页面样式覆盖)。

问题是,论文指导还要求如果页码不在底部,则正文必须距纸张底部 1 英寸。由于所有风格指南(APA、MLA、Chicago/Turabian 等)都建议将页码放在页眉中,对我来说,这意味着当且仅当页面有章节标题时,页码才会放在页脚中。

也许如果我能以某种方式修改具有章节标题的页面的几何形状以使用该includefoot选项,而其他页面默认为没有该选项的几何形状,我就可以解决我的问题。这个问题\chapter关于改变单个页面的几何形状给了我这样修补的想法\pretocmd

\pretocmd{\chapter}{\newgeometry{margin=1in,includeheadfoot}}{}{}

这种方法的唯一问题是我不知道如何在章节的后续页面上恢复几何形状,特别是因为我不知道章节的内容。

平均能量损失

\documentclass[letterpaper,12pt]{report}
\usepackage[margin=1in,includehead,includefoot,showframe]{geometry}
\usepackage{lipsum}

\pagestyle{myheadings}

% Remove includefoot option above and uncomment lines below to see patch attempt.
% \usepackage{etoolbox}
% \pretocmd{\chapter}{\newgeometry{margin=1in,includeheadfoot}}{}{}

\begin{document}
\chapter{Test}
Page number on this page should be in the footer and 1in from the bottom of the page.  Page number on the next page should be in the header and 1in from the top of the page and last line of text on the next page should be 1in from the bottom of the page.\par
\lipsum[1-10]
\end{document}

答案1

为了实现你所描述的,第一步是使用几何学包来实现仅具有标题的默认页面布局(使用includehead)。

页面plain样式(使用页脚而不是页眉)可以\topmargin仅调整章节标题所在的一页的值;实际上,将没有文本的页眉移动到顶部边距,同时将页脚移到底部 1 英寸边距之上。

要实现这种方法,请尝试以下操作(基于您的工作示例):

\documentclass[letterpaper,12pt]{report}

% Define default page layout with 1" margins and header only
\usepackage[margin=1in,includehead,showframe]{geometry}

\usepackage{lipsum}

\pagestyle{myheadings}

% Set \headsep so that \headsep + \headheight is the same length as \footskip
\setlength\headsep{\footskip}
\addtolength\headsep{-\headheight}

% Plain page style adjusted with the footer above bottom margin
\usepackage{etoolbox}
\makeatletter
    \appto{\ps@plain}{%
        \addtolength\topmargin{-\footskip}}
\makeatother

\begin{document}
\chapter{Test}
Page number on this page should be in the footer and 1in from the bottom of the page.  Page number on the next page should be in the header and 1in from the top of the page and last line of text on the next page should be 1in from the bottom of the page.\par
\lipsum[1-10]
\end{document}

注意:使用此方法,几何学包的showframe选项无法在使用plain页面样式的页面上正确呈现。

相关内容