EViews 有一个插件,据说可以输出 latex,但我无法将它安装在我的教职员工电脑上。我可以将输出保存为 csv。有没有办法让我在文档中创建更美观的表格,而不必手动输入数字?
答案1
我会接受pgfplotstable
将 csvdata 排版为表格。这是一个高度可配置的包。我无法将它与datatool
或者csvsimple
(参见@Paul Stanley 的评论),因为我没有使用过其中任何一个。以下代码显示了一个包含三种不同列类型的简单示例。有关更多选项,请参阅综合pgfplotstable 手册。
\documentclass{article}
\usepackage{filecontents}
\usepackage{pgfplotstable}
\usepackage{array}
\usepackage{booktabs}
\begin{filecontents}{data.csv}
Month, Small Value, Large Value
January, 12.50, 12.3E5
February, 3.32, 8.7E3
March, 43, 3.1E6
April, 0.33, 21.2E4
May, 5.12, 3.45E6
June, 6.44, 6.66E6
July, 123.2, 7.3E7
August, 12.3, 5.3E4
September, 2.3, 4.4E4
October, 6.5, 6.5E6
November,0.55, 5.5E5
December,2.2, 3.3E3
\end{filecontents}
% Define style for cvs file format
\pgfplotstableset{
csv file/.style={col sep=comma,row sep=newline}
}
% Add rules for all 'pgfplotstable's
\pgfplotstableset{
every head row/.style={
before row=\toprule,after row=\midrule},
every last row/.style={
after row=\bottomrule}
}
\begin{document}
\pgfplotstabletypeset[csv file,
column type=l, % default is left alignment
columns/Month/.style={string type},
columns/Small Value/.style={dec sep align}, % align at the decimal point
columns/Large Value/.style={sci,sci sep align} % use scientific notation
]{data.csv}
\end{document}
答案2
csvsimple
这是一个使用读取数据包和siunitx
格式化数字包的CSV 示例。我采用了 @quinmars 的示例数据,他展示了pgfplotstable
。datatool
将是第三个候选。
\documentclass{article}
\usepackage{filecontents}
\usepackage{csvsimple}
\usepackage{array}
\usepackage{booktabs}
\usepackage{siunitx}
\begin{document}
\begin{filecontents*}{data.csv}
Month, Small Value, Large Value
January, 12.50, 12.3E5
February, 3.32, 8.7E3
March, 43, 3.1E6
April, 0.33, 21.2E4
May, 5.12, 3.45E6
June, 6.44, 6.66E6
July, 123.2, 7.3E7
August, 12.3, 5.3E4
September, 2.3, 4.4E4
October, 6.5, 6.5E6
November,0.55, 5.5E5
December,2.2, 3.3E3
\end{filecontents*}
\sisetup{table-number-alignment=center}
\csvloop{%--- from csvsimple
file=data.csv,
tabular={lSS[table-figures-exponent=1]},%--- column 'S' from siunitx
table head=\toprule\textbf{Month} & \textbf{Small Value} & \textbf{Large Value}\\\midrule,
command=\csvcoli & \csvcolii & \csvcoliii\relax,
table foot=\bottomrule}
\end{document}
答案3
在 Windows 上,我通常使用Excel 转 LaTeX,在 OSx 上我使用csv2LaTeX。后者TeXShop
通过 Perl 插件与 完美集成,允许即时将表格代码复制粘贴到 latex 代码中。前者MS Excel
通过 VBA 集成。因此它在 Mac 上无法正常工作,但至少在我看来,这是将表格放入 LaTeX 的最佳方式之一,而且无需太多麻烦。如果您的输出为csv
,则必须先导入文件或使用 excel 中的文本到列。然后,您使用新添加的功能区获取 latex 输出。
无论如何,当我之前研究这个问题时,我发现这两个是最方便的解决方案。