使用 tabulate Python 包生成正确的 LaTeX 表

Gab*_*iel 5 python latex

我正在使用tabulate Python 包来生成一个正确的 LaTeX 格式的表格。

这是一个 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")
Run Code Online (Sandbox Code Playgroud)

我从这个例子中得到的是:

\begin{tabular}{l}
\hline
 \$2.4\textbackslash{}pm0.5\$  \\
 \$45.1\textbackslash{}pm8.0\$ \\
\hline
\end{tabular}
Run Code Online (Sandbox Code Playgroud)

当正确的格式是:

\begin{tabular}{l}
\hline
 $2.4\pm0.5$  \\
 $45.1\pm8.0$ \\
\hline
\end{tabular}
Run Code Online (Sandbox Code Playgroud)

即:该包是之前插入齿隙$的符号,并且在替换齿隙\pm\textbackslash{}

是否可以生成正确格式的表格?

小智 5

更改tablefmt使其等于latex_raw。从文档:

latex_raw行为类似于latex但不转义 LaTeX 命令和特殊字符。


seg*_*sai 1

tabulate.LATEX_ESCAPE_RULES = {}
Run Code Online (Sandbox Code Playgroud)

为我工作

>>> tabulate.LATEX_ESCAPE_RULES = {}
>>> print(tabulate.tabulate([[r'\alpha']], tablefmt='latex'))

\begin{tabular}{l}
\hline
 \alpha \\
\hline
\end{tabular}
Run Code Online (Sandbox Code Playgroud)

为我工作。