Manyfoot은 fnpara가 하지 않는 multicol에 대해 무엇을 합니까?

Manyfoot은 fnpara가 하지 않는 multicol에 대해 무엇을 합니까?

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않습니까? 이 문제를 fnparafootmisc패키지 로 어떻게 해결할 수 있나요 ?

답변1

fnpara와 footmisc는 원래 Don Knuth가 TeXbook에서 사용한 예와 동일한 알고리즘(다소)을 사용하고 있습니다. 어느 시점에서 그들은 페이지에서 수집된 모든 각주를 결합하고 단락으로 압축을 푼다(이를 수행하는 명령은 이라고 함 \makefootnoteparagraph) 해당 단락의 너비는 매크로에서 다음과 같이 명시적으로 설정됩니다.

 \hsize=\columnwidth

LaTeX에서는 일반적으로 2열 모드에서 해당 단락을 열 너비로 지정하는 것이 정확합니다. 그러나 다중 열 내에서는 각주가 모든 열에 걸쳐 있으므로 이 경우 단락을 로 설정해야 합니다 \textwidth.

따라서 가능한 해결 방법은 해당 명령을 패치하여 \textwidth대신 사용하는 것입니다.

\usepackage{etoolbox}
\patchcmd{\makefootnoteparagraph}
   {\columnwidth}{\textwidth}
   {\typeout{Success}}{\typeout{patch failed}}

fnpara와 footmisc 모두에서 작동합니다.

\twocolumn그러나 이것은 보편적인 패치가 아니라는 점에 유의하십시오. 즉, multicol을 사용하지 않고 대신 클래스에 또는 twocolumn 옵션을 사용하면 잘못된 것입니다 !

PS는 많은 발에서 어떻게 수행되는지 확인하지 않았습니다. 해당 패키지는 훨씬 더 정교한 조작을 수행하며 아마도 단락 각주를 얻기 위해 다른 알고리즘을 사용하므로 문제가 발생하지 않습니다.

관련 정보