我在 macOS Catalina 版本 10.15.7 上使用 TeXShop 版本 4.51。遵循标题为“Richard Koch 的 Pythontex 引擎”的 README.pdf
- 下载的 anaconda 来自https://www.anaconda.com/download/#macos
- 在网上找到了一个pythontex.engine并放在/Library/TeXShop/Engines
按照 Geoffrey Poore 的 README 操作,将不同的 pythontex 文件放入 texmf 子文件夹中。
在 pythotex_gallery.tex 上运行了 LaTeX。当我在同一个文件上运行 Pythontex 时,我收到以下消息“找不到所需的工具。/Users/stang9/Library/TeXShop/Engines/pythontex.engine 没有设置可执行位。”
我无法让 Pythontex 工作。任何帮助都将不胜感激。
答案1
由于您在使用 pythontex.engine 时遇到问题,这里有一种方法可以使用基于 latexmk 的引擎之一。首先,获取您的 .tex 和相关文件,并将它们单独放在一个文件夹中;这将创建一个“项目”。然后创建一个platexmkrc
包含代码的文件名,由 John Collins 编写,如下所示(选择、复制和粘贴以防止出现问题)
# Support for pythontex in v. 0.16 or higher, with latexmk 4.62 or higher
$oldPATH = $ENV{"PATH"};
$ENV{"PATH"} = "${HOME}/opt/anaconda3/bin:$oldPATH";
$clean_ext .= " pythontex-files-%R/* pythontex-files-%R";
push @generated_exts, 'pytxcode';
$pythontex = 'pythontex %O %S';
$extra_rule_spec{'pythontex'} = [ 'internal', '', 'mypythontex', "%Y%R.pytxcode", "%Ypythontex-files-%R/%R.pytxmcr", "%R", 1 ];
sub mypythontex {
my $result_dir = $aux_dir1."pythontex-files-$$Pbase";
my $ret = Run_subst( $pythontex, 2 );
rdb_add_generated( glob "$result_dir/*" );
my $fh = new FileHandle $$Pdest, "r";
if ($fh) {
while (<$fh>) {
if ( /^%PythonTeX dependency:\s+'([^']+)';/ ) {
print "Found pythontex dependency '$1'\n";
rdb_ensure_file( $rule, $aux_dir1.$1 );
}
}
undef $fh;
}
else {
warn "mypythontex: I could not read '$$Pdest'\n",
" to check dependencies\n";
}
return $ret;
}
并将该文件放入“项目”文件夹中;这样做是为了将 platexmkrc 文件的内容本地化到该项目。接下来,在 .tex 文件的顶部放入以下行
% !TEX program = pdflatexmk
这将告诉 TeXShop 使用pdflatexmk
引擎来完全排版您的文件。使用Typeset->Typeset (Cmd-T)
菜单命令在 TeXShop 中排版您的文件。