我正在使用 制作自定义文档类型article
。我使用titletoc
、titlesec
和tocloft
。由于内部样式指南,我需要标题“目录”、“表格列表”和“图表列表”以与\section
或\section*
标题不同的样式显示。
我认为最简单的方法就是在\tableofcontents
运行时隐藏“目录”、“表格列表”和“图表列表”文本,然后自己打印。
我如何抑制“内容”?
答案1
抑制打印 ToC/LoF/LoT 标题的最简单方法之一可能是让\section
gobble 的参数不执行任何操作。这不仅会抑制标题,还会抑制任何空格插入(前后)。
实现此目的的一种方法\section
是使用重新定义xparse
\section*
,因为很容易管理典型的带星号的版本\tableofcontents
,\listoffigures
和\listoftables
:
\documentclass{article}
\usepackage{xparse}
\let\oldsection\section
\newcommand{\voidsections}{\RenewDocumentCommand{\section}{ s o m }{}}
\newcommand{\restoresections}{\let\section\oldsection}
\begin{document}
\voidsections% Totally remove functionality of \section
\tableofcontents
\restoresections% Restore \section functionality
\listoffigures
\voidsections% Totally remove functionality of \section
\listoftables
\restoresections% Restore \section functionality
\section{First section}
\begin{figure}\caption{A figure}\end{figure}
\begin{table}\caption{A table}\end{table}
\begin{figure}\caption{A figure}\end{figure}
\begin{table}\caption{A table}\end{table}
\section{Second section}
\begin{figure}\caption{A figure}\end{figure}
\begin{table}\caption{A table}\end{table}
\begin{figure}\caption{A figure}\end{figure}
\begin{table}\caption{A table}\end{table}
\section{Third section}
\begin{figure}\caption{A figure}\end{figure}
\begin{table}\caption{A table}\end{table}
\begin{figure}\caption{A figure}\end{figure}
\begin{table}\caption{A table}\end{table}
\section{Last section}
\begin{figure}\caption{A figure}\end{figure}
\begin{table}\caption{A table}\end{table}
\begin{figure}\caption{A figure}\end{figure}
\begin{table}\caption{A table}\end{table}
\end{document}
在上面的例子中,\voidsections
删除了 的功能\section
,而\restoresections
恢复了 的功能。它应该适用于任何包,假设你添加了前言内容后加载您的分段包,因为结构保持相当相似(它们都用于\section*
ToC/LoF/LoT)。
该示例特别取消了 ToC 和 LoT 的标题,同时仍保留其他部分(LoF 和文档的其余部分)。