Merge branch 'b-3.6.1' into mebil
[kivitendo-erp.git] / templates / print / marei / Readme.md
index 8a272bd..3e75424 100644 (file)
@@ -1,21 +1,20 @@
-
 # Bemerkungen zum Vorlagensatz
-### © 2020 by Marei Peischl (peiTeX TeXnical Solutions)
+### © 2020–2021 by Marei Peischl (peiTeX TeXnical Solutions)
 
 ## Quickstart (wo kann was angepasst werden?):
 
   * insettings.tex : Pfad zu Angaben über Mandanten (default: firma)
                      Logo/Briefpapier
                      Layout der Kopf/Fußzeile
-                    innerhalb dieser Datei werden auch die folgenden Dateien geladen:
-                        firma/ident.tex        : Angaben über Mandanten
-                        firma/<währungskürzel>_account.tex
+                     innerhalb dieser Datei werden auch die folgenden Dateien geladen:
+                     firma/ident.tex        : Angaben über Mandanten
+                     firma/<währungskürzel>_account.tex
 
 * Es muß mindestens eine Sprache angelegt werden!
   -  deutsch.tex    : Textschnipsel für Deutsch
-                     Dafür eine Sprache mit Vorlagenkürzel DE anlegen
+                      Dafür eine Sprache mit Vorlagenkürzel DE anlegen
   -  english.tex    : Textschnipsel für Englisch
-                     Dafür eine Sprache mit Vorlagenkürzel EN anlegen
+                      Dafür eine Sprache mit Vorlagenkürzel EN anlegen
 
 
 
@@ -24,7 +23,7 @@ Die Grundstruktur besteht je Dokumententyp aus einer Basisdatei und verschiedene
 
 Die Basis wurde so überarbeitet, dass Dokumente nun generell auf der Dokumentenklasse *scrartcl.cls* basieren und das Paket *kiviletter.sty* benutzen.
 
-Mandantenspezifische Konfiguration findet sich in der Datei *insettings.tex* und dem Ordner eines spezifischen Mandanten (default=*firma/*). 
+Mandantenspezifische Konfiguration findet sich in der Datei *insettings.tex* und dem Ordner eines spezifischen Mandanten (default=*firma/*).
 
 
 ### Struktur der Basisdatei (je Dokumententyp eine)
@@ -36,7 +35,7 @@ Mandantenspezifische Konfiguration findet sich in der Datei *insettings.tex* und
    - Sprache: lädt die entsprechende Sprachdatei, falls DE -> *deutsch.tex*, falls EN *englisch.tex* und setzt die babel Optionen. Die Datei enthält Übersetzungen von Einzelbegriffen und Textbausteinen.
    - Lädt die Konfigurationsdatei, ohne spezielle Mandanten ist der Suchpfad zur Konfiguration der Unterordner *firma/*
    - Lädt die Datei *ident.tex*, sowie die Abbildung Briefkopf.
-               
+
 #### Mandanten / Firma:
 
 Um gleiche Vorlagen für verschiedene Firmen verwenden zu können, wird je
@@ -62,7 +61,15 @@ So kann in den Dokumenten je nach Währung ein anderes Konto
 angegeben werden.
 Nach demselben Schema können auch weitere, alternative Bankverbindungen
 angelegt werden, die dann in *insettings.tex* als Variable in der Fußzeile eingefügt werden.
-    
+Als Fallback (falls kivitendo keine Währung an das Druckvorlagen-System übergibt)
+ist Euro eingestellt. Dies lässt sich in der *insettings.tex* über das optionale Argument
+von `\setupCurrencyConfig` anpassen, z.B.
+
+```
+\setupCurrencyConfig[chf]{\identpath}{\lxcurrency}
+```
+für Schweizer Franken als Standardwährung.
+
 #### Briefbogen/Logos:
 Eine Hintergrundgrafik oder ein Logo kann in Abhängigkeit vom
 Medium (z.B. nur beim Verschicken mit E-Mail) eingebunden
@@ -71,8 +78,14 @@ werden.
 Desweiteren sind (auskommentierte) Beispiele enthalten für eine
 Grafik als Briefkopf, nur ein Logo, oder ein komplettes DinA4-PDF
 als Briefpapier.
-    
-#### Fusszeile:
+
+Absolute Positionierung innerhalb des Brief-Layouts ist über die entsprechende Dokumentation des scrlayer-Paketes möglich.
+Da die Voreinstellungen bereits einige Sonderfälle automatisch berücksichtigen ist mit den Anpassungen Vorsicht geboten.
+Sämtliche Einstellungen sollten jedoch außerhalb der *.sty-Dateien vorgenommen werden.
+Anpassungen der insettings.tex betreffen hierbei alle Mandanten. Mandantenspezifische Einstellung sind über die zugehörige Konfigurationsdatei möglich.
+In diesem Fall kann zum Ende der insettings eine weitere Konfigurationsdatei über die Verwendung von \identpath geladen werden. Ein Beispiel ist in der insettings.tex enthalten.
+
+#### Fußzeile:
 Die Tabelle im Fuß verwendet die Angaben aus *firma/ident.tex* und
 *firma/*_account.tex*. Ihre Struktur wird in der *insettings.tex* definiert.
 
@@ -80,7 +93,7 @@ Die Tabelle im Fuß verwendet die Angaben aus *firma/ident.tex* und
 Das Seitenlayout wird über scrlayer-scrpage bestimmt. Es existieren in der Datei *insettings.tex* einige Hinweise zu den Anpassungen. Die Basiskonfiguration ist ebenfalls dort eingetragen.
 
 Die Kopfzeile unterscheidet sich von Dokumententyp zu Dokumententyp leicht, da diese über Datenbankvariablen befüllt wird. Hierfür wird das Makro `\ourhead` definiert. Diese Definition kann ebenfalls über die *insettings.tex* geändert werden.
-        
+
 ### 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.
@@ -136,19 +149,47 @@ Die Spaltenbreite der Spalte `desc` für die Artikelbeschreibung nimmt dabei jew
 ##### Kopfzeileneinträge
 
 Die Kopfzeileneinträge werden über die Option `<Spaltenname>/header=<Neue Beschriftung>` angepasst.
-Vorbelegt ist die Konfiguration: 
+Vorbelegt ist die Konfiguration:
 
 ```
 \SetupPricingTabular{
-       pos/header=\position,
-       id/header=\artikelnummer,
-       desc/header=\bezeichnung,
-       amount/header=\menge,
-       price/header=\einzelpreis,
-       pricetotal/header=\gesamtpreis
+  pos/header=\position,
+  id/header=\artikelnummer,
+  desc/header=\bezeichnung,
+  amount/header=\menge,
+  price/header=\einzelpreis,
+  pricetotal/header=\gesamtpreis
 }
 ```
 
+##### Farbige Tabellen
+Versionen ab Juli 2021 enthalten die Möglichkeit farbige Tabellen zu nutzen.
+Die Optionen für die `PricingTabular` Umgebung können wie folgt konfiguriert werden:
+```
+  color-rows=<true/false>,% false
+  rowcolor-odd=<Farbname>,% black!10
+  rowcolor-even=<Farbname>,% leer, also keine Farbbox wird erzeugt
+  rowcolor-header=<Farbname>,% black!35
+  rowcolor-total=<Farbname>,% black!35
+```
+Die Angabe hinter dem Kommentarzeichen entspricht der Voreinstellung.
+
+#### Trennlinien zwischen den Einträgen
+Die Umgebung `PricingTabular` hat die möglichkeit horizontale Linien zwischen den Einträgen der `\FakeTable` einzuziehen.
+Die einfachste Möglichkeit hierfür ist die Option hrule, sie setzt automatisch eine Linie der Dicke `\lightrulewidth`.
+Da diese Linie formal nicht innerhalb der Tabelle platziert wird, können Linienmakros für Tabellen heir nicht verwendet werden.
+Falls dennoch eine manuelle Anpassung der Maße notwendig ist, kann direkt der Code zur Erzeugung der Linie übergeben werden.
+Die Option `hrule` entspricht der Angabe
+```
+  rowsep={
+    \vskip\aboverulesep
+    \hrule\@height\lightrulewidth
+    \vskip\belowrulesep
+  }
+```
+Es wird somit auch der Abstand davor und danach mit eingefügt. In Kombination mit Farbigen Tabellen ist hier vorsicht geboten, da der Abstand nicht mit zur farbigen Box gerechnet wird.
+
+
 ##### Reihenfolge/Anzahl der Spalten ändern
 
 Die Reihenfolge wurde über die Option `columns` festgelegt.