-# Bemerkungen zum Vorlagensatz von
+# Bemerkungen zum Vorlagensatz
### © 2020 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
+
+* Es muß mindestens eine Sprache angelegt werden!
+ - deutsch.tex : Textschnipsel für Deutsch
+ Dafür eine Sprache mit Vorlagenkürzel DE anlegen
+ - english.tex : Textschnipsel für Englisch
+ Dafür eine Sprache mit Vorlagenkürzel EN anlegen
+
+
+
## Aufbau:
Die Grundstruktur besteht je Dokumententyp aus einer Basisdatei und verschiedenen Setup-Dateien.
### Struktur der Basisdatei (je Dokumententyp eine)
- 1. Dokumentenklasse
- 2. *kiviletter.sty*
- 3. Einstellungen, die über Variablen gesetzt werden: Mandant, Währung, Sprache
- 4. `\input{insettings.tex}` Anteil der spezifischen Anpassungen, die von den Variablen unter 2. abhängig sind. Geladen werden darin die Dateien:
- - 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.
+
+1. Dokumentenklasse
+2. *kiviletter.sty*
+3. Einstellungen, die über Variablen gesetzt werden: Mandant, Währung, Sprache
+4. `\input{insettings.tex}` Anteil der spezifischen Anpassungen, die von den Variablen unter 2. abhängig sind. Geladen werden darin die Dateien:
+ - 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
- nach dem Wert der Kivitendo-Variablen <%kivicompany%> ein
- Firmenverzeichnis ausgewählt (siehe 'insettings.tex'), in dem Briefkopf,
- Identitäten und Währungs-/Kontoeinstellungen hinterlegt sind.
- <%kivicompany%> enthält den Namen des verwendeten Mandantendaten.
- Ist kein Firmenname eingetragen, so wird das
- generische Unterverzeichnis 'firma' verwendet.
-
-Identitäten:
- In jedem Firmen-Unterverzeichnis soll eine Datei 'ident.tex'
- vorhanden sein, die mit \newcommand Werte für \telefon, \fax,
- \firma, \strasse, \ort, \ustid, \email und \homepage definiert.
-
-Währungen / Konten:
- Für jede Währung (siehe 'insettings.tex') soll eine Datei vorhanden
- sein, die das Währungssymbol (\currency) und folgende Angaben für
- ein Konto in dieser Währung enthält \kontonummer, \bank,
- \bankleitzahl, \bic und \iban.
- 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 im
- unteren Abschnitt der Datei 'insettings.tex', Kommentar Fußzeile
- (cfoot) eingefügt werden.
- Briefbogen/Logos:
- Eine Hintergrundgrafik oder ein Logo kann in Abhängigkeit vom
- Medium (z.B. nur beim Verschicken mit E-Mail) eingebunden
- werden. Dies ist im Moment auskommentiert.
+#### Mandanten / Firma:
+
+Um gleiche Vorlagen für verschiedene Firmen verwenden zu können, wird je
+nach dem Wert der Kivitendo-Variablen `<%kivicompany%>` ein
+Firmenverzeichnis ausgewählt (siehe *insettings.tex'), in dem Briefkopf,
+Identitäten und Währungs-/Kontoeinstellungen hinterlegt sind.
+`<%kivicompany%>` enthält den Namen des verwendeten Mandantendaten.
+Ist kein Firmenname eingetragen, so wird das
+generische Unterverzeichnis *firma* verwendet.
+
+#### Identitäten:
+
+In jedem Firmen-Unterverzeichnis soll eine Datei *ident.tex*
+vorhanden sein, die mit `\newcommand` Werte für \telefon, `\fax`,
+`\firma`, `\strasse`, `\ort`, `\ustid`, `\email` und `\homepage` definiert.
+
+#### Währungen / Konten:
+Für jede Währung (siehe *insettings.tex*) soll eine Datei vorhanden
+sein, die das Währungssymbol (`\currency`) und folgende Angaben für
+ein Konto in dieser Währung enthält `\kontonummer`, `\bank`,
+`\bankleitzahl`, `\bic` und `\iban`.
+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.
- Desweiteren sind (auskommentierte) Beispiele enthalten für eine
- Grafik als Briefkopf, nur ein Logo, oder ein komplettes DinA4-PDF
- als Briefpapier.
+#### Briefbogen/Logos:
+Eine Hintergrundgrafik oder ein Logo kann in Abhängigkeit vom
+Medium (z.B. nur beim Verschicken mit E-Mail) eingebunden
+werden.
+
+Desweiteren sind (auskommentierte) Beispiele enthalten für eine
+Grafik als Briefkopf, nur ein Logo, oder ein komplettes DinA4-PDF
+als Briefpapier.
- Fusszeile:
- Die Tabelle im Fuß verwendet die Angaben aus firma/ident.tex und
- firma/*_account.tex.
+#### Fusszeile:
+Die Tabelle im Fuß verwendet die Angaben aus *firma/ident.tex* und
+*firma/*_account.tex*. Ihre Struktur wird in der *insettings.tex* definiert.
-## Seitenstil/Basislayout:
+#### Seitenstil/Basislayout:
+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:
+### 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
+#### 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.
```
-#### Kopfzeile
+##### Tabellenkopfzeile
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)
+##### 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:
```
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
+###### Spaltenbreiten
Die Spaltenbreiten werden angepasst indem der Spaltenname verwendet wird.
Um die Positionsspalte zu ändern ist somit die Option `pos=<Breite>` notwendig.
Die Spaltenbreite der Spalte `desc` für die Artikelbeschreibung nimmt dabei jeweils den übrigen Platz ein.
-#### Kopfzeileneinträge
+##### Kopfzeileneinträge
Die Kopfzeileneinträge werden über die Option `<Spaltenname>/header=<Neue Beschriftung>` angepasst.
Vorbelegt ist die Konfiguration:
}
```
-#### Reihenfolge/Anzahl der Spalten ändern
+##### 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.
- Quickstart (wo kann was angepasst werden?):
- insettings.tex : Pfad zu Angaben über Mandanten (default: firma)
- Logo/Briefpapier
- Layout der Kopf/Fußzeile
- firma/* : Angaben über Mandanten
- Es muß mindestens eine Sprache angelegt werden!
- deutsch.tex : Textschnipsel für Deutsch
- Dafür eine Sprache mit Vorlagenkürzel DE anlegen
- english.tex : Textschnipsel für Englisch
- Dafür eine Sprache mit Vorlagenkürzel EN anlegen
-