我想在我的文档中使用多种 fancyheader 样式。我遇到了一个问题,对我来说似乎是一个错误。下面的代码无法编译latex
;它似乎陷入了无限循环。
\documentclass{book}
\usepackage{lipsum}
\usepackage{fancyhdr}
\fancypagestyle{fancy}{%
\fancyhf{}
\fancyhead[C]{fancy \thepage}
\fancyfoot{}
}
\fancypagestyle{tocstyle}{%
\fancyhf{}
\renewcommand{\headrulewidth}{0pt}
\fancyfoot[C]{\footnotesize{TOC \thepage}}
}
\begin{document}
\frontmatter
\pagestyle{tocstyle}
\tableofcontents
\mainmatter
\pagestyle{fancy}
\chapter{Intro}
\lipsum
\end{document}
fancy
如果我用其他任何样式替换 fancyheader 样式,例如fancy1
,那么一切都会按预期工作。
答案1
该包fancyhdr
基本上适用于\pagestyle{fancy}
任何地方(除非声明了已经定义的页面样式)。因此,
\fancypagestyle{foo}{...}
任何声明\pagestyle{foo}
实际上都将被转换为 ,\pagestyle{fancy}
其字段值如先前的定义中所述foo
。
因此你不能说\fancypagestyle{fancy}{...}
,但可以自由使用任何其他您想要的名称,包括其他预定义样式的名称。
我建议你
\documentclass{book}
\usepackage{lipsum}
\usepackage{fancyhdr}
\fancypagestyle{main}{%
\fancyhf{}
\fancyhead[C]{fancy \thepage}
\fancyfoot{}
}
\fancypagestyle{front}{%
\fancyhf{}
\renewcommand{\headrulewidth}{0pt}
\fancyfoot[C]{\footnotesize{TOC \thepage}}
}
\begin{document}
\frontmatter
\pagestyle{front}
\tableofcontents
\mainmatter
\pagestyle{main}
\chapter{Intro}
\lipsum
\end{document}