2016-02-15 4 views
2

Я использую пакет Python tabulate для создания корректной таблицы в формате LaTeX.Создайте надлежащую таблицу LaTeX с помощью табулированного пакета Python

Вот MWE:

from tabulate import tabulate 

table = [[r"${:.1f}\pm{:.1f}$".format(2.3564, 0.5487)], 
     [r"${:.1f}\pm{:.1f}$".format(45.1236, 8.00021)] 
     ] 

print tabulate(table, tablefmt="latex") 

Что я получаю с этим примером:

\begin{tabular}{l} 
\hline 
\$2.4\textbackslash{}pm0.5\$ \\ 
\$45.1\textbackslash{}pm8.0\$ \\ 
\hline 
\end{tabular} 

, когда правильное форматирование будет:

\begin{tabular}{l} 
\hline 
$2.4\pm0.5$ \\ 
$45.1\pm8.0$ \\ 
\hline 
\end{tabular} 

Ie: пакет вставка зазоров перед символами $ и заменой люфта в \pm с \textbackslash{}.

Возможно ли создать правильную форматированную таблицу?

ответ

0

Это

tabulate.LATEX_ESCAPE_RULES={} 

работал для меня

>>> tabulate.LATEX_ESCAPE_RULES={} 
>>> print tabulate.tabulate([[r'\alpha']],tablefmt='latex') 
\begin{tabular}{l} 
\hline 
\alpha \\ 
\hline 
\end{tabular} 

работал для меня.

+0

Извините за поздний ответ. Это приводит к ошибке в строке 'tabulate.tabulate()': объект функции AttributeError: 'function не имеет атрибута' tabulate'' – Gabriel

+0

@Gabriel, вышеприведенный ответ скорее всего использует 'import tabulate', а не' from tabulate import tabulate '. –