使用回忆录类将水平页脚规则与外边距对齐

使用回忆录类将水平页脚规则与外边距对齐

我使用memoir带有选项的文档类twoside,并希望\textwidth在页眉下方使用水平线,而在页脚上方使用较小的水平线。不幸的是,页脚线始终与左边距对齐,而我希望它与页码上方的外边距对齐。

最小工作示例:

\documentclass[twoside]{memoir}

\copypagestyle{myheadings}{headings}

% add the lines
\makeheadrule{myheadings}{\textwidth}{\normalrulethickness}
\makefootrule{myheadings}{2cm}{\normalrulethickness}{0pt}

% header/footer contents
\makeevenhead{myheadings}{\footnotesize\textsc{chapter \thechapter}}{}{}
\makeoddhead{myheadings}{}{}{\footnotesize\textsc{\MakeLowercase{\leftmark}}}
\makeevenfoot{myheadings}{\footnotesize\thepage}{}{}
\makeoddfoot{myheadings}{}{}{\footnotesize\thepage}

\begin{document}
\pagestyle{myheadings}

Test.
\newpage
Test.
\newpage
Test.

\end{document}

如您所见,第 2 页的线位于页码上方,而第 1 页和第 3 页的线位于另一侧。

我曾尝试添加\makeheadposition{myheadings}{}{}{\flushleft}{\flushright},但并没有任何改变。

答案1

我们首先必须加载etoolbox包并修补定义\makefootrule

\usepackage{etoolbox}
\makeatletter
\patchcmd{\makefootrule}
  {\hrule\@width #2\@height #3 }
  {\rule{#2}{#3}}
  {}
  {}
\makeatother

然后我们定义\makeheadfootruleprefix在奇数页中添加所需的空间:

\makeheadfootruleprefix{myheadings}{}{%
  \checkoddpage\ifoddpage\hspace*{\dimexpr\textwidth-2cm\relax}\fi}

就这样。

梅威瑟:

\documentclass[twoside]{memoir}

\usepackage{etoolbox}
\makeatletter
\patchcmd{\makefootrule}
  {\hrule\@width #2\@height #3 }
  {\rule{#2}{#3}}
  {}
  {}
\makeatother

\copypagestyle{myheadings}{headings}

% add the lines
\makeheadfootruleprefix{myheadings}{}{%
  \checkoddpage\ifoddpage\hspace*{\dimexpr\textwidth-2cm\relax}\fi}
\makeheadrule{myheadings}{\textwidth}{\normalrulethickness}
\makefootrule{myheadings}{2cm}{\normalrulethickness}{-4pt}

% header/footer contents
\makeevenhead{myheadings}{\footnotesize\textsc{chapter \thechapter}}{}{}
\makeoddhead{myheadings}{}{}{\footnotesize\textsc{\MakeLowercase{\leftmark}}}
\makeevenfoot{myheadings}{\footnotesize\thepage}{}{}
\makeoddfoot{myheadings}{}{}{\footnotesize\thepage}

\begin{document}
\pagestyle{myheadings}

Test.
\newpage
Test.
\newpage
Test.

\end{document} 

输出:

在此处输入图片描述

注意我已经调整为\makefootrule跳过-4pt

\makefootrule{myheadings}{2cm}{\normalrulethickness}{-4pt}

由于\rule的位置高于\hrule

相关内容