O mdframed
pacote oferece uma funcionalidade interessante para inserir notas de rodapé dentro de um teorema. Estou em busca de uma maneira de implementar o estilo de parágrafo da opção de nota de rodapé em um ambiente de teorema. Isso força as notas de rodapé a aparecerem em um único parágrafo, o que é uma opção muito útil quando se tem muitas notas de rodapé curtas que criam uma coluna longa e feia e desperdiçam espaço. Estou tentando usar, por exemplo, a para
opção dentro do footmisc
pacote. Como você pode ver na compilação do meu MWE, as notas de rodapé ainda são impressas em seus próprios parágrafos (uma única coluna) por algum motivo.
Além disso, observe que uma solução preferível deixaria a opção tanto para o padrãoenotas de rodapé em estilo de parágrafo, pois ainda é possível querer uma nota de rodapé longa ocasional. Por exemplo, eu sei que o bigfoot
pacote oferece essa funcionalidade com os comandos distintos \footnote{}
e . \footnote+{}
Obrigado desde já por qualquer ajuda.
\documentclass{article}
\usepackage{thmtools}
\usepackage[framemethod=TikZ]{mdframed}
\usepackage[para]{footmisc}
\declaretheorem[mdframed]{theorem}
\begin{document}
\begin{theorem}
This is the first part of the theorem,\footnote{First footnote} this is the second part,\footnote{Second footnote} and this is the third part.\footnote{Third footnote}
\end{theorem}
\end{document}
Responder1
Algum trabalho sujo.
Use \parfn
e \normalfn
para alternar entre diferentes formatos de nota de rodapé.
Use \parmpfn
e \normalmpfn
para alternar entre diferentes formatos de nota de rodapé no formato minipage
.
\documentclass{article}
\usepackage{thmtools}
\usepackage[framemethod=TikZ]{mdframed}
\makeatletter
\newbox\my@footins%
\newtoks\my@output%
\long\def\my@footnotetext#1{%
\global\setbox\my@footins\hbox{%
\unhbox\my@footins
\reset@font\footnotesize
\hsize\columnwidth
\@parboxrestore
\protected@edef\@currentlabel
{\csname p@footnote\endcsname\@thefnmark}%
\color@begingroup
\my@makefntext{%
\rule\z@\footnotesep\ignorespaces#1\rule{1em}\z@\@finalstrut\strutbox}%
\color@endgroup}}
\def\my@makecol{%
\setbox\footins\vbox{\footnoterule\box\my@footins}
\my@latex@makecol%
}
\let\my@latex@makecol\@makecol
\let\my@latex@footnotetext\@footnotetext
\def\parfn{%
\let\@makecol\my@makecol%
\let\@footnotetext\my@footnotetext%
}%
\def\normalfn{%
\let\@makecol\my@latex@makecol%
\let\@footnotetext\my@latex@footnotetext%
}%
\long\def\my@mpfootnotetext#1{%
\global\setbox\@mpfootins\hbox{%
\unhbox\@mpfootins
\reset@font\footnotesize
\hsize\columnwidth
\@parboxrestore
\protected@edef\@currentlabel
{\csname p@mpfootnote\endcsname\@thefnmark}%
\color@begingroup
\my@makefntext{%
\rule\z@\footnotesep\ignorespaces#1\rule{1em}\z@\@finalstrut\strutbox}%
\color@endgroup}}
\newrobustcmd*\mymdf@footnoteoutput{%
\ifvoid\@mpfootins\else%
\nobreak%
\vskip\mdf@footenotedistance@length%
\normalcolor%
\mdf@footnoterule%
\noindent\unhbox\@mpfootins%
\fi%
}
\newrobustcmd*\mymdf@footnoteinput{%
\def\@mpfn{mpfootnote}%
\def\thempfn{\thempfootnote}%
\c@mpfootnote\z@%
\let\@footnotetext\my@mpfootnotetext%
}
\newcommand\my@makefntext[1]{%
\parindent 1em%
\noindent
\@makefnmark#1}
\let\oldmdf@footnoteinput\mdf@footnoteinput%
\let\oldmdf@footnoteoutput\mdf@footnoteoutput%
\def\parmpfn{%
\let\mdf@footnoteinput\mymdf@footnoteinput%
\let\mdf@footnoteoutput\mymdf@footnoteoutput%
}
\def\normalmpfn{%
\let\mdf@footnoteinput\oldmdf@footnoteinput%
\let\mdf@footnoteoutput\oldmdf@footnoteoutput%
}
\makeatother
\declaretheorem[mdframed]{theorem}
\begin{document}
\parfn
Some text\footnote{test}
Some text\footnote{test}
\parmpfn
\begin{theorem}
This is the first part of the theorem,\footnote{First footnote} this is the second part,\footnote{Second footnote} and this is the third part.\footnote{Third footnote}
\end{theorem}
\normalmpfn
\begin{theorem}
This is the first part of the theorem,\footnote{First footnote} this is the second part,\footnote{Second footnote} and this is the third part.\footnote{Third footnote}
\end{theorem}
\end{document}