表格中的公式问题(pgfplotstable)

表格中的公式问题(pgfplotstable)

我有一个由我的程序动态创建的文件。例如:

a      b
$a_1$  0.121
$a_2$  0.001
$a_3$  0.031

我需要将其转换为表格(我使用pgfplotstable包)。但是当我尝试这样做时,LaTeX 挂断了(我发现,问题可能出在公式上)。

\documentclass[a4paper,12pt]{article}
\usepackage{ucs}
\usepackage{pgfplots} 
\usepackage{pgfplotstable} 
\usepackage{booktabs}

\begin{document}

\pgfplotstabletypeset[] {mytable.txt}

\end{document}

我想要得到以下结果:

在此处输入图片描述

答案1

您需要将公式括在括号内,同时还要pgfplotstable知道该列不是数字,因此应该关闭解析。

\documentclass{article}
\usepackage{pgfplotstable} 
\begin{document}

\pgfplotstabletypeset[
columns/a/.style={string type},
]{
a b
{$a_1$} 0.121
{$a_2$} 0.001
{$a_3$} 0.031
}
\end{document}

答案2

您可以\scantable为此目的定义宏。无需pgfplotstable或任何其他包。TeX 原始语言非常强大。

\def\scantwo#1 #2 {\ifx^#1^\else \printtwo{#1}{#2}\expandafter\scantwo\fi}
\def\printtwo#1#2{\hbox{\hbox to2em{\hfil#1\hfil}\kern.4em\hbox to3em{\hfil#2\hfil}}}
\def\scantable#1{{\everyeof={{} {} }\par \expandafter \scantwo \input #1 }}

\scantable{mytable.txt}

相关内容