我想在LaTeX中使用Sage,如何在Windows上运行Sagemath 8.0?我使用MikTeX发行版。
我按照Sagemath的说明操作,但它们是用于linux的。我添加了sagetex
包,它会生成一个myfile.sage
文件,但是当我启动Sage shell并运行sage myfile.sage
时,它会显示
Traceback (most recent call last):
File "myfile.sage.py", line 7, in <module>
_st_ = sagetex.SageTeXProcessor('myfile')
File "/opt/sagemath-8.0/local/lib/python2.7/site-packages/sagetex.py", line 76, in __init__
raise VersionError, errstr
sagetex.VersionError: versions of .sty and .py files do not match.
myfile.sagetex.sage was generated by sagetex.sty version "None", but
is being processed by sagetex.py version "2015/08/26 v3.0-92d9f7a".
Please make sure that TeX is using the sagetex.sty
from your current version of Sage; see
http://www.sagemath.org/doc/installation/sagetex.html.
答案 0 :(得分:2)
有一种在Windows上使用sagetex的方法:
第1步:完整安装miktex 2.9 64位。
第2步:安装64位Texniccenter 2.02(我认为像texworks,texmaker,winedtt等其他程序也可以使用。
第3步:安装64位或更高版本的Sagemath 8.6。
第4步:miktex中的Sagetex版本与Sagemath 8.6中的sagetex版本不同。然后,您应该在miktex中安装与Sagemath中相同版本的sagetex。
这可以通过将** c:\ Program Files \ SageMath 8.6 \ runtime \ opt \ sagemath-8.6 \ local \ share \ texmf \ tex \ latex \ sagetex **中的所有文件复制到** c:\ Program中来完成文件\ MiKTeX 2.9 \ tex \ latex \ sagetex **
现在可以在Windows上使用sagetex了:
1。-使用texniccenter编译.tex文档。请记住,您必须加载sagetex软件包: \ usepackage {sagetex}
2.-在Windows上安装Sagemath时有3个shotcurts。您应该打开 Sagemath 8.6 ,而不是 Sagemath 8.6 Shell 或 Sagemat 8.6 Notebook 。请记住, Sagemath 8.6 。之后,打开一个外壳,当我们看到 sage:时,sagemath已准备就绪。
3.--使用“ cd”命令导航到我们的文件所在的文件夹,例如 cd文档。重要的是,如果您文件夹的名称之间有空格,请将其放置在''之间,即 cd'文件夹1'
4.-进入目标文件夹时,可以用“ ls”查看其内容。应该有您的sagetex.sage文件。要处理文件,您必须编写 load('file.sagetex.sage')(文件是.tex文件的名称),并且在按Enter键时将开始处理。
5.-最后,使用texniccenter再次编译.tex文件。
当您需要再次使用鼠尾草时,不需要编写命令,因为使用键盘上的向上箭头会出现命令,而您只需要按Enter键即可。
我认为使用texniccenter上的后处理器可以自动化3个步骤,但是我现在不知道该怎么做。
答案 1 :(得分:1)
以下是适用于Windows的完整说明。
sagetex.sty
文件,可能是C:\Program Files\SageMath 8.0\runtime\opt\sagemath-8.0\local\share\texmf\tex\latex\sagetex\sagetex.sty
。sagetex.sty
,找出您的计算机找到的kpsewhich sagetex.sty
。可能这是您的MikTeX(或TeX Live或您正在使用的任何发行版)目录,其中包含导致版本不匹配的旧sagetex.sty
。如果你弹出一个要求你安装的弹出窗口,那么就不要安装!C:\Users\s156757\AppData\Roaming\MiKTeX\2.9\tex\latex\sagetex
)覆盖那里的旧sagetex.sty 。如果没有,请确保删除旧文件并使用新文件,例如将其放在tex文件旁边。fancyvrb
,例如MikTeX软件包管理器。myfile.sagetex.sage
的目录,该目录与所有辅助文件的目录相同是:cd "C:/path/to/auxiliary/files"
和sage myfile.sagetex.sage
,然后再次运行LaTeX。例如,其他人都需要.scmd
和.sout
文件来编译您的LaTeX。$\sage{1+1}$
或sageblock
环境。答案 2 :(得分:0)
作为 mentioned by Pedro Jose Moreno Garcia,在提出这个问题几年后,一条新的 sage arara 规则是 written by the TeXnician(由 Pedro 修正),它适用于 Windows。完整的说明如下,使用 sagetex 和一个命令编译你的 LaTeX 文件。
C:\Program Files\SageMath 9.2
或 C:\Users\myusername\AppData\Local\SageMath 9.2
。TEXINPUTS=C:\Users\myusername\AppData\Local\SageMath 9.2\runtime\opt\sagemath-9.2\local\share\texmf\tex\latex\sagetex;
编译您的 LaTeX 文件,以便它找到 sagetex.sty
包。 (使用 TeXiFy 编辑器验证。)如果这不起作用,您当然可以始终将 sagetex.sty
包复制到您的工作目录。araraconfig.yaml
,内容如下!config
paths:
- .
sagetex.yaml
的文件(更改安装路径):!config
# SageTeX-Rule for arara.
#
# Dear Windows-users, please check the paths
# pathToBashExecutive and pathToSageStartfile
# due to your Sage-installation!
#
identifier: sagetex
name: SageTeX
authors:
- TeXnician (Author)
- cis (Idea)
- Pedro J (final fix)
arguments: []
commands:
- name: A SageTeX Rule for arara
command: >
@{
pathToBashExecutive = "C:\\Users\\myusername\\AppData\\Local\\SageMath 9.2\\runtime\\bin\\bash";
pathToSageStartfile = "C:/Users/myusername/AppData/Local/SageMath 9.2/runtime/opt/sagemath-9.2/sage";
pathOfCurrentWorkingFolder = currentFile().getParent();
theWindowsCommand = getCommand(pathToBashExecutive, "-l", pathToSageStartfile, "-c", "os.chdir(r'" + pathOfCurrentWorkingFolder + "'); load('" + getBasename(currentFile()) + ".sagetex.sage')");
return isWindows(theWindowsCommand, getCommand("sage", getBasename(reference) + ".sagetex.sage"));
}
arara myfile.tex