章が偶数ページに表示されるか奇数ページに表示されるかに応じて、章の外観をフォーマットしようとしています。 titlesec のドキュメントによると、オプション と で機能するはずですpage=even
。page=odd
これはセクションでは機能しますが、章では機能しません。 MWE は次のとおりです。
\documentclass[11pt,twoside]{report}
\usepackage[a4paper]{geometry}
\geometry{a4paper, top=22mm, left=45mm, right=25mm, bottom=30mm}
\usepackage{lipsum}
\usepackage[rigidchapters,explicit]{titlesec}
\titleformat{name=\section,page=odd}{}{ODD:}{.5em}{}
\titleformat{name=\section,page=even}{}{EVEN:}{.5em}{}
\begin{document}
\chapter{ChapterA}
\section{Section a} \lipsum[1-2]
\section{Section b} \lipsum[1-2]
\section{Section c} \lipsum[1-2]
\chapter{ChapterB}
\section{Section a} \lipsum[1-2]
\section{Section b} \lipsum[1-2]
\section{Section c} \lipsum[1-2]
\chapter{ChapterC}
\section{Section a} \lipsum[1-2]
\section{Section b} \lipsum[1-2]
\section{Section c} \lipsum[1-2]
\end{document}
\chapter
titlesec コマンドの両方を に置き換えると\section
動作します。
それに何か理由があるのでしょうか?\titleformat
奇数ページと偶数ページで異なるコマンドを使用するにはどうすればいいでしょうか?
答え1
デフォルトでは、 はtitlesec
章のタイトルをタイプセットするための標準的な方法にあまり従いません。つまり、 に依存し続けます\@makechapterhead
。
タイトル クラスを再宣言する必要があります。
\documentclass[11pt,twoside]{report}
\usepackage[a4paper]{geometry}
\geometry{a4paper, top=22mm, left=45mm, right=25mm, bottom=30mm}
\usepackage[rigidchapters]{titlesec}
\usepackage{lipsum}
\titleclass{\chapter}{top}
\titleformat{name=\chapter,page=odd}{}{ODD:}{.5em}{}
\titleformat{name=\chapter,page=even}{}{EVEN:}{.5em}{}
\begin{document}
\chapter{ChapterA}
\section{Section a} \lipsum[1-2]
\chapter{ChapterB}
\section{Section a} \lipsum[1-2]
\end{document}
答え2
page
はい、オプションは には適用されないようです\chapter
。
次のように宣言することでこれを回避できます:
\titleformat{name=\chapter}{\Huge}{\ifthenelse{\isodd{\thepage}}{ODD:}{EVEN:}}{.5em}{}
\ifthenelse
パッケージの助けを借りてifthen
。
MWE:
\documentclass[11pt,twoside]{report}
\usepackage[a4paper]{geometry}
\geometry{a4paper, top=22mm, left=45mm, right=25mm, bottom=30mm}
\usepackage{lipsum}
\usepackage[rigidchapters,explicit]{titlesec}
\usepackage{ifthen}
\titleformat{name=\section,page=odd}{}{ODD:}{.5em}{}
\titleformat{name=\section,page=even}{}{EVEN:}{.5em}{}
\titleformat{name=\chapter}{\Huge}{\ifthenelse{\isodd{\thepage}}{ODD:}{EVEN:}}{.5em}{}
\begin{document}
\chapter{ChapterA}
\section{Section A} \lipsum[1-2]
\chapter{ChapterB}
\section{Section B} \lipsum[1-2]
\chapter{ChapterC}
\section{Section C} \lipsum[1-2]
\end{document}
出力 (少なくとも 2 回のコンパイルが必要です)