пользовательские метки и счетчики в r-уценке - PullRequest
0 голосов
/ 28 февраля 2019

Можно ли создать пользовательский счетчик intext в r-markdown.Например, скажем, у меня есть следующий текст

Эйнштейн был умным человеком [Факт 1] .Эйнштейн работал в Принстонском университете [Факт 2] .Любой, кто работает в Принстонском университете, умен.

Мой идеальный результат - определить счетчик фактов с определенным форматированием (например, жирным шрифтом и красным цветом в скобках).Поэтому каждый раз, когда я вызываю счетчик, он печатает этикетку счетчика с новым номером.Что-то вроде

Эйнштейн был умным человеком factCounter.Эйнштейн работал в Принстонском университете factCounter.Любой, кто работает в Принстонском университете, умен.

1 Ответ

0 голосов
/ 01 марта 2019

Фильтр 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

Просто добавьте --lua-filters=FILE-CONTAINING-ABOVE-CODE.lua к вашим pandoc_args параметрам knitr.Все вхождения `factCounter` в вашем тексте будут заменены фактическим количеством фактов.

...