如何在 winedt 中使用 pythontex

如何在 winedt 中使用 pythontex

WinEdt 中是否有使用 pythontex 命令的快捷方式?

对于 pythontex 命令,我知道您必须使用命令提示符,然后转到存储 pythontex 文件的路径。在我的示例中,它位于:C:\Program Files\MiKTeX 2.9\scripts\pythontex

然后你必须输入需要为 pythontex 编译的文件的路径。然后我必须输入:pythontex C:\Users\superman\Desktop\test\example

是否可以定制 WinEdt 以更有效的方式执行这些步骤,例如通过创建按钮?

好的,我按照一些步骤操作,从活动的toolbar.ini文件复制所有文本(在我的情况下是Toolbar2d.ini中的所有措辞)并将其复制到\ My custom Tex工具栏下的Private.ini中:[TOOLBAR*]

我补充道:

  BUTTON="|"   
  BUTTON="PyTeX"
  BUTTON="|"

到文件底部。

我想知道在 MainMenu.ini 文件中输入什么命令。我复制/粘贴了这些命令,并将其附加到 MainMenu.ini 文件的末尾:

ITEM="PyTeX"
CAPTION="&PyTeX"
IMAGE="Python"
MACRO="Exe('%b\Exec\TeX\dvi2ps.edt');" % need to get the command for the pythontex execution
SHORTCUT="24644::Shift+Ctrl+Y"
REQ_FILTER="%P\%N.dvi" % need to change for pythontex to run
ITEM="-"

你能帮我编辑这些命令来运行 pythontex 吗?

答案1

更新(2016-04-10)

新的附加组件PythonTeX适用于 WinEdt,因此,如果您愿意,请恢复您在 MainMenu.ini 中所做的更改并安装此包。

确保正确安装 PythonTeX,即运行python­tex_in­stall.bat与 PythonTeX 捆绑的脚本。


原始答案

我没有安装 Python 或 PythonTeX,所以我无法尝试,但以下操作应该可以。

在您的本地 MainMenu.ini 副本中,就在行之前

  ITEM="ConTeXt"

添加以下几行

  ITEM="PyTeX"
    CAPTION="PyTeX"
    IMAGE="Python"
    SAVE_INPUT=1
    MACRO=`WinExe('','"C:\Program Files\MiKTeX 2.9\scripts\pythontex\pythontex.exe" "%N%T"','%P','',100,0,'','','',0);`
    SHORTCUT="24665::Shift+Ctrl+Y"
    REQ_FILTER=:"%!M=TeX"|"%!M=TeX:STY"|"%!M=TeX:AUX"
  ITEM="-"

将里面的命令行调整MACRO为您的设置。

然后Shift+Ctrl+F9按重新加载文件。

如果pythontex您的命令行不是可执行文件,而是 Python 脚本,正如我怀疑的那样,请将该MACRO行替换为以下内容:

    MACRO=`WinExe('','cmd.exe /C ""C:\Program Files\MiKTeX 2.9\scripts\pythontex\pythontex" "%N%T""','%P','',100,0,'','','',0);`

编辑

如果您将辅助文件重定向到另一个文件夹,则需要将文件移动.pytxcode到主目录。

在这种情况下,用MACRO以下内容替换该行:

    MACRO=`IfStr("%O","%P","<>",!|IfFileExists('%O\%N.pytxcode',!'CopyFile("%O\%N.pytxcode","%P\%N.pytxcode",1);DeleteFile("%O\%N.pytxcode");');|);`+
          `WinExe('','cmd.exe /C ""C:\Program Files\MiKTeX 2.9\scripts\pythontex\pythontex" "%N%T""','%P','',100,0,'','','',0);`+
          `IfStr("%O","%P","<>",!|IfFileExists('%P\%N.pytxcode',!'CopyFile("%P\%N.pytxcode","%O\%N.pytxcode",1);DeleteFile("%P\%N.pytxcode");');|);`

相关内容