TeXShop 中的 Pythontex

TeXShop 中的 Pythontex

我在 macOS Catalina 版本 10.15.7 上使用 TeXShop 版本 4.51。遵循标题为“Richard Koch 的 Pythontex 引擎”的 README.pdf

  1. 下载的 anaconda 来自https://www.anaconda.com/download/#macos
  2. 在网上找到了一个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 中排版您的文件。

相关内容