经过一番艰苦的努力终于找到解决方案后,我认为我需要重新表述这个问题。希望这对遇到同样问题的人非常有用,即:
“如何设置 TeXnicCenter 来编译基于 SageTeX 的输入文件?”
假设我们有一个取自 SageTeX 官方网站的 MWE,如下所示
% test.tex
\documentclass{article}
\usepackage{sagetex}
\begin{document}
Using Sage\TeX, one can use Sage to compute things and put them into
your \LaTeX{} document. For example, there are
$\sage{number_of_partitions(1269)}$ integer partitions of $1269$.
You don't need to compute the number yourself, or even cut and paste
it from somewhere.
Here's some Sage code:
\begin{sageblock}
f(x) = exp(x) * sin(2*x)
\end{sageblock}
The second derivative of $f$ is
\[
\frac{\mathrm{d}^{2}}{\mathrm{d}x^{2}} \sage{f(x)} =
\sage{diff(f, x, 2)(x)}.
\]
Here's a plot of $f$ from $-1$ to $1$:
\sageplot{plot(f, -1, 1)}
\end{document}
我们希望尽可能方便的用TeXnicCenter来编译它(当然仅限于WINDOWS)。怎么做呢?
答案1
安装
- 安装 TeXnicCenter。
- 安装 Sage。SageTeX 包含在 Sage 安装中。
- 安装 TeXLive。
- 安装 Adobe Acrobat。
让 TeX 了解 SageTeX
- 我们必须
sagetex
从复制文件夹C:\Program Files\SageMath 9.0\runtime\opt\sagemath-9.0\local\share\texmf\tex\latex\
并将其粘贴到C:\texlive\texmf-local\tex\latex\local\
。 - 接下来
texhash
在命令提示符下输入并输入以调用它。
此过程使sagetex.sty
已安装的 TeXLive 知道该包。
配置PATH
PATH
如果您将来需要多次执行此过程且只需进行少量编辑,则最好使用批处理文件进行配置。这是批处理文件。
REM ConfigurePath.bat
PATH=%PATH%;C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader
PATH=%PATH%;C:\Program Files\SageMath 9.0\runtime\bin
PATH=%PATH%;C:\Program Files\SageMath 9.0\runtime\opt\sagemath-9.0
setx PATH "%PATH%" /m
使用以下方式调用批处理行政特权。
配置 TeXnicCenter
尽管 TeXnicCenter 为我们提供了预构建和后构建事件来控制构建过程,但使用它们并不像下面的批处理文件那么方便。
rem SageTeX.bat
echo off
rem %1 TeX input filename without extension
rem %2 current directory
if exist "%~1.pdf" del "%~1.pdf"
if exist "%~1.tex" pdflatex -draftmode -interaction=batchmode "%~1.tex"
rem set the current directory for sagetex to work properly
@set HOME=%~dp2
if exist "%~1.sagetex.sage" bash -l sage "%~1.sagetex.sage"
if exist "%~1.tex" pdflatex "%~1.tex"
for %%x in (aux log sagetex.sage sagetex.sage.py sagetex.scmd sagetex.sout) do (if exist "%~1.%%x" del "%~1.%%x")
if exist ".ccache" rmdir /s /q ".ccache"
if exist ".sage" rmdir /s /q ".sage"
if exist "sage-plots-for-%~1.tex" rmdir /s /q "sage-plots-for-%~1.tex"
该批处理看起来很复杂,因为我在其中添加了管理例程(删除不必要的文件和目录)。
在TeXnicCenter中创建一个新的输出配置文件。设置如下。
注意:尾随并不简单\
!%dm\
结束!