我想使用@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}