r-markdown中的自定义标签和计数器

问题描述 投票:1回答:1

是否可以在r-markdown中创建一个intext自定义计数器。例如,说我有以下文字

爱因斯坦是一个聪明的人[事实1]。爱因斯坦曾在普林斯顿大学工作[事实2]。任何受普林斯顿大学雇用的人都很聪明。

我理想的结果是定义事实的计数器,具有特定的格式(例如括号中的粗体和红色)。因此,每当我打电话给柜台时,它都会用新号码打印计数器标签。就像是

爱因斯坦是一个聪明的人factCounter。爱因斯坦曾在普林斯顿大学factCounter工作。任何受普林斯顿大学雇用的人都很聪明。

html r markdown r-markdown bookdown
1个回答
0
投票

一个pandoc Lua过滤器可以完成这项工作:

local utils = require 'pandoc.utils'
local fact_counter = 0

function Code (code)
  if utils.stringify(code) == 'factCounter' then
    fact_counter = fact_counter + 1
    return pandoc.Str(string.format('[Fact %s]', fact_counter))
  end
end

只需将qazxsw poi添加到您的qazxsw poi knitr选项中。您文本中出现的所有--lua-filters=FILE-CONTAINING-ABOVE-CODE.lua都将被实际的事实计数所取代。

© www.soinside.com 2019 - 2024. All rights reserved.