如果我们定义了一个自定义环境,比如\begin{example}...\end{example}
,我想寻求帮助,将example
目录(ToC)中的实例显示为最合适的小节。
例如,对于类似于[Overleaf,编写你自己的包],
\newcounter{example}[section]
\newenvironment{example}[1][]{
\refstepcounter{example}\par\medskip
\noindent \textbf{Example~\thesection.\theexample.} \textsc{#1.}
\rmfamily
}{\medskip}
我们如何修改它来将 ToC 转换为
\begin{document}
\tableofcontents
\section{Introduction}
\begin{example}[First] An introductory example.
\end{example}
\begin{example}[Second] Another example.
\end{example}
\section{Explanation}
\begin{example}[Third] A more advanced example.
\end{example}
\end{document}
进入,
Introduction ... 1
1.1 First .... 1
1.2 Second ... 1
Content ........ 1
2.1 Third .... 1
答案1
这是将示例标题添加为子部分级别条目的示例。我还对 env 定义进行了一些调整,将 env 内容放在一个组中,并\par
在 env 后面添加:
\documentclass{article}
\usepackage{lipsum}
\newcounter{example}[section]
\newenvironment{example}[1][]{%
\refstepcounter{example}\par\medskip\addtocontents{toc}{\protect\contentsline{subsection}{\textbf{Example~\thesection.\theexample.}\quad\textsc{#1.}}{\thepage}{}}%
\bgroup\noindent\textbf{Example~\thesection.\theexample.} \textsc{#1.}%
\rmfamily
}{\egroup\par\medskip}
\begin{document}
\tableofcontents\clearpage
\section{Introduction}
\begin{example}[First longer name of the example with longer name]
An introductory example
\end{example}
\subsection{test}
\begin{example}[Second] Another example.
\end{example}
\lipsum[1]
\clearpage
\setcounter{page}{100}
\section{Explanation}
\subsection{test}
\begin{example}[Third] A more advanced example.
\end{example}
\end{document}