commit a154db8e1d632841d762b9425602f798aaeaf8f7
Author: Marei Peischl <marei@peitex.de>
Date:   Fri Sep 25 22:52:49 2020 +0200

    marei: user cofig for tables

diff --git a/templates/print/marei/Readme.md b/templates/print/marei/Readme.md
index d2d804432..e44bf14e4 100644
--- a/templates/print/marei/Readme.md
+++ b/templates/print/marei/Readme.md
@@ -56,9 +56,88 @@ Währungen / Konten:
     Fusszeile:
     Die Tabelle im Fuß verwendet die Angaben aus firma/ident.tex und
     firma/*_account.tex.
+
+## Seitenstil/Basislayout:
+
         
 ## Tabellen:
 
+Die Tabellenstruktur wurde komplett überarbeitet. Der Vorlagensatz verfügt über Tabellen, die automatisch die Breite der Textbreite anpassen und zusätzlich Seitenumbrüche erlauben.
+
+### SimpleTabular
+
+Der einfache Tabellentyp ist die Umgebung `SimpleTabular`. die ist eine Tabelle basieren auf dem xltabular-Paket, die die sich der Textbreite anpasst. Sie wird in den Dateien *zahlungserinnerung_invoice.tex*, *zahlungserinnerung.tex* und *statement.tex* verwendet.
+
+Sie verfügt über ein optionales Argument um die Spaltenkonfiguration und die Kopfzeile anzupassen. Die Voreinstellung (also ohne optionales Argument) entspricht der, der folgenden Angabe:
+
+```
+\begin{SimpleTabular}[colspec=rrX,headline={\bfseries\position & \bfseries\menge & \bfseries\bezeichnung}]
+
+```
+
+#### Kopfzeile
+Die Kopfzeile wird über den Optionsschlüssel headline angepasst. Entsprechend dem LaTeX-Standard werden Tabellen Spalten mit `&` getrennt. `\bfseries` setzt den Tabellenkopf zusätzlich in Fettschrift.
+
+#### Spaltenkonfiguration (fortgeschrittene Nutzer)
+Die voreingestellte Spaltenkonfiguration entspricht `rrX`, also zwei rechtsbündigen Spalten und einer Blocksatzspalte, die die restliche Breite einnimmt. Soll von dieser Spaltenkonfiguration abgewichen werden, steht der Optionsschlüssel `colspec` zur Verfügung. Das folgende Beispiel tauscht die beiden rechtsbündigen Spalten in linksbündige:
+
+```
+\begin{SimpleTabular}[colspec=llX]
+
+```
+Als Spaltentypen sind Konfigurationen aus den folgenden Einträgen am sinnvollsten:
+* `l`, `r`, `c`: Linksbündig, rechtsbündig, zentriert. Spaltenbreite passt sich dem Inhalt an.
+* `X`: Blocksatz, Spaltenbreite füllt den übrigen Platz auf. Bei mehreren `X`-Spalten wird gleichmäßig aufgeteilt
+
+Zusätzlich ist es möglich die Währung automatisch in der Spalte zu ergänzen.
+Der Mechanismus ist so kontruiert, dass diese nicht in der Kopfzeile sondern lediglich in den Inhaltszeilen eingefügt wird.
+In diesem Fall wird die Spaltenspezifikation durch `<{\tabcurrency}` ergänzt.
+Eine rechtsbündige Spalte mit Währungsangabe wird somit durch `r<{\tabcurrency}` erzeugt.
+
+
+#### PricingTabular
+
+`PricingTabular` wurde entwickelt um Tabellen für Rechnungen vereinfacht erstellen zu können.
+Die Voreinstellung verfügt über die Spalten `pos`, `id`, `desc`, `amount`, `price`, `pricetotal'.
+Alle Spalten, außer der Spalte `desc` haben eine Feste Breite.
+
+Die Einstellungen können Entweder als Optionales Argument zu `\begin{PricingTabular}[<Optionen>]` vorgenommen werden oder über das Makro `\SetupPricingTabular{<Optionen>}` für alle folgenden Umgebungen gesetzt werden.
+
+
+##### Spaltenbreiten
+
+Die Spaltenbreiten werden angepasst indem der Spaltenname verwendet wird.
+Um die Positionsspalte zu ändern ist somit die Option `pos=<Breite>` notwendig.
+Hier können alle Längenangaben verwendet werden, die LaTeX versteht. (cm, mm, em, ex, …)
+
+Die Spaltenbreite der Spalte `desc` für die Artikelbeschreibung nimmt dabei jeweils den übrigen Platz ein.
+
+#### Kopfzeileneinträge
+
+Die Kopfzeileneinträge werden über die Option `<Spaltenname>/header=<Neue Beschriftung>` angepasst.
+Vorbelegt ist die Konfiguration: 
+
+```
+\SetupPricingTabular{
+	pos/header=\position,
+	id/header=\artikelnummer,
+	desc/header=\bezeichnung,
+	amount/header=\menge,
+	price/header=\einzelpreis,
+	pricetotal/header=\gesamtpreis
+}
+```
+
+#### Reihenfolge/Anzahl der Spalten ändern
+
+Die Reihenfolge wurde über die Option `columns` festgelegt.
+Soll daher eine Tabelle mit nur drei Spalten und lediglich bestehend aus Produktnummer, Beschreibung und Menge genutzt werden, ist dies mit der Option `columns={id,desc,amount}` möglich.
+
+Einzelne Spalten können auch über `<Spaltenname>=false` abgeschaltet werden. Dies ist z.B. dann hilfreich, wenn die Angabe einer Produktnummer aus platzgründen nicht sinnvoll ist (`id=false`).
+
+
+
+
 
  Quickstart (wo kann was angepasst werden?):
     insettings.tex : Pfad zu Angaben über Mandanten (default: firma)
diff --git a/templates/print/marei/kiviletter.sty b/templates/print/marei/kiviletter.sty
index 56302706b..0b0403dd1 100644
--- a/templates/print/marei/kiviletter.sty
+++ b/templates/print/marei/kiviletter.sty
@@ -395,6 +395,9 @@ contents={\usebox\shippingAddressBox}
 	headline .initial:n = {\bfseries\position & \bfseries\menge & \bfseries\bezeichnung},
 }
 
+\newcommand*{\SetupSimpleTabular}{\keys_set:nn {kivi/SimpleTabular} {#1}}
+\newcommand*{\SetupPricingTabular}{\keys_set:nn {kivi/PricingTable} {#1}}
+
 \newenvironment{SimpleTabular}[1][]
 {
 	\tl_if_in:nnTF {#1} {=} {\keys_set:nn {kivi/SimpleTabular} {#1}} {\tl_if_empty:nF {#1} {\tl_set:Nn \l_kivi_SimpleTabular_headline_tl {#1}}}
