我的一个标题中有以下片段:
/**
* @brief Simple function.
*
* @verbatim
* don't want the following to be rendered as <: > or \> !
* @endverbatim
*/
void simple(void) {}
我正在运行 Doxygen,在我得到的 XML 输出上:
<memberdef kind="function" id="simple8hpp_1a6624a5381d71ba485b6c59bc71214607" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<detaileddescription>
<para><verbatim>* don't want the following to be rendered as &lt: > or \> !
* </verbatim> </para>
</detaileddescription>
</memberdef>
在
<detaileddescription>
中,我原来的>
被>
取代了。我不想要那个。我如何配置 Doxygen 以便不进行替换?
根据this answer,
\verbatim
块不应该取代那些。
Doxygen 实际上是由 Breathe 调用的。我正在尝试像这样创建 ReTxT 参考:
* @brief Simple function.
*
* @verbatim
* don't want the following to be rendered as <: > or \> !
* @endverbatim
*
* @rstref2{my-reference-label, not the title here}
*
*/
void simple(void) {}
Breathe 的帮助展示了如何创建一个Doxygen 别名:
breathe_doxygen_aliases = {
'rstref{1}': r'\verbatim embed:rst:inline :ref:`\1` \endverbatim'
}
上面的示例创建了一个 ReTxT 交叉引用,形式如下:
It refers to the section itself, see :ref:`my-reference-label`.
我想参考表格:
It refers to the section itself, see :ref:`not the title here<my-reference-label>`.
所以
not the title here
是链接文本。
我试过像这样配置呼吸:
breathe_doxygen_aliases = {
'rstref{1}': r'\verbatim embed:rst:inline :ref:`\1` \endverbatim',
'rstref2{2}': r'\verbatim embed:rst:inline :ref:`\2<\1>` \endverbatim'
}
这会产生(显然正确的)以下 Doxygen 配置:
ALIASES += rstref{1}="\verbatim embed:rst:inline :ref:`\1` \endverbatim"
ALIASES += rstref2{2}="\verbatim embed:rst:inline :ref:`\2<\1>` \endverbatim"
但是在 XML 输出中,
<
和 >
被 <
和 >
替换:
<verbatim>embed:rst:inline :ref:`not the title here<my-reference-label>` </verbatim>
这中断了后续的 ReTxT 处理,我没有得到链接。
rstref{1}
别名虽然工作得很好:
<verbatim>embed:rst:inline :ref:`custom0_pe_convert` </verbatim>
我试过转义别名定义中的
<>
符号:
'rstref2{2}': r'\verbatim embed:rst:inline :ref:`\2\<\1\>` \endverbatim'
这给了我:
ALIASES += rstref2{2}="\verbatim embed:rst:inline :ref:`\2\<\1\>` \endverbatim"
但是XML还是错的:
<verbatim>embed:rst:inline :ref:` not the title here\<my-reference-label\>` </verbatim>
任何帮助我们非常感谢。
干杯!