代码
\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 宏。对于章节,无需进行此类卷积。