\ 4tH CSV to LyX converter - Copyright 2007 J.L. Bezemer \ You can redistribute this file and/or modify it under \ the terms of the GNU General Public License include lib/argopen.4th include lib/quotes.4th include lib/files.4th s| | sconstant s| | sconstant s| | sconstant s| | sconstant s| | sconstant s| | sconstant : .# 0 .r ; ( n --) : Preprocess ( sv sh d -- sv sh d) ." #4tH 3.5b created this file. For more info see http://hansoft.come.to/" cr ." \lyxformat 221" cr \ other possible versions are: ." \textclass article" cr \ 210, 215, 216, 217, 218, 220 ." \begin_preamble" cr \ may be dropped (KLyX) ." \usepackage{latexsym}" cr \ may be dropped (KLyX) ." \end_preamble" cr \ may be dropped (KLyX) ." \language dutch" cr \ 'english' is ok too ;-) ." \inputencoding auto" cr ." \fontscheme pslatex" cr ." \graphics default" cr ." \paperfontsize default" cr ." \spacing single " cr ." \papersize a4paper" cr ." \paperpackage a4" cr ." \use_geometry 0" cr ." \use_amsmath 0" cr ." \use_natbib 0" cr \ 221 only ." \use_numerical_citations 0" cr \ 221 only ." \paperorientation portrait" cr ." \secnumdepth 3" cr ." \tocdepth 3" cr ." \paragraph_separation indent" cr \ 'skip' is ok too ." \defskip medskip" cr ." \quotes_language english" cr ." \quotes_times 2" cr ." \papercolumns 1" cr ." \papersides 1" cr ." \paperpagestyle default" cr cr ." \layout Standard" cr cr cr ." \begin_inset Tabular" cr .| | cr ." " cr dup 1- 0 ?do type cr loop type cr rot ; : .cell ( d a n -- d) type cr ." \begin_inset Text" cr cr ." \layout Standard" cr cr dup parse -quotes type cr ." \end_inset" cr ." " cr ; : ReadLine refill tib count nip /tib -1 [+] = abort" Line too long" ; : WriteCells over 1- 0 ?do .cell loop .cell ; : .row type cr ReadLine 0= abort" Cannot read CSV" WriteCells ." " cr ; : WriteRows >r over r> swap 1- 0 ?do .row loop .row ; : Vertical 0 begin ReadLine while 1+ repeat ; : rewind-csv over rewind abort" Cannot rewind CSV" ; : Horizontal ( d -- d n) ReadLine 0= abort" Read error" 0 begin over parse while drop 1+ repeat drop ; : PostProcess ( --) ." " cr cr ." \end_inset" cr cr ." \the_end" cr ; : OpenFiles ( -- h1 h2) argn 4 < abort" Usage: csv2lyx ascii csv-file lyx-file" input 2 arg-open output 3 arg-open ; : GetParms ( h1 h2 -- h1 h2 sv sh d) 1 args number ( h1 h2) Horizontal swap >r >r rewind-csv ( h1 h2) Vertical >r rewind-csv ( h1 h2) r> r> r> ; : Convert OpenFiles GetParms \ open files and get file information Preprocess WriteRows PostProcess \ process the CSV file drop drop drop close close \ clean stack and close files ; Convert