【问题标题】:Nested / Compounded roles: apply multiple roles to overlapping text嵌套/复合角色:将多个角色应用于重叠文本
【发布时间】:2026-01-15 17:15:01
【问题描述】:

在我的custom.css 文件中,

.bold {
    font-weight: bold;
}

.red {
    color:red;
}

在我的_.rst 文件中,

.. role:: bold

.. role:: red

但是如果我尝试嵌套/复合它们,只有最外层的角色才会生效,例如


:bold:`:red:`This is only bold``

这只是粗体


有没有办法在不定义新(组合)角色的情况下组合这些效果?

【问题讨论】:

  • 角色不能嵌套是我的发现。这也是你的发现吗?

标签: python-sphinx restructuredtext


【解决方案1】:

您可以使用自定义 css 类指令:

.. cssclass:: boldred

  bold red text

并更新 css 以格式化粗体类

【讨论】:

    【解决方案2】:

    角色被定义为不能嵌套。

    HTML 和 LaTeX 作为后端都不支持样式重叠。

    【讨论】:

    • 在乳胶中,它是下一个样式的标准,\textbf{This is a bold \textit{and italic} sentence} 工作得很好。
    • 你可以见到他们,但对于我写的 LaTeX,你不能重叠他们。