tcolorbox 환경을 다시 표시하려면 어떻게 해야 합니까?

tcolorbox 환경을 다시 표시하려면 어떻게 해야 합니까?

\newtcolorbox자동 번호 매기기와 올바르게 작동하는 TOC 항목 및 모든 기능을 사용하여 새로운 환경을 만들었습니다 . 개별 항목은 장 내에서 있어야 할 위치에 정확하게 표시됩니다. 내가 원하는 것은 이 모든 항목을 장의 끝이나 부분의 끝, 부록 등에서 다시 표시하는 것입니다. 나는 또 다른 목차를 원하지 않습니다. 실제 환경 항목을 텍스트 본문에 나타나는 방식으로 다시 하나의 큰 컬렉션에 표시하고 싶습니다. 나는 이것에 대한 답을 찾지 못했기 때문에 어떤 조언이라도 대단히 감사하겠습니다.

답변1

recording의 기능은 컨텐츠 tcolorbox재표시를 단순화합니다. 를 사용하는 데는 몇 가지 접근 방식이 있습니다. recording여기서는 하나만 제시합니다.

  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}

여기에 이미지 설명을 입력하세요

관련 정보