4

我搜索了这个,但找不到解决方案。

我知道可以将 HTML markdown 与 Sweave 一起使用,然后使用以下命令将其输出到 HTML:

library(R2HTML) 
Sweave('temp1.rnw', driver = RweaveHTML)

我想知道的是,是否有办法将创建的 .tex 文件转换为 HTML 文件,但通过 R

ps:我正在寻找Windows的解决方案。我已经看到其他操作系统已经有了自己的解决方案

谢谢。

4

2 回答 2

6

TeX 到 HTML 是一项不平凡的任务,因为 TeX 是如此通用。正如@richiemorrisroe 所说,mk4ht在 Windows 上可用。tth也是如此(您链接到的 Vanderbilt 页面上建议的另一种方法)。我认为您不想在 R 中编写 TeX 解析器……您能告诉我们为什么您想要纯 R 解决方案吗?仅仅是为了解决方案自成一体吗?

我不认为安装真的那么难。这应该让你大部分时间在那里......

TTHurl <- "http://hutchinson.belmont.ma.us/tth/tth-noncom/tth_exe.zip"
SWconvurl <- "http://biostat.mc.vanderbilt.edu/wiki/pub/Main/SweaveConvert/sweave2html"
download.file(TTHurl,dest="tth.zip")
unzip("tth.zip") ## creates tth_exe
download.file(SWconvurl,dest="sweave2html")
Sys.chmod(c("tth_exe","sweave2html"),mode="0755") ## ???

如果您想即时将 PDF 转换为 PNG,您也需要 ImageMagick(在此处下载二进制文件)...

tthmk4ht包含一个完整的 (La)TeX 解析器的通用性稍差,但它也更轻量级 - 如果您想将此配方提供给其他用户安装并且不希望他们必须下载大量的东西,这很有用(不幸的是,ImageMagick 相当大——这些天,您可能可以设计一个解决方案,首先在 Sweave 中生成 PNG 图像)。

于 2011-09-22T11:24:56.613 回答
4

好吧,它并不是一个真正的纯 Windows 解决方案,但您可以使用 tex4ht 包,并在 sweaving 后在乳胶文件上调用 htlatex。

从 R GUI 中运行 Sweave 之后的类似 system("htlatex somesweavedfile.tex") 的东西(我猜你的意思是)。顺便说一句,这个html也可以用open office打开,然后转成word,总是有用的。

我总是从命令行执行此操作(在 Windows 上), ?system 的帮助页面指出,某些命令可能无法在 Windows 上正常工作。从我对相关帮助页面的阅读来看,这似乎会。唯一的困难可能是如果 htlatex 命令有问题并试图让您知道,那么我不确定来自 stderr 的读数是否会返回到 R GUI。

请注意 Tal,mk4ht 软件包也可以在 Windows 上使用,但我可以看到您可能没有从网页中获得这种印象,这是非常特定于 Linux 的(对我来说也非常有用,感谢链接!)

编辑:回应 Tal 下面的评论。

如果你在 Windows 上安装 MikTeX,它会给你一个包管理器,你可以用它来安装 mk4ht。这应该(正确设置所有路径)允许您执行我的答案。

于 2011-09-22T10:29:29.887 回答