我尝试将图表列表和表格列表添加到由Sphinx + Latex生成的PDF文档中。到目前为止,我没有发现任何有用的东西..
有人会知道怎么做吗?感谢
答案 0 :(得分:5)
对于它可能感兴趣的人,我发现Sphinx可以将原生命令传递给Latex。
因此,以下Sphinx源代码片段可以满足我的需求:
..raw:: latex
\listoffigures
\listoftables
答案 1 :(得分:0)
使用sphinx文档类 manual 进行渲染时,添加原始LaTeX命令
..raw:: latex
\listofequations
\listoffigures
\listoftables
\listof{literalblock}{List of Code Blocks}
将列表放到带有阿拉伯数字的页面上,而不是放在罗马数字的页面上。
这是LaTeX片段,它进入 conf.py 中的LaTeX序言设置。它重新定义了命令序列\sphinxtableofcontents
:
latex_elements['preamble'] = r'''
%% --------------------------------------------------
%% |:sec:| add list of figures, list of tables, list of code blocks to TOC
%% --------------------------------------------------
\makeatletter
\renewcommand{\sphinxtableofcontents}{%
%
% before resetting page counter, let's do the right thing.
\if@openright\cleardoublepage\else\clearpage\fi
\pagenumbering{roman}%
\begingroup
\parskip \z@skip
\tableofcontents
\endgroup
%
%% addtional lists
\if@openright\cleardoublepage\else\clearpage\fi
\addcontentsline{toc}{chapter}{List of Figures}%
\listoffigures
%
\if@openright\cleardoublepage\else\clearpage\fi
\addcontentsline{toc}{chapter}{List of Tables}%
\listoftables
%
\if@openright\cleardoublepage\else\clearpage\fi
\addcontentsline{toc}{chapter}{List of Code Blocks}%
\listof{literalblock}{List of Code Blocks}%
%
\if@openright\cleardoublepage\else\clearpage\fi
\pagenumbering{arabic}%
}
\makeatother
'''
如果列表的目录中没有任何条目,请删除\addcontentsline
命令。