我使用 创建了一个新环境\newtcolorbox
,具有自动编号和正常工作的目录条目等。各个项目在章节中出现在它们应该出现的位置。我想要的是再次显示所有这些项目,在章节末尾或部分末尾,或在附录或其他地方。我不想要另一个目录;我想显示实际的环境项目,它们在文本主体中出现的方式,再次在一个大集合中。我在寻找这个问题的答案方面没有任何运气,所以任何建议都将不胜感激。
答案1
功能简化recording
了tcolorbox
内容的重新显示。有几种方法可以使用recording
,我这里只介绍其中一种:
- 定义一个
tcolorbox
环境,比如说displaythis
用于首次显示内容并将内容存储到名为的文件中\jobname.display\thetcbcounter
,该文件扩展为\jobname.display1
,\jobname.display2
等等。 说
record={\string\redisplaythis[#1]{\jobname.display\thetcbcounter}}
在环境的选项列表中
displaythis
,指示tcolorbox
写入\redisplaythis{#1}{\jobname.display\thetcbcounter}
记录文件。定义一个
tcolorbox
reddisplaythis
使用强制参数的总计,以便加载已存储的内容。(\NewTotalTColorBox
与 相比, 的优点是,也可以指定框的内容tcolorbox
)\tcbstartrecording[myenvironments.env]
在第一个要保存的环境之前和\tcbstoprecording
最后一个要保存的环境之后使用。\tcbinputrecords[myenvironments.env]
最后申请重新展示。
\documentclass{book}
\usepackage[most]{tcolorbox}
\usepackage{blindtext}
\makeatletter
\NewTColorBox[auto counter,list type=section,list inside=red]{displaythis}{O{}}{%
enhanced,
sharp corners,
title={My nice Environment \thetcbcounter},
saveto={\jobname.display\thetcbcounter},
record={\string\redisplaythis[#1]{\jobname.display\thetcbcounter}},
#1,
}
\NewTotalTColorBox[auto counter]{\redisplaythis}{O{}m}{
enhanced,
sharp corners,
title={My nice Environment (again) \thetcbcounter},
#1
}{\input{#2}}
\makeatother
\begin{document}
\tcbstartrecording[myenvironments.env]
\tcblistof{red}{List of environments}
\begin{displaythis}
\blindtext
\end{displaythis}
\begin{displaythis}[colback=white!60!yellow]
\blindtext[2]
\end{displaythis}
\tcbstoprecording
\tcbinputrecords[myenvironments.env]
\end{document}