如何在 asciidoc fop 中合并甚至禁用脚注链接

How do I merge or even disable footnote links in asciidoc fop

我有一个相当大的 asciidoc 文档,我将其动态转换为 PDF 以供我们的开发人员指南使用。由于文档经常引用我们的开发人员指南中记录的 Java classes,我们直接在文档中将它们转换为 links,例如:

In this block we create a new 
https://www.codenameone.com/javadoc/com/codename1/ui/Form.html[Form] 
named `hi`. 

这在大多数情况下工作得相当好,并且在 HTML 中看起来很棒,因为每个对 class 的引用都直接导致它的 JavaDoc 使 reference/guide 过程简单多了。

然而,当我们生成 PDF 时,我们最终会在某些页面上出现类似这样的内容:

通常我不介意很多脚注,甚至不介意重复上一页。但是,在这种情况下,Container 的 link 出现了 3 次。

我可以删除一些 link,但我宁愿不删除,因为它们在网络版本上很有意义。因为我也不知道分页符会落在哪里,所以我宁愿不自己做。

这在我看来像是某个地方的错误,如果 link 相同,则 link 的脚注应该只生成一次。

我同意删除文档中的所有 link 脚注,如果这是要付出的代价的话,尽管我宁愿能够根据具体情况这样做,所以一些 links 将保持可打印

我们在稍微不同的情况下寻找类似的东西,但没有找到解决方案。我们最终编写了一个处理器,它只是剥离了一些 links 例如每个 link 到以“===”开头的部分中的相同 URL。

这不是一个理想的情况,但据我所知这是唯一的方法。

在fo-pdf.xsl中添加这两个参数删除脚注:

<xsl:param name="ulink.footnotes" select="0"></xsl:param>
<xsl:param name="ulink.show" select="0"></xsl:param>

第一个参数禁用脚注,触发 url 重新出现内联。
第二个参数从文本中删除 url。链接保持活动状态并可点击。

非零值切换这些参数。

来源:
http://docbook.sourceforge.net/release/xsl/1.78.1/doc/fo/ulink.show.html