如何列出预定义环境中定义的所有项目

如何列出预定义环境中定义的所有项目

代码为:

\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{fancyhdr}
\usepackage{pgfplots}
\usepackage[letterpaper,left=2.5cm,right=2.5cm,top=2.5cm,bottom=2.5cm]{geometry} 
\usepackage{polski}
\usepackage{apacite}
\usepackage{tocloft}
\usepackage[utf8]{inputenc}
\usepackage{afterpage}
\usepackage{hyperref}
\usepackage{lipsum}
\usepackage{ragged2e}
\usepackage{enumitem}
\usepackage{tocloft}
\renewcommand{\cftsecleader}{\cftdotfill{\cftdotsep}}
\hypersetup{
    colorlinks,
    citecolor=black,
    filecolor=black,
    linkcolor=black,
    urlcolor=black
}

\newcommand\blankpage{%
    \null
    \thispagestyle{empty}%
    \addtocounter{page}{-1}%
    \newpage}
\date{\today}

\linespread{1.5}
\newenvironment{problem}[2][Zadanie]{\begin{trivlist}
        \item[\hskip \labelsep {\bfseries #1}\hskip \labelsep {\bfseries #2.}]}{\end{trivlist}}
\begin{document}
    \clearpage\maketitle
    \thispagestyle{empty} \newpage 

     \tableofcontents \newpage

    \pagestyle{fancy}
    \section{Struktura } 
    \begin{problem}{1}

    \end{problem}


\end{document}

因此,我定义了一个问题环境。如何创建类似目录的东西,但它会列出所有这些问题,例如问题 1、问题 2、问题 3、问题 4... 简单的目录,但使用问题环境来定义问题。

答案1

etoc包可以执行以下操作:来自§16, Arbitrary “Lists Of...”, \etoctoccontentsline

例如:想象一个包含几十个练习的文档,可能定义为 \newtheorem{exercise}{}[section] 。

让我们解释一下如何指示 etoc 显示所有这些练习的超链接列表。为此,我们在序言中写道:

\newtheorem{exerci}{}[section]
% the exercice number will be recoverable via \etocname: v--here--v
\newcommand*{\exercisetotoc}{\etoctoccontentsline{exercise}{\theexerci}}
\newenvironment{exercise}{\begin{exerci}\exercisetotoc}{\end{exerci}}
\etocsetlevel{exercise}{6}

这样,\etocname 就会给出练习编号(但 \etocnumber 将为空)。

相关内容