我正在使用 R 中的 Sweave 工具链从 Sweave 文件生成 tex 文件,作为 R 包的一部分。我使用 R 命令:
$(RSCRIPT) -e "tools::texi2dvi( 'file.tex', pdf = TRUE, clean = FALSE )"
(我 Makefile 的一部分,位于 inst/doc 中)来生成 pdf。不间断空格字符 ~ 似乎在生成的 pdf 中显示为真正的波浪号。我该如何避免这种情况?(我在 .tex 文件上运行 pdflatex 似乎可以解决问题,但我认为这比使用 R 工具编译包更依赖于平台。(有关 R/Sweave makefile 的更多信息,请参阅这个问题)
答案1
我遇到了同样的问题。现在在工作中,我有一台 Windows 机器,对 tools::texi2dvi 的调用似乎工作正常,生成的 pdf 中没有不可分割的空间。但是,在我家里的 Ubuntu 11.10 机器上,如果我通过 进行编译,我会看到 ~ 字符,就像您描述的那样tools::texi2dvi
。我的解决方案是使用system
来自 R 的调用来获取pdflatex
Linux 上的 if 和tools::texi2dvi
Windows 上的 if。我将该函数作为 build.R 文件的一部分,用于我当天正在处理的任何项目。
compile <- function(){
if (.Platform$OS != 'windows'){
system("pdflatex ./tex/MAIN.tex")
} else {
tools::texi2dvi(file = "./tex/MAIN.tex",
pdf = TRUE,
clean = FALSE,
quiet = FALSE)
}
}
compile()