我正在使用 LaTeX 创建论文,其中我用于fancyhdr
全局定义页眉和页脚。我试图实现的是:
- 将我当前章节名称的较短版本打印为带有规则(线)的页面两侧的页眉。
- 将我当前的部分名称的较短版本打印为带有规则(线)的页面两侧的页脚。
- 章节和节标题应在文本空间中完整显示。
- 目录应显示我的章节和部分名称的完整版本。
我面临的问题是,我的目录显示了章节和部分名称的缩短版本,而我想要的是完整版本。
MWE如下:
\documentclass[a4paper,11pt]{book}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead{}
\fancyfoot{}
\setcounter{tocdepth}{3}
\setcounter{secnumdepth}{3}
\fancyhead[L]{\textsl{\leftmark}}
\fancyfoot[L]{\textsl{\rightmark}}
\fancyfoot[R]{\thepage}
\renewcommand{\footrulewidth}{0.4pt}
\usepackage{lipsum}
\begin{document}
\tableofcontents
\chapter[headchap]{Heading of this chapter}
\section[Intro]{Introduction to the topic and scope of this work}
\lipsum{1-5}
\end{document}
如何达到上述四个要求(最好不使用任何额外的包)?
答案1
一种方法是使用titlesec
带有toctitles
选项的包。例如:
\documentclass{article}
\usepackage[toctitles]{titlesec}
\usepackage{lipsum}
\pagestyle{headings}
\begin{document}
\tableofcontents
\section[L 1]{Lipsum 1}
\lipsum
\section[L 2]{Lipsum 2}
\lipsum
\section[L 3]{Lipsum 3}
\lipsum
\end{document}
不幸的是,它不会影响章节。因此,对于章节,您可以使用以下内容(现在我正在将代码添加到您的 MWE):
\documentclass[a4paper,11pt]{book}
\usepackage[toctitles]{titlesec}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead{}
\fancyfoot{}
\setcounter{tocdepth}{3}
\setcounter{secnumdepth}{3}
\fancyhead[L]{\textsl{\leftmark}}
\fancyfoot[L]{\textsl{\rightmark}}
\fancyfoot[R]{\thepage}
\renewcommand{\footrulewidth}{0.4pt}
\usepackage{lipsum}
\begin{document}
\tableofcontents
\chapter{Heading of this chapter}
\markboth{\MakeUppercase{\chaptername\ \thechapter. Headchap}}{\MakeUppercase{\chaptername\ \thechapter. Headchap}}
\section[Intro]{Introduction to the topic and scope of this work}
\lipsum{1-5}
\end{document}
同样,toctitles
用于章节,并在章节标题后添加一行代码。它模仿标准书籍类行为(大写单词 CHAPTER,然后是其编号,然后是标题的简短版本)。
答案2
在没有任何包的情况下,您可以设置“标记”来指定运行头的内容。
如果您希望左页和右页的页眉相同:
\section{full section header}
\markboth{short header text}{short header text}
如果您希望此标题仅出现在右侧页面上:
\section{full section header}
\markright{short header text}
答案3
您没有提及文档中使用的类。
使用 KOMA-Script 类,您可以使用选项headings=optiontohead
:
\documentclass[headings=optiontohead]{scrbook}
\usepackage{lipsum}
\pagestyle{headings}
\begin{document}
\tableofcontents
\part[P 1]{Part 1}
\chapter[C 1]{Chatper 1}
\lipsum
\section[S 1]{Section 1}
\lipsum
\section[S 2]{Section 2}
\lipsum
\end{document}