Das mdframed
Paket bietet eine nette Funktion zum Einfügen von Fußnoten in einen Theorem. Ich suche nach einer Möglichkeit, die Absatzstiloption der Fußnoten in einer Theoremumgebung zu implementieren. Dadurch werden Fußnoten in einem einzigen Absatz angezeigt, was eine sehr hilfreiche Option ist, wenn viele kurze Fußnoten eine lange, hässliche Spalte ergeben und Platz verschwenden. Ich versuche beispielsweise, die Option innerhalb des Pakets zu verwenden para
. footmisc
Wie Sie in der Zusammenstellung meines MWE sehen können, werden die Fußnoten aus irgendeinem Grund immer noch in ihren eigenen Absätzen (einer einzigen Spalte) gedruckt.
Bitte beachten Sie auch, dass eine bevorzugte Lösung die Möglichkeit für beide Standard-UndFußnoten im Absatzstil, da man gelegentlich immer noch eine lange Fußnote haben möchte. Ich weiß beispielsweise, dass das bigfoot
Paket diese Funktionalität mit den Befehlen distinct \footnote{}
und bietet \footnote+{}
. Vielen Dank im Voraus für jede Hilfe.
\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}
Antwort1
Eine Drecksarbeit.
Verwenden Sie \parfn
und , \normalfn
um zwischen verschiedenen Fußnotenformen zu wechseln.
Verwenden Sie \parmpfn
und , \normalmpfn
um zwischen verschiedenen Fußnotenformen in zu wechseln 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}