我目前正在尝试解决通过 minted 包在 LaTex 文档中输出 Python 代码的问题。最初,我遇到了“shell-escape flag”错误的问题,解决后,出现了“catchfile”错误。我最终通过删除文档名称中的空格解决了这个问题,但现在我被“Pygmatize”错误困住了,我不知道该怎么办。
我在网上查找了其他人过去做过的事情,并尝试做同样的事情,但无济于事。在安装 pips 之后,我从终端安装了 pygments - 我可以在终端中检查版本,它显示我使用的是 2.4.2 版本。我还安装了 minted,可以使用 finder 找到文件夹。我创建了 /~Library/texmf/tex/latex 树,并尝试将相关的 minted.sty 文件放入其中,以便 LaTex 可以找到/读取该文件。我已检查是否已通过 TeX Live Utility 安装了 minted(已安装)。
我不知道接下来该做什么。LaTex 仍然无法编译我的文档,并且仍然给我“Pygmatize”错误。我花了很长时间试图在这里找到解决方案,只想让这个文档能够编译。
我将非常感激任何对此提供的帮助。
答案1
这是 2022 年 4 月使用 Python 3.9 和 MacTeX 2022 的配方。YMMV。
- 为您最喜欢的 Python 版本安装一个虚拟环境(
python -m venv ~/.py39venv
)。 - 切换到新的 venv(
source ~/.py39venv/bin/activate
)。 - 安装 pygments(
pip install pygments
)。 - 确认最后
pip
安装的命令pygmentize
(which pygmentize
应该指向~/.py39venv/bin/pygmentize
)。
从那时起:
切换到新的 venv(
source ~/.py39venv/bin/activate
)。写一些 latex + 代码:
\documentclass{文章}
\usepackage{minted}
\开始{文档}
\开始{minted}{c}
int 主要() {
printf("hello, world"); return 0;
}
\end{铸造}
\结束{文档}
并运行 pdflatex ( pdflatex -shell-escape hello
)。
答案2
在一些帮助下我似乎找到了解决方案:
我刚刚将“pygmentize”可执行文件从 /Library/Frameworks/Python.framework/Versions/2.7/bin 复制并粘贴到 /usr/local/bin,现在它似乎运行良好。