
Я пытаюсь получить название текущего раздела и добавить его в заголовок справа.
\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}
Как мне получить название текущего раздела и вставить его в эту строку, не добавляя его в оглавление, таблицы и рисунки TO?
решение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}
Выход: