如何在Bookdown的HTML输出中实现按「章节.序号」编号的自定义定理环境?
自定义Bookdown HTML定理环境:按「章节.出现次数」编号的问题
需求
我希望在Bookdown的HTML输出中,实现一个按「章节编号.本章节内出现次数」格式编号的自定义定理环境(例如名为convention的环境)。
已完成的配置
1. LaTeX配置(preamble.tex)
为LaTeX输出定义环境:
\newtheorem{convention}{Convention}[chapter]
2. CSS样式配置(style.css)
为HTML输出添加样式:
.convention { position: relative; font-style: italic; } .convention p{ display: inline; } .convention:before { counter-increment: convention; content: "Convention: " "." counter(convention) " (" attr(name) ")."; font-weight: bold; font-style: normal; } div.convention { font-style: italic; }
3. 环境使用示例(01-vectors-and-matrices.Rmd)
在章节文件中调用自定义环境:
::: {.convention #something name="Something" data-latex=""} Something. :::
存在的问题
LaTeX输出完全符合预期,但HTML(GitBook)输出有两个问题:
- CSS中的
counter(convention)无法实现按章节统计该环境的出现次数,当前是全局累计计数; - 不知道如何在CSS中获取并引用当前章节的编号,无法生成「章节.次数」的格式。
参考需求
我想参考Bookdown内置的标准定理环境(如definition、corollary、remark)的样式实现逻辑,但找不到对应的CSS定义位置。
内容的提问来源于stack exchange,提问作者Stefan
相关产品推荐
相关产品推荐

