如何为Latex / PDF输出添加图表/表格列表?

时间:2012-08-07 15:25:56

标签: latex python-sphinx restructuredtext

我尝试将图表列表和表格列表添加到由Sphinx + Latex生成的PDF文档中。到目前为止,我没有发现任何有用的东西..

有人会知道怎么做吗?感谢

2 个答案:

答案 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命令。