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