CSV2LATEX(1)CSV2LATEX(1)
brouits@free.fr
BENOIT ROUITS 2003Benoit Rouitsjanuary 24, 2009;
NAME
csv2latex — convert a csv file into a LaTeX document
SYNOPSIS
csv2latex [--nohead] [--longtable] [--noescape] [--guess] [--sepa‐
rator c|s|t|p|l] [--block q|d|n] [--lines #] [--position l|c|r]
[--colorrows 0-1] [--reduce 1|2|3|4] [--repeatheader] [--nohlines]
[--novlines] [file]
DESCRIPTION
This manual page documents the csv2latex program.
csv2latex is a program that reads a "comma separated values" (csv) file
and outputs a LaTeX file with one or more tabular environ‐
ments to display
the printable values of the csv file. The LaTeX code is
flushed on the standard output.
So-called "comma separated values" files are common formats for
exchanging two-dimensinal
tables between programs such as spreadsheets editors, to rep‐
resent almost any kind of data.
By default, a csv file is made of printable data separated by
commas (`,'), each comma
representing a `cell' separator, and each line representing a
row. By extension, cell
separators can be represented by tabs if the comma is consid‐
ered as printable data.
Moreover, some non true csv files can be assumed as two-
dimensional tables as well.
In some circumstances, if the printable data includes the
cell separator of the
exchange format, the latter can use a second extra character
to embrace the printable
data into a block (e.g: quoted text). Thus, it is still pos‐
sible to parse the file by
using the block delimiter (used twice to embrace the cell)
instead of the separator.
csv2latex aims to parse various csv formats plus formats that fits
into the above definiton, assuming the data is text, and to
produce a yet simple LaTeX file
using the "tabular" environment for a table-style layout.
Some options of output will also use macros provided by extra
LaTeX packages that are commonly included in the main LaTeX
distributions.
OPTIONS
This program follows the usual GNU command line syntax,
with long options starting with two dashes (`-'). A summary of
options is included below.
-h--help
Show summary of options.
-v--version
Show version of program.
-n--nohead
Do not output the LaTeX document header.
This is useful when the output is to be
included as a separate file into the master document.
-t--longtable
uses the 'longtable' package instead of the 'tabular' one.
This is useful when the input is long, with
--lines 0 option.
This option uses the extra `longtable' LaTeX
package.
If you also use --nohead option, do not for‐
get to add
the following line into the header of your
master document: "\usepackage{longtable}".
-x--noescape
Do not escape TeX control characters from the input.
This is useful when the input contains
already TeX code.
-g--guess
Try to guess the csv format.
This is useful when the input is not strictly
a comma separated set of printable data.
For example, a line like %Foo, Bar%:%Wizz:
Hey% may be parsed as "Foo, Bar" then "Wizz: Hey".
-s c|s|t|p|l --separator c|s|t|p|l
Set the given separator as cell separator of the csv format.
`c' means a comma (default).
`s' means a semicolon.
`t' means a tab.
`p' means a space.
`l' means a colon.
-b q|d|n --block q|d|n
Set the given block delimiter that embraces the printable
data of the csv format.
`q' means a simple quote.
`d' means a double quote.
`n' means no quoting at all (default).
-l # --lines #
Force to output multiple tabulars, each having a limited num‐
ber of lines.
The given argument must be a POSITIVE INTEGER
VALUE. This is useful when
the number of input rows is too big to fit
into a single papersheet.
A good average for a4 paper is about 40 lines
(default). 0 means infinity
(actualy about 2 Giga lines).
-p l|c|r --position l|c|r
Set the text position in all cells at once.
This simply uses one of the three basic cell
formating options of the LaTeX tabular environment.
`l' means left-aligned (default).
`c' means centered.
`r' means right-aligned.
-c 0-1 --colorrows 0-1
Alternate white/gray rows on the LaTeX output, having the
given graylevel.
The given argument must be a REAL NUMBER
BETWEEN 0 AND 1.
0 means black while 1 means white.
A nice looking value is 0.75 when printed on white
paper.
This option uses the extra `colortbl' LaTeX
package.
If you also use --nohead option, do not for‐
get to add
the following line into the header of your
master document: "\usepackage{colortbl}".
-r 1|2|3|4 --reduce 1|2|3|4
Reduce the size of the tabular and the font in the LaTeX out‐
put, given a reduction level.
The given argument must be one of 1, 2, 3 or
4.
The more the level is high, the more the tab‐
ular will appear small.
This is useful to shrink the table width when
the printable data is made of very long text.
This option uses the extra `relsize' LaTeX
package.
If you also use --nohead option, do not for‐
get to add
the following line into the header of your
master document: "\usepackage{relsize}".
-z--nohlines
Do not output horizontal lines in the table(s).
-y--novlines
Do not output vertical lines in the table(s).
-e--repeatheader
Repeat the first row of the first table in every table.
This is useful when the output is very long
and separated in
multiple tables.
EXAMPLES
Create a PDF document with small text, alternate gray rows, 80 lines
per table,
from a guessed csv format of the january stats that my boss
created with his
super point-and-click spreadsheet program (which could not
generate a PDF output!).
csv2latex --guess --lines 80 --colorrows 0.75 --reduce 2 janu‐
ary_stats.csv > january_stats.tex && pdflatex january_stats.tex
Quickly preview a phonebook from a file formated as "Surname" "Name"
"Phone" "Cellular":
csv2latex -s p -b d -l 42 phonebook-sorted.txt | latex
SEE ALSO
tex (1), latex (1).
CSV2LATEX(1)