
O EViews tem um suplemento que aparentemente produz látex, mas não consigo instalá-lo nos computadores da minha faculdade. Posso salvar a saída como um csv. Existe alguma maneira de criar tabelas mais bonitas em meu documento sem precisar inserir os números manualmente?
Responder1
Eu pegariapgfplotstable
para compor csvdata como uma tabela. É um pacote altamente configurável. Eu não posso compará-lo comdatatool
oucsvsimple
(veja o comentário de @Paul Stanley), porque não usei um deles. O código a seguir mostra um exemplo simples com três tipos de colunas diferentes. Para mais opções, consulte o abrangentemanual do 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}
Responder2
Este é um exemplo CSV usando o csvsimple
pacote para leitura de dados e o siunitx
pacote para formatação de números. Estou pegando os dados de exemplo de @quinmars que mostrou pgfplotstable
. datatool
seria o terceiro 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}
Responder3
No Windows, eu costumo usarExcel2LaTeX, no OSx eu usocsv2LaTeX. Este último se integra muito bem por TeXShop
meio de um plug-in Perl que permite copiar e colar dinamicamente o código da tabela no código látex. O primeiro integra-se MS Excel
via VBA. Portanto, não funciona corretamente no Mac, mas é pelo menos na minha opinião uma das melhores maneiras de colocar tabelas no LaTeX sem muita demora. Se sua saída estiver em csv
, você terá que importar o arquivo primeiro ou usar texto em colunas no Excel. Em seguida, você usa a faixa de opções recém-adicionada para obter a saída de látex.
De qualquer forma, quando analisei isso há algum tempo, essas foram as duas soluções mais convenientes que encontrei.