通过前导码进行csv-table格式化?

时间:2011-12-30 15:49:02

标签: python-sphinx

尽我所能,我无法弄清楚如何在sphinx的pdf输出中更改默认表格式。

我可以编辑.tex文件或writer.py源代码......但这两个看起来都是糟糕的选择。

是否有任何事情可以传递到序言来实现这一目标?

1 个答案:

答案 0 :(得分:2)

取决于您要通过更改表格格式来完成的操作。例如,如果要在文档中定义行颜色并相应地更改表,则可以使用xcolor包并通过更改表格环境重新定义表格在处理定义时的处理方式。

所以在序言中你会这样做

\usepackage[table]{xcolor}
\definecolor{foo}{RGB}{236,137,29}
\definecolor{bar}{RGB}{232,108,31}

\let\newtabular\tabular
\let\newendtabular\endtabular
\renewenvironment{tabular}{\rowcolors{2}{foo}{bar}\newtabular}{\newendtabular}

这将覆盖默认的表格环境,并在整个文档中应用foo和bar行颜色,从第二行开始。

有更多与表相关的指令。你应该看看sphinxtr

Jeff Terrace包含一些很棒的扩展程序,但要使用的两个主要扩展程序是numfigfigtable。您可以将csv表包装成figtable。

.. figtable::
   :label: my-csv-label
   :caption: My CSV Table
   :nofig:

   .. csv-table::
     :file: data/foo.csv
     :header-rows: 1

使用下面的标题而不是上面的标题更改标准表格式。然后,您还可以使用:num:。

直接链接到该表
:num:`Table #my-csv-label`

它将自动编号,而不引用标签名称。您也可以使用

.. figtable::
   :spec: {r l r l}

更好地定义表格的显示方式。

table

table2