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)
 
 ### © 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.
 
 ## 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)
 
 
 ### Struktur der Basisdatei (je Dokumententyp eine)
+
        1. Dokumentenklasse
        2. *kiviletter.sty*
        3. Einstellungen, die über Variablen gesetzt werden: Mandant, Währung, Sprache
        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.
                
                - 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
     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.
     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
     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.
 
     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
     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
     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.
     
     
     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.
 
 
 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.
 
 
 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.
 
 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 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.
 
 
 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 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.
 
 
 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: 
 
 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.
 
 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 {\\}
        \setlength{\leftskip}{\l_kivi_tab_desc_leftskip_dim}
        \usekomafont{extraDescription}
        \seq_use:Nn \g_kivi_extraDescription_seq {\\}
-       \par\nointerlineskip
+       \par
        \endgroup
        }
        }
        \endgroup
        }
        }
@@ -383,21 +383,28 @@ contents={\usebox\shippingAddressBox}
        headline .initial:n = {\bfseries\position & \bfseries\menge & \bfseries\bezeichnung},
 }
 
        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}
 \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
        \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
        \endhead
-       \midrule
-       \rlap{\makebox[\textwidth][r]{\weiteraufnaechsterseite}}\\
+               \midrule
+               \rlap{\makebox[\textwidth][r]{\weiteraufnaechsterseite}}\\
        \endfoot
        \endfoot
-       \bottomrule
+               \bottomrule
        \endlastfoot
        \ignorespaces
 }{
        \endlastfoot
        \ignorespaces
 }{