在我当前的文档中,有一些章节必须与\chapter*
- 命令一起添加,因为我不希望它们是真正的章节(toc中没有条目,没有章号,......)。这很好。
但在我的标题中,我希望显示chapter-name
。我正在使用fancyheaders
和\leftmark
:
\fancyhead[RO,LE]{\leftmark}
问题是,对于使用\chapter*
- 命令添加的章节,\leftmark
未更新,因此标题仍显示上一章的章节名称。
因此,我需要强制\chapter*
自动更新\leftmark
,或者切换到\chapter
- 命令,但要阻止其他内容(toc中的条目,... )。但我不知道怎么做!有什么想法吗?
答案 0 :(得分:3)
我刚刚将章和节命令重新定义为我需要的内容并明确设置了\leftmark
。章节命令将不再使用leftmark,但我不在乎,因为我在整个文档中使用\nnchapter
和\nnsection
命令
\newcommand{\nnchapter}[1]{
\phantomsection
\addcontentsline{toc}{chapter}{#1}\renewcommand{\leftmark}{#1}\chapter*{#1}
}
\newcommand{\nnsection}[1]{
\phantomsection
\addcontentsline{toc}{section}{#1}\renewcommand{\leftmark}{#1}\section*{#1}
}
答案 1 :(得分:3)
\chapter
等命令的*形式不会调用mark命令。因此,如果您希望您的前言设置标题信息但不编号也不能放在目录中,您必须自己发出\markboth
命令,例如
\chapter*{abc123\markboth{abc123}{}}
答案 2 :(得分:2)
试试这个:
\let\oldleftmark=\leftmark
\chapter*{My New Leftmark}
\renewcommand{\leftmark}{My New Leftmark}
...
Your text
...
\pagebreak
\chapter{Next Chapter}
\let\leftmark=\oldleftmark
pagebreak
需要确保使用新的lefmark
答案 3 :(得分:1)
{
\renewcommand{\leftmark}{ABC123}
\chapter*{ABC123}
%... and so on ...
}
答案 4 :(得分:0)
我不确定这会有效,因为我目前的机器上没有安装LaTeX ......
但您可以尝试在\ chapter *命令之后设置\ markleft命令,如下所示:
\chapter*{Chapter title goes here}
\markleft{Chapter title goes here} % content should be added to the \leftmark
希望这有帮助。