我正在嘗試更改我的頁眉和頁腳。我正在使用這個:
\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}