我正在交叉发布此from the R Studio community page,因为这有点神秘。
是否可以要求Knitr将R Markdown中的方程式渲染为图像,然后将生成的图像粘贴到最终文档中?我想到的用例克服了在编织到Word / PowerPoint时MSFT公式编辑器的一些缺点。如果方程只是一个图像,那么我可以在MSFT文档中使用LaTeX质量方程,那真是太好了!
我发现最接近的东西是using latex2exp
,并放入一个R Code块,该块生成一个实际上是渲染的LaTeX公式的图形。我有点喜欢这种骇客,但是latex2exp
有一些局限性。
答案 0 :(得分:1)
如评论中所述,webtex是一个简单的解决方案。定位docx时,Pandoc的--webtex
开关无效。但是,可以使用Lua滤镜达到相同的效果。
local mediabag = require 'pandoc.mediabag'
local utils = require 'pandoc.utils'
local function url_encode(str)
local encode_char = function(c)
return ("%%%02X"):format(string.byte(c))
end
return str
:gsub("\n", "\r\n")
:gsub("([^%w%-%_%.%~])", encode_char)
end
local function webtex_url(formula)
return 'https://latex.codecogs.com/png.latex?' .. url_encode(formula)
end
function Math(el)
local filename = utils.sha1(el.text) .. '.png'
local mime, contents = mediabag.fetch(webtex_url(el.text), '.')
mediabag.insert(filename, mt, contents)
local img = pandoc.Image({}, filename)
return el.mathtype == 'DisplayMath'
and {pandoc.LineBreak(), img, pandoc.LineBreak()}
or img
end
将其保存到文件中,然后通过--lua-filter
选项将该文件传递给pandoc。它将通过webtex将所有方程式转换为png图像。