我正在尝试创建一个类似于部分的新标题类,但它未包含在目录中。但当我使用\titlecontents{exercise}{}{}{}{}
它时它无法编译。我该如何解决这个问题?
以下是一个 mwe:
\documentclass[11pt,twoside,openany]{book}
\usepackage{amsmath,amssymb}
\usepackage{titletoc}
\usepackage{titlesec}
\usepackage{lipsum}
% Exercise Environment
%\titlecontents{exercise}{}{}{}{} % should remove from ToC but does not work
\titleclass{\exercise}{straight}[\chapter]
\newcounter{exercise}
\renewcommand{\theexercise}{\thechapter.\arabic{exercise}}
\titleformat{\exercise}[block]
{\normalfont\sffamily\Large}
{\bfseries\Large Exercise \theexercise}
{.5em}
{\bfseries}
\titleformat{name=\exercise,numberless}[block]
{\titlerule*[.6em]{\bfseries.}
\vspace{0.9ex}%
\normalfont\sffamily\Large}
{\bfseries ##1}
{.5em}
{\bfseries}
\titlespacing*{\exercise}{0pt}{3.5ex plus 1ex minus .2ex}{1ex plus .2ex}
\begin{document}
\tableofcontents
\chapter{sample}
\section{A test section}
\exercise{}
\lipsum[1-6]
\end{document}
答案1
来自titletoc
文档(部分6.1. 十分钟指南titletoc
):
\dottedcontents{<section>}[<left>]{<above-code>} {<label width>}{<leader width>}
- ...
<left>
即使目前括号内是强制性的,并且它也是从页左边界设置左边距。- ...
\titlecontents{<section>}[<left>]{<above-code>} {<numbered-entry-format>}{<numberless-entry-format>} {<filler-page-format>}[<below-code>]
这里
<section>
,<left>
和<above-code>
上面一样……
为此,您需要提供第二个可选参数,因为它实际上是强制性的:
% Exercise Environment
\titlecontents{exercise}[0pt]{}{}{}{} % should remove from ToC