我在 Mac 上使用 TeXShop 工作,我很喜欢它。
不过还有一个小问题。我使用 TikZ,它有时会使用 gnuplot 来创建它的图。有人会认为单独运行 TeXShop 就足够了(TeXShop 应该调用 gnuplot),但对我来说还不够。
我必须使用以下命令从命令行运行我的文件:
latex -shell-escape myfile.tex
只有在我这样做之后,图才会出现在 TeXShop 中。发生的事情是这样的:
- TeXShop 无法找到或调用
gnuplot
,因此无法创建必要的*.table
文件 - 如果我
latex
从命令行调用,它会自动做找到 gnuplot 并创建正确的*.table
文件 - 当我再次运行 TeXShop 时,
*.table
文件已经存在,它只需选择它们进行处理即可。
我以为这是正常的,直到我发现这不是通过使用另一个也需要调用外部程序的包(minted
,需要 pygmentize 和/或 python)来实现的。这个包在我的 TeXShop 中正常工作,这让我想到:从 TeXShop 调用 gnuplot 是否也能正常工作?
我猜这与我的 gnuplot 的位置有关,which gnuplot
在命令行上使用告诉我它位于:
/opt/local/bin/gnuplot
它是使用安装指南安装的这里(实际上,我安装了全部macports,gnuplot 就是其中之一)。
在其他论坛上读到的内容让我相信符号链接已损坏。虽然我不太清楚这意味着什么或如何修复它。TeXShop 没有知道在哪里可以找到gnuplot
。
我应该怎样修复此问题?
PS:为了避免显而易见的问题:是的,--shell-escape
在我的 TeXShop 偏好设置中已启用。
答案1
您应该告诉 TeXShop 使用/opt/local/bin/gnuplot
而不是gnuplot
,或者将其添加/opt/local/bin
到PATH
Mac OS X 下的图形应用程序所见的 。对于后者,您应该编辑(或创建)文件~/.MacOSX/environment.plist
,请参阅http://www.astro.washington.edu/users/rowen/AquaEnvVar.html。
下面的应该适用于你的情况,但请确保你还添加了 tex 二进制文件所在的目录
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PATH</key>
<string>/opt/local/bin:/bin:/usr/bin</string>
</dict>
</plist>
不要忘记注销并重新登录以使更改生效。
答案2
另一种方法是创建一个符号链接,以便 TeXShop 在它正在查找的地方找到它。在终端窗口中执行:
$ sudo ln -s /opt/local/bin/gnuplot /usr/local/bin
(这$
是提示,而不是要执行的操作。)