Как обрабатывать команду \footnote в примере среды, созданном с использованием пакета tcolorbox?

Как обрабатывать команду \footnote в примере среды, созданном с использованием пакета tcolorbox?

Я хочу использовать пример среды, предложенный @Jonathan в соответствующем разделе.почта. Это почти тот же MWE:

\documentclass{article}
\usepackage[most]{tcolorbox}
\newcounter{testexample}
\usepackage{xparse}
\usepackage{lipsum}
\def\exampletext{Example}
\NewDocumentEnvironment{testexample}{ O{} }
{
\colorlet{colexam}{red!55!black}
\newtcolorbox[use counter=testexample]{testexamplebox}{
    empty,
    title={\exampletext: #1},
    attach boxed title to top left,
       minipage boxed title,
    boxed title style={empty,size=minimal,toprule=0pt,top=4pt,left=3mm,overlay={}},
coltitle=colexam,fonttitle=\bfseries,
before=\par\medskip\noindent,parbox=false,boxsep=0pt,left=3mm,right=0mm,top=2pt,breakable,pad at break=0mm,
   before upper=\csname @totalleftmargin\endcsname0pt,
overlay unbroken={\draw[colexam,line width=.5pt] ([xshift=-0pt]title.north west) -- ([xshift=-0pt]frame.south west); },
overlay first={\draw[colexam,line width=.5pt] ([xshift=-0pt]title.north west) -- ([xshift=-0pt]frame.south west); },
overlay middle={\draw[colexam,line width=.5pt] ([xshift=-0pt]frame.north west) -- ([xshift=-0pt]frame.south west); },
overlay last={\draw[colexam,line width=.5pt] ([xshift=-0pt]frame.north west) -- ([xshift=-0pt]frame.south west); },%
}
\begin{testexamplebox}}
{\end{testexamplebox}\endlist}

\begin{document}

\begin{testexample}[Latin Text]
\lipsum[1]\footnote{my footnote}
\lipsum[2]
\end{testexample}

\end{document}

Затем, я хочу, чтобы это \footnoteбыло сделано сноской внизу страницы, а не в конце примера. Я уже нашелэтот ответна похожий вопрос, но речь шла об использовании уже появившихся ранее сносок. Могу ли я сделать то же самое, когда \footnoteвстречается только один раз в примере?

решение1

Вот способ переосмысления сносок в вашей среде:

\documentclass{article}
\usepackage[most]{tcolorbox}
\newcounter{testexample}
\usepackage{xparse}
\usepackage{pgffor}
\usepackage{lipsum}
\newcounter{FootnoteCounter}
\newcounter{Init}
\let\oldfootnote\footnote
\def\exampletext{Example}

\NewDocumentEnvironment{testexample}{ O{} }
{
\colorlet{colexam}{red!55!black}
\newtcolorbox[use counter=testexample]{testexamplebox}{
    empty,
    title={\exampletext: #1},
    attach boxed title to top left,
       minipage boxed title,
    boxed title style={empty,size=minimal,toprule=0pt,top=4pt,left=3mm,overlay={}},
coltitle=colexam,fonttitle=\bfseries,
before=\par\medskip\noindent,parbox=false,boxsep=0pt,left=3mm,right=0mm,top=2pt,breakable,pad at break=0mm,
   before upper=\csname @totalleftmargin\endcsname0pt,
overlay unbroken={\draw[colexam,line width=.5pt] ([xshift=-0pt]title.north west) -- ([xshift=-0pt]frame.south west); },
overlay first={\draw[colexam,line width=.5pt] ([xshift=-0pt]title.north west) -- ([xshift=-0pt]frame.south west); },
overlay middle={\draw[colexam,line width=.5pt] ([xshift=-0pt]frame.north west) -- ([xshift=-0pt]frame.south west); },
overlay last={\draw[colexam,line width=.5pt] ([xshift=-0pt]frame.north west) -- ([xshift=-0pt]frame.south west); },%
}
\begin{testexamplebox}%
\setcounter{Init}{\value{footnote}}
\setcounter{FootnoteCounter}{\value{Init}}
\def\footnote##1{\stepcounter{footnote}\stepcounter{FootnoteCounter}\footnotemark[\arabic{FootnoteCounter}]\def\temp{##1}\expandafter\expandafter\expandafter\global\expandafter\let\csname F\arabic{FootnoteCounter}\endcsname\temp
}}
{\end{testexamplebox}\endlist\stepcounter{Init}\foreach \f in {\arabic{Init},...,\arabic{FootnoteCounter}}{\footnotetext[\f]{\csname F\f\endcsname}}}


\begin{document}

\begin{testexample}[Latin Text]
\lipsum[1]\footnote{my first footnote}
\lipsum[2]\footnote{Another Footnote}
\end{testexample}

A text with a footnote here\footnote{Test Outside}

\begin{testexample}[Latin Text]
\lipsum[1]\footnote{my third footnote}
\lipsum[2]\footnote{Another Footnote}
\end{testexample}

\end{document}

введите описание изображения здесь

Связанный контент