tcolorbox環境を再表示するにはどうすればいいですか

tcolorbox環境を再表示するにはどうすればいいですか

を使って、自動番号付けや正しく機能する目次エントリなどを含む新しい環境を作成しました\newtcolorbox。個々の項目は、章内の適切な場所に正確に表示されます。私が望むのは、これらの項目すべてを、章の最後やパートの最後、または付録などに再度表示することです。別の目次は必要なく、実際の環境項目を、テキストの本文に表示されるのと同じように、1 つの大きなコレクションに再度表示したいのです。この答えを探しても見つからなかったので、アドバイスをいただければ幸いです。

答え1

recordingの機能により、コンテンツtcolorboxの再表示が簡素化されます。 を使用するにはいくつかの方法がありますがrecording、ここでは 1 つだけ紹介します。

  1. tcolorboxコンテンツの最初の表示を目的とした環境を定義しdisplaythis、そのコンテンツを という名前のファイルに保存します。\jobname.display\thetcbcounterこのファイルはなど に展開されます\jobname.display1\jobname.display2
  2. 言う

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

    環境のオプション リストでdisplaythis、レコード ファイルにtcolorbox書き込むように指示します。\redisplaythis{#1}{\jobname.display\thetcbcounter}

  3. tcolorbox reddisplaythisすでに保存されているコンテンツをロードするために必須引数を使用する合計を定義します。(\NewTotalTColorBoxには、 とは対照的に、ボックスのコンテンツも指定できるという利点がありますtcolorbox)

  4. \tcbstartrecording[myenvironments.env]保存する最初の環境の前、および\tcbstoprecording最後の環境の後に使用します。

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

ここに画像の説明を入力してください

関連情報