Ich knacke seit ein paar Tagen an einem Problem und komme auch mit intensiver Suche nach Lösungen nicht weiter. Kurze Beschreibung meines Workflows:

  1. Eine Messdaten-Software wirft eine Excel-Datei aus, deren Daten ich mit dem Paket datatool nach Umwandlung in eine csv-Datei auszugsweise in ein Auswertungsprotokoll einlese. --> Das klappt gut
  2. Die eingelesenen Positionen werden als Befehl gespeichert, den ich an passender Stelle einfach aufrufe, klappt.
  3. Dezimalzahlen tragen ein Komma, das passt, weil ich in Deutsch schreibe.
  4. Mit einigen der Daten möchte ich weitere Berechnungen anstellen -- und da liegt der Hase im Pfeffer.

Es klingt so einfach, aber ich bekomme bei den Dezimalzahlen, die als Befehl gespeichert sind, mit keiner Methode Rechnungen durchgeführt. Ich arbeite in LuaLaTeX, und habe damit gestartet, aber erfolglos abgebrochen, viel Recherche, auch mit chatgpt-"Hilfe", nichts hat geklappt.

Bevor ich jetzt ein Beispiel einstelle, gibt es vielleicht jemanden, der sagt "Geht nicht, bearbeite die Excel-Datei vorher!" oder sagt "Kenne ich, das geht so:..."

gefragt Gestern

migo2000's gravatar image

migo2000
111
Akzeptiert-Rate: 0%

Ich finde den Gedanken gut, die Excel-Datei zur Berechnung zu nutzen, und erst das gewünschte Ergebnis zu exportieren und in LaTeX zu importieren. LaTeX ist eher für Textgestaltung, auch wenn es mit Lua rechnen kann ist es eher selten so genutzt.

(Gestern) stefan ♦♦

Ich stimme dir vollkommen zu - wenn es nur einmalig und für mich wäre. Es handelt sich aber um viele derartige Auswertungsprotokolle (> 100), die auch von Menschen ohne LaTeX-Kenntnisse angefertigt werden sollen. Sie enthalten pgfplots-Diagramme, tikz- Grafiken und Tabellen. Alles wäre soweit fertig, wenn ich auf die Berechnung weiterer Werte aus den importierten csv-Dateien verzichten würde. Ich brauche die Werte aber. Nach so viel Vorarbeit scheitere ich an den letzten 0,5%.

(Gestern) migo2000

Das datatool-Paket bietet selber Rechenfunktionen an, hast Du das im Handbuch gesehen? Abschnitte 2.5 und 3.13, dann ggf. mit \DTLforeach usw. Ich habe das selbst nicht genutzt, aber es sieht sehr umfassend aus.

(Gestern) stefan ♦♦

Danke!!! Ich schaue mir das gleich mal an

(20 Stunden her) migo2000

Nach vielem, leider erfolglosem Probieren bleibt immer wieder der folgende Punkt übrig:

Mit datatool kann ich Zahlenwerte aus meinen csv-Dateien in LaTeX problemlos einlesen und verwenden. Die Befehle \DTLassignfirstmatch oder \DTLfetch klappen problemlos. Ich kann nur anschließend keine Rechnungen mit ihnen durchführen.

Beispiel: \dtladd{\foo}{2}{18} ergibt ganz brav 20. Das soll auch so sein.

Habe ich eine csv-Datei "Information.csv" mit

\DTLloadrawdb[keys={parameter,wert}]{info}{Information.csv} "info" genannt, und ihre zwei Spalten "parameter" und "wert" genannt

und entnehme weiterhin mit

\DTLfetch{info}{parameter}{Messwerta}{wert}

aus ihr den zum parameter "Messwerta" passenden Wert, so wird mir korrekt dieser Wert ausgeworfen, z.B. 0,44

Versuche ich aber zu diesem Wert etwas hinzu zu addieren mit

\dtladd{\foo}{2}{\DTLfetch{info}{parameter}{Messwerta}{wert}}

ergibt der Befehl \foo Fehlermeldungen und nicht den Wert 2,44

Mir ist klar, dass hinter einem TeX-Makro nur ein String steht und kein Zahlenwert, aber diese Konversion bekomme ich nicht hin.

Permanenter link

beantwortet 18 Stunden her

migo2000's gravatar image

migo2000
111
Akzeptiert-Rate: 0%

bearbeitet 17 Stunden her

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×80
×31
×18
×14

gestellte Frage: Gestern

Frage wurde gesehen: 73 Mal

zuletzt geändert: 17 Stunden her