我有一个由我的程序动态创建的文件。例如:
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}