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

after \usepackage{titlesec},或透過明確重新定義sectionmark/ subsectionmarkafter \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
 ***********

相關內容