我在使用 dot2texi 包时遇到了一些问题。我使用 Sublime Text 2 编辑器编译我的 LaTeX 文件,并且安装了 LaTeXTools。我在 Mac OSX、Mountain Lion 上运行它。
问题很简单,点到 tex 的转换失败了。我安装了所有必要的软件包,如果我从命令行手动运行 dot2tex,它会很好地生成图形。所以我猜这是 Sublime 端的一些问题?我做了一个调试日志输出,以下是日志中的相关片段:
\openout3 = `test_latex-dot2tex-fig1.dot'.
Opening dot2tex stream test_latex-dot2tex-fig1.dot
runsystem(dot2tex --figonly -ftikz --debug --prog=neato -tmath -o test_lat
ex-dot2tex-fig1.tex test_latex-dot2tex-fig1.dot)...executed.
Package dot2texi Warning: Conversion of test_latex-dot2tex-fig1.dot failed..
Package dot2texi Warning: Please convert test_latex-dot2tex-fig1.dot manually.
我尝试编译的 LaTeX 代码是教程中的简单示例:
\documentclass{article}
\usepackage[debug]{dot2texi}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
\begin{document}
\begin{dot2tex}[neato,mathmode]
digraph G {
node [shape="circle"];
a_1 -> a_2 -> a_3 -> a_4 -> a_1;
}
\end{dot2tex}
\end{document}
之前,我在 LaTeXTools 构建文件中启用了 -shell-escape,并调试了运行 dot2tex(与 Python 相关)时出现的一些 _nocomma 错误。解决所有这些问题后,我可以使用 dot2tex 从命令行编译点文件,没有任何问题。我不明白为什么它在 Sublime Text 2 中失败,我想解决这个问题以方便使用。任何帮助都将不胜感激!谢谢!
PS 我隐约觉得这可能与从错误的目录运行的命令有关,所以它找不到点文件...我不知道如何确认或修复它。
答案1
啊,我终于找到答案了,感谢建筑大师。问题描述和解决方案可以在“故障排除”>“路径问题”部分下找到。为了方便起见,我将相关部分复制粘贴在这里:
在 Mac OS X 上,仅
$PATH
在 shell(即终端)中正确设置并不能保证从 ST 调用命令时一切正常。如果在调用pdflatex
或latexmk
从终端时某些东西似乎有效,但从 ST 内部构建失败,则很可能存在路径配置问题。测试此问题的一种方法是从终端启动 ST,输入
/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl
(然后按 Return;这当然适用于 ST2)。如果以这种方式运行 ST 时一切正常,但从 Dock 或 Finder 启动 ST 时失败,则存在路径问题。在终端中,输入
echo $PATH
并记下您得到的结果。然后,从 Dock 或 Finder 运行 ST,打开控制台(使用 Ctrl+ `)并输入
import os; os.environ['PATH']
并再次记下输出面板中看到的内容(就在您输入上述命令的行上方)。最后,查看 LaTeXTools 包目录中文件部分
path
中的关键字。为了使一切正常,您从终端看到的每个目录都必须位于您在 ST 控制台中输入命令时显示的列表中,否则必须在 中明确指定 。如果不是这种情况,请添加相关路径,并请告诉我,以便我可以决定是否将路径规范添加到默认构建文件中。谢谢!osx
LaTeX.sublime-build
import os...
LaTeX.sublime-build
LaTeX.sublime-build
这对我来说非常有效,我所要做的就是"path":
用 shell 输出替换声明后面的内容echo $PATH
。希望这对遇到此问题的人有所帮助。