次のコードを検討してください。
\documentclass[11pt,twoside,openany]{book}
\usepackage[svgnames,x11names]{xcolor}
\usepackage{wallpaper}
\usepackage{changepage}
\usepackage[explicit]{titlesec}
\usepackage{tikz}
\usetikzlibrary{shapes,positioning}
\usepackage{lipsum}
\usepackage{geometry}
\geometry{
paperwidth=216mm, paperheight=303mm,
left=23mm, %% or inner=23mm
right=18mm, %% or outer=18mm
top=23mm, bottom=23mm,
headheight=\baselineskip,
headsep=7mm,
footskip=7mm
}
%% Command to hold chapter illustration image
\newcommand\chapterillustration{}
%% Define how the chapter title is printed
\titleformat{\chapter}{}{}{0pt}{
%% Background image at top of page
\ThisULCornerWallPaper{1}{\chapterillustration}
%% Draw a semi-transparent rectangle across the top
\tikz[overlay,remember picture]
\fill[LightSalmon1,opacity=.7]
(current page.north west) rectangle
([yshift=-3cm] current page.north east);
%% Check if on an odd or even page
\checkoddpage\strictpagecheck
%% On odd pages, "logo" image at lower right
%% corner; Chapter number printed near spine
%% edge (near the left); chapter title printed
%% near outer edge (near the right).
\ifoddpage{
\ThisLRCornerWallPaper{.35}{fern_mo_01}
\begin{tikzpicture}[overlay,remember picture]
\node[anchor=south west,
xshift=20mm,yshift=-30mm,
font=\sffamily\bfseries\huge]
at (current page.north west)
{\chaptername\ \thechapter};
\node[fill=Sienna!80!black,text=white,
font=\Huge\bfseries,
inner ysep=12pt, inner xsep=20pt,
rounded rectangle,anchor=east,
xshift=-20mm,yshift=-30mm]
at (current page.north east) {#1};
\end{tikzpicture}
}
%% On even pages, "logo" image at lower left
%% corner; Chapter number printed near outer
%% edge (near the right); chapter title printed
%% near spine edge (near the left).
\else {
\ThisLLCornerWallPaper{.35}{fern_mo_01}
\begin{tikzpicture}[overlay,remember picture]
\node[anchor=south east,
xshift=-20mm,yshift=-30mm,
font=\sffamily\bfseries\huge]
at (current page.north east)
{\chaptername\ \thechapter};
\node[fill=Sienna!80!black,text=white,
font=\Huge\bfseries,
inner sep=12pt, inner xsep=20pt,
rounded rectangle,anchor=west,
xshift=20mm,yshift=-30mm]
at ( current page.north west) {#1};
\end{tikzpicture}
}
\fi
}
\titlespacing*{\chapter}{0pt}{0pt}{135mm}
\begin{document}
\tableofcontents
\renewcommand\chapterillustration{six-computers-chips-circuits}
\newpage
\chapter{Hello World!}
\renewcommand\chapterillustration{cherry-tomatos}
\newpage
\chapter{Whassup, Doc?}
\end{document}
問題:
「章」に適用したファンシー設定は、ドキュメント内のすべてに適用されます。 => 目次と参考文献(上記のサンプル コードには含まれていません)が「章」として表示されるようになりました。
また、以下を無効にする必要があります:
%\listoffigures
%\listoftables
これらのセクションを有効にすると、コンパイル エラーが発生します (章の設定がそれらに適用される場合)。
この問題を回避する方法を見つけるのを手伝ってください。
答え1
目次は番号付きの章の前に来るため、 コマンド\titleformat
と\titlespacing
コマンドを の後に移動できます\tableofcontents
。これにより、影響を受けません。
スイッチのように動作するコマンドを定義することもできます。1 つは派手な方法\titleformat
で呼び出し\titlesection
、もう 1 つはtitlesec
ドキュメントの付録に記載されているデフォルト設定で呼び出します。したがって、必要に応じてオンとオフを切り替えることができます。
以下に、色を変更するだけの、スタイルを切り替えるための小さな例を示します。これは、開始点として役立ちます。
\documentclass{book}
\usepackage{color}
\usepackage{titlesec}
\newcommand*{\fancychapterstyle}{%
\titleformat{\chapter}[display]
{\normalfont\huge\bfseries\color{blue}}{\chaptertitlename\ \thechapter}
{20pt}{\Huge\color{blue}}
\titlespacing*{\chapter}{0pt}{50pt}{40pt}
}
\newcommand*{\standardchapterstyle}{%
\titleformat{\chapter}[display]
{\normalfont\huge\bfseries}{\chaptertitlename\ \thechapter}{20pt}{\Huge}
\titlespacing*{\chapter}{0pt}{50pt}{40pt}
}
\begin{document}
\tableofcontents
\fancychapterstyle
\chapter{One}
\standardchapterstyle
\begin{thebibliography}{99}
\end{thebibliography}
\end{document}