我正在尝试获取当前的部分名称并将其添加到右侧的标题。
\documentclass[12pt,french]{report}
\renewcommand\chaptername{Chapitre}
\renewcommand\appendixname{Annexe}
\let\@oldmakechapterhead\@makechapterhead
\def\@makechapterhead#1{%
\vspace*{10\p@}%
{\parindent \z@
{\reset@font
\usefont{OT1}{phv}{m}{n}
\LARGE\@chapapp~\thechapter\par\nobreak}%
\par\nobreak
\vspace*{30\p@}
\interlinepenalty\@M
\usefont{OT1}{ptm}{b}{n}
{\raggedright \Huge #1}%
\par\nobreak
\vskip 20\p@
\hrule height 1pt
\par\nobreak
\vskip 45\p@
}}
\rhead{\nouppercase\rightmark}
\begin{document}
\addtocontents{toc}{\protect\thispagestyle{empty}}
\chapter{ABC}
\end{document}
请问我如何获取当前章节名称并将其放入该行而不将其添加到目录、目录表和目录图形中?
答案1
如果我正确理解了您的问题,您正在尝试在内容页面上添加标题,但没有在 TOC、LOT、LOF 页面上添加相同的标题。
最好使用fancyhdr
包来实现这一点,它将使常规页面具有您定义的页眉,同时将前言页和其他特殊页面(例如章节的第一页)保持为“普通”样式,即在底部仅显示页码。
这段代码给出了:
\documentclass[12pt,french]{report}
\usepackage{blindtext} % For example
\usepackage{fancyhdr}
\fancyhead{} % Clear the headers
\renewcommand{\headrulewidth}{0pt} % Width of line at top of page
\fancyhead[R]{\slshape\leftmark} % Mark right [R] of page with Chapter name [\leftmark]
\pagestyle{fancy} % Set default style for all content pages (not TOC, etc)
\begin{document}
\tableofcontents
%\chapter{ABC}
\blinddocument
\end{document}
输出: