男单 618

生活象筒装的卫生纸,开始的时候怎么扯都不觉得在转,后来转的越来越快。

Archive for the ‘软件’ Category

看图不说话20091224

without comments

==============================================

Written by amao

十二月 24th, 2009 at 9:39 下午

Posted in 其他, 软件

Tagged with

翻译Sage文档的准备工作

without comments

打算翻译一下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’

Written by amao

十二月 23rd, 2009 at 5:10 下午

Posted in python, 软件

Tagged with

用grep在子目录中指定的文件类型中查找

without comments

grep -r abcd *.py

这样的命令得不到你期待的结果,而

grep -r abcd *

这样得到的结果又太多,仍然不是你想要的。

正解是:

find . -name *.py|xargs grep asdf

注:这是一个困惑我很久的问题,今天在 这里看到 一种解决方案 。 有人在留言中给出另外一种方法

find . -iname ‘*.cc’ -exec grep -nH ‘{}’ \;

但是看上去比较复杂,我不喜欢。

Written by amao

十二月 22nd, 2009 at 12:08 上午

Posted in 软件

Tagged with ,

reStructuredTEXT输出为LaTeX以及公式的问题

without comments

中文的rst文件,输出为LaTeX文件:

在home目录下编辑.docutils文件,内容如下:

[latex2e writer]
documentclass: article
documentoptions: 12pt a4paper
output-encoding: utf-8
stylesheet: /home/username/docutils.tex

前几行没什么可说的,最后一行所指定文件的内容如下:

\usepackage[slantfont,boldfont,CJKaddspaces,CJKchecksingle]{xeCJK}
\CJKlanguage{zh-cn}
\setmainfont{Times New Roman}
\setCJKmainfont{Adobe Song Std}
\usepackage{CJKfntef}

我这是想用xelatex,如果是用CCT或者CTEX,语句相对少些。大家自己改吧。

公式的话,在文件头添加

.. role:: raw-math(raw)
    :format: latex html
行内公式这样写:
If :raw-math:`$x=5 \times 3$` then :raw-math:`$x$` is
注意,冒号后面没空格!
独立公式这样写:
.. raw:: latex html

    $$ W \approx \sum{f(x_k) \Delta x} $$
    $$ W = \int_{a}^{b}{f(x) dx} $$
参考源:
  1. Docutils Configuration: http://docutils.sourceforge.net/docs/user/config.html
  2. reStructured Text tips and tricks: http://www.programmerq.net/rsttricks.html
  3. [tip] python-docutils: rst2latex create chinese pdf(繁体中文): http://kalug.linux.org.tw/~lloyd/bblog/archives/2009/11/09/%5Btip%5D_python-docutils:_rst2latex_create_chinese_pdf/

注:

如果是使用Sphinx,那么对于公式的支持就不用这么麻烦了,可以直接使用:math:和.. math::这样的命令,因为Sphinx支持rST扩展,用上面的方法,反而会出很多问题。

1 [latex2e writer]
2 documentclass: article
3 documentoptions: 12pt,a4paper
4 output-encoding: utf-8
5 stylesheet: /home/mzy/docutils.tex
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
– 可视 行 —                                                 5,1          全部

Written by amao

十二月 20th, 2009 at 10:36 下午

Posted in 软件

Tagged with , ,

Imagemagick 合并两个图像

without comments

composite基本用法示例:

composite -gravity southwest 1.png 2.jpg 3.jpg

gravity原意是重力,这里可以理解为对齐的方式。上面命令中中左下角对齐。1.png是前景图,2.jpg是背景图,3.jpg是输出结果。

btw: 有人说GraphicsMagick效率比Imagemagick效率更高,不知道真假。

Written by amao

十二月 8th, 2009 at 9:22 下午

Posted in 软件

Tagged with

纪念Opera Mini

without comments

(无正文)

Written by amao

十一月 22nd, 2009 at 12:39 上午

Posted in 其他, 软件

用Imagemagick将PDF文件转为图片

without comments

convert -density 150  aaa.pdf aaa.png

-density 参数指定的是DPI,也就是分辩率。一般屏幕显示用72就足够了,150适用于大多数场合,300以上的分辩率就很高了。不清楚最高可以到多少。当然了,这些都只在原PDF是矢量的情况下才有比较好的效果,如果原PDF是点阵的,比如扫描的图书,那么更大的DPI造成的结果就是颗粒变大。

如果PDF有多页,那么上述命令会将所有的页都转出来,存成多个文件。如果只想转其中某几页,可以在PDF文件名后加页码范围,象这样:

convert -density 150  aaa.pdf[0-3,20-25] aaa.png

注意,convert都是从0计数的,也就是说Imagemagick把PDF文件的第一页叫作第0页。不管上面哪种情况,只要是转换多页,Imagemagick都会自动在原文件名中加序号,以0开始,连续编号,形如aaa-0.png、aaa-1.png、aaa-2.png……,而与原页码没有任何联系。

当然了,转换的时候,还可以指定-resize这些参数。

Written by amao

十一月 21st, 2009 at 11:05 下午

Posted in linux, 软件

VIM编辑文件实例

without comments

假设有以下文件

1234567
甲甲大学
张三
李四
王五
2222222
乙乙大学
张三三
李四四
王五五
3333333
丙丙大学
张三四
李四五
王五六
……

简单讲,每个队的信息被分成了5行,报名号、学校、队员1、队员2、队员3。我们主要的工作是要删除多余的回车符,将每一队的信息集中到一行。

  1. 删除多余的空白:“:%s/ //g”;
  2. 因为总共是1430行,也就是286个组,这个数记下来,下面要用。
  3. 合并每组的5行:在normal模式下,光标停在报名号这一行,直接输入“5J”,注意,是大写的J,也就是shift+j。可以看到,每一组的5行信息已经合并成一行了,并且以空格分隔。其中,5表示执行后面的命令5次,J表示合并两行。这一步是基础,并不需要,按“u”,退回到第2步的状态,并按“gg”,将光标停在第一行。
  4. 录制宏:开始录制以a为名字的宏,“qa”,之后依次按下面的键,“5Jjq”,其中5J的作用已经解释了,j跳到第二行,q结束录制宏。
  5. 这时候你的光标应该在第二行,并且是normal模式,依次按下面的键,“285@a”,其中@就是shift+2,@a的意思是执行宏a,也就是执行@a共285次。这时,每组的信息已经集中到一行了。
  6. 其实我们的任务基本上已经完成了,下面是先转成csv格式,再导入Excel,还是直接转成html表格,都是很容易的事情了。下面的命令就不再解释了。
  7. :%s/ /<\td><td>/g
  8. :%s/^/<tr><td>/g
  9. :%s/$/<\/td><\/tr>/g
  10. 文件最前面加上<html><body><table>,文件最后面加上</table></body></html>,大功告成。(表格加线,加标题这些自己看着办吧)

btw:

当你不了解一种工具(特别是像VIM这种强悍的工具)时,你可能根本想不到活儿还可以这么干,而且干的这么漂亮。

Written by amao

十一月 20th, 2009 at 1:15 上午

Posted in 软件

Tagged with

RapidShare

without comments

RapidShare上好东西比较多,但是对免费用户的限制也比较多。倒计时还可以找软件跳过去,但流量限制不好办。不知道ADSL断线再拨号的方式是否可行。试了几个在线代理都不能正常下载。最后发现下面两种方式可行:

  1. http://fanyi.cn.yahoo.com/
  2. Opera的Turbo

再加上自己本身IP可以下一部分,应该够了。

btw:不要成为下载狂

Written by amao

十一月 20th, 2009 at 12:03 上午

Posted in 软件

Tagged with

Ubuntu下使用md5sum计算字符串的MD5值

without comments

echo -n string|md5sum

注:之前只会用md5sum计算文件的MD5值,想计算个字符串的MD5值,试了很多办法都不行,今天无意中看到。看来对Linux的软件哲学理解的还是不到位。

Written by amao

十一月 17th, 2009 at 11:22 下午

Posted in linux, 软件

Tagged with ,