大家好。
我正在写一本书,我遇到了一个奇怪的问题想要fancyhdr 包的样式。我需要在偶数页上显示书的标题,在奇数页上显示章节的标题(包括标题上的一些图片)。这是我用来设置的代码想要风格:
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{\it \myfont \chaptername\ \thechapter.\ \normalfont \myfont #1}{}}%
\fancyhf{}\fancyhead[LE]{\makebox[0pt][l]{\hspace{-25mm}\raisebox{-4mm}{\includegraphcs[scale=1,bb=0 0 1 1]{image}}}%
\large \myfont \thepage \hspace{0.5cm} \it \normalsize \myfont Book title}%
\fancyhead[RO]{\myfont \leftmark \hskip2em \normalfont \large \myfont \thepage}%
\fancyhead[LO]{\makebox[0pt][l]{\hspace{-190mm}\raisebox{-4mm}{\includegraphics[scale=1,bb=0 0 1 1]{image}}}}
\renewcommand*\headrulewidth{0pt}
\renewcommand*\footrulewidth{0pt}
该标题必须从第 1 章开始显示(主要内容部分),但我需要我的标题前言部分。因此,我称我的标题在 \frontmatter 命令之后添加样式,然后我调用想要\mainmatter 命令后的样式。
\begin{document}
\frontmatter
\pagestyle{myheadings}
\thispagestyle{empty}
\tableofcontents
\cleardoublepage
\include{Introduction}
\mainmatter
\pagestyle{fancy}
\include{chapter1}
.
.
.
\end{document}
问题是,如果我不打电话给我的标题风格(或者我称之为清楚的风格),想要风格完美。但是当我调用我的标题风格,想要样式显示书名(偶数页)而不显示章节标题(奇数页)!
我该如何解决这个奇怪的行为?我的意思是,我该如何让想要即使我调用我的标题前台的风格?
感谢您的帮助。
编辑:这是一个可编译的代码。
\listfiles
\documentclass[reqno]{book}
\usepackage{makeidx}
\usepackage[spanish,es-nosectiondot]{babel}
\usepackage[utf8]{inputenc}
\usepackage{infwarerr}
\usepackage{color}
\usepackage{xcolor}
\usepackage{verbatim} %Para comentar bloques de texto
\usepackage[paperheight=254.81mm,paperwidth=184.81mm,text={130mm,186mm},centering]{geometry}
\usepackage{epsfig,graphicx,psfrag,float}
\usepackage[format=hang,labelsep=quad,textformat=period]{caption}%Configura el caption de las figuras
\usepackage{geometry}
\usepackage{ltxcmds}
\usepackage[all]{xy}
\usepackage{tocloft}% Este paquete modifica los parámetros de la Tabla de Contenidos (ToC)
\usepackage{fancyhdr}
\usepackage{titlesec}
\usepackage{sectsty}
\usepackage{enumerate}
\usepackage{hyperref}
\usepackage{lipsum}
\usepackage{tcolorbox}
\usepackage{lettrine}
\usepackage{caption}
\usepackage{pdfpages}
\definecolor{Gris}{RGB}{233,233,233}
\definecolor{myGris}{RGB}{101,98,99}
\makeindex
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{\it \chaptername\ \thechapter.\ \normalfont #1}{}}%Redefine la manera en que se muestra el capítulo en el encabezado
\fancyhf{}
\fancyhead[LE]{\makebox[0pt][l]{%Encabezado páginas pares, a la izquierda
\hspace{-25mm}\raisebox{-4mm}{}%\includegraphics[scale=1,bb=0 0 1 1]{franja_encabezados_pares.png}}%
} \large \thepage \hspace{0.5cm} \it \normalsize Title of the Book}
\fancyhead[RO]{\leftmark \hskip2em \normalfont \large \thepage}%Encabezado páginas impares, a la derecha
\fancyhead[LO]{\makebox[0pt][l]{
\hspace{-190mm}\raisebox{-4mm}{}%\includegraphics[scale=1,bb=0 0 1 1]{franja_encabezados_impares.png}}%
}}
\renewcommand*\headrulewidth{0pt}
\renewcommand*\footrulewidth{0pt}
\begin{document}
\frontmatter
\pagestyle{myheadings}
\begin{center}
TITLE OF THE BOOK
\end{center}
\newpage
\begin{center}
Authors
\end{center}
\newpage
\tableofcontents
\cleardoublepage
\chapter{Introduction}\thispagestyle{empty}
\lipsum[1-10]
\mainmatter
\pagestyle{fancy}
\pagenumbering{arabic}%A partir de aqui se enumeran las paginas con numeros arabigos
\chapter{Chapter 1}
\lipsum[11-16]
\section{Section 1}
\lipsum[17-25]
\chapter{Chapter 2}
\lipsum[26-35]
\section{Section 2}
\lipsum[36-50]
\end{document}
答案1
就我个人而言,我不会混合myheadings
使用fancyhdr
。我会使用包的接口定义一种新样式。但是,它似乎工作正常。结果对我来说看起来很奇怪:章节名称等大写,书名斜体,页码大写。我想每个人都有自己的风格。
介绍部分应该没有编号,所以您需要在这里明确设置标记。
\documentclass[reqno]{book}
\usepackage{makeidx}
\usepackage[spanish,es-nosectiondot]{babel}
\usepackage[utf8]{inputenc}
\usepackage{xcolor}
\usepackage[paperheight=254.81mm,paperwidth=184.81mm,text={130mm,186mm},centering]{geometry}
\usepackage{fancyhdr}
\usepackage{lipsum}
\usepackage{hyperref}
\definecolor{Gris}{RGB}{233,233,233}
\definecolor{myGris}{RGB}{101,98,99}
\makeindex
% \pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{\itshape \chaptername\ \thechapter.\ \normalfont #1}{}}
\fancyhf{}
\fancyhead[LE]{\large\thepage\hspace{0.5cm} \itshape\normalsize Title of the Book}
\fancyhead[RO]{\leftmark\hskip 2em \normalfont\large\thepage}
\renewcommand*\headrulewidth{0pt}
\renewcommand*\footrulewidth{0pt}
\begin{document}
\frontmatter
\pagestyle{myheadings}% not recommended, but seems to work OK
\begin{titlepage}
\begin{center}
TITLE OF THE BOOK
\end{center}
\end{titlepage}
\begin{center}
Authors
\end{center}
\tableofcontents
\chapter*{Introduction}\markboth{\itshape Introduction}{}\thispagestyle{empty}
\lipsum[1-10]
\mainmatter
\pagestyle{fancy}
\chapter{Chapter 1}
\lipsum[11-16]
\section{Section 1}
\lipsum[17-25]
\chapter{Chapter 2}
\lipsum[26-35]
\section{Section 2}
\lipsum[36-50]
\end{document}
您不需要所有这些\newpage
以及\cleardoublepage
设置页码等等。无论如何,您想要的是标准的东西,所以只需让 LaTeX 完成它的工作即可。
答案2
\fancyhead
您可以根据需要随时在文档正文中重新发出命令。
例如,将此代码紧跟在后面\section{Section 1}
:
\fancyhead[LE]{\makebox[0pt][l]{
\hspace{-25mm}\raisebox{-4mm}{}
} \large \thepage \hspace{0.5cm} \normalsize NOT THE TITLE}
您也可以留空\fancyhead
。这也适用于自定义标题。