From 0ea3d7bd2ed6feec7c25312a44f59cd4f01a1b98 Mon Sep 17 00:00:00 2001 From: "Marei (peiTeX)" Date: Sun, 27 Sep 2020 22:59:45 +0200 Subject: [PATCH] marei: update Readme --- templates/print/marei/Readme.md | 88 ++++++++++++++++------------ templates/print/marei/kiviletter.sty | 21 ++++--- 2 files changed, 63 insertions(+), 46 deletions(-) diff --git a/templates/print/marei/Readme.md b/templates/print/marei/Readme.md index e44bf14e4..e1ea31aa4 100644 --- a/templates/print/marei/Readme.md +++ b/templates/print/marei/Readme.md @@ -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/_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}[]` vorgenommen werden oder über das Makro `\SetupPricingTabular{}` 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=` 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 `/header=` 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 `=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 - diff --git a/templates/print/marei/kiviletter.sty b/templates/print/marei/kiviletter.sty index 44fe651db..78833d9f5 100644 --- a/templates/print/marei/kiviletter.sty +++ b/templates/print/marei/kiviletter.sty @@ -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 }{ -- 2.20.1