如何使用 \createmark 和回忆录获取标题中的“Section xy”?

如何使用 \createmark 和回忆录获取标题中的“Section xy”?

代码

  \createmark{section}{right}{shownumber}{\@secapp}{\ }

以下源代码中给出了\@secapp未定义的错误。我尝试将其与上一行中的用法类比\@chapapp,以便生成例如

Section 1.1 Test section

在奇数页的页眉中——即包括单词Section不是在 1.1 节编号后添加一个句点。

问题:那么怎样才能做到这一点呢?

据我所知,回忆录文件没有提到这一点。

\documentclass{memoir}
\usepackage{lipsum}

\nouppercaseheads
\makepagestyle{mystyle} 
\makeheadrule {mystyle}{\textwidth}{\normalrulethickness}
\makeevenhead{mystyle}{\bfseries\sffamily\thepage}{}{\bfseries\sffamily\leftmark}
\makeoddhead{mystyle}{\bfseries\sffamily\rightmark}{}{\bfseries\sffamily\thepage} 
\makeatletter
\addtopsmarks{mystyle}{}{ 
  \createmark{chapter}{left}{shownumber}{\@chapapp\ }{. \ } 
  \createmark{section}{right}{shownumber}{\@secapp}{\ }
}
\makeatother

\pagestyle{mystyle}

\begin{document}

\chapter{Test Chapter}
\lipsum[1]

\section{Test Section}
\lipsum[1-20]

\end{document}

答案1

在您的 MWE 中替换:

\createmark{section}{right}{shownumber}{\@secapp}{\ }

经过

\createmark{section}{right}{shownumber}{Section }{\ }

您尝试使用\@secapp来模仿\@chapapp,但 的\@chapapp特殊之处在于,无论是否设置了附录或普通章节,其值都会发生变化;它是一个内部 LaTeX 宏。对于章节,无需进行此类卷积。

相关内容