Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
CSV2LATEX(1)		    General Commands Manual		  CSV2LATEX(1)
       BENOIT ROUITS 2003Benoit	Rouitsjanuary 24, 2009;

       csv2latex -- convert a csv file into a LaTeX document

       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]

       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  ex-
       changing	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-di-
       mensional 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

       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  in-
		 cluded	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
				 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 al-
		 ready 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 BE-
		 TWEEN 0 AND 1.
				 0  means   black   while   1	means	white.
			   A  nice looking value is 0.75 when printed on white
				 This option uses the extra  `colortbl'	 LaTeX
				 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
				 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
				 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.

       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

       tex (1),	latex (1).



Want to link to this manual page? Use this URL:

home | help