Wie kann ich tcolorbox-Umgebungen neu anzeigen?

Wie kann ich tcolorbox-Umgebungen neu anzeigen?

Ich habe eine neue Umgebung mit erstellt \newtcolorbox, mit automatischer Nummerierung und einem korrekt funktionierenden Inhaltsverzeichniseintrag und allem. Die einzelnen Elemente erscheinen genau dort, wo sie in den Kapiteln erscheinen sollen. Ich möchte alle diese Elemente erneut anzeigen, am Ende eines Kapitels oder am Ende eines Teils oder in einem Anhang oder so. Ich möchte kein weiteres Inhaltsverzeichnis; ich möchte die tatsächlichen Umgebungselemente erneut in einer großen Sammlung anzeigen, so wie sie im Hauptteil des Textes erscheinen. Ich hatte bei der Suche nach einer Antwort darauf kein Glück, daher bin ich für jeden Rat sehr dankbar.

Antwort1

Die recordingFunktion tcolorboxvereinfacht die erneute Anzeige von Inhalten. Es gibt mehrere Ansätze, um diese zu nutzen recording, ich stelle hier nur einen vor:

  1. Definieren Sie eine tcolorboxUmgebung, displaythisdie beispielsweise für die erstmalige Anzeige von Inhalten gedacht ist und die Inhalte in einer Datei mit dem Namen speichert \jobname.display\thetcbcounter, die zu erweitert \jobname.display1wird \jobname.display2usw.
  2. Sagen

    record={\string\redisplaythis[#1]{\jobname.display\thetcbcounter}} 
    

    in der Optionsliste der displaythisUmgebung, die tcolorboxdas Schreiben \redisplaythis{#1}{\jobname.display\thetcbcounter}in die Datensatzdatei anweist.

  3. Definieren Sie eine Summe tcolorbox reddisplaythis, die das obligatorische Argument verwendet, um den bereits gespeicherten Inhalt zu laden. (Das \NewTotalTColorBoxhat den Vorteil, dass im Gegensatz zu auch der Inhalt der Box angegeben werden kann tcolorbox.)

  4. Verwenden Sie es \tcbstartrecording[myenvironments.env]vor der ersten zu speichernden Umgebung und \tcbstoprecordingnach der letzten.

  5. Beantragen Sie \tcbinputrecords[myenvironments.env]abschließend die erneute Anzeige.


\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}

Bildbeschreibung hier eingeben

verwandte Informationen