latex - Sublime Text Build LaTex,类型转换包问题

标签 latex sublimetext2 sublimetext3 sublimetext sublime-text-plugin

Minted用于在 LaTex 中为代码增添美感,例如:

\documentclass{article}
\usepackage{minted}
\begin{document} 
\begin{minted}{c} 
int main() {
    printf("hello, world");
    return 0;
}
\end{minted} 
\end{document}

我已经安装了它,如果我从命令行调用它,它工作正常:

pdflatex -shell-escape minimal.tex

但我正在使用 Sublime Text 构建系统制作 PDF,这里是构建脚本:

{
    "cmd": ["/Library/TeX/texbin/pdflatex","-shell-escape","$file"],
    "selector": "text.tex.latex"
}

出于某种原因,当我按下 Ctrl+B 时,它无法像在终端中那样工作。在输出面板中我看到:

This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) (preloaded format=pdflatex)
 \write18 enabled.
entering extended mode
(/Users/user/Downloads/minted/minimal.tex
LaTeX2e <2016/03/31>
Babel <3.9r> and hyphenation patterns for 83 language(s) loaded.
(/usr/local/texlive/2016/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/local/texlive/2016/texmf-dist/tex/latex/base/size10.clo))
(/usr/local/texlive/2016/texmf-dist/tex/latex/minted/minted.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics/keyval.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/oberdiek/kvoptions.sty
(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/ltxcmds.sty)
(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/infwarerr.sty)
(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/etexcmds.sty
(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/ifluatex.sty))))
(/usr/local/texlive/2016/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty
Style option: `fancyvrb' v2.7a, with DG/SPQR fixes, and firstline=lastline fix 
<2008/02/07> (tvz))
(/usr/local/texlive/2016/texmf-dist/tex/latex/float/float.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/base/ifthen.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/tools/calc.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/ifplatform/ifplatform.sty
(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty
(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/ifpdf.sty))
(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/catchfile.sty)
(./minimal.w18))
(/usr/local/texlive/2016/texmf-dist/tex/latex/etoolbox/etoolbox.sty)
(/usr/local/texlive/2016/texmf-dist/tex/generic/xstring/xstring.sty
(/usr/local/texlive/2016/texmf-dist/tex/generic/xstring/xstring.tex))
(/usr/local/texlive/2016/texmf-dist/tex/latex/lineno/lineno.sty))
(./_minted-minimal/default.pygstyle)system returned with code 256


! Package minted Error: You must have `pygmentize' installed to use this packag
e.

See the minted package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.3 \begin{document}

? 

为什么 pygmentize 无法通过 Sublime Text 找到?

最佳答案

尽管我非常喜欢 OS X - 整个路径故事只是一个痛苦,至少对我来说,它似乎在每个主要版本中都会再次发生变化。现在,当启动 Sublime Text 时,它继承了 $PATH 变量(它基本上告诉 Sublime Text 它应该在哪里寻找外部程序,如 pdflatexpygmentize) 来自 launchctl 工具 - 而不是来自 shell。因此,即使一切在 shell 中都运行良好,它也无法在 Sublime Text(或大多数其他编辑器)中运行。

您可以尝试自行修复此问题,如 this question on AskDifferent.SE 中所述.这样做的好处是它“固定”了所有应用程序的路径,即即使您切换到另一个编辑器。为此,您必须将以下内容添加到您的 .bash_profile 中:

export PATH=some_path:another_path
launchctl setenv PATH $PATH

Taken from this answer

请注意,如果终端中一切正常,您可能不需要第一行。只需确保在设置所有路径后调用 launchctl

如果您更喜欢 Sublime Text 方式,另一种可能性是使用 SublimeFixMacPath plugin对于 Sublime Text 2 或 3,它将所有路径从您的 shell 添加到 Sublime Text 路径。这样,任何在 shell 中工作的东西也可以在 Sublime Text 中工作。

关于latex - Sublime Text Build LaTex,类型转换包问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40614100/

相关文章:

latex - 在 LaTeX 中居中部分时出现 Missing\item 错误

python - Plotly 无法在 Python 中的 Latex 标签中显示文本

console - 包控制 : Install Package File "<string>", 第 1 行 包控制:安装包 ^ SyntaxError:语法无效

sublimetext3 - 如何使 Sublime Text 3 在 ctrl +/注释后将光标移动到下一行?

c - 声明数组和使用 malloc 时出现 ISO C90 错误

r - 在 Shiny 模式下在 R Markdown 中插入 latex 方程

latex - (La)TeX Base 10 定点运算

sublimetext2 - 自定义 "Find in Folder..."如何在 Sublime Text 2 中工作

batch-file - 当我通过下拉菜单运行 Go 脚本时防止 .bat 文件关闭

sublimetext - 如何更改 Sublime Text 3 中的默认代码片段?