howto

HowTo: Unterstützung für andere Sprachen

#bankstatement #howto

Am Beispiel der neuen Datei stmnamibian.def möchte ich mal kurz erläutern, wie man andere Sprachen unterstützen kann. Man erkennt sofort, daß der Dateiname dem Muster stmSPRACHE.def folgen muß. Zunächst betrachten wir die Definitionsdatei für englisch:

Möchte man nun eine namibische Bank unterstützen, bedarf es natürlich der Änderung der Währung (3. Spalte) und der SEPA-Bezeichnungen BIC und IBAN:

HowTo: Unterstützung für beliebige csv-Formate

#bankstatement #howto

Am Beispiel der neuen csv-Formatdatei csv-standard-bank-na.def möchte ich hier mal hoffentlich allgemeinverständlich erklären, wie man mehr oder wenig beliebige csv-Formate unterstützen kann. Nimm einfach eine der existierenden Dateien und passe sie entsprechend an!

  1. Zunächst legt man die Reihenfolge der Schlüssel in der csv-Datei fest.
  2. Danach definiert man \STM@JK@DTLforeach ; ein Makro das die csv-Datei zeilenweise einliest und als LaTeX-Tabellenzeile ausgibt. Es nutzt dazu das \DTLforeach Makro (datatool.sty)

    • Als erstes Argument übergibt man den Namen der csv-Datei. Keine Änderung!
    • Im zweiten Argument mappt man die csv-Schlüssel auf Makros
    • Im dritten und letzten Argument erfolgt die Ausgabe der dreispaltigen Tabellenzeile
      • In der ersten Spalte erfolgt die Ausgabe des Buchungs- und Wertstellungstags
      • In der zweiten Spalte wird der Verwendungszweck ausgegeben, der aus mehreren csv-Schlüsseln aufgebaut sein kann.
      • In der dritten Spalte erfolgt die Ausgabe des Betrags. Ein negativer Betrag wird dabei in Rot (negativcolor Option) gesetzt
      • Abschließend erfolgt ein Test auf die letzte Datenzeile und die Ausgabe des Schlußsaldos bzw. einer Leerzeile
  3. Im letzten Schritt definieren wir den Trenner der csv-Datei und legen fest, ob sie über eine Kopfzeile verfügt (Achtung: header → noheader=false! (noheader Option (datatool.sty))). Die letzte Zeile kann man überlicherweise einfach kopieren (siunitx-Setup)!

Damit gelingt hoffentlich die Anpassung und Unterstützung anderer csv-Formate! 😉