巨大的表格+脚注之类的东西

巨大的表格+脚注之类的东西

我有一本书,基本上是一张 100 页的表格。我使用 xtab 包来布局这本书。

这本书列出了 100 多个定义,这些定义在表格中被多次引用。想象一下银行佣金表,其中有许多脚注被多次引用,例如 1) 对于这件事,您需要有一张金卡,2) 对于这件事,您需要在您的账户中有 100 万美元,等等。

定义的编号是固定的(例如,这是一份法律文件)。定义可以有任意编号(例如“1”、“W”、“III”)。

我希望能够做的是针对每个定义页面上引用的让它们显示为脚注(或视觉上类似于脚注的内容)。这可行吗?或者至少部分可行?

答案1

因此,这将在第一页列出 A 和 i,在第二页列出 i 和 w,每个只列出一次,按定义顺序排列。它从上一次运行中获取每页要使用的引用的页码,因此需要运行几次才能稳定下来。

在此处输入图片描述

\documentclass{article}
\textheight.3\textheight
\paperheight.5\paperheight
\pdfpageheight\paperheight

\usepackage{longtable}
\makeatletter
\def\foopage#1#2{\global\expandafter\let\csname foopage-#1-#2\endcsname\@empty}

\let\foolist\@empty
\def\foodef#1#2{%
\g@addto@macro\foolist{{#1}}%
\@namedef{foo-#1}{#2}}

\def\foocite#1{%
\textsuperscript{#1}%
\let\reserved@a\relax
\protected@write\@auxout{}{\string\foopage{#1}{\thepage}}%
}

\def\fooloop{%
\expandafter\@tfor\expandafter\tmp\expandafter:\expandafter=\foolist\do{%
\expandafter\ifx\csname foopage-\tmp-\thepage\endcsname\@empty
\insert\footins{%
    \reset@font\footnotesize
    \interlinepenalty\interfootnotelinepenalty
    \splittopskip\footnotesep
    \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
    \hsize\columnwidth \@parboxrestore
    \textsuperscript{\tmp}\csname foo-\tmp\endcsname}%
\fi
}}


% add the insert loop
\def\foopatch#1\output#2{%
\def\LT@start{#1\fooloop\output{\LT@output}}}
\expandafter\foopatch\LT@start


\def\foopatch#1\copy\LT@head\nobreak#2{%
\def\LT@output{#1\copy\LT@head\nobreak\fooloop#2}}
\expandafter\foopatch\LT@output


\begin{document}


\foodef{A}{Something about A.}
\foodef{i}{Something equally dull about i.}
\foodef{w}{In case you missed $x$ $y$ and $z$, here's $w$.}


\begin{longtable}{ll}
aaaa&bbb\\
aaaa&bbb\\
aaaa&bbb\foocite{A}\\
aaaa&bbb\\
aaaa&bbb\\
aaaa&bbb\foocite{i}\\
aaaa&bbb\\
aaaa&bbb\\
aaaa&bbb\\
aaaa&bbb\\
aaaa&bbb\foocite{i}\\
aaaa&bbb\\
aaaa&bbb\\
aaaa&bbb\\
aaaa&bbb\foocite{w}\\
aaaa&bbb\\
aaaa&bbb\\
aaaa&bbb\\
aaaa&bbb\\
aaaa&bbb\foocite{i}\\
aaaa&bbb\\
aaaa&bbb\\
aaaa&bbb\foocite{w}\\
aaaa&bbb\\
aaaa&bbb\\
\end{longtable}


\end{document}

相关内容