标题格式存在问题:不希望章节样式适用于目录和参考书目

标题格式存在问题:不希望章节样式适用于目录和参考书目

请考虑以下代码:

\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,这样就不会受到影响。

您还可以定义命令,这些命令的作用类似于开关:一个命令\titleformat\titlesection奇特的方式调用,另一个命令使用默认设置调用,这些设置可在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}

相关内容