форматирование csv-таблицы через преамбулу? - PullRequest
3 голосов
/ 30 декабря 2011

Как ни старайся, я не могу понять, как изменить формат таблицы по умолчанию в выводе PDF из sphinx.

Я мог бы отредактировать файл .tex или исходный код writer.py ... но оба эти параметра кажутся плохими.

Есть ли что-то, что может быть передано в преамбулучтобы сделать это?

1 Ответ

2 голосов
/ 29 августа 2013

В зависимости от того, что вы пытаетесь достичь, изменяя формат таблицы.Например, если вы хотите определить цвета строк и соответственно изменить таблицы по всему документу, вы можете использовать как пакет 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 есть несколько замечательных расширений, но следует использовать два основных: numfig и figtable ,Вы можете обернуть таблицу 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

...