El mdframed
paquete proporciona una buena funcionalidad para insertar notas a pie de página dentro de un teorema. Estoy buscando una manera de implementar el estilo de párrafo de la opción de nota al pie dentro de un entorno de teorema. Esto obliga a que las notas al pie aparezcan dentro de un solo párrafo, lo cual es una opción muy útil cuando se tienen muchas notas al pie cortas que crean una columna larga y fea y desperdician espacio. Estoy intentando utilizar, por ejemplo, la para
opción dentro del footmisc
paquete. Como puede ver en la compilación de mi MWE, las notas a pie de página todavía se imprimen en sus propios párrafos (una sola columna) por alguna razón.
Además, tenga en cuenta que una solución preferible dejaría la opción tanto para el estándarynotas al pie de página estilo párrafo, ya que es posible que aún desee una nota al pie larga de vez en cuando. Por ejemplo, sé que el bigfoot
paquete ofrece esta funcionalidad con los comandos distintos \footnote{}
y \footnote+{}
. Gracias de antemano por cualquier ayuda.
\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}
Respuesta1
Algún trabajo sucio.
Utilice \parfn
y \normalfn
para cambiar entre diferentes formas de nota al pie.
Utilice \parmpfn
y \normalmpfn
para cambiar entre diferentes formas de nota al pie en 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}