1

I am trying to just have one global system of footnotes (numbered) but I seem to have some issues with breakable tcolorboxes. Many of the answers I've read seem too advanced for my simple requirement of a single, global footnote system.

My preamble is

\documentclass[a4paper,10pt,titlepage]{article}
\usepackage[utf8]{inputenc}
\newcommand{\myparagraph}[1]{\paragraph{#1}\mbox{}\\}
\usepackage[a4paper,margin=3.5cm]{geometry} %Sets the page geometry
\usepackage{url}
\usepackage{dirtytalk}
\usepackage{graphicx} % Package for \includegraphics
\usepackage{wrapfig} % Figure wrapping
\usepackage[T1]{fontenc} % Output font encoding for international characters
\setlength{\parskip}{1em} % Set space when paragraphs are used
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{mathtools}
\usepackage{hyperref}
\usepackage{mathrsfs}
\usepackage{mdframed}
\usepackage[breakable]{tcolorbox}
\usepackage[justification=centering]{caption}
\usepackage{soul}

% Note that we enforce things so that everything is numbered off of theorems
\theoremstyle{definition} % to avoid italicizing theorems
\newmdtheoremenv{theo}{Theorem}
\newtheorem{thm}{Theorem}[section] % reset theorem numbering for each chapter
\newtheorem{defn}[thm]{Definition} % definition numbers are dependent on theorem numbers
\newtheorem{rmk}[thm]{Remark}
\newtheorem{exmp}[thm]{Example} % same for example numbers
\newtheorem{crlry}[thm]{Corollary}
\newtheorem{lemma}[thm]{Lemma}
\newtheorem{problem}{Problem}[section]

%% HOW TO KEEP FOOTNOTES GLOBAL
\usepackage{footnote}
\usepackage{etoolbox}
\BeforeBeginEnvironment{tcolorbox}{\savenotes}
\AfterEndEnvironment{tcolorbox}{\spewnotes}
\usepackage{blindtext}

\usepackage{geometry}
    %\usepackage{showframe} %This line can be used to clearly show the new margins

\newgeometry{vmargin={25mm}, hmargin={22mm,22mm}}

% Lets you use \blankpage to make a blank page
\newcommand{\blankpage}{
\newpage
\thispagestyle{empty}
\mbox{}
\newpage
}

An example of my footnoting is seen here:

\begin{tcolorbox}[breakable]
\begin{defn}[Equivalence class]
    Given an equivalence relation $\equiv$ defined on a set $S$, we define the equivalence class corresponding to any $a \in S$ as the set\footnote{If the equivalence relation in question is understood from context we'll sometimes just write $[a]$.}
    $$[a]_\equiv = \{ b \in S | a \equiv B \}$$
\end{defn}
\end{tcolorbox}

An example of my problem is seen in the picture below (note the two tcolorboxes, each beginning with footnote "a"). Anything I do outside the tcolorboxes has no problem though and is global and increments correctly.

enter image description here

Any help would be greatly appreciated, thank you!

1 Answer 1

2

Note that this combines both \BeforeBeginEnvironment and \renewenvironment. It has to do with executing commands before or after the optional argument.

\documentclass[a4paper,10pt,titlepage]{article}
\usepackage[utf8]{inputenc}
\newcommand{\myparagraph}[1]{\paragraph{#1}\mbox{}\\}
\usepackage[a4paper,margin=3.5cm]{geometry} %Sets the page geometry
\geometry{vmargin={25mm}, hmargin={22mm,22mm}}

\usepackage{url}
%\usepackage{dirtytalk}
\usepackage{graphicx} % Package for \includegraphics
\usepackage{wrapfig} % Figure wrapping
\usepackage[T1]{fontenc} % Output font encoding for international characters
\setlength{\parskip}{1em} % Set space when paragraphs are used
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{mathtools}
\usepackage{mathrsfs}
\usepackage{mdframed}
\usepackage[justification=centering]{caption}
\usepackage{soul}

% Note that we enforce things so that everything is numbered off of theorems
\theoremstyle{definition} % to avoid italicizing theorems
\newmdtheoremenv{theo}{Theorem}
\newtheorem{thm}{Theorem}[section] % reset theorem numbering for each chapter
\newtheorem{defn}[thm]{Definition} % definition numbers are dependent on theorem numbers
\newtheorem{rmk}[thm]{Remark}
\newtheorem{exmp}[thm]{Example} % same for example numbers
\newtheorem{crlry}[thm]{Corollary}
\newtheorem{lemma}[thm]{Lemma}
\newtheorem{problem}{Problem}[section]

%% HOW TO KEEP FOOTNOTES GLOBAL
\usepackage[breakable]{tcolorbox}
\usepackage{footnote}
\BeforeBeginEnvironment{tcolorbox}{\savenotes}
\AfterEndEnvironment{tcolorbox}{\spewnotes}
\makeatletter
\let\oldtcolorbox=\tcolorbox
\let\endoldtcolorbox=\endtcolorbox
\renewenvironment{tcolorbox}[1][]{\oldtcolorbox[#1]%
  \def\@mpfn{footnote}%
  \def\thempfn{\thefootnote}}%
{\endoldtcolorbox}
\makeatother

\usepackage{hyperref}

% Lets you use \blankpage to make a blank page
\newcommand{\blankpage}{
\newpage
\thispagestyle{empty}
\mbox{}
\newpage
}
\begin{document}
Test\footnote{First}

\begin{tcolorbox}[breakable]
\begin{defn}[Equivalence class]
    Given an equivalence relation $\equiv$ defined on a set $S$, we define the equivalence class corresponding to any $a \in S$ as the set\footnote{If the equivalence relation in question is understood from context we'll sometimes just write $[a]$.}
    $$[a]_\equiv = \{ b \in S | a \equiv B \}$$
\end{defn}
\end{tcolorbox}
\end{document}
4
  • Thank you for your answer. I copy pasted %% HOW TO KEEP FOOTNOTES GLOBAL \usepackage{footnote} \makeatletter \BeforeBeginEnvironment{tcolorbox}{\savenotes\def\@mpfn{footnote}\def\thempfn{\thefootnote}} \makeatother \AfterEndEnvironment{tcolorbox}{\spewnotes} but it still seems to give me the same behaviour? That is, I still have these footnotes inside my tcolorbox which are "a". Is it possible that's because they're inside my "defn" and "thm" environments?
    – EE18
    Mar 12 at 3:07
  • While testing a simplified solution I removed the [breakable] option and forgot I needed it. Mar 12 at 18:01
  • This worked perfectly, thank you so much for your help! Incidentally, is there a LaTeX guide which you suggest reading? I am familiar with basics but would have had no idea how to go about this. I'm not sure I understand the "structure" of the language (global variables etc.).
    – EE18
    Mar 12 at 18:31
  • There is no one guide. I would start with the TeXbook by Knuth, although there are no (legal) free copies. I would also download sourc2e.pdf from CTAN. Mar 13 at 0:44

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .