Minted 可以从终端工作,但不能从 Texpad 工作

Minted 可以从终端工作,但不能从 Texpad 工作

我在 Mac 上使用 latex 中的 minted 包(运行 lion)。现在当我使用终端输入

pdflatex -shell-escape My_Ruby_Notes.tex 

它编译得很好,生成的 pdf 看起来很完美。当我尝试通过 Texpad 排版完全相同的文档时(我假设其他 IDE 也是如此),我只会收到大量与 My_Ruby_Notes.out.pyg 文件相关的错误。我已在首选项中设置为使用 -shell-escape,但这并没有解决问题。有什么想法吗?我的 $PATH 显示在下面,以防万一这能说明一些问题

/Library/Frameworks/Python.framework/Versions/2.7/bin:/Users/Philip/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2ndEd/bin:/Users/Philip/.rvm/gems/ruby-1.9.3-p194@global/bin:/Users/Philip/.rvm/rubies/ruby-1.9.3-p194/bin:/Users/Philip/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin:/usr/texbin

所有错误都具有以下形式

Undefined control sequence. (...err}{\PYZbs{}}\PY{n}{relax}\PY{p}{\PYZpc{}}...)

以下是最小的工作文件(从终端工作,而不是 Texpad)

\documentclass[12pt, titlepage]{article}
\usepackage{minted}
\begin{document}
\newpage

\begin{minted}[mathescape,
               linenos,
               numbersep=5pt,
               gobble=2,
               frame=lines,
               framesep=2mm]{csharp}
  string title = "This is a Unicode π in the sky"
  /*
  Defined as $\pi=\lim_{n\to\infty}\frac{P_n}{d}$ where $P$ is the perimeter
  of an $n$-sided regular polygon circumscribing a
  circle of diameter $d$.
  */
  const double pi = 3.1415926535
\end{minted}

\end{document}

答案1

在 OS X 中,GUI 应用程序不会获取对或中所做的更改PATH(或任何其他环境变量,如TEXINPUTS)。因此,您必须设置它们,以便它们可用于 GUI 应用程序。请参阅.profile.bashrc这个答案了解详情。

由于您没有指定错误消息是什么,我不知道这是否是您的问题,但这很有可能。

答案2

您是否使用“-output-directory”进行编译?有一个未解决的问题导致 minted 忽略此参数,并且产生的错误与您报告的错误相同。

参考:http://code.google.com/p/minted/issues/detail?id=88

答案3

我对此问题的解决方案如下:

  1. 启用“Shell Escape”
  2. 禁用“隐藏中间文件”
  3. /Library/Frameworks/Python.framework/Versions/3.5/bin/pygmentize创建一个从到pygmentize 的符号链接/usr/local/bin

答案4

对于 minted 1.7,除了启用 -shell-escape 之外,还要禁用隐藏中间文件的选项。(每比利

在 minted 2.0alpha3 中有一个 outputdir 选项。如果你安装了它(或更高版本),你可以使用: \usepackage[outputdir=.texpadtmp]{minted},并且仍然隐藏中间文件。

相关内容