gpt4 book ai didi

r -\SweaveInput{} 错误消息声称存在的文件不存在

转载 作者:行者123 更新时间:2023-12-02 00:23:37 24 4
gpt4 key购买 nike

我有一个 Sweave 文件 JMP.Rnw,它在同一目录中输入了其他几个文件。 JMP.Rnw 的相关摘录(引言部分)是:

\SweaveInput{intro.tex} 

然而,当我从命令行运行 Sweave 时,我收到一条错误消息,指出无法找到 intro.tex。

> Sweave("JMP.Rnw")
Error in SweaveReadFile(c(ifile, file), syntax, encoding = encoding) :
no Sweave file with name ‘./intro.tex ’ found
>

但是,文件确实存在:

$ find . -name intro.tex
./intro.tex
$

此输入似乎适用于其他输入文件,但我无法检测到可以解释为什么某些文件可以导入而另一些文件不能导入的模式。 Sweave 和文件编码似乎确实存在许多问题(参见 Sweave doesn't seem to get .Rnw file encoding right ),但这似乎不是这里的问题——所有文件都以 us-ascii 编码:

$ file -bi JMP.Rnw
text/x-tex; charset=us-ascii
$ file -bi intro.tex
text/x-tex; charset=us-ascii
$

真正奇怪的是,我有一个单独的 Sweave 文件设置,只需将 intro.tex 移动到该目录并将\SweaveInput{intro.tex} 添加到该主文件即可完美运行(即,构建没有任何问题)。另一篇论文使用了不同的 LaTeX 模板,但这似乎无关紧要,因为我的理解是 Sweave 基本上忽略了所有这些,直到所有代码块都被识别和执行(尽管我在这里的理解可能是非常错误)。

我在 x86_64-pc-linux-gnu(64 位)机器上运行 R 版本 2.14.2。

更新:调查来自https://stackoverflow.com/users/210673/aaron的答案,我发现在我的替代论文中\SweaveInput{} 确实有效,当我尝试调用一个不存在的文件时生成的错误消息包含一个额外的空间,即

> Sweave("allocating_visibility.Rnw")
Error in SweaveReadFile(c(ifile, file), syntax, encoding = encoding) :
no Sweave file with name ‘./nothere.Rnw’ found
>

现在,我不知道为什么这个尾随空格的事情发生在一个地方而不是另一个地方,但这似乎是问题的最有可能的原因。

更新 II:所以我认为这毕竟是一个编码问题。当我最初创建我的主 .Rnw 文件时,我粘贴了一些 utf-8 编码的文本。我使用 http://billposer.org/Software/uni2ascii.html 将文件转换回 ascii ,并且在我运行 Sweave 时仍然出现空白错误。然而,当我删除原来的\SweaveInput{} 行并重新输入它时,问题就消失了(即,它正确构建并且错误消息中的额外空间消失了)。

最佳答案

我想你可能有 \SweaveInput{intro.tex }而不是 \SweaveInput{intro.tex}因为您的错误消息在结束引号之前有一个额外的空间。

要进行调试,您还可以编辑 utils 包中的 SweaveReadFile 命令,使其输出正在查找的文件的名称,如下所示。

SweaveReadFileNew <- function(file, syntax, encoding = "") {
message(gettextf("looking for Sweave file with name %s", sQuote(file[1L])), domain = NA)
SweaveReadFileOrig(file, syntax, encoding)
}
SweaveReadFileOrig <- utils:::SweaveReadFile
assignInNamespace("SweaveReadFile", SweaveReadFileNew, ns="utils")

关于r -\SweaveInput{} 错误消息声称存在的文件不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9865756/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com