패키지 mdframed
는 정리 내부에 각주를 삽입하는 멋진 기능을 제공합니다. 정리 환경 내에서 각주 옵션의 단락 스타일을 구현하는 방법을 찾고 있습니다. 이렇게 하면 각주가 단일 단락 내에 표시됩니다. 이는 길고 보기 흉한 열과 낭비 공간을 만드는 짧은 각주가 많을 때 매우 유용한 옵션입니다. 예를 들어 패키지 para
내의 옵션을 사용하려고 합니다 footmisc
. 내 MWE 편집에서 볼 수 있듯이 각주는 어떤 이유로든 여전히 자체 단락(단일 열)으로 인쇄되고 있습니다.
또한 바람직한 솔루션은 두 표준 모두에 대한 옵션을 남겨 두는 것입니다.그리고단락 스타일 각주. 가끔 긴 각주가 필요할 수도 있습니다. 예를 들어, bigfoot
패키지가 구별 \footnote{}
및 명령을 사용하여 이 기능을 제공한다는 것을 알고 있습니다 \footnote+{}
. 어떤 도움이라도 미리 감사드립니다.
\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}
답변1
더러운 일.
각주 모양을 변경하려면 \parfn
및 를 사용하세요 .\normalfn
\parmpfn
및 를 사용하면 \normalmpfn
에서 각주 모양을 변경할 수 있습니다 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}