我需要创建一个不可见事物的列表。例如,在下面的 MWE 中,有一个示例列表,但它不应该出现在文本中。
梅威瑟:
\documentclass{article}
\usepackage{tocloft}
\newcommand{\listexamplename}{example}
\newlistof{example}{exp}{\listexamplename}
\newcommand{\example}[1]{
\refstepcounter{example}
\par\noindent\textbf{Example \theexample. #1}
\addcontentsline{exp}{example}
{\protect\numberline{}#1}\par}
\begin{document}
\example{An example}
\example{Another example}
\listofexample
\end{document}
我曾尝试使用listings
包中不可见的标题,但如果环境为空,则标题不会显示。
(这是我遇到的一个更复杂问题的解决方法 - 创建包含 2 种语言的 2 个目录的手稿。因此,解决方案\addcontentsline{toc}{}{}
不起作用)
答案1
您的 MWE 的扩展但修订版本。
% loeprob.tex SE 578105
\documentclass{article}
\usepackage{lipsum}
\usepackage{tocloft}
\newcommand{\listexamplename}{example}
\newlistof{example}{exp}{\listexamplename}
\newcommand{\example}[1]{
\refstepcounter{example}
%\par\noindent\textbf{Example \theexample. #1}
\addcontentsline{exp}{example}
{\protect\numberline{}#1}\par}
\begin{document}
\lipsum[1-2]
\example{An example}
\lipsum[3-8]
\example{Another example}
\lipsum[5-6]
\listofexample
\end{document}
在您的定义范围内,\example
除了示例列表之外,不输出任何文本。
您说您的实际问题更为复杂,因为您的目录是使用两种语言编写的。您没有说明您是如何做到这一点的,但我认为您可以将相同的想法应用于示例列表。