多个花哨页眉页面样式的问题

多个花哨页眉页面样式的问题

我想在我的文档中使用多种 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}

相关内容