Revision 0ea3d7bd
Von Marei (peiTeX) vor mehr als 4 Jahren hinzugefügt
templates/print/marei/Readme.md | ||
---|---|---|
|
||
# 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.
|
||
|
||
... | ... | |
|
||
|
||
### Struktur der Basisdatei (je Dokumententyp eine)
|
||
|
||
1. Dokumentenklasse
|
||
2. *kiviletter.sty*
|
||
3. Einstellungen, die über Variablen gesetzt werden: Mandant, Währung, Sprache
|
||
... | ... | |
- 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.
|
||
|
||
... | ... | |
|
||
```
|
||
|
||
#### 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:
|
||
|
||
```
|
||
... | ... | |
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 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:
|
||
... | ... | |
}
|
||
```
|
||
|
||
#### 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.
|
||
... | ... | |
|
||
|
||
|
||
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
|
||
|
templates/print/marei/kiviletter.sty | ||
---|---|---|
\setlength{\leftskip}{\l_kivi_tab_desc_leftskip_dim}
|
||
\usekomafont{extraDescription}
|
||
\seq_use:Nn \g_kivi_extraDescription_seq {\\}
|
||
\par\nointerlineskip
|
||
\par
|
||
\endgroup
|
||
}
|
||
}
|
||
... | ... | |
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
|
||
}{
|
Auch abrufbar als: Unified diff
marei: update Readme