有没有办法将所有内容收集到具有相同标签的文件中?

有没有办法将所有内容收集到具有相同标签的文件中?

因此,我正在编写一份学习指南作为书籍类文档,在每一章的末尾,我希望能够打印摘要/重点。我的想法是标记定义、重要定理、示例和练习,然后在文档的独立部分重新打印标记的定义、重要定理、示例和练习。如果可能的话,我希望可以选择收集整个环境(例如定义的情况,我希望包括我目前为它们设置的框架格式)或仅收集文本(对于自然产生于内容但包含在枚举列表中的练习,情况就是如此)。

经过一番搜索,我找到了标记和收集包,从阅读文档来看,我觉得它们可以调整以达到我想要的效果,但我无法修改我找到的示例代码。此功能也可能包含在完全不同的包中,但我还没有找到正确的关键字来找到它,所以我愿意听取建议。

答案1

许多年前,我在 mrunix.de 上问过一个类似的问题,一个热心人士提供了(或多或少)这段代码:

\documentclass[english]{scrartcl}
\usepackage{babel,blindtext,framed}
\newcommand\lorname{Highlights}
\newcommand\lorext{lor} %Dateierweiterung
\newcommand\lortmp{}
\newcounter{Highlights}
\setcounter{Highlights}{0}
\newcommand{\HigH}[2][\empty]{%
  \textit{%
    Highlight \refstepcounter{Highlights}\theHighlights:}%
  \vspace{-0.75\baselineskip}
  \begin{framed}%
    #2
  \end{framed}%
  \ifx#1\empty
  \renewcommand\lortmp{#2}
  \else\renewcommand\lortmp{#1}
  \fi%
\addcontentsline{\lorext}{subsection}{\theHighlights\quad\lortmp}
}
\makeatletter
\newcommand\listofrecommendations{%
\section*{\lorname}
\markboth{\lorname}{}
\@starttoc{\lorext}
}
\makeatother
\begin{document}


\section{First section}
\label{CLA:first-section}


\HigH{First recommendation}
\HigH{Second highlight}
\HigH[Too long to print (not: to long to print)]{\blindtext}
\clearpage
\listofrecommendations
\end{document}

无论您在哪里写作,您都会得到一份建议列表\listofrecommendations,但您可能需要对其进行调整和定制,以便分部分使用。

相关内容