sphinx是强大的文档工具,可以生成各种格式的文档。如果直接生成pdf,就需要用到latex。
安装latex
1
| sudo apt-get install texlive-full
|
配置Sphinx
以Sphinx-1.3b1为例,我们需要修改一下latex生成的模板,以支持中文的pdf生成,修改sphinx/writers/latex.py
如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| HEADER = r'''%% Generated by Sphinx. \def\sphinxdocclass{%(docclass)s} \documentclass[%(papersize)s,%(pointsize)s%(classoptions)s]{%(wrapperclass)s} %(inputenc)s %(utf8extra)s %(cmappkg)s %(fontenc)s %(babel)s %(fontpkg)s %(fncychap)s %(longtable)s \usepackage{sphinx} \usepackage{multirow} \usepackage{hyperref} \hypersetup{unicode} \usepackage{CJKutf8} \usepackage{indentfirst} %(usepackages)s %(preamble)s \title{%(title)s} \date{%(date)s} \release{%(release)s} \author{%(author)s} \newcommand{\sphinxlogo}{%(logo)s} \renewcommand{\releasename}{%(releasename)s} %(makeindex)s ''' BEGIN_DOC = r''' \begin{document} \begin{CJK*}{UTF8}{gbsn} \CJKindent %(shorthandoff)s %(maketitle)s %(tableofcontents)s ''' FOOTER = r''' \renewcommand{\indexname}{%(indexname)s} %(printindex)s \clearpage \end{CJK*} \end{document} '''
|
主要增加了CJKutf8
宏包的相关配置。 这样就可以支持带中文的sphinx文档编译了。