我在课堂上使用 A6 工作memoir
。对于这种格式,我想从默认页面标题样式中删除“章节”一词memoir
以及章节编号,以便页眉中只包含章节标题。可以通过在后面添加以下内容来删除“章节”一词\begin{Document}
:
\renewcommand{\chaptername}{}
但章节号仍保留在页眉中。我添加了这个命令:
\renewcommand\printchapternonum{}
但没有效果。
有什么快速简便的方法可以从标题中删除章节号?我查看了包,fancyhdr
发现与有冲突memoir
;同样,我尝试更改为,scrbook
但出现错误(基线跳过已定义)。
必须有一种简单的方法来实现这一点。
[之后]
谢谢大家的帮助。
答案1
正确的memoir
做法
\addtopsmarks{headings}{}{
\createmark{chapter}{left}{nonumber}{}{}
}
\pagestyle{headings} % activate changes
没有必要去弄清楚内部工作原理或诸如此类的事情。
答案2
您可以重新定义\chaptermark
:
\documentclass{memoir}
\usepackage{lipsum}% just to generate text for the example
\makeatletter
\renewcommand\chaptermark[1]{%
\markboth{\MakeUppercase{#1}}{}
}
\makeatother
\begin{document}
\chapter{Test chapter}
\lipsum[1-10]
\end{document}
第二页标题的图片:
大写字母不太好看,所以也许你可以改用小写字母:
\documentclass{memoir}
\usepackage{lipsum}% just to generate text for the example
\makeatletter
\renewcommand\chaptermark[1]{%
\markboth{\textsc{#1}}{}
}
\makeatother
\begin{document}
\chapter{Test chapter}
\lipsum[1-10]
\end{document}
答案3
使用twoside
样式时,\chaptermark
命令定义为
> \chaptermark=macro:
#1->\@setclcnt {chapter}{@memmarkcntra}\advance \c@@memmarkcntra \m@ne \markboth
{\memUChead {\ifnum \c@secnumdepth > \c@@memmarkcntra \if@mainmatter \@nameuse
{chaptermarksn}{\@chapapp \ \@nameuse {thechapter}. \ }\fi \fi #1}}{}.
在 中找到定义并不容易memoir.cls
,因为它在处理类代码期间被修改了,所以我使用了\show\chaptermark
。
\chaptermarksn
通过查看仅使用其参数的定义,解决方案就很容易了:
\renewcommand{\chaptermarksn}[1]{}
因为章节标签和编号作为参数传递给了它。
例子
\documentclass{memoir}
\renewcommand\chaptermarksn[1]{}
\begin{document}
\tableofcontents*
\chapter{Test Chapter}
\section{Test Section}
\lipsum[1-20]
\end{document}