单个脚注包含多个参考文献,但脚注出现在多页上

单个脚注包含多个参考文献,但脚注出现在多页上

我有一个只出现过一次的脚注,在一系列表格中多次引用它。下面是我几乎正确的内容:

\documentclass[12pt]{book}

\usepackage{ragged2e}         % For \RaggedRight
\usepackage[symbol]{footmisc} % Enable footnote symbols
\usepackage{array}            % Enable array environments

\begin{document}

\footnotetext[1]{One footnote text throughout.}

\begin{tabular}%
 {p{.15\linewidth}%
 >{\RaggedRight\hangindent=4em}p{.75\linewidth}
}

nighean & Thainig an nighean bu
shine dhiubhsan a bha beò an àite a h-athar gu 
seilbh air oighreachd Bhrathainn.\footnotemark[1] \\

bheatha & \quad~Bheir sinn fainear a nis mar a 
thainig crioch a bheatha air 
Coinneach\footnotemark[1] Odhar.\\

bhliadhna & Rugadh Fraing\footnotemark[1] Mac 
Coinnich so air a' bhliadhna 1764.~---\\

storach & \quad~Bha na ceithir tighearnan eile 
'nan comh-aoisibh do Mhac Coinnich, Sir
Eachann Ghearrloch, an tighearna storach, an 
Siosalach,\footnotemark[1] air an robh
milleadh maighich, tighearna Ghrannda bha 'na 
amadan, agus Mac-Gille-Challuim gagach. \\
\end{tabular}

\end{document}

但我希望一个脚注文本在引用它的每个页面上出现(一次),并且根本不会出现在没有引用它的任何页面上。

目前,如果您修改 MWE 以使表格重复多次,则脚注文本仅出现在第一页。即使文档中根本没有脚注标记,脚注文本也会出现。

这是完整页面,实际上没有重复表格:


仅包含一个表格的单页输出

答案1

问题不在于 tabular ,而在于\parboxp{}。请参阅为什么 parbox 会丢失脚注?

我首先创建了一个解决方案来检查\footnotemark每页上的第一个标记,\footnote然后改用它。它使用一个计数器来记录每页上的使用次数\myfootnotemark。您需要为每个使用的标记创建一个新的计数器。

对于 parboxes,我创建了一个包装器环境来检查第一次使用情况。这有点儿不着边际,但为时everypage已晚。另外,我应该允许将标记列表作为参数传递,但我不想花太多精力。

\documentclass{article}

\newcounter{footnote1}[page]% resets to 0 every page
\newcount{\savefoot}% reserve global value

\newcommand{\myfootnotetext}[2]% #1 = number, #2 = text
 {\expandafter\gdef\csname footnote#1\endcsname{#2}}

\newcommand{\myfootnotemark}[1]% #1 = number
 {\stepcounter{footnote#1}%
  \ifnum\value{footnote#1}=1
    \footnote[#1]{\csname footnote#1\endcsname}%
  \else
    \footnotemark[#1]%
  \fi}

\newenvironment{footcheck1}{\global\savefoot=\value{footnote1}}%
 {\ifnum\savefoot=0
    \ifnum\value{footnote1}>0
      \footnotetext[1]{\csname footnote1\endcsname}%
    \fi
  \fi}

\begin{document}

\myfootnotetext{1}{One footnote text throughout.}% can also be in preamble

\begin{footcheck1}
\begin{tabular}{p{\linewidth}}
first time.\myfootnotemark{1}\\
Second time.\myfootnotemark{1}
\end{tabular}
\end{footcheck1}
\newpage
\begin{footcheck1}
\begin{tabular}{p{\linewidth}}
Third time.\myfootnotemark{1}\\
Fourth time.\myfootnotemark{1}
\end{tabular}
\end{footcheck1}
\end{document}

相关内容