ページスタイル間の切り替えに問題があります

ページスタイル間の切り替えに問題があります

私は次の文書を扱っています:

\documentclass[a4paper,11pt]{article}
\usepackage[utf8]{inputenc}

\usepackage{fancyhdr}
\setlength{\headheight}{13.6pt}
\fancypagestyle{plain}{
    \fancyhf{}
    \cfoot{\thepage}
}
\pagestyle{fancy}

\begin{document}

\pagestyle{plain}
\tableofcontents
\clearpage

\pagestyle{fancy}

\include{text/intro}
\include{text/methods}
\include{text/results}
\include{text/discussion}

\end{document}

目次は独自のスタイル定義でフォーマットしたいのですplainが、ドキュメントの残りの部分はスタイルに従う必要がありますfancy

問題は、2 回目の\pagestyle{fancy}呼び出しでは何も行われないように見えることです。後続のページはすべて としてフォーマットされます。\pagestyle{plain}の再定義を削除すると、問題は解消されるようですplain。この動作が理解できません。どなたか説明していただけませんか?

答え1

titleps私はバンドルからパッケージを使ったソリューションを提案しますtitlesec。プレーンを洗練する必要さえありません。私は、のmyfancyデフォルトのfancyページスタイルを模倣するページスタイルを定義しましたfancyhdr:

\documentclass[a4paper,twoside, 11pt]{article}
\usepackage[utf8]{inputenc}

 \usepackage{titleps}
 \newpagestyle{myfancy}{%
 \headrule
 \sethead[][][\itshape\MakeUppercase{\thesection\enspace\sectiontitle}]{\itshape \MakeUppercase{\thesection\enspace \sectiontitle}}{}{}
 \setfoot{}{\thepage}{}
 }

\renewpagestyle{plain}{%
\headrule
\sethead{}{}{}
\setfoot{}{\thepage}{}
}

\begin{document}

\pagestyle{plain}
\tableofcontents
\clearpage

\pagestyle{myfancy}

\section{text/intro}
\newpage
\section{text/methods}
\newpage
\section{text/results}
\newpage
\section{text/discussion}


\end{document} 

ここに画像の説明を入力してください

ここに画像の説明を入力してください

答え2

あなたの例がなぜ機能しないのか分かりません。しかし、 には 2 つの提案がありますfancyhdr

ページスタイルをローカルで変更できます:

\documentclass[a4paper,11pt]{article}
\usepackage{fancyhdr}
\setlength{\headheight}{13.6pt}
\fancypagestyle{plain}{
    \fancyhf{}
    \cfoot{\thepage}
}
\pagestyle{fancy}

\usepackage{blindtext}% dummy text
\begin{document}

{\pagestyle{plain}
\tableofcontents
\clearpage}

\Blinddocument\Blinddocument\Blinddocument\Blinddocument
\end{document}

または、メイン部分に新しいスタイルを定義することもできます。

\documentclass[a4paper,11pt]{article}
\usepackage{fancyhdr}
\setlength{\headheight}{13.6pt}
\fancypagestyle{plain}{
    \fancyhf{}
    \cfoot{\thepage}
}
\fancypagestyle{myfancy}{
\fancyhead[L]{\slshape\rightmark}
\fancyhead[R]{\slshape\leftmark}
\fancyfoot[C]{\thepage}}

\usepackage{blindtext}% dummy text
\begin{document}

\pagestyle{plain}
\tableofcontents
\clearpage

\pagestyle{myfancy}
\Blinddocument\Blinddocument\Blinddocument\Blinddocument
\end{document}

関連情報