用Git+Sphinx记笔记?
来源:互联网 发布:淘宝新规则2017 售假 编辑:程序博客网 时间:2024/06/07 19:58
接前面 TeX、LaTeX、TeXLive 小结,练习使用Sphinx写点东西:
效果
图1:
图2:
git
Google code 提供Git
http://code.google.com/p/debao-qt-blogs/
只是不清楚什么原因,无论 push 还是 pull 总是失败。(伟大的墙在发挥作用?)
* About to connect() to code.google.com port 443 (#0)* Trying 72.14.203.102... * Connection timed out* Failed connect to code.google.com:443; Connection timed out* Closing connection #0* About to connect() to code.google.com port 443 (#0)* Trying 72.14.203.102... * Connection reset by peer* Failed connect to code.google.com:443; Connection reset by peer* Closing connection #0error: Failed connect to code.google.com:443; Connection reset by peer while accessing https://code.google.com/p/debao-qt-blogs/info/refs
那就使用 gitorious 了。
https://gitorious.org/hexamples/blogs
sphinx
在TeX、LaTeX、TeXLive 小结一文中,是直接修改Sphinx的latex生成器来支持中文的,不过稍后发现,设置项目的配置文件就可以实现了:
- conf.py
latex_elements = { 'babel':'', 'fontpkg':'', 'inputenc':'', 'fontenc':'', 'utf8extra':''}latex_docclass = { 'howto':'ctexart', 'manual':'ctexrep'}
只需要添加这两项即可。
尽管如此,Sphinx的latex生成器还是很不成熟,在当前稳定版Sphinx 1.0.8 尚不支持表格的rowspan和colspan。源码仓库中的Sphinx 1.1 开始支持表格的这两个属性,不过rowspan有bug(无法正常工作)。
简单改动一下,凑活一下:
birkenfeld-sphinx-0dc8c4da3ef5
--- a/latex.py+++ b/latex.py@@ -730,19 +730,29 @@ class LaTeXTranslator(nodes.NodeVisitor): def visit_row(self, node): self.table.col = 0 def depart_row(self, node):+ for col in range(self.table.col, self.table.colcount):+ self.body.append(' & ') if self.previous_spanning_row == 1:- self.previous_spanning_row = 0+ #self.previous_spanning_row = 0 self.body.append('\\\\\n') else: self.body.append('\\\\\\hline\n') self.table.rowcount += 1 def visit_entry(self, node):- if self.remember_multirow.get(0, 0) > 1:- self.body.append(' & ')+ print "visit_entry:", self.table.rowcount, self.table.col, self.table.c+ for col in range(self.table.col, self.table.colcount):+ if self.remember_multirow.get(col, 0) > 1:+ self.remember_multirow[col] -= 1+ if self.remember_multirow[col] == 1:+ self.previous_spanning_row = 0+ if self.table.col > 0:+ self.body.append(' & ')+ else:+ self.table.col = col+ break if self.table.col > 0: self.body.append(' & ')- self.table.col += 1 self.context.append('') if 'morerows' in node: self.body.append(' \multirow{')@@ -751,10 +761,11 @@ class LaTeXTranslator(nodes.NodeVisitor): self.body.append('}{*}{') self.context.append('}') self.remember_multirow[self.table.col] = node.get('morerows') + 1+ self.previous_spanning_row = 1 if 'morecols' in node: self.body.append(' \multicolumn{') self.body.append(str(node.get('morecols') + 1))- if self.table.col == 1:+ if self.table.col == 0: self.body.append('}{|l|}{') else: self.body.append('}{l|}{')@@ -762,9 +773,7 @@ class LaTeXTranslator(nodes.NodeVisitor): if isinstance(node.parent.parent, nodes.thead): self.body.append('\\textbf{') self.context.append('}')- if self.remember_multirow.get(self.table.col + 1, 0) > 1:- self.remember_multirow[self.table.col + 1] -= 1- self.context.append(' & ')+ self.table.col += 1 def depart_entry(self, node): self.body.append(self.context.pop()) # header
- 用Git+Sphinx记笔记?
- sphinx笔记
- sphinx笔记
- Sphinx安装笔记
- sphinx学习笔记1
- sphinx 笔记(不定期更新)
- sphinx使用笔记
- sphinx使用学习笔记
- 用vim写sphinx
- 用sphinx写文档
- sphinx
- sphinx
- sphinx
- sphinx
- Sphinx
- Sphinx
- Sphinx
- sphinx
- 解决iPhone网络软件在睡眠情况断线问题
- 将字符转换为键盘码的代码
- 实战技巧:goto语句的替代实现方式
- Linux 磁盘分区和文件系统
- UML--类图
- 用Git+Sphinx记笔记?
- oracle 11g RAC 的一些基本概念(四)
- http://blog.csdn.net/masterz/article/details/6232585
- The SMAQ stack for big data
- Steve Jobs Said
- java面试笔试题整理
- 解决 Windows7 “找不到该项目”
- HDOJ1058固定质因子
- PPPoE + FreeRadius + Mysql 认证配置