titlesec 使 fancyhdr 错误处理文档类

titlesec 使 fancyhdr 错误处理文档类

MWE 非常简单:

\documentclass[twoside]{article}
%\usepackage{titlesec}
\usepackage{fancyhdr}
\begin{document}
\pagestyle{fancy}
\section{tist1}
\subsection{a}
\newpage
\subsection{b}
\end{document}

在第二页上,左边是子部分名称,右边是部分名称。

现在,取消注释导入titlesec,行为就会发生变化:左边是章节名称,右边什么都没有(实际上是一个不存在的章节名称的幻像)。

发生这种情况是因为titlesec重新定义\chapter\relax,尽管通常它undefinedarticle课堂上。该fancyhdr包有以下检查:

\ifx\chapter\@undefined

它失败了,并且分数被定义为有章节的课程。我可以用

\let\chapter\undefined

在 之后\usepackage{titlesec},或者通过明确重新定义sectionmark/subsectionmark在 之后\pagestyle{fancy}。但我为什么要这样做?这是 中的一个错误titlesec,还是设置\chapter\relax有某种目的?

更新:

 *File List*
 article.cls    2018/09/03 v1.4i Standard LaTeX document class
  size10.clo    2018/09/03 v1.4i Standard LaTeX file (size option)
titlesec.sty    2016/03/21 v2.10.2 Sectioning titles
fancyhdr.sty    2017/06/30 v3.9a Extensive control of page headers and footers
 ***********

相关内容