【问题标题】:pdflatex and shell scriptpdflatex 和 shell 脚本
【发布时间】:2010-12-22 14:29:26
【问题描述】:

我需要观察 osx 中的特定目录更改,以查看文件是否已上传,当文件位于目录中时,我想运行一个非常基本的脚本(只需使用 pdflatex '编译' .tex 文件),到目前为止我所做的:

1)launchd 监控我的目录,这是我的 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) 测试.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

我不明白为什么会出现这个错误,有什么想法吗?

【问题讨论】:

    标签: macos pdflatex launchd


    【解决方案1】:

    工作目录不正确。我猜工作目录是launchd所在的目录(你可以通过将'pwd'命令添加到shell脚本来测试它)。你应该改变它,或者你可以修改你的 pdflatex 命令:

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

    我添加了-output-directory=/tmp,我现在假设您对/tmp 具有读写权限。如果这可行,则问题出在写权限上。然后,您可以四处寻找正确的输出目录。您可以通过launchd 或shell 脚本中的'cd myDir' 来完成。

    【讨论】:

    • 你是对的,工作目录不正确。现在它可以正常工作了。感谢您的帮助
    【解决方案2】:

    您似乎没有写入文件“test.log”的权限。

    【讨论】:

    • 但文件 test.log 不存在 pdflatex 在此过程中创建它
    猜你喜欢
    • 1970-01-01
    • 2012-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-19
    • 1970-01-01
    相关资源
    最近更新 更多