texi2dvi с TeX 3.14159265 (TeX Live 2015) в R не работает

В прошлом я использовал

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 вам понадобится версия TeX Live или texinfo, включающая texi2dvi (ВНИМАНИЕ: недавние TeX Live и некоторые RPM texinfo, НЕ включают 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):

Существуют различные версии скрипта texi2dvi для Unix-подобных программ, и было замечено немало ошибок, некоторые из которых обходят эту оболочку R.

Тот, который присутствовал в версии 4.8 texi2dvi (как поставляется в OS X), заключается в том, что он не будет работать правильно для путей, которые содержат пробелы, или если абсолютный путь к файлу будет содержать пробелы.

Это явно глупая ошибка, поэтому лучший обходной путь - избегать путей с пробелами.

Другие вопросы по тегам