我有一个只出现过一次的脚注,在一系列表格中多次引用它。下面是我几乎正确的内容:
\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 ,而在于\parbox
或p{}
。请参阅为什么 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}