%3F.png)
Die Lösung indiese Fragehat mehrere Nachteile. Es funktioniert nur mit \footnotelayout{m}
oder \globalcounter{footnote}
. Wenn der Paracol über zwei Seiten umbricht, wird der Zähler erst zurückgesetzt, wennalledie Spalten werden bündig ausgerichtet. Wenn ein Absatz über zwei Seiten umbricht, wird bei eventuellen Fußnoten davon ausgegangen, dass sie sich auf der ersten Seite befinden.
\documentclass{article}
\usepackage{paracol}
\usepackage[nopar]{lipsum}
\usepackage{everypage}
\AddEverypageHook{\setcounter{footnote}{0}}
\begin{document}
\sloppy
\begin{paracol}{2}
left column\footnote{a footnote}
\switchcolumn%
right column\footnote{a footnote}
\switchcolumn*%
\lipsum[1-3]\footnote{2nd footnote}
\switchcolumn%
\lipsum[1-3]\footnote{2nd footnote}
\end{paracol}
\end{document}
Hier ist ein Screenshot, der das Problem veranschaulicht:
Antwort1
Diese Lösung ändert \footnote
und \footnotemaek
(von Paracol umbenannt) setzt den Zähler zurück, wenn sich die Seite ändert. Sie verwendet den Zähler lastfootnotepage
zum Vergleich, da Paracol für jede Spalte separate Zähler verwaltet.
Die Seitenzahl für jedes \footnote
und \footnotemark
wird in die AUX-Datei geschrieben, da dies die einzige Möglichkeit ist, die richtige Seitenzahl für Absätze zu erhalten, die auf zwei Seiten verteilt sind. Es sind jedoch zwei Durchläufe erforderlich, damit es funktioniert.
Es stellt sich heraus, dass Paracol bereits einen Index für die Gesamtzahl der bisherigen \footnote
s und s liefert.\footnotemark
\documentclass{article}
\usepackage{paracol}
\usepackage[nopar]{lipsum}
\newcounter{footnotepage}
%\globalcounter{footnotepage}% only use with \footnotelayout{m}
\makeatletter
\newcommand{\checkfootnotepage}{%
\protected@write\@auxout{}{\string\newfootnotepage{\number\pcol@nfootnotes}{\thepage}}%
\bgroup
\@ifundefined{footnotepage\number\pcol@nfootnotes}{\count1=\value{page}}%
{\count1=\csname footnotepage\number\pcol@nfootnotes\endcsname\relax}%
\ifnum\value{footnotepage}<\count1\relax
\setcounter{footnotepage}{\count1}%
\setcounter{footnote}{0}%
\fi
\egroup}
\newcommand{\newfootnotepage}[2]% #1 = index, #2 = page
{\expandafter\xdef\csname footnotepage#1\endcsname{#2}}
\def\pcol@@footnote{% footnote for paracol
\@ifnextchar[\@xfootnote{\checkfootnotepage
\stepcounter\@mpfn
\protected@xdef\@thefnmark{\thempfn}%
\@footnotemark\@footnotetext}}
\def\pcol@@footnotemark{% \footnotemark for paracol
\@ifnextchar[\@xfootnotemark
{\checkfootnotepage% added
\stepcounter{footnote}%
\protected@xdef\@thefnmark{\thefootnote}%
\@footnotemark}}
\makeatother
\begin{document}
\sloppy
\begin{paracol}{2}
left column\footnote{a footnote}
\switchcolumn%
right column\footnote{a footnote}
\switchcolumn*%
\lipsum[1-3]\footnote{2nd footnote}
\switchcolumn%
\lipsum[1-3]\footnote{2nd footnote}
\end{paracol}
\end{document}