-
-# Bemerkungen zum Vorlagensatz von Marei Peischl
-### © 2020 by Marei Peischl (peiTeX TeXnical Solutions)
+# Bemerkungen zum Vorlagensatz
+### © 2020–2021 by Marei Peischl (peiTeX TeXnical Solutions)
## Quickstart (wo kann was angepasst werden?):
- insettings.tex : Pfad zu Angaben über Mandanten (default: firma)
+ * 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
+ 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
### 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.
+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.
+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.
+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.
#### Briefbogen/Logos:
- Eine Hintergrundgrafik oder ein Logo kann in Abhängigkeit vom
- Medium (z.B. nur beim Verschicken mit E-Mail) eingebunden
- werden.
+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.
+
+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.
- 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*. Ihre Struktur wird in der *insettings.tex* definiert.
+#### 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.
#### 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.
+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.
+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:
```
\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.