pdflatex и скрипт - PullRequest
       2

pdflatex и скрипт

1 голос
/ 22 декабря 2010

Мне нужно следить за изменениями в конкретном каталоге в OSX, чтобы увидеть, был ли загружен файл, когда файл находится в директории. Я хочу запустить очень простой скрипт (просто «скомпилировать» .tex файлы с использованием pdflatex ), что я сделал до сих пор:

1) запущен для мониторинга моего каталога, это мой файл test.plist

<plist version="1.0">
<dict>
    <key>Label</key>
 <string>DirMonitor</string>
 <key>ProgramArguments</key>
 <array>
  <string>/Users/Caffeina/Desktop/test.sh</string>
  <string>path modified</string>
 </array>
 <key>QueueDirectories</key>
 <array>
  <string>/Users/Caffeina/Desktop/test_dir/</string>
 </array>
</dict>
</plist>

2) test.sh:

#!/bin/sh
/usr/texbin/pdflatex -interaction=nonstopmode /Users/Caffeina/Desktop/test_dir/test.tex

3) запуск монитора:

launchctl load /Users/Caffeina/Library/LaunchAgents/test.plist 

4) чтобы проверить, все ли работает правильно, я перемещаю файл в контролируемом каталоге ... но ничего не происходит. Глядя на вывод консоли, я могу исправить эту ошибку:

logger[4155]    This is pdfTeX, Version 3.1415926-1.40.11 (TeX Live 2010)
logger[4155]    restricted \write18 enabled.
logger[4155]    entering extended mode
logger[4155]    ! I can't write on file `test.log'.
logger[4155]    (Press Enter to retry, or Control-D to exit; default file extension is `.log')
logger[4155]    Please type another transcript file name
logger[4155]    ! Emergency stop
logger[4155]    !  ==> Fatal error occurred, no output PDF file produced!
    com.apple.launchd.peruser.501[127]  (logger[4155]) Exited with exit code: 1

Я не понимаю, почему эта ошибка, есть идеи?

Ответы [ 2 ]

2 голосов
/ 23 декабря 2010

Неправильный рабочий каталог. Я предполагаю, что в рабочем каталоге находится launchd (вы можете проверить его, добавив команду 'pwd' в скрипт оболочки). Вы должны изменить это, или вы можете изменить свою команду pdflatex:

/usr/texbin/pdflatex -interaction=nonstopmode -output-directory=/tmp /Users/Caffeina/Desktop/test_dir/test.tex

Я добавил -output-directory=/tmp, теперь я предполагаю, что у вас есть права на чтение и запись в / tmp. Если это работает, проблема была с разрешениями на запись. Затем вы можете поиграть, чтобы получить правильный выходной каталог. Вы можете сделать это либо через launchd, либо просто «cd myDir» в сценарии оболочки.

0 голосов
/ 22 декабря 2010

Кажется, у вас нет прав на запись в файл `test.log '.

...