2011-12-30 64 views
3

尽我所能,我无法弄清楚如何在sphinx的pdf输出中更改默认表格格式。csv-table通过序言格式化?

我可以编辑.tex文件或writer.py源代码......但这两者似乎都是不好的选择。

是否有任何事情可以通过序言来完成?

+0

也许这可以帮助:http://stackoverflow.com/a/4855599/407651 – mzjn 2012-01-04 20:35:36

回答

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