用户定义的快速构建命令 (sage) 在 Texmaker 中不起作用

用户定义的快速构建命令 (sage) 在 Texmaker 中不起作用

LaTex在 Ubuntu 14.04 中使用很多。最近我了解了sagetex软件包并安装了sage-6.8-x86_64-Linux。假设 tex 文件是example.tex,则必须运行以下命令才能使其工作。

pdflatex example.tex
sage example.sagetex.sage
pdflatex example.tex

现在我想从 运行这些命令Texmaker。因此我转到菜单,然后Options → Configure → QuickBuild → User在其中(在用户中)定义这三个命令。我使用了以下管道

pdflatex -synctex=1 -interaction=nonstopmode %.tex | sage %.sagetex.sage | pdflatex -synctex=1 -interaction=nonstopmode %.tex

之后,当我Quick Build从 texmaker 运行文件时,我收到一条错误消息,

Error : could not start the command

我想知道为什么“快速构建”命令不起作用?还有,如果有人能帮助我,以便我可以从 Texmaker 运行这些命令。

答案1

解决此问题的一种方法是将所有需要的命令放入脚本中,然后让 Texmaker 运行该脚本。我下载了 Texmaker,并使用以下脚本使其运行:

#!/bin/sh

pdflatex $1.tex && sage $1.sagetex.sage && pdflatex $1.tex

使脚本可执行 -chmod a+x your-scripts-name在终端中执行 - 然后在快速构建选项中输入/path/to/your-scripts-name %。这对我有用。

我喜欢使用单独脚本的一个原因是我确切地知道它将如何工作。Texmaker 使用管道字符 ( |) 来分隔命令,这有点奇怪;如果我输入&&脚本,我知道如果一个命令失败,它将不会继续尝试其他命令。这个脚本甚至可以很好地用于不使用 SageTeX 的 TeX 文件:它将运行命令pdflatex,然后尝试 Sage 命令,该命令将失败,因为没有 .sagetex.sage 文件,然后脚本将跳过第二个pdflatex

相关内容