머리글과 바닥글을 변경하려고 합니다. 나는 이것을 사용하고 있습니다 :
\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를 바꾸면 됩니다.
\목차도 마찬가지다.
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}