%3F.png)
A solução usada emessa questãotem várias desvantagens. Só funciona com \footnotelayout{m}
ou \globalcounter{footnote}
. Se o paracol ultrapassar duas páginas, o contador não será zerado atétodosas colunas são liberadas. Se um parágrafo for dividido em duas páginas, qualquer nota de rodapé pensará que está na primeira página.
\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}
Aqui está uma captura de tela que demonstra o problema:
Responder1
Esta solução modifica \footnote
e \footnotemaek
(renomeada por paracol) para zerar o contador se e quando a página mudar. Ele usa o contador lastfootnotepage
para comparação, pois o paracol mantém contadores separados para cada coluna.
O número da página de cada um \footnote
é \footnotemark
gravado no arquivo aux, pois esta é a única maneira de obter o número de página correto para parágrafos divididos em duas páginas. No entanto, são necessárias duas execuções para funcionar.
Acontece que paracol já fornece um índice para o número total de \footnote
s e \footnotemark
s até agora.
\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}