我在 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 忽略此参数,并且产生的错误与您报告的错误相同。
答案3
我对此问题的解决方案如下:
- 启用“Shell Escape”
- 禁用“隐藏中间文件”
/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}
,并且仍然隐藏中间文件。