Я пытаюсь изменить верхние и нижние колонтитулы. Я использую это:
\documentclass[12pt,b5paper]{book}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[LE]{\fontsize{12}{12}\selectfont\nouppercase\thepage}
\fancyhead[RE]{\fontsize{9}{12}\selectfont\nouppercase\leftmark}
\fancyhead[RO]{\fontsize{12}{12}\selectfont\nouppercase\thepage}
\fancyhead[LO]{\fontsize{9}{12}\selectfont\nouppercase\rightmark}
\fancyfoot[CE,CO]{}
\fancyfoot[LE,RO]{}
\renewcommand{\chaptermark}[1]{\markboth{\chaptername \ \thechapter \ -\ #1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection \ -\ #1}{}}
откуда я это взял:
Но я хочу, чтобы заголовок (Глава 4 — Карбены тетракоординированного железа) был выделен курсивом.
как я могу это сделать?
заранее спасибо.
решение1
Почему вы не используете \small
или \footnotesize
для размера шрифта (в зависимости от параметра размера шрифта в вашем классе документа)?
Вот возможный код:
\documentclass[12pt,b5paper]{book}
\usepackage[utf8]{inputenc}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[LE]{\thepage}
\fancyhead[RE]{\fontsize{9}{12}\selectfont\itshape\nouppercase{\leftmark}}
\fancyhead[RO]{\thepage}
\fancyhead[LO]{\fontsize{9}{12}\selectfont\itshape\nouppercase{\rightmark}}
\fancyfoot[CE,CO]{}
\fancyfoot[LE,RO]{}
\renewcommand{\chaptermark}[1]{\markboth{\chaptername \ \thechapter \ –\ #1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection \ –\ #1}{}}
\begin{document}
\setcounter{chapter}{3}
\chapter{Tetracoordinate Iron Carbenes}
\newpage
\setcounter{section}{1}
\section {The reference system}
\end{document}
решение2
Предпочтительнее использовать команды более высокого уровня, такие как , \footnotesize
а не \fontsize
.
Обратите внимание, что \nouppercase
это команда, принимающая аргумент, поэтому правильный синтаксис будет таким \nouppercase{\itshape\leftmark}
: , но \itshape
объявление лучше сделать снаружи \leftmark
.
\documentclass[a4paper,12pt]{book}
\usepackage{fancyhdr}
\usepackage{lipsum} % just for testing
\pagestyle{fancy}
\fancyhf{}
\fancyhead[LE,RO]{\thepage}
\fancyhead[RE]{\footnotesize\itshape\nouppercase{\leftmark}}
\fancyhead[LO]{\footnotesize\itshape\nouppercase{\rightmark}}
\setlength{\headheight}{14.5pt} % as requested by fancyhdf
\renewcommand{\chaptermark}[1]{\markboth{\chaptername \ \thechapter \ -\ #1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection \ -\ #1}{}}
\begin{document}
\tableofcontents
\chapter{Tetracoordinate Iron Carbenes}
\section{Some title}
\lipsum[1-20]
\end{document}
Если вы используете размер меньше 12pt в качестве параметра класса документа, закомментируйте строку \setlength
и проверьте в файле журнала правильную длину для назначения \headheight
.
На самом деле, поскольку вы переопределяете \chaptermark
и \sectionmark
, \nouppercase
то он не понадобится; однако, \tableofcontents
проблемы \MakeUppercase
(и, аналогично, \listoffigures
и \listoftables
), поэтому лучше все равно добавить его.
решение3
Вот решение без fancyhdr. Можно переопределить:
\ps@headings
Просто замените \MakeUppercase на \itshape. (Я сделал это с помощью xparse, это не обязательно, вы можете просто скопировать определение из book.cls и заменить \MakeUppercase, как описано.
То же самое и с \tableofcontents.
МВЭ:
\documentclass{book}
\usepackage{xparse}
\usepackage{blindtext}
\makeatletter
\DeclareDocumentCommand\ps@headings{}%
{\let\@oddfoot\@empty\let\@evenfoot\@empty%
\DeclareDocumentCommand\@evenhead{}{\thepage\hfil\leftmark}%
\DeclareDocumentCommand\@oddhead{}{{\rightmark}\hfil\thepage}%
\let\@mkboth\markboth%
\DeclareDocumentCommand\chaptermark{m}%
{\markboth{\itshape% !!!!
{\ifnum \c@secnumdepth >\m@ne%
\@chapapp\ \thechapter. \ %
\fi%
##1}}{}}%
\DeclareDocumentCommand\sectionmark{m}%
{\markright{\itshape% !!!!
{\ifnum \c@secnumdepth >\z@%
\thesection. \ %
\fi%
##1}}}}
\pagestyle{headings}% Important to load the changes
\renewcommand\tableofcontents{%
\if@twocolumn
\@restonecoltrue\onecolumn
\else
\@restonecolfalse
\fi
\chapter*{\contentsname
\@mkboth{%
\itshape\contentsname}{\itshape\contentsname}}% !!!!
\@starttoc{toc}%
\if@restonecol\twocolumn\fi
}
\makeatother
\begin{document}
\tableofcontents
\Blinddocument
\end{document}