接前面TeX、LaTeX、TeXLive
小结,练习使用Sphinx写点东西:
效果
图1:

图2:

git
Google code 提供Git
只是不清楚什么原因,无论 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 #0
error: Failed connect to code.google.com:443; Connection reset by peer while accessing https://code.google.com/p/debao-qt-blogs/info/refs
那就使用 gitorious 了。
sphinx
在TeX、LaTeX、TeXLive
小结一文中,是直接修改Sphinx的latex生成器来支持中文的,不过稍后发现,设置项目的配置文件就可以实现了:
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
分享到:
相关推荐
1. 用编辑器打开需要修改的rst文件,之后保存 2. 进入WIKI的目录下(与make.bat在一级),输入make html 加载完毕后,html即更新。 如果出现以下问题: The 'sphinx-build' command was not found. Make sure you ...
决定不用word写笔记之后,用的是Windows7,找了许多高手做笔记的相关文章,用到的相关技术有DocBook、reStructuredText、MarkDown、Sphinx、Pandoc。 reStructuredText+Sphinx的组合是不错的选择,可惜...
它始于第三方主题,至今仍单独维护,但从Sphinx 1.3开始,Alabaster是Sphinx的安装时依赖项,并被选作默认主题。 在 , 和上可以看到有关此主题的实时示例。 有关更多文档,请参阅 。 笔记 您可以通过pip ...
Sphinx部分可以分为可单独安装和版本控制的Python包,因此我们不需要git子模块。 在markdown中执行代码单元(通过myst_nb )。 由子扩展名组成。 添加sphinx_lesson作为扩展将带来以下这些: sphinx_less
6. **版本控制友好**: 由于Notebook本身就是JSON格式,因此使用nbsphinx的文档版本控制变得更加简单,可以直接在Git等版本控制系统中跟踪和比较改动。 **使用nbsphinx的步骤** 1. 安装nbsphinx:通过pip安装...
sphinx-doc-公式 安装文档系统的公式。 笔记 请参阅完整的。 可用状态 安装 Sphinx 包。 用于生成将触发文档构建的状态的宏。 用法示例。 每当 Git 存储库更新时,以下内容将触发 HTML 文档的构建: {% from ...
5. **文档**:由Sphinx生成的项目文档,可能包括API参考、用户指南和开发者的内部笔记。 6. **版本控制文件**:如.gitignore,定义了哪些文件不应被Git追踪。 7. **测试**:单元测试和集成测试代码,确保游戏功能的...
### Effective Robotics Programming with ROS —— 中文学习笔记 #### 知识点一:ROS环境配置与准备工作 **1.1 安装ROS Indigo** 在开始深入学习《Effective Robotics Programming with ROS》之前,首先需要搭建...
PyTorch教程实验 PyTorch教程以sphinx样式... 如果您喜欢用Jupyter编写教程,则可以使用此将笔记本转换为Python文件。 要使用此项目进行测试,请分叉此项目并在本地克隆它: git clone cd pttutorialtest pip insta
Python支持使用`docstring`为函数和类添加文档,也可以使用Sphinx生成专业级别的项目文档。 综上所述,"lianxing"项目可能是一个使用Python实现的学习和生活记录工具,涵盖了Python的基础语法、文件操作、数据管理...
"TechMind 自我记录"可能指的是个人或团队使用 Read the Docs 来整理和分享他们在 IT 领域的学习笔记或技术理解。 在使用 "readthedocs-master" 这个压缩包时,我们可以假设它包含了一个项目的 Read the Docs 配置...
- docs/:项目的文档,可能使用Sphinx等工具生成。 - .gitignore:列出不应被Git追踪的文件和目录。 这些内容反映了Python项目的常见组织结构,对于学习Python编程和了解实际项目开发流程是非常有价值的。通过深入...
9. **版本控制**:了解Git,学习如何使用Git进行版本管理,是现代开发者的必备技能。 10. **文档编写**:Python社区重视文档,学习如何使用Sphinx或Markdown编写清晰的API文档和用户手册。 在"Python_learn-main...
- 版本控制:利用Git进行版本管理,追踪更改历史,方便协作。 - 问题追踪:通过GitHub的Issue功能记录和解决遇到的问题,与社区成员讨论。 - 拉取请求:开发者可以通过提交拉取请求(Pull Request)来提议合并...
您可以克隆此存储库,并使用Sphinx在本地构建技术说明: git clone https://github.com/lsst-dm/dmtn-189 cd dmtn-189 pip install -r requirements.txt make html 笔记 在Conda环境中, pip install -r ...
您可以克隆此存储库,并使用Sphinx在本地构建技术说明: git clone https://github.com/lsst-it/ittn-046 cd ittn-046 pip install -r requirements.txt make html 笔记 在Conda环境中, pip install -r ...
GitHub存储库: : 构建系统: : 建立本技术说明您可以克隆此存储库,并使用Sphinx在本地构建技术说明: git clone https://github.com/lsst-tstn/ts-tmacd ts-tmapip install -r requirements.txtmake html 笔记在...
: 构建系统: : 建立本技术说明您可以克隆此存储库,并使用Sphinx在本地构建技术说明: git clone https://github.com/lsst-tstn/tstn-024cd tstn-024pip install -r requirements.txtmake html 笔记在Conda环境中...
4. **文档**:如果项目包含了文档,可能会有 `docs` 目录,里面可能有 `index.rst` 或 `README.rst` 文件,使用 Sphinx 或其他文档生成工具编写,以便生成 HTML 文档。 5. **示例**:有时,项目会提供 `examples` ...
9. **版本控制集成**:对于习惯于使用Git等版本控制系统管理文档的用户,ReText可以通过插件与之集成,便于跟踪文档更改历史。 ReText的最新版本为`retext-project-retext-705734c`,这个版本可能包含了最新的改进...