标签归档:sage

使用Sage绘制动画的一个例子

先把代码放在这里,有时间再解释:

t,u=var(‘t,u’)
cc=[point((cos(t),sin(t)),pointsize=30,rgbcolor=’red’)+parametric_plot((cos(u),sin(u)),(0,t)) for t in srange(0.01,2*pi,0.2)]
myan=animate(cc,xmin=-1.5, xmax=1.5,ymin=-1.5, ymax=1.5)
show(myan)

Sage Tutorial中文版

Sage Tutorial是一份快速了解Sage的入门文档,花了两周多的时间将其翻译为中文。但是“Some more advanced mathematics”一节没有翻译,因为完全不熟悉这一节所涉及到的内容。

第一次翻译开源软件的技术文档,水平有限,希望各位多提意见,任何方面的都可以。如果没有大的问题,大概一周后会向Sage开发组提交。

源文件使用Sphinx管理,PDF文件是由自动转换而来的LaTeX文件编译的,因此其中很多格式不符合中文的习惯。所以请大家先以HTML文件为准,最后发布前,我会手工调整LaTeX文件后再编译。

Email: amao@ai7.org

相关内容:翻译Sage文档的准备工作

Sage Tutorial 中文版rst源文件

Sage Tutorial 中文版(HTML)

Sage Tutorial 中文版(PDF)

翻译Sage文档的准备工作

打算翻译一下Sage的文档。Sage的文档完全是用reStructuredTEXT写成的,由Sphinx管理,对应的翻译就行了,但是为了与原文档保持相同的风格,还是折腾了好久。这里记录一下。

环境是:Ubuntu+Sage 4.2.1+CTeXLive 2008。以翻译Sage Tutorial为例,需要做以下准备工作。(下面用$SAGE代替sage的主目录)

  1. 转到$SAGE/devel/sage-main/doc/目录;
  2. 在common目录中的builder.py文件中,找到
    LANGUAGES = ['en', 'fr']

    修改为:

    LANGUAGES = ['en', 'fr', 'zh']
  3. 新建zh子目录,并将en子目录下的tutorial目录复制到刚才新建的zh目录中 (如果是翻译其他文档,复制相应的目录);
  4. 修改zh目录下的conf.py文件:
    • import sys, os

      这一行后 添加 两行:

      reload(sys)
      sys.setdefaultencoding('utf8')
    • 在conf.py文件最后添加:
      latex_preamble='\usepackage{ctex}'
      latex_premble+='\usepackage{ctex}\n\punctstyle{CCT}'
  5. 修改$SAGE/local/lib/python2.6/site-packages/Sphinx-0.6.3-py2.6.egg/sphinx/texinputs/Makefile文件,将其中的“pdflatex”全部替换为“xelatex”(共有5处);
  6. 将$SAGE/local/lib/python2.6/site-packages/Sphinx-0.6.3-py2.6.egg/sphinx/writers/latex.py中的“\\usepackage[utf8]{inputenc}”中的“utf8”修改为“latin1”,即“\\usepackage[latin1]{inputenc}”。

如果上述操作正常的话,就可以开始翻译了。将zh/tutorial下的所有.rst 文件翻译为中文后,即可进行编译。编译的方法如下:

  1. 转到$SAGE目录;
  2. 查看所有文档列表:
    ./sage -docbuild -D

    此时应该可以看到“zh/tutorial”选项;

  3. 编译:
    ./sage -docbuild zh/tutorial html
    
    ./sage -docbuild zh/tutorial pdf

    编译结果会在编译信息最后一行提示。

2010年6月21日更新:
以上是基于Sage 4.3所做的修改,今天下载了4.4.3,情况有些变化:

  • 以上的第4、6步完全不需要了,因为相关的配置转移到其他文件中去了
  • 修改$SAGE/devel/sage-main/doc/common/conf.py文件中两个地方:
    1. latex_elements[‘inputenc’] = ‘\\usepackage[utf8x]{inputenc}’
      改为
      latex_elements[‘inputenc’] = ‘\\usepackage[latin1]{inputenc}’
    2. latex_elements[‘preamble’]那一行下面再添加一行:
      latex_elements[‘preamble’] += ‘\usepackage{ctex}\n\punctstyle{CCT}\n’

2011年6月7日更新:
以下修改针对sage 4.7

  • 原第2步改为修改相同目录下的build_options.py文件中的对应选项。