mdframed 정리 내의 단락 스타일 각주?

mdframed 정리 내의 단락 스타일 각주?

패키지 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}

여기에 이미지 설명을 입력하세요

관련 정보