Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision a154db8e

Von Marei (peiTeX) vor mehr als 3 Jahren hinzugefügt

  • ID a154db8e1d632841d762b9425602f798aaeaf8f7
  • Vorgänger 2336386b
  • Nachfolger 53ac3fa1

marei: user cofig for tables

Unterschiede anzeigen:

templates/print/marei/Readme.md
56 56
    Fusszeile:
57 57
    Die Tabelle im Fuß verwendet die Angaben aus firma/ident.tex und
58 58
    firma/*_account.tex.
59

  
60
## Seitenstil/Basislayout:
61

  
59 62
        
60 63
## Tabellen:
61 64

  
65
Die Tabellenstruktur wurde komplett überarbeitet. Der Vorlagensatz verfügt über Tabellen, die automatisch die Breite der Textbreite anpassen und zusätzlich Seitenumbrüche erlauben.
66

  
67
### SimpleTabular
68

  
69
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.
70

  
71
Sie verfügt über ein optionales Argument um die Spaltenkonfiguration und die Kopfzeile anzupassen. Die Voreinstellung (also ohne optionales Argument) entspricht der, der folgenden Angabe:
72

  
73
```
74
\begin{SimpleTabular}[colspec=rrX,headline={\bfseries\position & \bfseries\menge & \bfseries\bezeichnung}]
75

  
76
```
77

  
78
#### Kopfzeile
79
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.
80

  
81
#### Spaltenkonfiguration (fortgeschrittene Nutzer)
82
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:
83

  
84
```
85
\begin{SimpleTabular}[colspec=llX]
86

  
87
```
88
Als Spaltentypen sind Konfigurationen aus den folgenden Einträgen am sinnvollsten:
89
* `l`, `r`, `c`: Linksbündig, rechtsbündig, zentriert. Spaltenbreite passt sich dem Inhalt an.
90
* `X`: Blocksatz, Spaltenbreite füllt den übrigen Platz auf. Bei mehreren `X`-Spalten wird gleichmäßig aufgeteilt
91

  
92
Zusätzlich ist es möglich die Währung automatisch in der Spalte zu ergänzen.
93
Der Mechanismus ist so kontruiert, dass diese nicht in der Kopfzeile sondern lediglich in den Inhaltszeilen eingefügt wird.
94
In diesem Fall wird die Spaltenspezifikation durch `<{\tabcurrency}` ergänzt.
95
Eine rechtsbündige Spalte mit Währungsangabe wird somit durch `r<{\tabcurrency}` erzeugt.
96

  
97

  
98
#### PricingTabular
99

  
100
`PricingTabular` wurde entwickelt um Tabellen für Rechnungen vereinfacht erstellen zu können.
101
Die Voreinstellung verfügt über die Spalten `pos`, `id`, `desc`, `amount`, `price`, `pricetotal'.
102
Alle Spalten, außer der Spalte `desc` haben eine Feste Breite.
103

  
104
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.
105

  
106

  
107
##### Spaltenbreiten
108

  
109
Die Spaltenbreiten werden angepasst indem der Spaltenname verwendet wird.
110
Um die Positionsspalte zu ändern ist somit die Option `pos=<Breite>` notwendig.
111
Hier können alle Längenangaben verwendet werden, die LaTeX versteht. (cm, mm, em, ex, …)
112

  
113
Die Spaltenbreite der Spalte `desc` für die Artikelbeschreibung nimmt dabei jeweils den übrigen Platz ein.
114

  
115
#### Kopfzeileneinträge
116

  
117
Die Kopfzeileneinträge werden über die Option `<Spaltenname>/header=<Neue Beschriftung>` angepasst.
118
Vorbelegt ist die Konfiguration: 
119

  
120
```
121
\SetupPricingTabular{
122
	pos/header=\position,
123
	id/header=\artikelnummer,
124
	desc/header=\bezeichnung,
125
	amount/header=\menge,
126
	price/header=\einzelpreis,
127
	pricetotal/header=\gesamtpreis
128
}
129
```
130

  
131
#### Reihenfolge/Anzahl der Spalten ändern
132

  
133
Die Reihenfolge wurde über die Option `columns` festgelegt.
134
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.
135

  
136
Einzelne Spalten können auch über `<Spaltenname>=false` abgeschaltet werden. Dies ist z.B. dann hilfreich, wenn die Angabe einer Produktnummer aus platzgründen nicht sinnvoll ist (`id=false`).
137

  
138

  
139

  
140

  
62 141

  
63 142
 Quickstart (wo kann was angepasst werden?):
64 143
    insettings.tex : Pfad zu Angaben über Mandanten (default: firma)
templates/print/marei/kiviletter.sty
395 395
	headline .initial:n = {\bfseries\position & \bfseries\menge & \bfseries\bezeichnung},
396 396
}
397 397

  
398
\newcommand*{\SetupSimpleTabular}{\keys_set:nn {kivi/SimpleTabular} {#1}}
399
\newcommand*{\SetupPricingTabular}{\keys_set:nn {kivi/PricingTable} {#1}}
400

  
398 401
\newenvironment{SimpleTabular}[1][]
399 402
{
400 403
	\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}}}

Auch abrufbar als: Unified diff