从目录中删除子节并保留参考文献

从目录中删除子节并保留参考文献

我需要从目录中删除我的子部分。我使用这个毫无问题地完成了那部分关联。 谢谢!

但我无法使用\ref{"label from my subsection"}刚从目录中删除的选定子节。好吧,我仍然可以链接它,但我只能获得对我子节上方部分的引用。

示例:(我的子部分未显示在目录中)

\section{Hello World!}
\label{sec:hello_world}

\subsection{Goodbye}
\label{sec:goodbye}

\ref{sec:goodbye}

--- Latex 将返回如下结果 ---

1.你好,世界!

1.1. 再见

1

答案1

如果你希望\subsection从目录中删除所有 s,那么在文档序言中只需要

\setcounter{tocdepth}{1}

这会将目录中条目的最大深度设置为 1(或\section)。

如果您只希望将选定\subsections内容插入/不插入目录中,则应使用不同的技术。以下定义\stoptocentries\starttocentries。前者通过禁用来禁用在目录中插入内容\addcontentsline。后者恢复该功能。

在此处输入图片描述

\documentclass{article}

\let\oldaddcontentsline\addcontentsline
\newcommand{\stoptocentries}{\renewcommand{\addcontentsline}[3]{}}
\newcommand{\starttocentries}{\let\addcontentsline\oldaddcontentsline}

\begin{document}
\tableofcontents
\section{A section}
\stoptocentries% Stop adding content to the ToC
\subsection{A subsection}
\starttocentries% Resume adding content to the ToC
\subsection{Another subsection}
\end{document}

当然, 的用法\stoptocentries也适用于使用 的其他部门单位\addcontentsline

答案2

你可以使用软件包立即执行此操作埃托克

删除子部分

代码:

\documentclass{article}
\usepackage{etoc}
\begin{document}

\tableofcontents

\section{First Section}

Hello

\subsection{A}

\subsection{B}

\section{Second Section}

\etocsettocdepth.toc {section}
\subsection {EXCLUDE ME}\label{ssec:excluded}
\etocsettocdepth.toc {subsection}

\subsection {D}

Too bad we have excluded subsection \ref{ssec:excluded} from the TOC!


\end{document}

答案3

我看到上面的答案完全回答了这个问题,但我在 LaTeX 网站上找到了另一种方法

如果要隐藏目录中的所有子部分,则应将计数器 tocdepth 设置为 1:

\setcounter{tocdepth}{1}

但如果您只希望将其应用于某些(子)部分,则可以更改文档内的 tocdepth:

\documentclass[a4paper,10pt]{book}
\begin{document}
\tableofcontents
\chapter{One}
\section{One}
\subsection{One}
\addtocontents{toc}{\protect\setcounter{tocdepth}{1}}
\subsection{Two}
\addtocontents{toc}{\protect\setcounter{tocdepth}{2}}
\subsection{Three}
\end{document}

您还可以在 LaTeX 网站上找到最少的工作示例

相关内容