PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Excel -> LaTeX -Programm



benst
17-07-2006, 16:29
Hi,
kennt ihr auch folgendes Problem...
Man rechnet etwas mit einer Tabellenkalkulation aus und möchte die errechneten Werte dann in eine LaTeX-Tabelle haben... Abtippen ist nervig und fehleranfällig.
Es gibt zwar ein Excel-Makro, aber der hat mir nicht so recht gefallen.
Also habe ich mir ein kleines Tool gebastelt, mit dem ich Tabellen in LaTeX-Code umwandeln kann.

Folgendes Vorgehen:

Tabelle erstellen
mit Tabelle Werte ausrechnen lassen
in Tabelle Werte zusammenstellen lassen z.B. für Fehlerrechnung =A1 & "\pm" & A2 damit z.B. 15 +/- 0,2 in entsprechendem Feld erscheint
gewünschten Bereich in Zwischenablage kopieren
in mein Programm einfügen, Code erzeugen lassen und Code über Zwischenablage in LaTeX-Editor einfügen
Fertig


Das hat mir schon viel Arbeit erleichtert. Das Programm funktioniert mit Excel, OpenOffice Calc und vermutlich auch mit anderen Tabellenkalkulationen (unter Linux funktioniert es mit wine - ich habe es jedoch nur unter Kubuntu getest).
Das Programm heißt TableConverter und es gibt es unter http://benst.de/tools. Es steht unter GNU GPL. Falls ihr Verbesserungsvorschläge habt...
Achso, dass Programm kann die Tabelle auch in HTML, TXT und als Vektoren (für Matlab oder Octave) ausgeben.

Gruß
Ben

MasterOfPuppets
17-07-2006, 22:31
Und was spricht dagegen, wenn man sein Tabellendokument als csv mit Feldtrenner & abspeichert und dann in seinen Latex-Code kopiert? Gut, ein wenig nacheditieren müsste man noch (newline usw.), aber das kann man bestimmt im Tabellenkalkulator vorbearbeiten.

SeeksTheMoon
18-07-2006, 10:01
jop, einfach als csv speichern, folgendes drüberlaufen lassen:

cat tabelle.csv | sed "s/;/\t\&\t/g"|sed 's/$/\t\\\\/g' > tabelle.tex
und im eigentlichen Dokument in einer table-Umgebung die tabelle.tex includen

test:

echo -e "a;b;c\nd;e;f" | sed "s/;/\t\&\t/g"|sed 's/$/\t\\\\/g
wird zu


a & b & c \\
d & e & f \\

Einmal in Latex, kann man die Datei auch in andere Formate umwandeln lassen

RedCloud
18-07-2006, 11:47
jop, einfach als csv speichern, folgendes drüberlaufen lassen:

cat tabelle.csv | sed "s/;/\t\&\t/g"|sed 's/$/\t\\\\/g' > tabelle.tex
und im eigentlichen Dokument in einer table-Umgebung die tabelle.tex includen

test:

echo -e "a;b;c\nd;e;f" | sed "s/;/\t\&\t/g"|sed 's/$/\t\\\\/g
wird zu


a & b & c \\
d & e & f \\

Einmal in Latex, kann man die Datei auch in andere Formate umwandeln lassen

geht auch mit TeX ohne externe Progs ...



\documentclass{article}

\begin{filecontents}{tabelle.csv}
1;2;3
4;5;6
AA;BB;C
\end{filecontents}

\begin{document}

\makeatletter
\bgroup
\catcode`\;=\catcode`\&
\catcode`\
=\active%
\def
{\\ \hline}%
\begin{tabular}{|c|c|c|}\hline%
Spalte 1;Spalte 2;Spalte 3
\input{tabelle.csv}%
\end{tabular}%
\egroup
\makeatother

\vspace{1cm}
Normaler Text

\end{document}


rc

benst
19-07-2006, 07:48
Natürlich kann man das auch so machen...
Bei mir war es immer so, dass ich nur einen Teil der Tabelle, quasi die Errechneten Sachen von umfangreichen Berechnungen in TeX brauchte - da ich keine Möglichkeit gefunden habe, vor dem exportieren als CVS zu selektieren, müsste ich die Ergebnisse erst einmal in eine neue Tabelle kopieren ...
Die erste Idee ist nicht schelcht, dauert mir aber etwas zu lange. Mit Table Converter geht das sehr schnell.
Die zweite Idee hört sich gut an, ich werde sie mal ausprobieren.
Da ich die Werte aber auch noch für Matlab brauche, finde ich mein Programm nach wie vor nicht ganz überflüssig.
Dank für eure Ideen.
Gruß
Ben

RedCloud
19-07-2006, 08:47
Natürlich kann man das auch so machen...
Bei mir war es immer so, dass ich nur einen Teil der Tabelle, quasi die Errechneten Sachen von umfangreichen Berechnungen in TeX brauchte - da ich keine Möglichkeit gefunden habe, vor dem exportieren als CVS zu selektieren, müsste ich die Ergebnisse erst einmal in eine neue Tabelle kopieren ...
Die erste Idee ist nicht schelcht, dauert mir aber etwas zu lange. Mit Table Converter geht das sehr schnell.
Die zweite Idee hört sich gut an, ich werde sie mal ausprobieren.
Da ich die Werte aber auch noch für Matlab brauche, finde ich mein Programm nach wie vor nicht ganz überflüssig.


mein Beispiel bezog sich nicht auf dein Programm, sondern auf die umständliche Vorgehensweise mit sed.

rc

MasterOfPuppets
19-07-2006, 10:34
Außerdem sagt ja auch niemand, dass dein Programm völlig überflüssig wäre. Man muß halt alle Wege mal angeben. :)