![如何在页眉中放置短标题而在目录中放置长标题(titlesec 包与sectionmark冲突)?](https://linux22.com/image/274797/%E5%A6%82%E4%BD%95%E5%9C%A8%E9%A1%B5%E7%9C%89%E4%B8%AD%E6%94%BE%E7%BD%AE%E7%9F%AD%E6%A0%87%E9%A2%98%E8%80%8C%E5%9C%A8%E7%9B%AE%E5%BD%95%E4%B8%AD%E6%94%BE%E7%BD%AE%E9%95%BF%E6%A0%87%E9%A2%98%EF%BC%88titlesec%20%E5%8C%85%E4%B8%8Esectionmark%E5%86%B2%E7%AA%81%EF%BC%89%EF%BC%9F.png)
我的论文格式如下:
\documentclass[oneside,11pt,english]{book}
\usepackage{lipsum}
\usepackage{fancyhdr}
\usepackage{titlesec}
\setlength{\headheight}{26pt}
\fancypagestyle{anfang}{%
\fancyhead{\test}
\renewcommand{\headrulewidth}{0.4pt}
\fancyhf{}%
\fancyhead[L]{\rightmark}
\fancyfoot[C]{\thepage}
\lhead{\nouppercase{\leftmark}}
}
\fancypagestyle{rest}{
\fancyhf{}
\fancyhead[L,R]{ \rightmark}
\fancyhead[L,R]{ \leftmark}
\fancyfoot[C]{\thepage}
\rhead{\nouppercase{\rightmark}}
\lhead{\nouppercase{\leftmark}}
}
\titleformat{\part}[display]
{\normalfont\center}{\huge\scshape\partname\ \thepart\\*[-15pt]\hrulefill} {-13pt}{\huge\scshape\bfseries}[\vspace{-25pt}\hrulefill]
\titleformat{\chapter}[display]
{\normalfont\filleft}{\LARGE\scshape\chaptertitlename\ \thechapter\\*[-15pt]\hrulefill}{-13pt}{\scshape\LARGE\bfseries}[\vspace{-25pt}\hrulefill]
\titlespacing*{ \chapter}{0pt}{65pt}{40pt}
\titleformat{name=\chapter,numberless}[display]
{\normalfont\filleft}{\vspace{-15pt} \hrulefill}{-13pt} {\scshape\LARGE\bfseries}[\vspace{-25pt}\hrulefill]
\titlespacing*{\chapter}{0pt}{65pt}{40pt}
\begin{document}
\pagestyle{rest}
\chapter[chapter title for the toc]{Title of the chapter as displayed in the thesis\chaptermark{chapter title as in the header}}
\chaptermark{chapter title as in the header}
\lipsum \lipsum
\section[section title for the toc]{section title as displayed in the thesis\sectionmark{section title as in the header}}
\sectionmark{section title as in the header}
\lipsum
\subsection[subsection title for the toc]{subsection title as displayed in the thesis}
\subsectionmark{subsection title as in the header}
\lipsum
\part{here we have a part}
\end{document}
出现问题的原因是,我用来制作章节和部分开头布局的 titlesec 包与 sectionmark 的使用存在某种冲突,因此第一页的页眉中出现的章节标题应该是目录中的标题。事实上,sectionmark 对第一页没有任何作用,在第二页上一切都正常。我的第二页上的页眉如下所示:
而不是第 3 页上的那个:
我想要的是让“页眉的章节标题”出现在每个页面的页眉中,而不是“目录的章节标题”。
有谁知道我该如何解决这个问题?
答案1
你想要做的事情很简单,只需通过 » 中的相应课程即可KOMA 脚本«。
\documentclass[
headings=optiontohead
]{scrbook}
\usepackage[T1]{fontenc}
\usepackage{blindtext} % only for the dummy text
\begin{document}
\tableofcontents
\chapter[head=Chapter head entry,tocentry=Chapter ToC entry]{Chapter title}
\blindtext[5] % creates the dummy text
\end{document}
欲了解详情,请参阅 »KOMA 脚本“ 用户指南。
请注意 »盲文« 包在这里仅用于创建虚拟文本,因此不是解决方案的一部分。