如何让AsciiDoc中定义的属性值正常渲染为数学下标公式
问题根源
AsciiDoc 对内容的格式解析是按预先定义的替换(subs)规则顺序执行的:
- 默认只会对直接编写的文本执行下标、加粗这类格式替换,属性引用默认仅做值的替换,不会自动解析属性值内部的格式标记
- 你当前给块配置的
subs="attributes"仅开启了属性替换规则,跳过了下标解析等格式处理步骤,所以替换后的~标记不会被识别为下标格式。
解决方法
给引用{source}属性的块显式指定完整的替换规则,在属性替换后增加下标解析的步骤,示例配置如下:
:source: ~sub~script phrase | S~2~ + S~3~ = S~4~ // 若要展示属性替换后的原始AsciiDoc代码,保留source块配置即可,该块本身就是用来展示原始代码的,不会渲染格式 [source,asciidoc,subs="attributes"] .source code ---- {source} ---- // 若要渲染属性值的格式效果,给result块加上完整替换规则 .result [subs="attributes,specialchars,subscript,quotes"] ==== {source} ~sub~script phrase | S~2~ + S~3~ = S~4~ ====
如果你的属性内还包含上标、加粗、斜体等其他格式,只需要在subs列表里追加对应的规则即可,对应规则名分别为superscript、bold、emphasis。
内容的提问来源于stack exchange,提问作者steven
相关产品推荐
相关产品推荐

