关于Objective C:如何使用MiKTeX在TeXnicCenter中运行铸造的软件包

How to run minted package in TeXnicCenter using MiKTeX

我正在使用安装了MiKTeX 2.8的TeXnicCenter 2.0 Alpha 3(内部版本1118)在Vista上使用LaTeX。我想对Objective-C使用代码突出显示,并在这里阅读到铸造的包很棒。
我安装了Python 2.7并按照铸造文档中的说明进行pygmentize。我还在TeXnicCenter中设置了编译器选项-shell-escape。编译器找到pygmentize脚本,但发生以下错误。

File"C:\\Python27\\Scripts\\pygmentize.exe", line 1 SyntaxError: Non-ASCII character '\\x90' in file C:\\Python27\\Scripts\\pygmentize.exe on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details! LaTeX Error: File `Test.out.pyg' not found. Type X to quit or to proceed, or enter new name. (Default extension: out.pyg) Enter file name: ! Emergency stop.

我不知道如何解决该问题。我尝试将tex文件另存为ANSI或UTF-8。
我对tex文件的唯一添加是包include

\\usepackage{minted}

以及铸造文档中的这个简单示例。

\\mint{python}|import this|


minted文档已过时:Pygments的较新版本显然包含Windows可执行文件pygmentize.exe(不幸的是,它们的Trac当前处于脱机状态,因此我无法查找更改了该内容的相关修订)。

这意味着文档中提到的修复程序应该是多余的。因此,请尝试以下步骤:

  • 完全删除pygmentize.cmd脚本(最好不要删除它,只需重命名即可)。尝试minted现在可以工作了。
  • 如果没有用,请将以下内容放入pygmentize.cmd

    1
    2
    3
    @echo off
    set PYTHONPATH=C:\\Python27
    %PYTHONPATH%\\Scripts\\pygmentize.exe %*

    即不要通过Python解释器调用*.exe文件。

  • 不幸的是,由于我这里没有Windows,因此我现在无法测试。但是其中一个选项应该起作用。