PDF输出中的代码块看起来很丑(检查引号):
我使用Sphinx的1.1.3版,并使用以下命令生成doc:
$ make latexpdf
此外,从PDF复制代码段会在粘贴时破坏缩进:
@view_config(route_name=’hello’)
def hello_world(request):
return Response(’Hello World!’)
我希望如此:
@view_config(route_name=’hello’)
def hello_world(request):
return Response(’Hello World!’)
这会更好:
@view_config(route_name='hello')
def hello_world(request):
return Response('Hello World!')
答案 0 :(得分:3)
Sphinx确实是一个很好的工具,但我对latexpdf目标的默认PDF输出也有一些问题。
具体做法是:
其中一些可以在Sphinx conf.py的LaTeX pre-amble部分修复,但是Sphinx将引号修改为自定义LaTeX实体,因此upquote LaTeX包不能用于纠正它们
经过对不同配置选项的大量实验后,我最终编写了一个小脚本来修改LaTeX源,然后再构建PDF。该脚本为here,我想要生成的输出为here。 (对于比较here是同一文档的默认输出。)
如果有人有一个更清洁的解决方案,例如可以通过Sphinx conf.py完成的解决方案,那么ReadTheDocs会收到更改,那么我会感兴趣。
此外,从PDF复制和粘贴时丢失缩进的问题可能不是Sphinx / LaTeX问题。
答案 1 :(得分:2)
这只是部分答案,可能导致最终解决方案。要在Sphinx中禁用HTML输出的typographer引号(也称为卷曲或智能引号),请更改SmartyPants from True to False的conf.py中的默认设置。
我假设可以在Sphinx中找到转换引号的函数,并使用HTML输出中的相同逻辑并将其应用于PDF输出。
答案 2 :(得分:0)
The option proposed by Steve Piercy现在已不再适用(因为Sphinx 1.6):
Deprecated since version 1.6: Use the smart_quotes option
in the Docutils configuration file (docutils.conf) instead.
对我来说不明显的是如何应用此设置。您需要创建一个docutils.conf
文件并将其放入one of these locations:
最简单的选择是将它放在你正在构建文档的地方--YMMV。它至少应该包含:
[general]
smart_quotes: no