R 中的 texi2dvi 与 TeX 3.14159265 (TeX Live 2015) 无法正常工作

R 中的 texi2dvi 与 TeX 3.14159265 (TeX Live 2015) 无法正常工作

过去我用的是

texi2dvi("ABC.tex", pdf = TRUE)

R产生。然而,在pdf使用tex

sudo apt-get update && sudo apt-get upgrade

现在使用

texi2dvi("ABC.tex", pdf = TRUE)

引发以下错误

Error in texi2dvi(file = file, pdf = TRUE, clean = clean, quiet = quiet,  : 
  Running 'texi2dvi' on 'ABC.tex' failed.
Messages:
mkdir: cannot create directory ‘Yaseen/XYZ’: No such file or directory
/usr/bin/texi2dvi: cannot create directory: Yaseen/XYZ

我的目录名也包含空格(我无法更改,因为我的许多目录名中都有空格)。

通过上网我偶然发现了这个关联其中写道:

要构建 PDF 文档,您需要一个包含 texi2dvi 的 TeX Live 或 texinfo 版本(注意:最新的 TeX Live 和一些 texinfo RPM 不包含 texi2dvi)。

我的tex --version输出是

TeX 3.14159265 (TeX Live 2015)
kpathsea version 6.2.1
Copyright 2015 D.E. Knuth.
There is NO warranty.  Redistribution of this software is
covered by the terms of both the TeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the TeX source.
Primary author of TeX: D.E. Knuth.

任何帮助解决问题的帮助都将不胜感激。谢谢

已编辑

setwd()R

setwd(
  file.path(
    "/media"
    , "yaseen"
    , "D"
    , "Muhammad Yaseen"
  )
)

getwd()
[1] "/media/yaseen/D/Muhammad Yaseen"

texi2dvi("ABC.tex", pdf = TRUE)

答案1

您发布的错误消息表明您提供的文件路径不存在。Yaseen/XYZ存在吗?如果不存在,请先创建它,然后重试。

如果目录名称包含空格,请尝试使用\以下命令将其转义:

path/to\ my\ files/

或者使用引号 ( "/ '):

"path/to my files/"

如果您从 R 执行此操作,请确保使用\\转义字符来确保转义字符被传递:

texi2dvi("/media/yaseen/D/Muhammad\\ Yaseen/ABC.tex", pdf = TRUE)

编辑:请注意 R 中关于此内容的文档(?texi2dvi):

在类 Unix 系统中,texi2dvi 脚本有多种版本,并且已发现相当多的错误,这个 R 包装器可以解决其中一些错误。

texi2dvi 版本 4.8(在 OS X 上提供)存在的一个问题是,如果路径包含空格,它将无法正常工作,如果文件的绝对路径包含空格,它也不起作用。

这显然是一个愚蠢的错误,所以最好的解决方法是避免带有空格的路径。

相关内容