我正在尝试在 tex2docx
reports
包中重现 R
函数的示例并收到以下错误。
DOC <- system.file("extdata/doc_library/apa6.qual_tex/doc.tex",
package = "reports")
BIB <- system.file("extdata/docs/example.bib", package = "reports")
tex2docx(DOC, file.path(getwd(), "test.docx"), path = NULL, bib.loc = BIB)
错误信息
pandoc.exe: Error reading bibliography `C:/Users/Muhammad'
citeproc: the format of the bibliographic database could not be recognized
using the file extension.
docx file generated!
Warning message:
running command 'C:\Users\MUHAMM~1\AppData\Local\Pandoc\pandoc.exe -s C:/Users/Muhammad Yaseen/R/win-library/3.0/reports/extdata/doc_library/apa6.qual_tex/doc.tex -o C:/Users/Muhammad Yaseen/Documents/test.docx --bibliography=C:/Users/Muhammad Yaseen/R/win-library/3.0/reports/extdata/docs/example.bib' had status 23
我想知道如何让
tex2docx
reports
包中的 R
函数正常工作。 最佳答案
如上述注释中所述,错误是由传递包含一些未转义或引用的空格的文件名/路径引起的。解决方法可能是在使用 shQuote
传递到命令行之前将所有文件路径和名称包装在 system
中。
代码:https://github.com/trinker/reports/pull/31
演示:
library(reports)
bib
文件dir.create('foo bar')
file.copy(system.file("extdata/docs/example.bib", package = "reports"), 'foo bar/example.bib')
bib
文件:DOC <- system.file("extdata/doc_library/apa6.qual_tex/doc.tex", package = "reports")
BIB <- 'foo bar/example.bib'
tex2docx(DOC, file.path(getwd(), "test2.docx"), path = NULL, bib.loc = BIB)
免责声明: 我试图测试这个拉取请求,但我无法在 5 分钟内设置一个环境,其中包含所有需要的工具来运行带有小插曲和其他所有内容的
R CMD check
(抱歉,现在正在度假,只是享受午睡午餐后),所以请将此拉取请求视为“未经测试”——尽管它应该可以工作。关于r - 报告 R 包中的 tex2docx 函数出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17897359/