
EViews tiene un complemento que aparentemente genera látex, pero no puedo instalarlo en las computadoras de mi facultad. Puedo guardar el resultado como csv. ¿Hay alguna manera de crear tablas más bonitas en mi documento sin tener que ingresar los números manualmente?
Respuesta1
Yo tomaríapgfplotstable
para componer csvdata como una tabla. Es un paquete altamente configurable. No puedo compararlo condatatool
ocsvsimple
(ver comentario de @Paul Stanley), porque no he usado ninguno de ellos. El siguiente código muestra un ejemplo simple con tres tipos de columnas diferentes. Para más opciones ver el completomanual de 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}
Respuesta2
Este es un ejemplo de CSV que utiliza el csvsimple
paquete para leer los datos y el siunitx
paquete para formatear los números. Estoy tomando los datos de ejemplo de @quinmars que mostró pgfplotstable
. datatool
Sería el tercer candidato.
\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}
Respuesta3
En Windows, suelo utilizarExcel2LaTeX, en OSx usocsv2LaTeX. Este último se integra muy bien a TeXShop
través de un complemento de Perl que permite copiar y pegar sobre la marcha el código de la tabla en el código látex. El primero se integra MS Excel
a través de VBA. Por lo tanto, no funciona correctamente en Mac, pero al menos en mi opinión es una de las mejores maneras de introducir tablas en LaTeX sin mucho preámbulo. Si su salida está en formato csv
, primero deberá importar el archivo o usar texto en columnas en Excel. Luego usa la cinta recién agregada para obtener la salida de látex.
De todos modos, cuando investigué esto hace un tiempo, estas fueron las dos soluciones más convenientes que encontré.