![表格中的脚注不起作用(ConText)](https://linux22.com/image/370962/%E8%A1%A8%E6%A0%BC%E4%B8%AD%E7%9A%84%E8%84%9A%E6%B3%A8%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8%EF%BC%88ConText%EF%BC%89.png)
我试图在表头中添加脚注,但脚注没有出现。以下是一些显示该问题的示例代码:
\starttext
This is a sentence.
This one has a footnote\footnote{a footnote}
\bTABLE
%
% IMPORTANT: use \bTH ... \eTH to enclose the head|next cells
\bTABLEhead
\bTR
\bTH \eTH
\bTH Difference\footnote{this footnote does not appear}\eTH
\eTR
\eTABLEhead
%
% the table body (main part)
%
\bTABLEbody
\bTR
\bTD Exchange Rates \eTD
\bTD 3.0\% \eTD
\eTR
\bTR
\bTD Hedging Costs \eTD
\bTD 2.1\% \eTD
\eTR
\eTABLEbody
\bTABLEfoot
\bTR
\bTD Total \eTD
\bTD xxx\% \eTD
\eTR
\eTABLEfoot
\eTABLE
\stoptext
我究竟做错了什么?
答案1
当您在表格或框架(用\framed
或创建\startframedtext
)中放置脚注时,您必须在环境/命令结束时手动刷新它们。
要冲洗它们,你可以将桌子放在一个postponingnotes
环境中
\starttext
Document\footnote{A note in the document}
\startpostponingnotes
\bTABLE
\bTR
\bTD
Table\footnote{A note in the table}
\eTD
\eTR
\eTABLE
\stoppostponingnotes
\stoptext
或者当您有旧的安装时,您可以使用\postponenotes
和\flushnotes
命令。
\starttext
Document\footnote{A note in the document}
\postponenotes
\bTABLE
\bTR
\bTD
Table\footnote{A note in the table}
\eTD
\eTR
\eTABLE
\flushnotes
\stoptext
答案2
如果您将脚注放在浮动环境中,最好将其放在靠近表格的位置。在这种情况下,您可以将\start...\stoplocalfootnotes
和 一起使用\placelocalfootnotes
。为了清楚地区分本地脚注和其他文档脚注,我将数字转换为字符。
\setuppapersize[A6] % for this showcase only
\starttext
Document\footnote{A note in the document}
\startplacetable[title={Caption}]
\startlocalfootnotes
\setupnotation[footnote][numberconversion=characters]
\bTABLE
\bTR
\bTD
Table\footnote{A note in the table}
\eTD
\eTR
\eTABLE
\placelocalfootnotes
\stoplocalfootnotes
\stopplacetable
Document\footnote{Another note in the document}
\stoptext