Anzeige:
Ergebnis 1 bis 7 von 7

Thema: Excel -> LaTeX -Programm

  1. #1
    Registrierter Benutzer
    Registriert seit
    06.01.2006
    Beiträge
    53

    Lightbulb Excel -> LaTeX -Programm

    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

  2. #2
    Registrierter Benutzer
    Registriert seit
    13.03.2006
    Beiträge
    378
    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.

  3. #3
    Registrierter Benutzer Avatar von SeeksTheMoon
    Registriert seit
    22.02.2002
    Beiträge
    762
    jop, einfach als csv speichern, folgendes drüberlaufen lassen:
    Code:
    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:
    Code:
    echo -e "a;b;c\nd;e;f" | sed "s/;/\t\&\t/g"|sed 's/$/\t\\\\/g
    wird zu
    Code:
    a       &       b       &       c       \\
    d       &       e       &       f       \\
    Einmal in Latex, kann man die Datei auch in andere Formate umwandeln lassen
    Geändert von SeeksTheMoon (18-07-2006 um 09:08 Uhr)
    I haven't lost my mind - It's somewhere on a backup-disc

  4. #4
    Registrierter Benutzer
    Registriert seit
    26.05.2006
    Beiträge
    879
    Zitat Zitat von SeeksTheMoon
    jop, einfach als csv speichern, folgendes drüberlaufen lassen:
    Code:
    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:
    Code:
    echo -e "a;b;c\nd;e;f" | sed "s/;/\t\&\t/g"|sed 's/$/\t\\\\/g
    wird zu
    Code:
    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 ...

    Code:
    \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

  5. #5
    Registrierter Benutzer
    Registriert seit
    06.01.2006
    Beiträge
    53
    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

  6. #6
    Registrierter Benutzer
    Registriert seit
    26.05.2006
    Beiträge
    879
    Zitat Zitat von benst
    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

  7. #7
    Registrierter Benutzer
    Registriert seit
    13.03.2006
    Beiträge
    378
    Außerdem sagt ja auch niemand, dass dein Programm völlig überflüssig wäre. Man muß halt alle Wege mal angeben.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •