5

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

有人知道该怎么做吗?谢谢

4

2 回答 2

7

它可能对谁感兴趣,我发现 Sphinx 可以将本机命令传递给 Latex。

因此,以下 Sphinx 源代码片段可以满足我的要求:

..raw:: latex

  \listoffigures
  \listoftables
于 2012-08-08T12:26:42.250 回答
0

使用 sphinx 文档类手册进行渲染时,添加原始 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命令。

于 2019-05-19T13:52:57.113 回答