Чтобы получить сноски в абзацах в документе, manyfoot
работает просто отлично, нужно просто использовать para
опцию. Но manyfoot
несовместимо со minipage
средой. В следующем документе:
\documentclass{article}
\usepackage[para]{manyfoot}
\DeclareNewFootnote[para]{A}
\begin{document}
Above minipage
\medskip
\begin{minipage}{10cm}
bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla\footnoteA{Bla bla bla bla.}
bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla\footnoteA{Bla bla bla bla.}
bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla
\end{minipage}
\medskip
Below minipage
\end{document}
minipage
Сноски отображаются внизу страницы, а не внизу файла minipage
.
Есть ли способ получить сноски внутри абзаца minipage
?
(Я знаю, что этот вопрос уже задавался, ноответ, который дал Дэвидв 2015 году работает только для равномерно коротких заметок. В моем случае они очень разной длины, иногда одно слово, иногда много строк текста…)
решение1
\documentclass{article}
\makeatletter
\long\def\@mpfootnotetext#1{%
\global\setbox\@mpfootins\vbox{%
\ifvoid\@mpfootins
\setbox0\hbox{}%
\else
\unvbox\@mpfootins
\setbox0\lastbox
\unskip % remove baselineskip glue (it will be recalculated for new text)
\fi
\reset@font\footnotesize
\hsize\columnwidth
\@parboxrestore
\def\@currentcounter{mpfootnote}%
\protected@edef\@currentlabel
{\csname p@mpfootnote\endcsname\@thefnmark}%
\color@begingroup
\ifdim\wd0>\z@
\noindent\unhbox0\unskip\unskip% remove old parfillskip
\hspace{1em plus 5em}% or whatever
\fi
\@makefntext{%
\ignorespaces#1\@finalstrut\strutbox}%
\par
\color@endgroup}}
\makeatother
\begin{document}
Above minipage
\medskip
\begin{minipage}{10cm}
bla bla bla bla bla bla bla bla\footnote{word}
bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla\footnote{Bla bla bla bla.}
bla bla bla bla bla bla bla bla\footnote{Fooo fooo fooo foo Bla bla bla bla.}
bla bla bla bla bla bla bla bla\footnote{Bla bla bla bla.}
bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla
\end{minipage}
\medskip
Below minipage
\end{document}