tufte-book 中的 tcolorbox 列表

tufte-book 中的 tcolorbox 列表

通常情况下\tcblistof可以正常工作,但对于该类则不行tufte-book,我不明白为什么。这是 MWE。

\documentclass{tufte-book} 
% \documentclass{book} % this works
\usepackage[theorems]{tcolorbox}
\newtcbtheorem[auto counter,number within=chapter,list inside=thm]{theo}{Theorem}{}{}

\begin{document}
    \tcblistof[\chapter*]{thm}{List of Theorems}
    \chapter{Chapter No1}
    \begin{theo}{Theorem No1}{}
        lipsum
    \end{theo}
\end{document}

使用该类book可按预期工作。我需要进行哪些更改tufte-book

答案1

OP 已经找到了解决方案这个答案. 这里我想谈一些一般性的问题。

tufte-book类包含行

% Only show the chapter titles in the table of contents
\setcounter{tocdepth}{0}

并且由于tcolorbox定义\l@tcolorbox为 1 级

\newcommand*\l@tcolorbox{\@dottedtocline{1}{1.5em}{2.3em}}

因此\tcblistof[\chapter*]{thm}{List of Theorems}只产生列表标题。

本地使用\setcounter{tocdepth}{1}是一种解决方法,但生成的列表条目可能与图形和表格列表的样式不同。目前这两个列表中的条目定义为

\newcommand{\@tufte@lof@line}[2]{%
  % #1 is the figure/table number and its caption text
  % #2 is the page number on which the figure/table appears
  \leftskip 0.0em
  \rightskip 0em
  \parfillskip 0em plus 1fil
  \parindent 0.0em
  \@afterindenttrue
  \interlinepenalty\@M
  \leavevmode
  \@tempdima 2.0em
  \advance\leftskip\@tempdima
  \null\nobreak\hskip -\leftskip
  {#1}\nobreak\qquad\nobreak#2%
  \par%
}

\renewcommand*\l@figure{\@tufte@lof@line}
\let\l@table\l@figure

因此 OP 的回答\let\l@tcolorbox\l@figure 一个好主意。

答案2

如果我添加它似乎有效

\makeatletter
\let\l@tcolorbox\l@figure
\makeatother

相关内容