X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=templates%2Fprint%2Fmarei%2FReadme.md;h=00d4ad89ca9e3a8467bcbdd4294dc96d76a942de;hb=af6bb3d1fce431163e32b7d94b025df5bb12e183;hp=e44bf14e42316718b8c1401f61b932ab0bda4d96;hpb=a154db8e1d632841d762b9425602f798aaeaf8f7;p=kivitendo-erp.git diff --git a/templates/print/marei/Readme.md b/templates/print/marei/Readme.md index e44bf14e4..00d4ad89c 100644 --- a/templates/print/marei/Readme.md +++ b/templates/print/marei/Readme.md @@ -1,6 +1,22 @@ +# 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) + 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 + -# Bemerkungen zum Vorlagensatz von -### © 2020 by Marei Peischl (peiTeX TeXnical Solutions) ## Aufbau: Die Grundstruktur besteht je Dokumententyp aus einer Basisdatei und verschiedenen Setup-Dateien. @@ -11,60 +27,70 @@ 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 - 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. + +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 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. + +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. - Fusszeile: - Die Tabelle im Fuß verwendet die Angaben aus firma/ident.tex und - firma/*_account.tex. +#### 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: +#### 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 +101,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 +130,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,23 +138,51 @@ 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: ``` \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 } ``` -#### Reihenfolge/Anzahl der Spalten ändern +##### 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=,% false + rowcolor-odd=,% black!10 + rowcolor-even=,% leer, also keine Farbbox wird erzeugt + rowcolor-header=,% black!35 + rowcolor-total=,% 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. 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 +193,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 -