如何在doxygen中添加脚注?

10

我想在Doxygen的输出中插入一个编号(或其他类型,我不挑剔)的脚注。 特殊命令列表 中没有任何可以启用此功能的命令。我希望有类似以下的东西:

This is my text.\footnote{This is my footnote}

如何实现在页面底部生成脚注?比如我有这段文字1,然后需要在页面底部显示类似“1: 这是我的脚注”的内容。


这个页面中的某些内容是否有帮助(请查看页脚部分)? - roelofs
@roelofs 我没有看到这个功能。页脚部分可以让您添加一个在所有页面上都通用的页脚,因此它无法帮助您仅向一个页面添加脚注条目,除非我误解了它的含义。 - Scott Deerwester
1
我找到了另一个与编号锚点相关的链接。这个想法似乎大致相同 - 也许它会有用?https://dev59.com/XmbWa4cB1Zd3GeqPbeKE - roelofs
@roelofs 那里有一个非常有趣的评论,关于如何实现脚注,但没有描述。我已经添加了一条评论,希望能激励作者分享他所做的事情。感谢指引。 - Scott Deerwester
是的,我也看到了 - 希望你能找到一些东西! - roelofs
3个回答

9

很好的问题!下面提供的方法有些简单粗暴,但可能能满足您的需求。

从页面底部的脚注文本开始,并使用\anchor进行标记。

\anchor wibble 1. Wibble是一种不寻常的粉色。

然后您可以使用\ref链接到脚注。

在上亚马逊盆地的奇异植物中,有一种叫wibble玫瑰的植物(\ref wibble "1")。水牛特别喜欢wibble玫瑰。

应该会产生以下效果:

在上亚马逊盆地的奇异植物中,有一种叫wibble玫瑰的植物 (1)。水牛特别喜欢wibble玫瑰。

  1. Wibble是一种不寻常的粉色。

是的,您需要手动操作得有点多,但至少这样能够形成带有超链接的脚注。


1
嗯,如果我想要变得花哨一些,我也可以做类似于 (\ref wibble "<sup>1</sup>") 这样的事情...感谢你的回答! - Scott Deerwester
在将此标记为最终答案之前,我会等一会儿看看是否有其他人能想出更直接的方法。 - Scott Deerwester
1
谢谢。非常好的答案。我更喜欢这个方法,因为它在doxygen注释和渲染的html代码之间保留了更多或更少的相同结构(doxygen注释应该仍然易于在源代码中阅读)。 - Patrick Schlüter
(\ref wibble "<sup>1</sup>") 没有起作用。请使用 <sup>(\ref wibble "1")</sup> 代替。 - ahoo

5
您可以通过doxygen配置文件中的ALIASES选项定义自己的\footnote命令,如下所示:
ALIASES = footnote{1}="\latexonly\footnote\{\1\}\endlatexonly\htmlonly<sup title=\"\1\">*</sup>\endhtmlonly"

这将在LaTeX输出中产生一个真正的脚注,并在HTML输出中生成带有工具提示的*


5
为了在HTML中制作脚注,我目前使用ALIASES命令和一些自定义JS的混合方式。
该命令的格式如下:
ALIASES += "myFootnote{1}=<span class=\"footnote\">\1</span>"

您可能希望改进此别名,以通过\latexonly\htmlonly也覆盖LaTeX中的脚注。
在我的项目的header.html中,我添加了在此处找到的脚注脚本:http://www.planetholt.com/articles/jQuery-Footnotes
为了初始化脚注,我还在header.html中的一个脚本标签中添加了以下代码:
$(document).ready(function() {
    $("#doc-content").append('<ol id="autoFootnotes0" class="footnotesList"></ol>');
    $("body").footnotes();
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接