
fnpara
段落の脚注にパッケージを使用する場合:
\documentclass{article}
\usepackage{multicol}
\usepackage{lipsum}
\usepackage{fnpara}
\begin{document}
\begin{multicols}{2}
\lipsum[1]
\footnote{This is a test.}\footnote{This is a test.}\footnote{This is a test.}
\footnote{This is a test.}\footnote{This is a test.}\footnote{This is a test.}
\footnote{This is a test.}\footnote{This is a test.}\footnote{This is a test.}
\footnote{This is a test.}\footnote{This is a test.}\footnote{This is a test.}
\footnote{This is a test.}\footnote{This is a test.}\footnote{This is a test.}
\footnote{This is a test.}\footnote{This is a test.}\footnote{This is a test.}
\footnote{This is a test.}\footnote{This is a test.}\footnote{This is a test.}
\footnote{This is a test.}\footnote{This is a test.}\footnote{This is a test.}
\footnote{This is a test.}\footnote{This is a test.}\footnote{This is a test.}
\footnote{This is a test.}\footnote{This is a test.}\footnote{This is a test.}
\footnote{This is a test.}\footnote{This is a test.}\footnote{This is a test.}
\footnote{This is a test.}\footnote{This is a test.}\footnote{This is a test.}
\footnote{This is a test.}\footnote{This is a test.}\footnote{This is a test.}
\footnote{This is a test.}\footnote{This is a test.}\footnote{This is a test.}
\footnote{This is a test.}\footnote{This is a test.}\footnote{This is a test.}
\footnote{This is a test.}\footnote{This is a test.}\footnote{This is a test.}
\footnote{This is a test.}\footnote{This is a test.}\footnote{This is a test.}
\footnote{This is a test.}\footnote{This is a test.}\footnote{This is a test.}
\lipsum[1-10]
\end{multicols}
\end{document}
すると脚注がフッターに重なります。footmisc
パッケージは同じ問題を抱えています。しかし、manyfoot
パッケージではこれは起こりません。
\documentclass{article}
\usepackage{multicol}
\usepackage{lipsum}
\usepackage[para]{manyfoot}
\DeclareNewFootnote[para]{A}
\begin{document}
\begin{multicols}{2}
\lipsum[1]
\footnoteA{This is a test.}\footnoteA{This is a test.}\footnoteA{This is a test.}
\footnoteA{This is a test.}\footnoteA{This is a test.}\footnoteA{This is a test.}
\footnoteA{This is a test.}\footnoteA{This is a test.}\footnoteA{This is a test.}
\footnoteA{This is a test.}\footnoteA{This is a test.}\footnoteA{This is a test.}
\footnoteA{This is a test.}\footnoteA{This is a test.}\footnoteA{This is a test.}
\footnoteA{This is a test.}\footnoteA{This is a test.}\footnoteA{This is a test.}
\footnoteA{This is a test.}\footnoteA{This is a test.}\footnoteA{This is a test.}
\footnoteA{This is a test.}\footnoteA{This is a test.}\footnoteA{This is a test.}
\footnoteA{This is a test.}\footnoteA{This is a test.}\footnoteA{This is a test.}
\footnoteA{This is a test.}\footnoteA{This is a test.}\footnoteA{This is a test.}
\footnoteA{This is a test.}\footnoteA{This is a test.}\footnoteA{This is a test.}
\footnoteA{This is a test.}\footnoteA{This is a test.}\footnoteA{This is a test.}
\footnoteA{This is a test.}\footnoteA{This is a test.}\footnoteA{This is a test.}
\footnoteA{This is a test.}\footnoteA{This is a test.}\footnoteA{This is a test.}
\footnoteA{This is a test.}\footnoteA{This is a test.}\footnoteA{This is a test.}
\footnoteA{This is a test.}\footnoteA{This is a test.}\footnoteA{This is a test.}
\footnoteA{This is a test.}\footnoteA{This is a test.}\footnoteA{This is a test.}
\footnoteA{This is a test.}\footnoteA{This is a test.}\footnoteA{This is a test.}
\lipsum[1-10]
\end{multicols}
\end{document}
manyfoot
パッケージは何をしますmulticol
か? パッケージを使用してfnpara
この問題をどのように修正できますか?fnpara
footmisc
答え1
fnparaとfootmiscは、TeXbookのDon Knuthの例から派生した、ほぼ同じアルゴリズムを使用しています。ある時点で、ページ上のすべての脚注を結合し、段落に展開します(これを行うコマンドは と呼ばれます\makefootnoteparagraph
)。段落の幅は、マクロで明示的に次のように設定されます。
\hsize=\columnwidth
これは通常、LaTeX では正しい動作です。2 列モードでは、このような段落を列の幅にしたいからです。ただし、複数列モードでは、脚注がすべての列にまたがることが想定されるため、その場合は段落を に設定する必要があります\textwidth
。
したがって、回避策として\textwidth
は、代わりにそのコマンドをパッチして使用するという方法があります。
\usepackage{etoolbox}
\patchcmd{\makefootnoteparagraph}
{\columnwidth}{\textwidth}
{\typeout{Success}}{\typeout{patch failed}}
これは fnpara と footmisc の両方に機能します。
ただし、これはユニバーサル パッチではないことに注意してください。つまり、multicol を使用せず、代わりに\twocolumn
クラスに twocolumn オプションを使用すると、エラーになります。
PS: manyfoot でどのように行われるかは確認していません。そのパッケージははるかに複雑な操作を行い、おそらく段落の脚注を取得するために異なるアルゴリズムを使用しているため、問題は発生しません。