Я создал новую среду с помощью \newtcolorbox
, с автоматической нумерацией и правильно работающей записью TOC и всем остальным. Отдельные элементы отображаются именно там, где они должны отображаться в главах. Я хотел бы снова отобразить все эти элементы, в конце главы или в конце части, или в приложении или где-то еще. Мне не нужен еще один TOC; я хочу отображать фактические элементы среды, как они отображаются в основном тексте, снова в одной большой коллекции. Мне не удалось найти ответ на этот вопрос, поэтому любые советы будут высоко оценены.
решение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}