marei: update Readme
authorMarei (peiTeX) <marei@peitex.de>
Sun, 27 Sep 2020 20:59:45 +0000 (22:59 +0200)
committerJan Büren <jan@kivitendo.de>
Wed, 21 Oct 2020 11:42:04 +0000 (13:42 +0200)
templates/print/marei/Readme.md
templates/print/marei/kiviletter.sty

index e44bf14..e1ea31a 100644 (file)
@@ -1,7 +1,24 @@
 
-# Bemerkungen zum Vorlagensatz von
+# Bemerkungen zum Vorlagensatz von Marei Peischl
 ### © 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.
 
@@ -11,6 +28,7 @@ Mandantenspezifische Konfiguration findet sich in der Datei *insettings.tex* und
 
 
 ### Struktur der Basisdatei (je Dokumententyp eine)
+
        1. Dokumentenklasse
        2. *kiviletter.sty*
        3. Einstellungen, die über Variablen gesetzt werden: Mandant, Währung, Sprache
@@ -19,52 +37,55 @@ Mandantenspezifische Konfiguration findet sich in der Datei *insettings.tex* und
                - 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:
+#### 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,
+    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.
+    `<%kivicompany%>` enthält den Namen des verwendeten Mandantendaten.
     Ist kein Firmenname eingetragen, so wird das
-    generische Unterverzeichnis 'firma' verwendet.
+    generische Unterverzeichnis *firma* verwendet.
+
+#### Identitäten:
 
-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.
+#### 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:
+    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. Dies ist im Moment auskommentiert.
+    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.
 
@@ -75,10 +96,10 @@ Sie verfügt über ein optionales Argument um die Spaltenkonfiguration und die K
 
 ```
 
-#### 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:
 
 ```
@@ -104,7 +125,7 @@ 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
+###### Spaltenbreiten
 
 Die Spaltenbreiten werden angepasst indem der Spaltenname verwendet wird.
 Um die Positionsspalte zu ändern ist somit die Option `pos=<Breite>` notwendig.
@@ -112,7 +133,7 @@ Hier können alle Längenangaben verwendet werden, die LaTeX versteht. (cm, mm,
 
 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: 
@@ -128,7 +149,7 @@ 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.
@@ -139,14 +160,3 @@ Einzelne Spalten können auch über `<Spaltenname>=false` abgeschaltet werden. D
 
 
 
- 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
-
index 44fe651..78833d9 100644 (file)
@@ -252,7 +252,7 @@ contents={\usebox\shippingAddressBox}
        \setlength{\leftskip}{\l_kivi_tab_desc_leftskip_dim}
        \usekomafont{extraDescription}
        \seq_use:Nn \g_kivi_extraDescription_seq {\\}
-       \par\nointerlineskip
+       \par
        \endgroup
        }
        }
@@ -383,21 +383,28 @@ contents={\usebox\shippingAddressBox}
        headline .initial:n = {\bfseries\position & \bfseries\menge & \bfseries\bezeichnung},
 }
 
+\newcommand*{\SetupSimpleTabular}[1]{\keys_set:nn {kivi/SimpleTabular} {#1}}
+\newcommand*{\SetupPricingTabular}[1]{\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}}}
        \setlength{\tabcolsep}{\g_kivi_tabcolsep_dim}
+       \dim_set:Nn \parskip {\c_zero_dim}
        \tl_put_right:Nn \l_kivi_SimpleTabular_colspec_tl {@{}}
        \tl_put_left:Nn \l_kivi_SimpleTabular_colspec_tl {@{}}
        \exp_args:NnV \xltabular{\linewidth}\l_kivi_SimpleTabular_colspec_tl
-       \toprule
-       \l_kivi_SimpleTabular_headline_tl\\
-       \midrule
+               \toprule
+               \cs_gset_eq:NN \__kivi_tab_column_currency: \__kivi_tab_column_header_currency:
+               \l_kivi_SimpleTabular_headline_tl
+               \\
+               \noalign{\cs_gset_eq:NN \__kivi_tab_column_currency: \__kivi_tab_column_body_currency:}
+               \midrule
        \endhead
-       \midrule
-       \rlap{\makebox[\textwidth][r]{\weiteraufnaechsterseite}}\\
+               \midrule
+               \rlap{\makebox[\textwidth][r]{\weiteraufnaechsterseite}}\\
        \endfoot
-       \bottomrule
+               \bottomrule
        \endlastfoot
        \ignorespaces
 }{