从 mwcls 中的目录中删除 \listoffigures 和 \listoftables

从 mwcls 中的目录中删除 \listoffigures 和 \listoftables

我一直在尝试这些mwcls课程(mwarticle、mwrep、mwbk),它们的整体设计似乎相当简朴,但仍然令人愉悦。但我不知道如何从目录中删除 \listoffigures 和 \listoftables。(tocbibind 包似乎不起作用。)

MWE 可能是

\documentclass{mwbk}
\usepackage[demo]{graphicx}
\usepackage{booktabs}

\begin{document}

\tableofcontents

\listoffigures

\listoftables


\begin{figure}
\centering
\includegraphics[width=0.3\textwidth]{frog.jpg}
\caption{\label{fig:frog}Frog.}
\end{figure}


\begin{table}
\centering
\caption{\label{tab:widgets}An example table.}
\begin{tabular}{lr}
\toprule
Item & Quantity \\
\midrule
Widgets & 42 \\
Gadgets & 13\\
\bottomrule
\end{tabular}

\end{document}

答案1

LaTeX 将所有条目写入.toc文件并控制包括哪些条目级别。因此必须在文件中设置tocdepth临时更改。tocdepth.toc

以下示例将两个操作写入.toc文件 before \listoffigures

  • 的当前值tocdepth保存在宏中\SavedTocDepth
  • tocdepth被分配一个更大的负值以禁止包含 \chapters 和朋友。

\listoftables将操作写入文件后,使用 中保存的值.toc恢复计数器。tocdepth\SavedTocDepth

示例文件:

\documentclass{mwbk}

\newcommand*{\BeginNoToc}{%
  \addtocontents{toc}{%
    \edef\protect\SavedTocDepth{\protect\the\protect\value{tocdepth}}%
  }%
  \addtocontents{toc}{%
    \protect\setcounter{tocdepth}{-10}%
  }%
}
\newcommand*{\EndNoToc}{%
  \addtocontents{toc}{%
    \protect\setcounter{tocdepth}{\protect\SavedTocDepth}%
  }%
}

\begin{document}

\tableofcontents

\BeginNoToc

\listoffigures

\listoftables

\EndNoToc

\chapter{Introduction}

\begin{figure}
  \centering
  \caption{\label{fig:frog}Frog.}
\end{figure}


\begin{table}
  \centering
  \caption{\label{tab:widgets}An example table.}
\end{table}

\chapter{Summary}
\end{document}

.toc文件包含:

\edef \SavedTocDepth {\the \value {tocdepth}}
\setcounter {tocdepth}{-10}
\contentsline {chapter}{List of Figures}{3}
\contentsline {chapter}{List of Tables}{5}
\setcounter {tocdepth}{\SavedTocDepth }
\contentsline {chapter}{Chapter\ 1\relax .\kern .5em Introduction}{7}
\contentsline {chapter}{Chapter\ 2\relax .\kern .5em Summary}{9}

结果

答案2

尽管 Heiko 的答案似乎有效,但我还是想出了一个\chapter@toc从课程本身改变的解决方案:

\makeatletter

\renewcommand*\chapter@toc{%
\ifHeadingNumbered\typeout{\@chapapp\space\thechapter.}%\fi
\addcontentsline{toc}{chapter}{%
    %\ifHeadingNumbered
    \mw@seccntformat{\@chapapp\ \HeadingNumber}\HeadingTOCText%
    %\fi
    }\fi %added \fi here
%\addtocontents{lof}{\protect\addvspace{10\p@}}%
%\addtocontents{lot}{\protect\addvspace{10\p@}}%
}

\makeatother

相关内容