ヘッダーを斜体形式にする

ヘッダーを斜体形式にする

ヘッダーとフッターを変更しようとしています。これを使用しています:

\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}

ここに画像の説明を入力してください

関連情報