chapterstyle 禁止在右侧/左侧显示页码

chapterstyle 禁止在右侧/左侧显示页码

我现在的页码在偶数或奇数侧,除了章节的第一页。我还希望章节第一页页脚中的数字显示在右侧或左侧,具体取决于它是在偶数页还是奇数页。我尝试过其他方法,但都没有奏效(目前)。这是基本设置。下面是解释:

\documentclass[a4paper,11pt,oldfontcommands]{memoir}
\setheadfoot{2\onelineskip}{\footskip}
\usetikzlibrary{positioning}

%%%%%%
% CHAPTER STYLES
%%%%%%
\makechapterstyle{simple}{
  \renewcommand*{\printchaptername}{}
  \setlength{\afterchapskip}{1cm}       %
  \renewcommand*{\printchaptertitle}[1]{\flushleft\chaptitlefont##1}
  }

\makechapterstyle{box}{%
  \setlength{\midchapskip}{-58pt}       %
  \setlength{\afterchapskip}{10mm}      %
  \renewcommand*{\printchaptername}{}   %
  \renewcommand*{\printchapternum}{     %
    \flushleft
    \begin{tikzpicture}
      \draw [fill=black] (0,0) rectangle (2cm,2cm);
      \node [text=white] at (1cm,1cm) { \chapnumfont\thechapter };
    \end{tikzpicture}}%
  \renewcommand{\printchaptertitle}[1]{%
        \hspace*{30mm}\chaptitlefont\MakeUppercase{##1}}}

\makeatletter
\settocpreprocessor{chapter}{%
  \let\tempf@rtoc\f@rtoc%
  \def\f@rtoc{%
  \texorpdfstring{\MakeTextUppercase{\tempf@rtoc}}{\tempf@rtoc}}%
}
\makeatother

%%%%%%
% PAGESTYLE
%%%%%%
\makepagestyle{bachelor}
\makepsmarks{bachelor}{
  \createmark{chapter}      {both}{shownumber}{}{. \ }
  \createmark{section}      {both}{shownumber}{}{. \ }
}
\makeoddhead{bachelor}%
  {}%
  {}%
  {\rightmark}%
\makeevenhead{bachelor}%
  {\leftmark}%
  {}%
  {}
\makeoddfoot{bachelor}
  {} %left
  {} %middle
  {\thepage} %right
\makeevenfoot{bachelor}
  {\thepage} %Left
  {} %middle
  {} %right

\pagestyle{bachelor}

\begin{document}
\chapterstyle{simple}
\chapter{Intro}
\chapterstyle{box}
\chapter{Theory}
\end{document}

我想要自己的章节风格,因为我认为它比标准更漂亮。不幸的是,这使得寻找解决方案变得更加复杂。

答案1

memoir使用chapter页面样式作为每章的第一页。chapter页面样式被视为别名页面plain样式。为了修改别名页面样式,首先必须制作页面样式的真实副本:

\copypagestyle{chapter}{plain}

上述代码真实复制了plain页面样式并将其称为chapter页面样式。现在调整奇怪的页面样式的页脚chapter,因为每个章节的第一页默认设置在奇数页:

\makeoddfoot{chapter}
  {}% Left
  {}% Centre
  {\thepage}% Right

由于会在每一章的第一页memoir自动发布\thispagestyle{chapter},因此您无需执行任何其他操作。

相关内容