ヘッダーとフッターを変更しようとしています。これを使用しています:
\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 も同様です。
MWE:
\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}