这里的主要问题是 pandoc 保留文档的结构,但不保留格式细节。文本颜色被视为格式细节。这种信息在第一步读入文档时就已经丢失,因此在其余步骤中无法保留它。信息丢失是由于 pandoc 的限制之一所致,请参阅此处。
一种选择可能是找到这些彩色文本的共同点,然后应用上述问答中的方法。例如,如果所有仅包含数字的强调元素都被着色为红色,那么像这样的 Lua 过滤器应该这样做:
function Emph (em)
if pandoc.utils.stringify(em):match '^[0-9]*$' then
return pandoc.Span(em, {style="font-color:red"})
end
end