我找到了将脚注放在 tcolorbox 外面的代码,但是在第一个 tcolorbox 之后,我需要将第二个 tcolorbox 的脚注放在里面。
我该怎么做?
\documentclass[10pt,a4paper]{article}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage{tcolorbox}
\usepackage{footnote}
\BeforeBeginEnvironment{tcolorbox}{\savenotes}
\AfterEndEnvironment{tcolorbox}{\spewnotes}
\begin{document}
\begin{tcolorbox}
this is text\footnote{footnote outside the box} text...
\end{tcolorbox}
\begin{tcolorbox}
this is text\footnote{footnote inside the box} bla bla bla
\end{tcolorbox}
\end{document}
答案1
您需要使用两个不同的环境:一个(新)用于外部脚注,一个默认环境用于内部脚注。
\documentclass[10pt,a4paper]{article}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage{tcolorbox}
\usepackage{footnote}
\usepackage{environ}% added <<<<<<<<<<<<
\NewEnviron{TCBx}{ % footnotes ouside the box
\begin{savenotes}
\begin{tcolorbox}
\BODY
\end{tcolorbox}
\end{savenotes}
}
\begin{document}
\begin{TCBx}
This is text\footnote{First footnote outside the box.} text...
\end{TCBx}
\begin{tcolorbox}
This is text\footnote{footnote inside the box.} bla bla bla
This is text\footnote{again footnote inside the box.} bla bla bla
\end{tcolorbox}
\begin{TCBx}
This is text\footnote{Second footnote outside the box.} text...
\end{TCBx}
\begin{TCBx}
This is text\footnote{Third footnote outside the box.} text...
\end{TCBx}
\end{document}