脚注在内部,然后在外部 tcolorbox

脚注在内部,然后在外部 tcolorbox

我找到了将脚注放在 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

您需要使用两个不同的环境:一个(新)用于外部脚注,一个默认环境用于内部脚注。

b

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

相关内容