我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
。