]> wagnertech.de Git - mfinanz.git/commitdiff
Merge pull request #31 from kivitendo/LaTeX-colored-tables
authorJan Büren <jan@kivitendo-premium.de>
Thu, 12 Aug 2021 10:32:53 +0000 (12:32 +0200)
committerGitHub <noreply@github.com>
Thu, 12 Aug 2021 10:32:53 +0000 (12:32 +0200)
LaTeX colored tables

26 files changed:
templates/print/marei/Readme.md
templates/print/marei/bin_list.tex
templates/print/marei/check.tex
templates/print/marei/credit_note.tex
templates/print/marei/deutsch.tex
templates/print/marei/english.tex
templates/print/marei/ic_supply.tex
templates/print/marei/ic_supply_EN.tex
templates/print/marei/insettings.tex
templates/print/marei/invoice.tex
templates/print/marei/kiviletter.sty
templates/print/marei/kivitendo.sty
templates/print/marei/letter.tex
templates/print/marei/pick_list.tex
templates/print/marei/proforma.tex
templates/print/marei/purchase_delivery_order.tex
templates/print/marei/purchase_order.tex
templates/print/marei/receipt.tex
templates/print/marei/request_quotation.tex
templates/print/marei/requirement_spec.tex
templates/print/marei/sales_delivery_order.tex
templates/print/marei/sales_order.tex
templates/print/marei/sales_quotation.tex
templates/print/marei/statement.tex
templates/print/marei/zahlungserinnerung.tex
templates/print/marei/zahlungserinnerung_invoice.tex

index 8a272bd05b08e6ef0de47eaa180d66d501f91bbd..00d4ad89ca9e3a8467bcbdd4294dc96d76a942de 100644 (file)
@@ -1,21 +1,20 @@
-
 # Bemerkungen zum Vorlagensatz
-### © 2020 by Marei Peischl (peiTeX TeXnical Solutions)
+### © 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/<währungskürzel>_account.tex
+                     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
+                      Dafür eine Sprache mit Vorlagenkürzel DE anlegen
   -  english.tex    : Textschnipsel für Englisch
-                     Dafür eine Sprache mit Vorlagenkürzel EN anlegen
+                      Dafür eine Sprache mit Vorlagenkürzel EN anlegen
 
 
 
@@ -36,7 +35,7 @@ Mandantenspezifische Konfiguration findet sich in der Datei *insettings.tex* und
    - 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
@@ -71,8 +70,14 @@ 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:
+#### 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.
 
@@ -140,15 +145,43 @@ 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
 }
 ```
 
+##### 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=<true/false>,% false
+  rowcolor-odd=<Farbname>,% black!10
+  rowcolor-even=<Farbname>,% leer, also keine Farbbox wird erzeugt
+  rowcolor-header=<Farbname>,% black!35
+  rowcolor-total=<Farbname>,% 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.
index 69a4e8a53e1eafa16a0062aea417110f0f8bfbe0..7907ebe22e06100834f512bb498b2348c01f29ba 100644 (file)
 \setkomavar{title}{\lagerliste}
 
 \setkomavar{firsthead}{
-       \normalsize
-       \noindent\begin{tabular}[t]{@{}l@{}}
-               <%company%>\strut\\
-               <%address%>
-       \end{tabular}
-       \hfill
- \begin{tabular}[t]{rr@{}}
-               Tel & <%tel%>\\
-               Fax & <%fax%>%
-       \end{tabular}
-       \rule{\linewidth}{\heavyrulewidth}
+  \normalsize
+  \noindent\begin{tabular}[t]{@{}l@{}}
+    <%company%>\strut\\
+    <%address%>
+  \end{tabular}
+  \hfill
 \begin{tabular}[t]{rr@{}}
+    Tel & < %tel%>\\
+    Fax & < %fax%>%
+  \end{tabular}
+  \rule{\linewidth}{\heavyrulewidth}
 }
 
 \makeatletter
 \setkomavar{location}{
-               \backaddr@format{\scriptsize\usekomafont{backaddress}%
-                       \strut\lieferanschrift
-               }
-               \par\medskip\setlength{\parskip}{\z@}
-               \normalsize
-               <%shiptoname%>\par
-               <%if shiptocontact%> <%shiptocontact%><%end if%>\par
-               <%shiptodepartment_1%>\par
-               <%shiptodepartment_2%>\par
-               <%shiptostreet%>\par
-               <%shiptozipcode%> <%shiptocity%>%
-       }
+  \backaddr@format{\scriptsize\usekomafont{backaddress}%
+    \strut\lieferanschrift
+  }
+  \par\medskip\setlength{\parskip}{\z@}
+  \normalsize
+  <%shiptoname%>\par
+  <%if shiptocontact%> <%shiptocontact%><%end if%>\par
+  <%shiptodepartment_1%>\par
+  <%shiptodepartment_2%>\par
+  <%shiptostreet%>\par
+  <%shiptozipcode%> <%shiptocity%>%
+}
 \makeatother
 
 \begin{letter}{
-               <%name%>\ifhmode\\\fi
-               <%street%>\ifhmode\\\fi
-               <%zipcode%> <%city%>\ifhmode\\\fi
-               <%country%>
-       }
+<%name%>\ifhmode\\\fi
+<%street%>\ifhmode\\\fi
+<%zipcode%> <%city%>\ifhmode\\\fi
+<%country%>
+}
 
 \opening{}
 
 \begin{SimpleTabular}[colspec=*6X,headline={\bfseries\bestellnummer&\bfseries\datum&\bfseries\kontakt
-  <%if warehouse%>%
-  &\bfseries\lager%
-  <%end warehouse%>%
-  &\bfseries\lagerplatz&\bfseries\lieferungMit}]
+        <%if warehouse%>%
+        &\bfseries\lager%
+        <%end warehouse%>%
+        &\bfseries\lagerplatz&\bfseries\lieferungMit}]
 
   <%ordnumber%>%
   &%
   <%if shippingdate%>%
-       <%shippingdate%>%
+  <%shippingdate%>%
   <%end shippingdate%>%
   <%if not shippingdate%>%
-       <%orddate%>%
+  <%orddate%>%
   <%end shippingdate%>%
   & <%employee%>%
   <%if warehouse%>%
 \bigskip
 
 \begin{SimpleTabular}[colspec=rlXllrrll,headline={\bfseries\position&\bfseries\nummer&\bfseries\beschreibung&\bfseries\seriennummer & &\bfseries\menge&\bfseries\erh&&\bfseries\lagerplatz}]
-<%foreach number%>%
+  <%foreach number%>%
   <%runningnumber%> & <%number%> & <%description%> & <%serialnumber%> &
   <%deliverydate%> & <%qty%> & <%ship%> & <%unit%> & <%bin%> \\
-<%end number%>%
+  <%end number%>%
 \end{SimpleTabular}
 
 \end{letter}
index 2725140977c785aa00638e5c7a499b16dd2a761b..ad428f7de707a00426917bb58c6ec4959f396861 100644 (file)
 \setplength{firstheadvpos}{4cm}
 
 \setkomavar{firsthead}{
-       \noindent\begin{tabular}[t]{@{}l@{}}
-               <%company%>\strut\\
-               <%address%>
-       \end{tabular}
-       \hfill
-       <%source%>\par
-       \medskip
-       <%text\_amount%> \dotfill <%decimal%>/100 \par\smallskip
-       \hfill <%datepaid%> \hspace{2cm}\strut<%amount%>
+  \noindent\begin{tabular}[t]{@{}l@{}}
+    <%company%>\strut\\
+    <%address%>
+  \end{tabular}
+  \hfill
+  <%source%>\par
+  \medskip
+  <%text\_amount%> \dotfill <%decimal%>/100 \par\smallskip
+  \hfill <%datepaid%> \hspace{2cm}\strut<%amount%>
 }
 
 
 \begin{document}
 
 \begin{letter}{
-               <%name%>\ifhmode\\\fi
-               <%street%>\ifhmode\\\fi
-               <%zipcode%> <%city%>\ifhmode\\\fi
-               <%country%>%
-       }
+<%name%>\ifhmode\\\fi
+<%street%>\ifhmode\\\fi
+<%zipcode%> <%city%>\ifhmode\\\fi
+<%country%>%
+}
 
 \opening{<%company%>}
 \pagestyle{empty}
@@ -43,9 +43,9 @@
 <%name%> \hfill <%datepaid%> \hfill <%source%>%
 
 \begin{SimpleTabular}[colspec=lXrr,headline={\bfseries\rechnung&\bfseries\ausgestellt&\bfseries\faellig&\bfseries\verrechnet}]
-<%foreach invnumber%>%
-<%invnumber%> & <%invdate%> & <%due%> & <%paid%> \\
-<%end invnumber%>%
+  <%foreach invnumber%>%
+  <%invnumber%> & <%invdate%> & <%due%> & <%paid%> \\
+  <%end invnumber%>%
 \end{SimpleTabular}
 
 \end{letter}
index 8c05c10fd3675bf25dd8ed920b59f52b51b9e421..b3b3071f0d400e5eeff055b5016b017e04b0260f 100644 (file)
 \ourhead{\kundennummer}{<%customernumber%>}{\gutschrift}{<%invnumber%>}{<%invdate%>}
 
 \setkomavar*{date}{\datum}
-\setkomavar{date}{<%transdate%>}       
+\setkomavar{date}{<%transdate%>}
 \setkomavar{customer}{<%customernumber%>}
 \setkomavar{fromname}{<%employee_name%>}
 \setkomavar{fromphone}{<%employee_tel%>}
 \setkomavar{fromemail}{<%employee_email%>}
 \setkomavar{title}{
-       \gutschrift~
-       \nr ~<%invnumber%>%
+  \gutschrift~
+  \nr ~<%invnumber%>%
 }
 
 <%if invnumber_for_credit_note%>%
-       \setkomavar*{myref}{\fuerRechnung}
-       \setkomavar{myref}{<%invnumber_for_credit_note%>}
+  \setkomavar*{myref}{\fuerRechnung}
+  \setkomavar{myref}{<%invnumber_for_credit_note%>}
 <%end if%>%
 
 
 <%if shiptoname%>%
 \makeatletter
 \begin{lrbox}\shippingAddressBox
-       \parbox{\useplength{toaddrwidth}}{
-               \backaddr@format{\scriptsize\usekomafont{backaddress}%
-                       \strut\abweichendeLieferadresse
-               }
-               \par\smallskip
-               \setlength{\parskip}{\z@}
-               \par
-               \normalsize
-               <%shiptoname%>\par
-               <%if shiptocontact%> <%shiptocontact%><%end if%>\par
-               <%shiptodepartment_1%>\par
-               <%shiptodepartment_2%>\par
-               <%shiptostreet%>\par
-               <%shiptozipcode%> <%shiptocity%>%
-       }
+  \parbox{\useplength{toaddrwidth}}{
+    \backaddr@format{\scriptsize\usekomafont{backaddress}%
+      \strut\abweichendeLieferadresse
+    }
+    \par\smallskip
+    \setlength{\parskip}{\z@}
+    \par
+    \normalsize
+    <%shiptoname%>\par
+    <%if shiptocontact%> <%shiptocontact%><%end if%>\par
+    <%shiptodepartment_1%>\par
+    <%shiptodepartment_2%>\par
+    <%shiptostreet%>\par
+    <%shiptozipcode%> <%shiptocity%>%
+  }
 \end{lrbox}
 \makeatother
 <%end if%>%
 \begin{document}
 
 \begin{letter}{
-               <%name%>\strut\\
-               <%if department_1%><%department_1%>\\<%end if%>%
-               <%if department_2%><%department_2%>\\<%end if%>%
-               <%cp_givenname%> <%cp_name%>\strut\\
-               <%street%>\strut\\
-               <%zipcode%> <%city%>\strut\\
-               <%country%> \strut
-       }
+<%name%>\strut\\
+<%if department_1%><%department_1%>\\<%end if%>%
+<%if department_2%><%department_2%>\\<%end if%>%
+<%cp_givenname%> <%cp_name%>\strut\\
+<%street%>\strut\\
+<%zipcode%> <%city%>\strut\\
+<%country%> \strut
+}
 
 % Bei Kontaktperson Anrede nach Geschlecht unterscheiden.
 % Bei natürlichen Personen persönliche Anrede, sonst allgemeine Anrede.
 \opening{
-       \Ifstr{<%cp_name%>}{}
-               {<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
-               {
-                       \Ifstr{<%cp_gender%>}{f}
-                               {\anredefrau}
-                               {\anredeherr}
-                               <%cp_title%> <%cp_name%>,
-               }
-       }
+\Ifstr{<%cp_name%>}{}
+{<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
+  {
+    \Ifstr{<%cp_gender%>}{f}
+        {\anredefrau}
+        {\anredeherr}
+      <%cp_title%> <%cp_name%>,
+    }
+  }
 \thispagestyle{kivitendo.letter.first}
 
 
 \gutschriftformel
 
 \begin{PricingTabular*}%
-% eigentliche Tabelle%
-\FakeTable{%
-       <%foreach number%>%
-               <%runningnumber%> &%
-               <%number%> &%
-               \textbf{<%description%>}%
-               <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
-               <%if serialnumber%>\ExtraDescription{\seriennummer: <%serialnumber%>}<%end serialnumber%>%
-               <%if ean%>\ExtraDescription{\ean: <%ean%>}<%end ean%>%
-               <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
-               &%
-               <%qty%> <%unit%> &%
-               <%sellprice%>&%
-               \Ifstr{<%p_discount%>}{0}{}{\sffamily\scriptsize{(-<%p_discount%>\,\%)}}%
-               <%linetotal%>\tabularnewline%
-       <%end number%>%
-       }%
-       \begin{PricingTotal}%
-               % Tabellenende letzte Seite
-               \nettobetrag & <%subtotal%>\\%
-               <%foreach tax%>%
-               <%taxdescription%> & <%tax%>\\%
-               <%end tax%>%
-               \bfseries\schlussbetrag &  \bfseries <%ordtotal%>\\%
-       \end{PricingTotal}%
+  % eigentliche Tabelle%
+  \FakeTable{%
+  <%foreach number%>%
+  <%runningnumber%> &%
+  <%number%> &%
+  \textbf{<%description%>}%
+  <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
+  <%if serialnumber%>\ExtraDescription{\seriennummer: <%serialnumber%>}<%end serialnumber%>%
+  <%if ean%>\ExtraDescription{\ean: <%ean%>}<%end ean%>%
+  <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
+  &%
+  <%qty%> <%unit%> &%
+  <%sellprice%>&%
+  \Ifstr{<%p_discount%>}{0}{}{\sffamily\scriptsize{(-<%p_discount%>\,\%)}}%
+    <%linetotal%>\tabularnewline%
+    <%end number%>%
+  }%
+  \begin{PricingTotal}%
+    % Tabellenende letzte Seite
+    \nettobetrag & <%subtotal%>\\%
+    <%foreach tax%>%
+    <%taxdescription%> & <%tax%>\\%
+    <%end tax%>%
+    \bfseries\schlussbetrag &  \bfseries <%ordtotal%>\\%
+  \end{PricingTotal}%
 \end{PricingTabular*}
 
 <%if notes%>%
index bf24eeb134a18986f088ecb20cc8e74d215aef65..7373d70608a6ab3e522af4f327cfca400f75bd49 100644 (file)
@@ -49,7 +49,7 @@
 \newcommand{\angebot} {Angebot}
 \newcommand{\angebotsformel} {gerne unterbreiten wir Ihnen folgendes Angebot:}
 \newcommand{\angebotdanke} {Wir danken für Ihre Anfrage und hoffen, Ihnen hiermit ein interessantes Angebot gemacht zu haben.}
-\newcommand{\angebotgueltig} {Das Angebot ist freibleibend gültig bis zum}            %Danach wird das Datum eingefügt, falls das grammatisch nicht funktionieren sollte müssen wir eine ausnahme für die sprache definieren
+\newcommand{\angebotgueltig} {Das Angebot ist freibleibend gültig bis zum}Danach wird das Datum eingefügt, falls das grammatisch nicht funktionieren sollte müssen wir eine ausnahme für die sprache definieren
 \newcommand{\angebotfragen} {Sollten Sie noch Fragen oder Änderungswünsche haben, können Sie uns gerne jederzeit unter den unten genannten Telefonnummern oder E-Mail-Adressen kontaktieren.}
 \newcommand{\angebotagb} {Bei der Durchführung des Auftrags gelten unsere AGB, die wir Ihnen gerne zuschicken.}
 \newcommand{\auftragerteilt}{Auftrag erteilt:}
index 13f2a9ee4df11d78913d89b8a4975714c65a922f..c5be2c570b37f51fa25d98834bdc849ad5de301e 100644 (file)
@@ -48,7 +48,7 @@
 \newcommand{\angebot} {Quotation}
 \newcommand{\angebotsformel} {we are pleased to make the following offer:}
 \newcommand{\angebotdanke} {We thank you for your request and look forward to receiving your order.}
-\newcommand{\angebotgueltig} {This offer is valid until}               %Danach wird das Datum eingefügt, falls das grammatisch nicht funktionieren sollte müssen wir eine ausnahme für die sprache definieren
+\newcommand{\angebotgueltig} {This offer is valid until}% Danach wird das Datum eingefügt, falls das grammatisch nicht funktionieren sollte müssen wir eine Ausnahme für die Sprache definieren
 \newcommand{\angebotfragen} {If you have any questions do not hesitate to conatct us.}
 \newcommand{\angebotagb} {Our general terms and conditions (AGB) apply. We will send them to you on request.}
 \newcommand{\auftragerteilt}{Order confirmed:}
index b2dd261843015831f69e1e685a88a6f3a0d0291f..6539b115bef85c74b65e157522bf9339166a6491 100644 (file)
@@ -23,7 +23,7 @@ in einen anderen EU-Mitgliedstaat (Gelangensbestätigung)
 \vspace{0.4cm}
 
 {\color{purple} Bitte unterschreiben und faxen/mailen an:
-  \begin{center} <%employee_fax%> / <%employee_email%> \end{center}}
+\begin{center} <%employee_fax%> / <%employee_email%> \end{center}}
 \normalsize
 \vspace{0.4cm}
 <%name%>, <%street%>, <%zipcode%> <%city%>, <%country%>\hspace*{\fill}\\
@@ -45,7 +45,7 @@ innergemeinschaftlichen Lieferung\\
 im\\
 
 \uline{ \StrGobbleLeft{<%reqdate%>}{3} \hspace*{\fill}}\\
-{\color{gray}(Monat und Jahr des Erhalts des Liefergegenstands im Mitgliedstaat, in den der Liefergegenstand gelangt ist, wenn der liefernde Unternehmer den Liefergegenstand befördert oder versendet hat oder wenn der Abnehmer den Liefergegenstand versendet hat)}\\
+  {\color{gray}(Monat und Jahr des Erhalts des Liefergegenstands im Mitgliedstaat, in den der Liefergegenstand gelangt ist, wenn der liefernde Unternehmer den Liefergegenstand befördert oder versendet hat oder wenn der Abnehmer den Liefergegenstand versendet hat)}\\
 
 
 \TextField[name=delivery, bordercolor=gray, width=\linewidth]{}\\
@@ -55,7 +55,7 @@ in / nach \textsuperscript{1)}\\
 
 
 \uline{<%country%>\hspace*{\fill}}\\
-{\color{gray}(Mitgliedstaat und Ort, wohin der Liefergegenstand im Rahmen einer Beförderung oder Versendung gelangt ist)}\\
+  {\color{gray}(Mitgliedstaat und Ort, wohin der Liefergegenstand im Rahmen einer Beförderung oder Versendung gelangt ist)}\\
 
 erhalten habe / gelangt ist.
 
index 6bda09020f29d22cefd5260b6a1a017ac5d0544c..5f9516c6886c8a176e0cc9d16bd4271f2187fbff 100644 (file)
@@ -23,7 +23,7 @@ Certification of the entry of the object of an intra-Community supply into anoth
 \vspace{0.4cm}
 
 {\color{purple} Please sign below and send back to fax-number/mail-address:
-  \begin{center} <%employee_fax%> / <%employee_email%> \end{center}}
+\begin{center} <%employee_fax%> / <%employee_email%> \end{center}}
 
 \normalsize
 \vspace{0.4cm}
@@ -44,7 +44,7 @@ I as the customer hereby certify my receipt / the entry \textsuperscript{1)} of
 in\\
 
 \uline{ \StrGobbleLeft{<%reqdate%>}{3} \hspace*{\fill}}\\
-{\color{gray}(Month and year the object of the supply was received in the Member State of entry if the supplying trader transported or dispatched the object of the supply or if the customer dispatched the object of the supply)}\\
+  {\color{gray}(Month and year the object of the supply was received in the Member State of entry if the supplying trader transported or dispatched the object of the supply or if the customer dispatched the object of the supply)}\\
 
 \TextField[name=delivery, bordercolor=gray, width=\linewidth]{}\\
 {\color{gray}(Month and year the transportation ended if the customer transported the object of the supply himself or herself)}\\
@@ -52,7 +52,7 @@ in\\
 in / at \textsuperscript{1)}\\
 
 \uline{<%country%>\hspace*{\fill}}\\
-{\color{gray}(Member State and place of entry as part of the transport or dispatch of the object)}\\
+  {\color{gray}(Member State and place of entry as part of the transport or dispatch of the object)}\\
 
 
 % X\TextField[name=delivery, bordercolor=gray, width=\linewidth]{}\\
index 5cfc860ffdea46a64bc43fc320242f1b1240061c..d617bb0d4f6222d4d2e83a3ba038fc010a479c33 100644 (file)
@@ -6,11 +6,11 @@
 
 \makeatletter
 \Ifstr{\lxlangcode}{EN}{
-       \main@language{english}
-       \input{english.tex}}{
-       \Ifstr{\lxlangcode}{DE}{
-               \main@language{ngerman}
-               \input{deutsch.tex}}{\input{deutsch.tex}}
+  \main@language{english}
+  \input{english.tex}}{
+  \Ifstr{\lxlangcode}{DE}{
+    \main@language{ngerman}
+    \input{deutsch.tex}}{\input{deutsch.tex}}
 } % Ende EN
 
 % Mandanten-/Firmenabhängigkeiten
@@ -23,7 +23,7 @@
 
 %Ganzseitiger Briefbogen als Hintergrund:
 %\DeclareNewLayer[page,background,
-%      contents={\includegraphics{Briefbogen}} %Hier muss der Dateinamen und ggf. die Bildgröße angepasst werden, falls es abweichende Maße vom Papierformat hat.
+%  contents={\includegraphics{Briefbogen}} %Hier muss der Dateinamen und ggf. die Bildgröße angepasst werden, falls es abweichende Maße vom Papierformat hat.
 %]{background}
 %\AddLayersToPageStyle{kivitendo.letter.first}{background}%Hintergrund für die erste Seite aktivieren
 %\AddLayersToPageStyle{kivitendo.letter}{background}% Hintergrund für die übrigen Briefseiten aktivieren.
 % \identpath/<euro/chf/usd/default>_account.tex
 
 \@ifundefined{lxcurrency}{}{
-       \setupCurrencyConfig{\identpath}{\lxcurrency}
+  \setupCurrencyConfig{\identpath}{\lxcurrency}
 }
 
 
 % Befehl f. normale Schriftart und -größe
 
 \KOMAoptions{
-       fontsize=10pt,
-       parskip=half-,% Absatzkennzeichnung durch Abstand statt Einzug
+  fontsize=10pt,
+  parskip=half-,% Absatzkennzeichnung durch Abstand statt Einzug
 }
 % Hier ist es auch möglich zusätzliche Schriftarten zu laden.
 % 
 % % \ifoot{<inhalt innen/links>}\cfoot{<inhalt zentriert>}\ofoot{<inhalt außen/rechts>}
 % dann sollte jedoch darauf geachtet werden, dass das Makro in den einzelnen Vorlagen aufgerufen wird und daher definiert sein sollte. 
 \newcommand{\ourhead}[5] {
-       \chead{
-         \makebox[\textwidth]{
-         \Ifstr{#1}{}{}{#1: #2 \hspace{0.7cm}}
-         #3
-         \Ifstr{#4}{}{}{~\nr: #4}
-         \Ifstr{#5}{}{}{\vom ~ #5}
-         \hspace{0.7cm} - \seite ~ \thepage/\letterlastpage  ~-%
-         }
-       }
+  \chead{
+    \makebox[\textwidth]{
+      \Ifstr{#1}{}{}{#1: #2 \hspace{0.7cm}}
+      #3
+      \Ifstr{#4}{}{}{~\nr: #4}
+      \Ifstr{#5}{}{}{\vom ~ #5}
+      \hspace{0.7cm} - \seite ~ \thepage/\letterlastpage  ~-%
+    }
+  }
 }
 
 %Ende Anpassungen der Kopfzeile
 %Box generieren, um die Höhe des Fußes zu kennen, damit ist eine automatische Anpassung des unteren Randes möglich
 \if@kivi@footer
 
-\newsavebox\footerbox
-\begin{lrbox}\footerbox
-       \usekomafont{pagefoot}%
-       % Anfang des eigentlichen Inhaltes der Fußzeile
-     \begin{tabular*}{\textwidth}[t]{@{\extracolsep{\fill}}p{.25\linewidth}p{.25\linewidth}r@{\extracolsep{0pt}\hspace{2\tabcolsep}}l@{}}%
-       \firma                 & \email              & \textKontonummer                  & \kontonummer \\
-       \strasse               & \homepage           & \textBank                         & \bank \\
-       \ort                   & \textUstid\ \ustid  & \textIban                         & \iban \\
-       \textTelefon~\telefon  & \finanzamt          & \textBic                          & \bic \\
-       \Ifstr{\fax}{}{}{\textFax~\fax} &                        &\textBankleitzahl                      & \bankleitzahl
-       \end{tabular*}
-       % Ende des Fußzeileninhaltes.
-\end{lrbox}
-
-%Box in den Fuß eintragen, durch die zusätzliche Angabe in der eckigen Klammer, wird die Fußzeile auch auf der ersten Seite verwendet, falls für die erste Seite eine unterschiedliche Fußzeile verwendet werden soll, ist es möglich den obigen Mechanismus mit einem anderen Makronamen als footerbox zu kopieren
-\cfoot[\usebox\footerbox]{\usebox\footerbox}
-
-%Fußhöhe auf Höhe der Box
-%Automatische Anpassung des unteren Randes
-\setlength{\footheight}{\dimexpr\ht\footerbox+\dp\footerbox}
-\setlength{\footskip}{\dimexpr\footheight+\baselineskip}
-\geometry{
-       includefoot,
-%      bottom=1cm,% Falls der untere Rand kleiner sein soll, als die Seitenränder.
-%      Weitere Anpassungen der Ränder sind hier ebenfalls möglich
-}
+  \newsavebox\footerbox
+  \begin{lrbox}\footerbox
+    \usekomafont{pagefoot}%
+    % Anfang des eigentlichen Inhaltes der Fußzeile
+    \begin{tabular*}{\textwidth}[t]{@{\extracolsep{\fill}}p{.25\linewidth}p{.25\linewidth}r@{\extracolsep{0pt}\hspace{2\tabcolsep}}l@{}}%
+      \firma                 & \email              & \textKontonummer       & \kontonummer \\
+      \strasse               & \homepage           & \textBank             & \bank \\
+      \ort                   & \textUstid\ \ustid  & \textIban             & \iban \\
+      \textTelefon~\telefon  & \finanzamt          & \textBic              & \bic \\
+      \Ifstr{\fax}{}{}{\textFax~\fax} &        &\textBankleitzahl       & \bankleitzahl
+    \end{tabular*}
+    % Ende des Fußzeileninhaltes.
+  \end{lrbox}
+
+  %Box in den Fuß eintragen, durch die zusätzliche Angabe in der eckigen Klammer, wird die Fußzeile auch auf der ersten Seite verwendet, falls für die erste Seite eine unterschiedliche Fußzeile verwendet werden soll, ist es möglich den obigen Mechanismus mit einem anderen Makronamen als footerbox zu kopieren
+  \cfoot[\usebox\footerbox]{\usebox\footerbox}
+
+  %Fußhöhe auf Höhe der Box
+  %Automatische Anpassung des unteren Randes
+  \setlength{\footheight}{\dimexpr\ht\footerbox+\dp\footerbox}
+  \setlength{\footskip}{\dimexpr\footheight+\baselineskip}
+  \geometry{
+    includefoot,
+    %  bottom=1cm,% Falls der untere Rand kleiner sein soll, als die Seitenränder.
+    %   Weitere Anpassungen der Ränder sind hier ebenfalls möglich
+  }
 
 \fi
 % Ende Anpassungen der Fußzeile
 
+%Mandantenspezifische ergänzende Einstellungen, falls nötig:
+%\InputIfFileExists{\identpath/dateiname}{}{}
+
 \makeatother
 \endinput
index 3e36ab1b5cd104ada6a7340075ab6a7b8a7b65e7..9a7aa65af9677c48ff9052cf3be62642bb9210f2 100644 (file)
 \setkomavar{fromphone}{<%employee_tel%>}
 \setkomavar{fromemail}{<%employee_email%>}
 \setkomavar{title}{
-       \rechnung~ \nr ~<%invnumber%>%
+  \rechnung~ \nr ~<%invnumber%>%
 }
 <%if ordnumber%>%
-       \setkomavar*{myref}{\auftragsnummer}
-       \setkomavar{myref}{<%ordnumber%>}
+  \setkomavar*{myref}{\auftragsnummer}
+  \setkomavar{myref}{<%ordnumber%>}
 <%end if%>%
 <%if cusordnumber%>%
-       \setkomavar*{yourref}{\ihreBestellnummer}
-       \setkomavar{yourref}{<%cusordnumber%>}
+  \setkomavar*{yourref}{\ihreBestellnummer}
+  \setkomavar{yourref}{<%cusordnumber%>}
 <%end if%>%
 <%if donumber%>%
-       \setkomavar{delivery}{<%donumber%>}
+  \setkomavar{delivery}{<%donumber%>}
 <%end if%>%
 
 <%if quonumber%>%
 <%if shiptoname%>%
 \makeatletter
 \begin{lrbox}\shippingAddressBox
-       \parbox{\useplength{toaddrwidth}}{
-               \backaddr@format{\scriptsize\usekomafont{backaddress}%
-                       \strut\abweichendeLieferadresse
-               }
-               \par\smallskip
-               \setlength{\parskip}{\z@}
-               \par
-               \normalsize
-               <%shiptoname%>\par
-               <%if shiptocontact%> <%shiptocontact%><%end if%>\par
-               <%shiptodepartment_1%>\par
-               <%shiptodepartment_2%>\par
-               <%shiptostreet%>\par
-               <%shiptozipcode%> <%shiptocity%>%
-       }
+  \parbox{\useplength{toaddrwidth}}{
+    \backaddr@format{\scriptsize\usekomafont{backaddress}%
+      \strut\abweichendeLieferadresse
+    }
+    \par\smallskip
+    \setlength{\parskip}{\z@}
+    \par
+    \normalsize
+    <%shiptoname%>\par
+    <%if shiptocontact%> <%shiptocontact%><%end if%>\par
+    <%shiptodepartment_1%>\par
+    <%shiptodepartment_2%>\par
+    <%shiptostreet%>\par
+    <%shiptozipcode%> <%shiptocity%>%
+  }
 \end{lrbox}
 \makeatother
 <%end if%>%
 \begin{document}
 
 \begin{letter}{
-               <%name%>\strut\\
-               <%if department_1%><%department_1%>\\<%end if%>%
-               <%if department_2%><%department_2%>\\<%end if%>%
-               <%cp_givenname%> <%cp_name%>\strut\\
-               <%street%>\strut\\
-               <%zipcode%> <%city%>\strut\\
-               <%country%> \strut
-       }
+<%name%>\strut\\
+<%if department_1%><%department_1%>\\<%end if%>%
+<%if department_2%><%department_2%>\\<%end if%>%
+<%cp_givenname%> <%cp_name%>\strut\\
+<%street%>\strut\\
+<%zipcode%> <%city%>\strut\\
+<%country%> \strut
+}
 
 % Bei Kontaktperson Anrede nach Geschlecht unterscheiden.
 % Bei natürlichen Personen persönliche Anrede, sonst allgemeine Anrede.
 \opening{
-       \Ifstr{<%cp_name%>}{}
-               {<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
-               {
-                       \Ifstr{<%cp_gender%>}{f}
-                               {\anredefrau}
-                               {\anredeherr}
-                               <%cp_title%> <%cp_name%>,
-               }
-       }
+\Ifstr{<%cp_name%>}{}
+{<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
+  {
+    \Ifstr{<%cp_gender%>}{f}
+        {\anredefrau}
+        {\anredeherr}
+      <%cp_title%> <%cp_name%>,
+    }
+  }
 \thispagestyle{kivitendo.letter.first}
 
 <%if notes%>%
-        <%notes%>%
-        \vspace{0.5cm}
+<%notes%>%
+\vspace{0.5cm}
 <%end if%>%
 
 
 % amount = 1cm, % Setzt die Breite der Mengenspalte auf 1cm
 % desc/header = Artikelbeschreibung, %Ändert die Überschrift der Bezeichnunsspalte in „Artikelbeschreibung”
 \begin{PricingTabular*}%
-       % eigentliche Tabelle
-       \FakeTable{%
-       <%foreach number%>%
-               <%runningnumber%> &%
-               <%number%> &%
-               \textbf{<%description%>}%
-               <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
-               <%if serialnumber%>\ExtraDescription{\seriennummer: <%serialnumber%>}<%end serialnumber%>%
-               <%if ean%>\ExtraDescription{\ean: <%ean%>}<%end ean%>%
-               <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
-               &%
-               <%qty%> <%unit%> &%
-               <%sellprice%>&%
-               \Ifstr{<%p_discount%>}{0}{}{\sffamily\scriptsize{(-<%p_discount%>\,\%)}}%
-               <%linetotal%>\tabularnewline%
-       <%end number%>%
-       }%
-       \begin{PricingTotal}%
-               % Tabellenende letzte Seite
-               \nettobetrag & <%subtotal%>\\%
-               <%foreach tax%>%
-               <%taxdescription%> & <%tax%>\\%
-               <%end tax%>%
-               \bfseries\schlussbetrag &  \bfseries <%invtotal%>\\%
-       \end{PricingTotal}%
+  % eigentliche Tabelle
+  \FakeTable{%
+  <%foreach number%>%
+  <%runningnumber%> &%
+  <%number%> &%
+  \textbf{<%description%>}%
+  <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
+  <%if serialnumber%>\ExtraDescription{\seriennummer: <%serialnumber%>}<%end serialnumber%>%
+  <%if ean%>\ExtraDescription{\ean: <%ean%>}<%end ean%>%
+  <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
+  &%
+  <%qty%> <%unit%> &%
+  <%sellprice%>&%
+  \Ifstr{<%p_discount%>}{0}{}{\sffamily\scriptsize{(-<%p_discount%>\,\%)}}%
+    <%linetotal%>\tabularnewline%
+    <%end number%>%
+  }%
+  \begin{PricingTotal}%
+    % Tabellenende letzte Seite
+    \nettobetrag & <%subtotal%>\\%
+    <%foreach tax%>%
+    <%taxdescription%> & <%tax%>\\%
+    <%end tax%>%
+    \bfseries\schlussbetrag &  \bfseries <%invtotal%>\\%
+  \end{PricingTotal}%
 \end{PricingTabular*}
 
 \vspace{0.2cm}
 
 \Ifstr{<%deliverydate%>}{}{}{%
-       \leistungsdatumGleichRechnungsdatum%
+  \leistungsdatumGleichRechnungsdatum%
 }{
-       \lieferungErfolgtAm ~<%deliverydate%>.
+  \lieferungErfolgtAm ~<%deliverydate%>.
 }\\
 
 <%if payment_terms%>%
-  \zahlung ~<%payment_terms%>\\
+\zahlung ~<%payment_terms%>\\
 <%end payment_terms%>%
 
 <%if delivery_term%>%
-  \lieferung ~<%delivery_term.description_long%>\\
+\lieferung ~<%delivery_term.description_long%>\\
 <%end delivery_term%>%
 
 <%if ustid%>\ihreustid ~<%ustid%>.\\<%end if%>%
 
 \ifnum<%taxzone_id%>=1
-    \steuerfreiEU\\  % EU mit USt-ID Nummer
+\steuerfreiEU\\  % EU mit USt-ID Nummer
 \else
-       \ifnum<%taxzone_id%>=3
-    \steuerfreiAUS\\  % Außerhalb EU
-    \fi
+\ifnum<%taxzone_id%>=3
+\steuerfreiAUS\\  % Außerhalb EU
+\fi
 \fi
 
 \closing{\gruesse}
index 90ccaff513416da07cb54da11d9532c44dbf6a85..8b88595a9485c9c3c00127ba9ebefe0ff2cf5b3a 100644 (file)
@@ -1,46 +1,54 @@
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesPackage{kiviletter}[2020/04/24 Letter Layouts for Kivitendo]
 
-\newif\if@kivi@infobox
-\newif\if@kivi@footer
-\DeclareOption{reffields}{\@kivi@infoboxfalse}
-\DeclareOption{infobox}{\@kivi@infoboxtrue}
-\DeclareOption{nofooter}{\@kivi@footerfalse}
-\DeclareOption{footer}{\@kivi@footertrue}
-\@kivi@infoboxtrue
-\@kivi@footertrue
+\RequirePackage{l3keys2e}
 
-\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{scrletter}}
+%Optionen vor den eigenen Paketoptionen hinzufügen, damit spätere diese ggf. überschreiben
+\PassOptionsToPackage{
+  fromlogo,
+  fromalign=right,
+  firstfoot=false,%Für einheitliche Randeinstellungen
+  refline=nodate,
+}{scrletter}
 
-\ProcessOptions\relax
+\ExplSyntaxOn
+\newif\if@kivi@infobox
+\newif\if@kivi@footer
+\keys_define:nn {kiviletter} {
+  infobox .choices:nn = {true,false} {\use:c {@kivi@infobox\l_keys_choice_tl}},
+  infobox .default:n = true,
+  infobox .initial:n = true,
+  reffields .meta:n = {infobox=false},
+  footer .choices:nn = {true,false} {\use:c {@kivi@footer\l_keys_choice_tl}},
+  footer .default:n = true,
+  footer .initial:n = true,
+  nofooter .meta:n = {footer=false},
+  unknown .code:n = \PassOptionsToPackage{\l_keys_key_str=#1}{scrletter},
+}
+\ExplSyntaxOff
 
+\ProcessKeysOptions{kiviletter}
 
-\RequirePackage{expl3}
 \RequirePackage{xparse}
 \RequirePackage{iftex}
-\KOMAoptions{fontsize=12pt}
+
 % Schriftart, Eingabelayout der Tastatur
 \ifPDFTeX
-       \RequirePackage[utf8]{inputenc}% Nur notwendig, wenn Basis älter als TL2018
-       \RequirePackage[T1]{fontenc}
-       \RequirePackage{lmodern}
+  \RequirePackage[utf8]{inputenc}% Nur notwendig, wenn Basis älter als TL2018
+  \RequirePackage[T1]{fontenc}
+  \RequirePackage{lmodern}
 
-       \RequirePackage{eurosym}
-       \DeclareUnicodeCharacter{20AC}{\euro}
+  \RequirePackage{eurosym}
+  \DeclareUnicodeCharacter{20AC}{\euro}
 \else
-       \RequirePackage{fontspec}
+  \RequirePackage{fontspec}
 \fi
 
 \RequirePackage{xltabular}
 \RequirePackage{booktabs}
 \RequirePackage{graphicx}
 
-
-
-\RequirePackage[fromlogo,fromalign=right,
-  firstfoot=false,%Für einheitliche Randeinstellungen
-  refline=nodate,
-       ]{scrletter}
+\RequirePackage{scrletter}
 \LoadLetterOption{DIN}
 
 \newkomavar{transaction}
 
 
 \DeclareNewLayer[
-foreground,
-hoffset=\useplength{toaddrhpos},
-voffset=\dimexpr\useplength{toaddrvpos}+\useplength{toaddrheight}+4\baselineskip,%sep to shippingaddressbox
-contents={\usebox\shippingAddressBox}
+  foreground,
+  hoffset=\useplength{toaddrhpos},
+  voffset=\dimexpr\useplength{toaddrvpos}+\useplength{toaddrheight}+4\baselineskip,%sep to shippingaddressbox
+  contents={\usebox\shippingAddressBox}
 ]{kivitendo.shippingaddress}
 
 \newpairofpagestyles{kivitendo.letter}{}
@@ -82,17 +90,17 @@ contents={\usebox\shippingAddressBox}
 \renewcommand*{\letterpagestyle}{kivitendo.letter}
 
 \DeclareNewPageStyleByLayers{kivitendo.letter.first}{
-       kivitendo.shippingaddress,
-       plain.kivitendo.letter.head.odd,plain.kivitendo.letter.head.even,plain.kivitendo.letter.head.oneside,%
-       plain.kivitendo.letter.foot.odd,plain.kivitendo.letter.foot.even,plain.kivitendo.letter.foot.oneside,%
+  kivitendo.shippingaddress,
+  plain.kivitendo.letter.head.odd,plain.kivitendo.letter.head.even,plain.kivitendo.letter.head.oneside,%
+  plain.kivitendo.letter.foot.odd,plain.kivitendo.letter.foot.even,plain.kivitendo.letter.foot.oneside,%
 }
 
 \setkomavar{backaddress}{\firma\ $\cdot$ \strasse\ $\cdot$ \ort}
 
 \setkomavar{firsthead}{
-       \if@logo
-       \rlap{\usekomavar{fromlogo}}%
-       \fi
+  \if@logo
+    \rlap{\usekomavar{fromlogo}}%
+  \fi
 }
 
 \@setplength{locwidth}{6cm}
@@ -103,101 +111,107 @@ contents={\usebox\shippingAddressBox}
 
 
 \cs_new:Nn \__kivi_set_colwidth:nn  {
-       \dim_set:cn {l_kivi_tab_#1_dim} {#2}
+  \dim_set:cn {l_kivi_tab_#1_dim} {#2}
 }
 
 
 \cs_new:Nn \__kivi_initialize_columns: {
-       \clist_map_inline:Nn \g_kivi_pricingtable_col_clist {
-               \bool_if_exist:cF {l_kivi_col_##1_bool} 
-               {
-                       \bool_new:c {l_kivi_col_##1_bool}
-                       \dim_new:c {l_kivi_tab_##1_dim}
-                       \keys_define:nn {kivi/PricingTable} {
-                               ##1 .choice:,
-                               ##1 / true .code:n = \bool_set_true:c {l_kivi_col_##1_bool},
-                               ##1 / false .code:n = \bool_set_false:c {l_kivi_col_##1_bool},
-                               ##1 / unknown .code:n = {
-                                       \bool_set_true:c {l_kivi_col_##1_bool}
-                                       \dim_set:cn {l_kivi_tab_##1_dim} {####1}
-                               },
-                               ##1 .default:n = true,
-                               ##1 .initial:n = true,
-                               ##1 / header .prop_put:c = {l_kivi_col_##1_prop},
-                               ##1 / colspec .prop_put:c = {l_kivi_col_##1_prop},
-                       }
-               }
-       }
+  \clist_map_inline:Nn \g_kivi_pricingtable_col_clist {
+    \bool_if_exist:cF {l_kivi_col_##1_bool}
+    {
+      \bool_new:c {l_kivi_col_##1_bool}
+      \dim_new:c {l_kivi_tab_##1_dim}
+      \keys_define:nn {kivi/PricingTable} {
+        ##1 .choice:,
+        ##1 / true .code:n = \bool_set_true:c {l_kivi_col_##1_bool},
+        ##1 / false .code:n = \bool_set_false:c {l_kivi_col_##1_bool},
+        ##1 / unknown .code:n = {
+            \bool_set_true:c {l_kivi_col_##1_bool}
+            \dim_set:cn {l_kivi_tab_##1_dim} {####1}
+          },
+        ##1 .default:n = true,
+        ##1 .initial:n = true,
+        ##1 / header .prop_put:c = {l_kivi_col_##1_prop},
+        ##1 / colspec .prop_put:c = {l_kivi_col_##1_prop},
+      }
+    }
+  }
 }
 
 \clist_new:N \g_kivi_pricingtable_col_clist
 
 \keys_define:nn {kivi/PricingTable} {
-       columns .code:n = 
-       \clist_gset:Nn \g_kivi_pricingtable_col_clist {#1}
-       \__kivi_initialize_columns:,
-       columns .initial:n = {pos, id, desc, amount, price, pricetotal},
+  columns .code:n =
+  \clist_gset:Nn \g_kivi_pricingtable_col_clist {#1}
+  \__kivi_initialize_columns:,
+  columns .initial:n = {pos, id, desc, amount, price, pricetotal},
+  unknown .code:n = \keys_set:no {kivi/Tabular} {\l_keys_key_str=#1}
 }
 
 % set default values for colwidth
 \keys_set:nn {kivi/PricingTable} {
-       pos=5ex,
-       id=4em,
-       amount=5em,
-       price=7em,
-       pricetotal=7em,
-%      desc=auto,
-       pos/header=\position,
-       id/header=\artikelnummer,
-       desc/header=\bezeichnung,
-       amount/header=\menge,
-       price/header=\einzelpreis,
-       pricetotal/header=\gesamtpreis,
-       price / colspec = Price,
-       pricetotal / colspec = Price ,
+  pos=5ex,
+  id=4em,
+  amount=5em,
+  price=7em,
+  pricetotal=7em,
+  %  desc=auto,
+  pos/header=\position,
+  id/header=\artikelnummer,
+  desc/header=\bezeichnung,
+  amount/header=\menge,
+  price/header=\einzelpreis,
+  pricetotal/header=\gesamtpreis,
+  price / colspec = Price,
+  pricetotal / colspec = Price ,
 }
 
 \dim_new:N \g_kivi_tabcolsep_dim
 \dim_gset:Nn \g_kivi_tabcolsep_dim {.5\tabcolsep}
+\setlength\tabcolsep{.5\tabcolsep}
 
 \prg_new_conditional:Nnn \kivi_if_Price_col:n {T} {
-       \prop_get:cnN {l_kivi_col_#1_prop} {colspec} \l_tmpa_tl
-       \exp_args:NV \tl_if_eq:nnTF \l_tmpa_tl {Price}
-               {\prg_return_true:}
-               {\prg_return_false:}
+  \prop_get:cnN {l_kivi_col_#1_prop} {colspec} \l_tmpa_tl
+  \exp_args:NV \tl_if_eq:nnTF \l_tmpa_tl {Price}
+  {\prg_return_true:}
+  {\prg_return_false:}
 }
 
 
 \cs_new:Nn \__kivi_calc_desc_column: {
-       \dim_zero:N \l_kivi_tab_desc_leftskip_dim
-       \dim_zero:N \l_kivi_tab_desc_dim
-       \bool_set_false:N \l_tmpa_bool
-       \tl_gclear:N \g_kivi_Pricing_colspec_tl
-       \clist_map_inline:Nn \g_kivi_pricingtable_col_clist {
-               \tl_if_eq:nnTF {##1} {desc}  {
-                       \dim_set:Nn \l_kivi_tab_desc_dim {
-                               \textwidth-\l_kivi_tab_desc_leftskip_dim
-                       }
-                       \bool_set_true:N \l_tmpa_bool
-                       \tl_gput_right:Nn \g_kivi_Pricing_colspec_tl {p{\l_kivi_tab_desc_dim}}
-               }{
-                       \bool_if:cT {l_kivi_col_##1_bool} {
-                               \bool_if:NTF \l_tmpa_bool {
-                                       \dim_sub:Nn \l_kivi_tab_desc_dim {
-                                               \dim_use:c {l_kivi_tab_##1_dim}+2\g_kivi_tabcolsep_dim
-                                       }
-                               }{
-                                       \dim_add:Nn \l_kivi_tab_desc_leftskip_dim {
-                                               \dim_use:c {l_kivi_tab_##1_dim}+2\g_kivi_tabcolsep_dim
-                                       }
-                               }
-                               \tl_gput_right:Nn \g_kivi_Pricing_colspec_tl {K{\dim_use:c {l_kivi_tab_##1_dim}}}
-                               \kivi_if_Price_col:nT {##1} {\tl_gput_right:Nn \g_kivi_Pricing_colspec_tl {<{\__kivi_tab_column_currency:}}}
-                       }
-               }
-       }
-       \tl_gput_left:Nn \g_kivi_Pricing_colspec_tl {@{}}
-       \tl_gput_right:Nn \g_kivi_Pricing_colspec_tl {@{}}
+  \bool_if:NTF \g__kivi_Tabular_rowcolor_bool
+  {\dim_set:Nn \l_kivi_tab_desc_leftskip_dim {2\g_kivi_tabcolsep_dim}}
+  {\dim_zero:N \l_kivi_tab_desc_leftskip_dim}
+  \dim_zero:N \l_kivi_tab_desc_dim
+  \bool_set_false:N \l_tmpa_bool
+  \tl_gclear:N \g_kivi_Pricing_colspec_tl
+  \clist_map_inline:Nn \g_kivi_pricingtable_col_clist {
+    \tl_if_eq:nnTF {##1} {desc}  {
+      \dim_set:Nn \l_kivi_tab_desc_dim {
+        \textwidth-\l_kivi_tab_desc_leftskip_dim
+      }
+      \bool_set_true:N \l_tmpa_bool
+      \tl_gput_right:Nn \g_kivi_Pricing_colspec_tl {p{\l_kivi_tab_desc_dim}}
+    }{
+      \bool_if:cT {l_kivi_col_##1_bool} {
+        \bool_if:NTF \l_tmpa_bool {
+          \dim_sub:Nn \l_kivi_tab_desc_dim {
+            \dim_use:c {l_kivi_tab_##1_dim}+2\g_kivi_tabcolsep_dim
+          }
+        }{
+          \dim_add:Nn \l_kivi_tab_desc_leftskip_dim {
+            \dim_use:c {l_kivi_tab_##1_dim}+2\g_kivi_tabcolsep_dim
+          }
+        }
+        \tl_gput_right:Nn \g_kivi_Pricing_colspec_tl {K{\dim_use:c {l_kivi_tab_##1_dim}}}
+        \kivi_if_Price_col:nT {##1} {\tl_gput_right:Nn \g_kivi_Pricing_colspec_tl {<{\__kivi_tab_column_currency:}}}
+      }
+    }
+  }
+  \bool_if:NF \g__kivi_Tabular_rowcolor_bool {
+    \tl_gput_left:Nn \g_kivi_Pricing_colspec_tl {@{}}
+    \tl_gput_right:Nn \g_kivi_Pricing_colspec_tl {@{}}
+  }
 }
 
 \newcolumntype{K}[1]{>{\raggedleft\arraybackslash}p{#1}}
@@ -207,101 +221,144 @@ contents={\usebox\shippingAddressBox}
 \tcbuselibrary{breakable, skins}
 
 \tcb@new@skin{kivi@LT}{base@unbroken,%
-       frame~engine=empty,interior~titled~engine=empty,interior~engine=empty,segmentation~engine=empty,title~engine=empty,%
-       skin~first=kivi@LT@first,skin~middle=kivi@LT@middle,skin~last=kivi@LT@last,
-       underlay~first~and~middle={
-               \node[anchor=north]  at (interior.north)  {\csname box_use:c\endcsname  {g_kivi_LT@head_box}};
-               \node[anchor=south]  at (interior.south)  {\csname box_use:c\endcsname  {g_kivi_LT@foot_box}};
-       },
-       underlay~unbroken~and~last={
-       \node[anchor=north]  at (interior.north)  {\csname box_use:c\endcsname  {g_kivi_LT@head_box}};
-       \node[anchor=south]  at (interior.south)  {\csname box_use:c\endcsname  {g_kivi_LT@lastfoot_box}};
-       },
-       boxsep=0pt,
-       boxrule=0pt,
-       left=0pt,
-       right=0pt,
-       bottom=\box_ht:N  \g_kivi_LT@foot_box+\box_dp:N  \g_kivi_LT@foot_box + \aboverulesep,
-       top=\box_ht:N  \g_kivi_LT@head_box+\box_dp:N  \g_kivi_LT@head_box +\belowrulesep,
-       parbox=false,
+  frame~engine=empty,interior~titled~engine=empty,interior~engine=empty,segmentation~engine=empty,title~engine=empty,%
+  skin~first=kivi@LT@first,skin~middle=kivi@LT@middle,skin~last=kivi@LT@last,
+  underlay~first~and~middle={
+    \node[anchor=north]  at (interior.north)  {\csname box_use:c\endcsname  {g_kivi_LT@head_box}};
+    \node[anchor=south]  at (interior.south)  {\csname box_use:c\endcsname  {g_kivi_LT@foot_box}};
+},
+  underlay~unbroken~and~last={
+    \node[anchor=north]  at (interior.north)  {\csname box_use:c\endcsname  {g_kivi_LT@head_box}};
+    \node[anchor=south]  at (interior.south)  {\csname box_use:c\endcsname  {g_kivi_LT@lastfoot_box}};
+  },
+  boxsep=0pt,
+  boxrule=0pt,
+  left=0pt,
+  right=0pt,
+  bottom=\box_ht:N  \g_kivi_LT@foot_box+\box_dp:N  \g_kivi_LT@foot_box + \aboverulesep,
+  top=\box_ht:N  \g_kivi_LT@head_box+\box_dp:N  \g_kivi_LT@head_box +\belowrulesep,
+  parbox=false,
 }
 
 \tcb@new@skin{kivi@LT@first}{base@first,%
-       frame~engine=empty,interior~titled~engine=empty,interior~engine=empty,segmentation~engine=empty,title~engine=empty,%
-       skin~first=kivi@LT@first,skin~middle=kivi@LT@middle,skin~last=kivi@LT@middle,
+  frame~engine=empty,interior~titled~engine=empty,interior~engine=empty,segmentation~engine=empty,title~engine=empty,%
+  skin~first=kivi@LT@first,skin~middle=kivi@LT@middle,skin~last=kivi@LT@middle,
 }
 
 \tcb@new@skin{kivi@LT@middle}{base@middle,%
-       frame~engine=empty,interior~titled~engine=empty,interior~engine=empty,segmentation~engine=empty,title~engine=empty,%
-       skin~first=kivi@LT@middle,skin~middle=kivi@LT@middle,skin~last=kivi@LT@middle,
+  frame~engine=empty,interior~titled~engine=empty,interior~engine=empty,segmentation~engine=empty,title~engine=empty,%
+  skin~first=kivi@LT@middle,skin~middle=kivi@LT@middle,skin~last=kivi@LT@middle,
 }
 
 \tcb@new@skin{kivi@LT@last}{base@last,%
-       frame~engine=empty,interior~titled~engine=empty,interior~engine=empty,segmentation~engine=empty,title~engine=empty,%
-       skin~first=kivi@LT@middle,skin~middle=kivi@LT@middle,skin~last=kivi@LT@last,
+  frame~engine=empty,interior~titled~engine=empty,interior~engine=empty,segmentation~engine=empty,title~engine=empty,%
+  skin~first=kivi@LT@middle,skin~middle=kivi@LT@middle,skin~last=kivi@LT@last,
 }
 
 \tcbset{kivi@LT/.style={skin=kivi@LT}}%
 
-
-
 \seq_new:N \l_kivi_PricingTable_seq
 \seq_new:N \l_kivi_columns_seq
 \seq_new:N \g_kivi_extraDescription_seq
+
+\int_new:N \g__kivi_PricingTable_rowcolor_int
+\dim_new:N \l__kivi_fboxsep_dim
+\dim_set:Nn \l__kivi_fboxsep_dim {\g_kivi_tabcolsep_dim}
+
+%colorbox variant to only add vertical spacing
+%based on colorbox definition from xcolor.sty
+%% ----------------------------------------------------------------
+%% Copyright (C) 2003-2016 by Dr. Uwe Kern <xcolor at ukern dot de>
+%% ----------------------------------------------------------------
+%% This variant of colorbox adds a space of \l__kivi_fboxsep_dim along the vertical axes but no horizontal space
+\def\kivi@tabcolorbox#1#{\protect\kivi@tabcolor@box{#1}}
+
+\def\kivi@tabcolor@box#1#2{
+  \tl_if_empty:oTF {#2}
+  \kivi@nocolor@b@x
+  \kivi@color@b@x
+  \relax{\color#1{#2}}
+}
+\long\def\kivi@color@b@x#1#2#3%
+{\leavevmode
+  \setbox\z@\hbox{{\set@color#3}}%
+  \dimen@\ht\z@\advance\dimen@\l__kivi_fboxsep_dim\ht\z@\dimen@
+  \dimen@\dp\z@\advance\dimen@\l__kivi_fboxsep_dim\dp\z@\dimen@
+  {#1{#2\color@block{\wd\z@}{\ht\z@}{\dp\z@}\box\z@}}}
+
+\long\def\kivi@nocolor@b@x#1#2#3%
+{\leavevmode
+  \setbox\z@\hbox{#3}%
+  \dimen@\ht\z@\advance\dimen@\l__kivi_fboxsep_dim\ht\z@\dimen@
+  \dimen@\dp\z@\advance\dimen@\l__kivi_fboxsep_dim\dp\z@\dimen@
+  {\box\z@}}
+
+%%%
+
+
 \newcommand{\FakeTable}[1]{
-       \par
-       \seq_set_split:Nnn \l_kivi_PricingTable_seq {\tabularnewline} {#1}
-       \seq_remove_all:Nn \l_kivi_PricingTable_seq {}
-       \begingroup
-       \setlength{\parskip}{\c_zero_dim}
-       \let\ExtraDescription\__kivi_addExtraDescription:n
-       \setlength{\tabcolsep}{\g_kivi_tabcolsep_dim}
-       \seq_map_inline:Nn \l_kivi_PricingTable_seq {
-               \seq_set_split:Nnn  \l_kivi_columns_seq {&} {##1}
-       \seq_gclear:N \g_kivi_extraDescription_seq
-       \exp_args:Nnx \use:n {\tabular[t]}\g_kivi_Pricing_colspec_tl
-               \seq_pop_left:NN \__l_FakeTable_columns_seq \l_tmpa_tl
-               \seq_item:Nn \l_kivi_columns_seq {\l_tmpa_tl}
-               \seq_map_inline:Nn \__l_FakeTable_columns_seq {
-                       &\seq_item:Nn \l_kivi_columns_seq {####1}
-               }
-       \endtabular
-       \seq_if_empty:NTF \g_kivi_extraDescription_seq
-       {\par}
-       {\par\nopagebreak
-       \begingroup
-       \setlength{\hsize}{\dimexpr\l_kivi_tab_desc_dim+\l_kivi_tab_desc_leftskip_dim}
-       \setlength{\leftskip}{\l_kivi_tab_desc_leftskip_dim}
-       \usekomafont{extraDescription}
-       \seq_use:Nn \g_kivi_extraDescription_seq {\\}
-       \par
-       \endgroup
-       }
-       }
-       \endgroup
+  \par
+  \seq_set_split:Nnn \l_kivi_PricingTable_seq {\tabularnewline} {#1}
+  \seq_remove_all:Nn \l_kivi_PricingTable_seq {}
+  \begingroup
+  \setlength{\parskip}{\c_zero_dim}
+  \let\ExtraDescription\__kivi_addExtraDescription:n
+  \setlength{\tabcolsep}{\g_kivi_tabcolsep_dim}
+  \seq_map_inline:Nn \l_kivi_PricingTable_seq {
+    \bool_if:NT \g__kivi_Tabular_rowcolor_bool {
+      \int_gincr:N \g__kivi_PricingTable_rowcolor_int
+      \int_if_odd:nTF {\g__kivi_PricingTable_rowcolor_int}
+      {\nointerlineskip\kivi@tabcolorbox{\g__kivi_Tabular_rowcolor_odd_tl}}
+      {\nointerlineskip\kivi@tabcolorbox{\g__kivi_Tabular_rowcolor_even_tl}}
+    }
+    {\parbox{\linewidth}{
+        \seq_set_split:Nnn  \l_kivi_columns_seq {&} {##1}
+        \seq_gclear:N \g_kivi_extraDescription_seq
+        \exp_args:Nnx \use:n {\tabular[t]}\g_kivi_Pricing_colspec_tl
+        \seq_pop_left:NN \__l_FakeTable_columns_seq \l_tmpa_tl
+        \seq_item:Nn \l_kivi_columns_seq {\l_tmpa_tl}
+        \seq_map_inline:Nn \__l_FakeTable_columns_seq {
+          &\seq_item:Nn \l_kivi_columns_seq {####1}
+        }
+        \endtabular
+        \seq_if_empty:NTF \g_kivi_extraDescription_seq
+        {\par}
+        {\par\nopagebreak
+          \begingroup
+          \setlength{\leftskip}{\dim_eval:n {\bool_if:NT \g__kivi_Tabular_rowcolor_bool {-\tabcolsep} +\l_kivi_tab_desc_leftskip_dim}}
+          \setlength{\hsize}{\dim_eval:n {\l_kivi_tab_desc_dim+\leftskip}}
+          \usekomafont{extraDescription}
+          \seq_use:Nn \g_kivi_extraDescription_seq {\\}
+          \par
+          \endgroup
+        }
+      }}
+  }
+  \endgroup\par
+  \l__kivi_Tabular_rowsep_tl
 }
 
 
 \seq_new:N  \__l_FakeTable_columns_seq
 \cs_new:Nn \__kivi_setup_FakeTable: {
-       \seq_clear:N \__l_FakeTable_columns_seq
-       \int_zero:N \l_tmpa_int
-       \clist_map_inline:Nn \g_kivi_pricingtable_col_clist {
-               \int_incr:N \l_tmpa_int
-               \bool_if:cT {l_kivi_col_##1_bool} {\seq_put_right:Nx \__l_FakeTable_columns_seq {\int_use:N \l_tmpa_int}}
-       }
+  \seq_clear:N \__l_FakeTable_columns_seq
+  \int_zero:N \l_tmpa_int
+  \clist_map_inline:Nn \g_kivi_pricingtable_col_clist {
+    \int_incr:N \l_tmpa_int
+    \bool_if:cT {l_kivi_col_##1_bool} {\seq_put_right:Nx \__l_FakeTable_columns_seq {\int_use:N \l_tmpa_int}}
+  }
 }
 
 \tl_new:N \g_kivi_Pricing_colspec_tl
 \tl_gset:Nn \g_kivi_Pricing_colspec_tl {
-       @{}
-       \bool_if:NT \l_kivi_col_pos_bool {p{\l_kivi_tab_pos_dim}}
-       \bool_if:NT \l_kivi_col_id_bool {p{\l_kivi_tab_id_dim}}
-       p{\l_kivi_tab_desc_dim}
-       \bool_if:NT \l_kivi_col_amount_bool {\exp_not:n {>{\raggedleft\arraybackslash}p{\l_kivi_tab_amount_dim}}}
-       \bool_if:NT \l_kivi_col_price_bool {\exp_not:n {>{\raggedleft\arraybackslash}p{\l_kivi_tab_price_dim}<{\__kivi_tab_column_currency:}}}
-       \bool_if:NT \l_kivi_col_pricetotal_bool {\exp_not:n {>{\raggedleft\arraybackslash}p{\l_kivi_tab_pricetotal_dim}<{\__kivi_tab_column_currency:}}}
-       @{}
+  \bool_if:NF \g__kivi_Tabular_rowcolor_bool {@{}}
+  \bool_if:NT \l_kivi_col_pos_bool {p{\l_kivi_tab_pos_dim}}
+  \bool_if:NT \l_kivi_col_id_bool {p{\l_kivi_tab_id_dim}}
+  p{\l_kivi_tab_desc_dim}
+  \bool_if:NT \l_kivi_col_amount_bool {\exp_not:n {>{\raggedleft\arraybackslash}p{\l_kivi_tab_amount_dim}}}
+  \bool_if:NT \l_kivi_col_price_bool {\exp_not:n {>{\raggedleft\arraybackslash}p{\l_kivi_tab_price_dim}<{\__kivi_tab_column_currency:}}}
+  \bool_if:NT \l_kivi_col_pricetotal_bool {\exp_not:n {>{\raggedleft\arraybackslash}p{\l_kivi_tab_pricetotal_dim}<{\__kivi_tab_column_currency:}}}
+  \bool_if:NF \g__kivi_Tabular_rowcolor_bool {@{}}
 }
 
 \cs_new_protected:Nn \__kivi_tab_column_currency: {\,\currency}
@@ -310,98 +367,132 @@ contents={\usebox\shippingAddressBox}
 \cs_set_eq:NN \__kivi_tab_column_body_currency:  \__kivi_tab_column_currency:
 
 \clist_map_inline:nn {head, foot, firsthead, lastfoot} {%TODO reduce
-       \box_new:c {g_kivi_LT@#1_box}
+  \box_new:c {g_kivi_LT@#1_box}
 }
 
 \newkomafont{PricingTableHeader}{\bfseries}
 
 \cs_new:Nn \__kivi_setup_LT_boxes: {
-       \__kivi_calc_desc_column:
-       \hbox_gset:Nn \g_kivi_LT@head_box {
-               \setlength{\tabcolsep}{\g_kivi_tabcolsep_dim}
-               \exp_args:Nnx \use:n {\tabular[b]}\g_kivi_Pricing_colspec_tl
-               \__kivi_PricingTabular_header:
-               \endtabular
-       }
-       \hbox_gset:Nn \g_kivi_LT@foot_box {
-               \raisebox{\depth}{
-                       \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}r@{}}
-                               \midrule
-                               \strut\weiteraufnaechsterseite
-                       \end{tabular*}
-               }
-       }
-       \hbox_gset:Nn \g_kivi_LT@lastfoot_box {
-               \raisebox{\dimexpr\depth+\baselineskip}[0pt][0pt]{
-                       \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}r@{}}
-                               \bottomrule
-                       \end{tabular*}
-               }
-       }
+  \__kivi_calc_desc_column:
+  \hbox_gset:Nn \g_kivi_LT@head_box {
+    \setlength{\tabcolsep}{\g_kivi_tabcolsep_dim}
+    \bool_if:NT \g__kivi_Tabular_rowcolor_bool {\kivi@tabcolorbox{\g__kivi_Tabular_rowcolor_header_tl}}%
+    {
+      \exp_args:Nnx \use:n {\tabular[b]}\g_kivi_Pricing_colspec_tl
+      \__kivi_PricingTabular_header:
+      \endtabular
+    }
+  }
+  \hbox_gset:Nn \g_kivi_LT@foot_box {
+    \begin{tabular*}{\textwidth}[t]{@{\extracolsep{\fill}}r@{\bool_if:NT \g__kivi_Tabular_rowcolor_bool {\hskip\tabcolsep}}}
+      \bool_if:NTF \g__kivi_Tabular_rowcolor_bool
+      {\hline\noalign{\vskip1pt}}
+      \midrule
+      \strut\weiteraufnaechsterseite
+    \end{tabular*}
+  }
+  \hbox_gset:Nn \g_kivi_LT@lastfoot_box {
+    \raisebox{\dimexpr\depth+\baselineskip}[0pt][0pt]{
+      \begin{tabular*}{\textwidth}{@{\bool_if:NT \g__kivi_Tabular_rowcolor_bool {\hskip\tabcolsep}\extracolsep{\fill}}r@{\bool_if:NT \g__kivi_Tabular_rowcolor_bool {\hskip\tabcolsep}}}
+        \bool_if:NF \g__kivi_Tabular_rowcolor_bool \bottomrule
+      \end{tabular*}
+    }
+  }
 }
 
 
 %Macht es sinn hier eine Variante zu machen, in der alle Spalten Belegbar sind?
-\newenvironment{PricingTotal}{
-       \par\nointerlineskip
-       \unskip
-       \tabular[t]{@{}p{\dim_eval:n {\linewidth-\l_kivi_tab_pricetotal_dim-2\tabcolsep}}P{\l_kivi_tab_pricetotal_dim}@{}}
-       \midrule
+\NewDocumentEnvironment{PricingTotal}{+b}{
+  \par\nointerlineskip
 }{
-       \endtabular
+  \bool_if:NT \g__kivi_Tabular_rowcolor_bool   {\nointerlineskip\kivi@tabcolorbox{\g__kivi_Tabular_rowcolor_PricingTotal_tl}}
+  {
+    \tabular[t]{
+      @{\bool_if:NT \g__kivi_Tabular_rowcolor_bool {\hskip\tabcolsep}}
+      p{\dim_eval:n {\linewidth-\l_kivi_tab_pricetotal_dim-\bool_if:NTF \g__kivi_Tabular_rowcolor_bool {4}{2}\tabcolsep}}P{\l_kivi_tab_pricetotal_dim}@{\bool_if:NT \g__kivi_Tabular_rowcolor_bool {\hskip\tabcolsep}}
+    }
+    \l__kivi_Tabular_PricingTotal_topsep_tl
+    #1
+    \endtabular
+  }
 }
 
+\tl_new:N \l__kivi_Tabular_PricingTotal_topsep_tl
+%TODO
+\tl_set:Nn \l__kivi_Tabular_PricingTotal_topsep_tl {\bool_if:NF \g__kivi_Tabular_rowcolor_bool \midrule}
 
 \newcommand*\ExtraDescription{
-       \PackageError{kiviletter}{The~command~\string\ExtraDescription\space~may~be~only~used~inside~the~\string\FakeTable\space~environment.}{See~documentation~for~details}
+  \PackageError{kiviletter}{The~command~\string\ExtraDescription\space~may~be~only~used~inside~the~\string\FakeTable\space~environment.}{See~documentation~for~details}
 }
 
 
 \cs_new:Nn \__kivi_addExtraDescription:n {\seq_gput_right:Nn \g_kivi_extraDescription_seq {#1}}
 
 \newenvironment{PricingTabular}[1][]{
-       \begingroup
-       \dim_set:Nn \parskip {\c_zero_dim}
-       \tl_if_empty:nF {#1} {\keys_set:nn {kivi/PricingTable} {#1}}
-       \setlength{\tabcolsep}{\g_kivi_tabcolsep_dim}
-       \__kivi_calc_desc_column:
-       \exp_args:Nx \longtable \g_kivi_Pricing_colspec_tl
-       % Tabellenkopf
-       \__kivi_PricingTabular_header:
-       \endhead
-       \midrule
-       \rlap{\makebox[\textwidth][r]{\weiteraufnaechsterseite}}\\
-       \endfoot
-       \bottomrule
-       \endlastfoot
+  \begingroup
+  \dim_set:Nn \parskip {\c_zero_dim}
+  \tl_if_empty:nF {#1} {\keys_set:nn {kivi/PricingTable} {#1}}
+  \setlength{\tabcolsep}{\g_kivi_tabcolsep_dim}
+  \__kivi_calc_desc_column:
+  \exp_args:Nx \longtable \g_kivi_Pricing_colspec_tl
+  % Tabellenkopf
+  \__kivi_PricingTabular_header:
+  \endhead
+  \midrule
+  \rlap{\makebox[\textwidth][r]{\weiteraufnaechsterseite}}\\
+  \endfoot
+  \bool_if:NF \g__kivi_Tabular_rowcolor_bool \bottomrule
+  \endlastfoot
 }{
-       \endlongtable
-       \endgroup
+  \endlongtable
+  \endgroup
 }
 
 \cs_set:Nn \__kivi_PricingTabular_header: {
-       \toprule
-       \cs_gset_eq:NN \__kivi_tab_column_currency: \__kivi_tab_column_header_currency:
-       \bool_set_false:N \l_tmpa_bool
-       \clist_map_inline:Nn \g_kivi_pricingtable_col_clist     {
-               \bool_if:cT {l_kivi_col_##1_bool} {
-                       \bool_if:NT \l_tmpa_bool {&}
-                       \bool_set_true:N \l_tmpa_bool
-                       \usekomafont{PricingTableHeader}
-                       \prop_item:cn {l_kivi_col_##1_prop} {header}
-               }
-       }
-       \cs_gset_eq:NN \__kivi_tab_column_currency: \__kivi_tab_column_body_currency:
-       \\
-       \midrule
+  \bool_if:NTF \g__kivi_Tabular_rowcolor_bool {\noalign{\skip_vertical:n {\dp\strutbox}}}\toprule
+  \cs_gset_eq:NN \__kivi_tab_column_currency: \__kivi_tab_column_header_currency:
+  \bool_set_false:N \l_tmpa_bool
+  \clist_map_inline:Nn \g_kivi_pricingtable_col_clist  {
+    \bool_if:cT {l_kivi_col_##1_bool} {
+      \bool_if:NT \l_tmpa_bool {&}
+      \bool_set_true:N \l_tmpa_bool
+      \usekomafont{PricingTableHeader}
+      \prop_item:cn {l_kivi_col_##1_prop} {header}
+    }
+  }
+  \cs_gset_eq:NN \__kivi_tab_column_currency: \__kivi_tab_column_body_currency:
+  \\
+  \bool_if:NF \g__kivi_Tabular_rowcolor_bool \midrule
 }
 
+\newkomafont{tablehead}{\bfseries}
 
 \keys_define:nn {kivi/SimpleTabular} {
-       colspec .tl_set:N =\l_kivi_SimpleTabular_colspec_tl,
-       colspec .initial:n = {rrX},
-       headline .tl_set:N = \l_kivi_SimpleTabular_headline_tl,
-       headline .initial:n = {\bfseries\position & \bfseries\menge & \bfseries\bezeichnung},
+  colspec .tl_set:N =\l_kivi_SimpleTabular_colspec_tl,
+  colspec .initial:n = {rrX},
+  headline .tl_set:N = \l_kivi_SimpleTabular_headline_tl,
+  headline .initial:n = {\usekomafont{tablehead}\position & \usekomafont{tablehead}\menge & \usekomafont{tablehead}\bezeichnung},
+}
+
+\keys_define:nn {kivi/Tabular} {
+  color-rows .bool_gset:N =  \g__kivi_Tabular_rowcolor_bool ,
+  color-rows .initial:n = false,
+  color-rows .default:n = true,
+  rowcolor-odd .tl_gset:N = \g__kivi_Tabular_rowcolor_odd_tl,
+  rowcolor-odd .initial:n = black!10,
+  rowcolor-even .tl_gset:N = \g__kivi_Tabular_rowcolor_even_tl,
+  rowcolor-even .initial:n =,
+  rowcolor-header .tl_gset:N = \g__kivi_Tabular_rowcolor_header_tl,
+  rowcolor-header .initial:n = black!35,
+  rowcolor-total .tl_gset:N = \g__kivi_Tabular_rowcolor_PricingTotal_tl,
+  rowcolor-total .initial:n = black!35,
+  rowsep .tl_set:N =\l__kivi_Tabular_rowsep_tl,
+  rowsep .initial:n = ,
+  hrule .meta:n = {
+    rowsep={
+      \vskip\aboverulesep
+      \leavevmode\hrule\@height\lightrulewidth
+      \vskip\belowrulesep}},
 }
 
 \newcommand*{\SetupSimpleTabular}[1]{\keys_set:nn {kivi/SimpleTabular} {#1}}
@@ -409,28 +500,30 @@ contents={\usebox\shippingAddressBox}
 
 \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
-               \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}}\\
-       \endfoot
-               \bottomrule
-       \endlastfoot
-       \ignorespaces
+  \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}
+  \bool_if:NF \g__kivi_Tabular_rowcolor_bool {
+    \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
+  \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}}\\
+  \endfoot
+  \bool_if:NF \g__kivi_Tabular_rowcolor_bool \bottomrule
+  \endlastfoot
+  \ignorespaces
 }{
-       \def\@currenvir{tabularx}
-       \endxltabular
+  \def\@currenvir{tabularx}
+  \endxltabular
 }
 
 %PricingTabular* kann automatisch spalten ignorieren
@@ -439,78 +532,84 @@ contents={\usebox\shippingAddressBox}
 % analog ist dies für pos, amount, price, pricetotal möglich.
 % Die Spalte der Bezeichnung ist nicht deaktivierbar
 \newenvironment{PricingTabular*}[1][]{
-       \tl_if_empty:nF {#1} {\keys_set:nn {kivi/PricingTable} {#1}}
-       \__kivi_setup_LT_boxes:
-       \__kivi_setup_FakeTable:
-       \dim_set:Nn \parskip {\c_zero_dim}
-       \PricingTabularBox\ignorespaces
-}{\endPricingTabularBox}
+  \int_gzero:N \g__kivi_PricingTable_rowcolor_int
+  \tl_if_empty:nF {#1} {\keys_set:nn {kivi/PricingTable} {#1}}
+  \__kivi_setup_LT_boxes:
+  \__kivi_setup_FakeTable:
+  \dim_set:Nn \parskip {\c_zero_dim}
+  \PricingTabularBox\ignorespaces
+}{\endPricingTabularBox
+  %compensate footer spacing
+  \skip_vertical:n {-\box_ht:N  \g_kivi_LT@foot_box-\box_dp:N  \g_kivi_LT@foot_box}
+}
 
 \newtcolorbox{PricingTabularBox}{breakable,skin=kivi@LT}
 
 \if@kivi@infobox
 
-       \def\locationsep{:}
-
-       \NewDocumentCommand{\locationentry}{som}{
-               \Ifkomavarempty{#3}{}{
-               \IfBooleanTF {#1} {
-                       \strut
-                       \IfNoValueTF {#2}
-                               {\usekomavar*{#3}}
-                               {#2}
-                       \locationsep
-                       \hfill\strut\space
-                       \hbox_set:Nn \l_tmpa_box {\usekomavar{#3}}
-                       \dim_compare:nTF {\box_wd:N \l_tmpa_box>\linewidth}
-                               {\newline\hspace*{\fill}\llap}
-                               {\hspace*{\fill}}
-                               {\box_use:N \l_tmpa_box\strut}
-               }{
-                       \@hangfrom{\strut
-                               \IfNoValueTF {#2}
-                                       {\usekomavar*{#3}}
-                                       {#2}\locationsep~
-                       }{
-                               \parbox[t]{\dimexpr\linewidth-\hangindent}{
-                                       \raggedleft
-                                       \usekomavar{#3}\strut
-                               }
-                       }
-               }
-               }
-               \par
-       }
-
-
-\setkomavar{location}{
-       \Ifkomavarempty{transaction}{}{
-       \bfseries
-       \usekomavar{transaction}
-       }
-       \par
-       \medskip
-       \parbox{\useplength{locwidth}}{
-               \locationentry{date}
-               \locationentry{myref}
-               \locationentry{customer}
-               \locationentry{yourref}
-               \locationentry{delivery}
-               \locationentry{quote}
-               \locationentry{orderID}
-               \locationentry{projectID}
-               \locationentry[\ansprechpartner]{fromname}
-               \locationentry{fromphone}
-               \locationentry*{fromemail}
-       }
-}
-\removereffields
-\AtBeginLetter{
-       \ifdim\ht\shippingAddressBox>\z@
-       \@addtoplength{refvpos}{\dimexpr\ht\shippingAddressBox+\dp\shippingAddressBox}
-       \@addtoplength{refvpos}{4\baselineskip}%sep between address boxes
-       \fi
-}
+  \def\locationsep{:}
+
+  \NewDocumentCommand{\locationentry}{som}{
+    \Ifkomavarempty{#3}{}{
+      \IfBooleanTF {#1} {
+        \strut
+        \IfNoValueTF {#2}
+        {\usekomavar*{#3}}
+        {#2}
+        \locationsep
+        \hfill\strut\space
+        \hbox_set:Nn \l_tmpa_box {\usekomavar{#3}}
+        \dim_compare:nTF {\box_wd:N \l_tmpa_box>\linewidth}
+        {\newline\hspace*{\fill}\llap}
+        {\hspace*{\fill}}
+        {\box_use:N \l_tmpa_box\strut}
+      }{
+        \@hangfrom{\strut
+          \IfNoValueTF {#2}
+          {\usekomavar*{#3}}
+          {#2}\locationsep~
+        }{
+          \parbox[t]{\dimexpr\linewidth-\hangindent}{
+            \raggedleft
+            \usekomavar{#3}\strut
+          }
+        }
+      }
+    }
+    \par
+  }
+
+  \newkomafont{transaction}{\bfseries}
+
+  \setkomavar{location}{
+    \Ifkomavarempty{transaction}{}{{
+          \usekomafont{transaction}
+          \usekomavar{transaction}
+        }
+    }
+    \par
+    \medskip
+    \parbox{\useplength{locwidth}}{
+      \locationentry{date}
+      \locationentry{myref}
+      \locationentry{customer}
+      \locationentry{yourref}
+      \locationentry{delivery}
+      \locationentry{quote}
+      \locationentry{orderID}
+      \locationentry{projectID}
+      \locationentry[\ansprechpartner]{fromname}
+      \locationentry{fromphone}
+      \locationentry*{fromemail}
+    }
+  }
+  \removereffields
+  \AtBeginLetter{
+    \ifdim\ht\shippingAddressBox>\z@
+      \@addtoplength{refvpos}{\dimexpr\ht\shippingAddressBox+\dp\shippingAddressBox}
+      \@addtoplength{refvpos}{4\baselineskip}%sep between address boxes
+    \fi
+  }
 
 \fi
 
@@ -521,35 +620,35 @@ contents={\usebox\shippingAddressBox}
 %Definitionen für die insettings.tex
 
 \newcommand*{\setupIdentpath}[1]{
-       \int_set:Nn \l_kivi_tmp_int {1}
-       \bool_set_true:N \l_kivi_tmp_bool
-       \bool_while_do:Nn \l_kivi_tmp_bool {
-               \file_if_exist:nTF {firma\int_use:N \l_kivi_tmp_int/ident.tex}
-               {
-                       \exp_args:Nf \str_if_in:nnTF {#1} {Firma\int_use:N \l_kivi_tmp_int}
-                       {
-                               \newcommand*{\identpath}{firma\int_use:N \l_kivi_tmpa_int}
-                               \bool_set_false:N \l_kivi_tmp_bool
-                       }
-                       {\int_incr:N \l_kivi_tmp_int}
-               }
-               {
-                       \bool_set_false:N \l_kivi_tmp_bool
-                       \newcommand*{\identpath}{firma}
-               }
-       }
+  \int_set:Nn \l_kivi_tmp_int {1}
+  \bool_set_true:N \l_kivi_tmp_bool
+  \bool_while_do:Nn \l_kivi_tmp_bool {
+    \file_if_exist:nTF {firma\int_use:N \l_kivi_tmp_int/ident.tex}
+    {
+      \exp_args:Nf \str_if_in:nnTF {#1} {Firma\int_use:N \l_kivi_tmp_int}
+      {
+        \newcommand*{\identpath}{firma\int_use:N \l_kivi_tmpa_int}
+        \bool_set_false:N \l_kivi_tmp_bool
+      }
+      {\int_incr:N \l_kivi_tmp_int}
+    }
+    {
+      \bool_set_false:N \l_kivi_tmp_bool
+      \newcommand*{\identpath}{firma}
+    }
+  }
 }
 
 \newcommand*{\setupCurrencyConfig}[2]{
-       \tl_new:N \g_kivi_currency_tl
-       \exp_args:Nf \str_if_in:nnT {#2} {USD} {\tl_gset:Nn \g_kivi_currency_tl {usd}}
-       \exp_args:Nf \str_if_in:nnT {#2} {CHF} {\tl_gset:Nn \g_kivi_currency_tl {chf}}
-       \exp_args:Nf \str_if_in:nnT {#2} {EUR} {\tl_gset:Nn \g_kivi_currency_tl {euro}}
-       \tl_if_empty:NT  \g_kivi_currency_tl {
-               \tl_gset:Nn \g_kivi_currency_tl {default}
-               \edef \currency {\tl_to_str:N \lxcurrency}
-       }
-       \input{#1/\g_kivi_currency_tl _account.tex}
+  \tl_new:N \g_kivi_currency_tl
+  \exp_args:Nf \str_if_in:nnT {#2} {USD} {\tl_gset:Nn \g_kivi_currency_tl {usd}}
+  \exp_args:Nf \str_if_in:nnT {#2} {CHF} {\tl_gset:Nn \g_kivi_currency_tl {chf}}
+  \exp_args:Nf \str_if_in:nnT {#2} {EUR} {\tl_gset:Nn \g_kivi_currency_tl {euro}}
+  \tl_if_empty:NT  \g_kivi_currency_tl {
+    \tl_gset:Nn \g_kivi_currency_tl {default}
+    \edef \currency {\tl_to_str:N \lxcurrency}
+  }
+  \input{#1/\g_kivi_currency_tl _account.tex}
 }
 
 \ExplSyntaxOff
@@ -558,5 +657,7 @@ contents={\usebox\shippingAddressBox}
 \renewcommand*{\raggedsignature}{\raggedright}
 
 \newkomafont{extraDescription}{}
+\newkomafont{subtotal}{}
+\newkomafont{total}{}
 
 \endinput
index 6e91e74fb0eb70319071935ccb277878011e67c1..4e6ed0b1a4782065855bc0d193ba65da7577b616 100644 (file)
@@ -7,8 +7,8 @@
 \usepackage{iftex}
 %Compilerunabhängigkeit
 \ifPDFTeX
-       \usepackage[utf8]{inputenc}
-       \usepackage[T1]{fontenc}
+  \usepackage[utf8]{inputenc}
+  \usepackage[T1]{fontenc}
 \fi
 \usepackage{latexsym}
 \usepackage{longtable}
@@ -52,7 +52,7 @@
 \renewcommand*{\familydefault}{\sfdefault}
 \ifPDFTeX
 \else
-\usepackage{fontspec}
+  \usepackage{fontspec}
 \fi
 
 %% Checkboxen
 % Abschnitte mit Kasten hinterlegt
 
 \newcommand{\reqspecsectionstyle}{%
-\renewcommand{\thesection}{\alph{section}}
-\makeatletter
-\def\section{\@ifstar\unnumberedsection\numberedsection}
-\makeatother
+  \renewcommand{\thesection}{\alph{section}}
+  \makeatletter
+  \def\section{\@ifstar\unnumberedsection\numberedsection}
+  \makeatother
 }
 
 \makeatletter
 \def\numberedsection{\@ifnextchar[%]
-  \numberedsectionwithtwoarguments\numberedsectionwithoneargument}
+\numberedsectionwithtwoarguments\numberedsectionwithoneargument}
 \def\unnumberedsection{\@ifnextchar[%]
-  \unnumberedsectionwithtwoarguments\unnumberedsectionwithoneargument}
+\unnumberedsectionwithtwoarguments\unnumberedsectionwithoneargument}
 \def\numberedsectionwithoneargument#1{\numberedsectionwithtwoarguments[#1]{#1}}
 \def\unnumberedsectionwithoneargument#1{\unnumberedsectionwithtwoarguments[#1]{#1}}
 \def\numberedsectionwithtwoarguments[#1]#2{%
   \endgroup
   \vskip 2ex\nobreak
   \addcontentsline{toc}{section}{\protect\numberline{\thesection{}.}#1}%
-  }
+}
 \def\unnumberedsectionwithtwoarguments[#1]#2{%
   \ifhmode\par\fi
   \removelastskip
index 1ea7a2d5b270038072bb2add3118f42d33646221..7ec5ef2a3eaf96bacba84c1cccd7b59eda9bf03f 100644 (file)
@@ -34,12 +34,12 @@ $( IF letter.subject )$
 $( END )$
 
 \begin{letter}{
-               $( KiviLatex.filter(customer.name) )$\strut\\
-               $( KiviLatex.filter(letter.contact.formal_greeting) )$\strut\\
-               $( KiviLatex.filter(customer.street) )$\strut\\
-               $( KiviLatex.filter(customer.zipcode) )$ $( KiviLatex.filter(customer.city) )$\strut\\
-               $( KiviLatex.filter(customer.country) )$%
-       }
+$( KiviLatex.filter(customer.name) )$\strut\\
+$( KiviLatex.filter(letter.contact.formal_greeting) )$\strut\\
+$( KiviLatex.filter(customer.street) )$\strut\\
+$( KiviLatex.filter(customer.zipcode) )$ $( KiviLatex.filter(customer.city) )$\strut\\
+$( KiviLatex.filter(customer.country) )$%
+}
 
 \opening{$( KiviLatex.filter(letter.greeting) )$}
 
index 612fa0c82a3533caa03dde1e4fabf9597e0fb687..23736b55bb11435bd29d29c60b6eb44c0dbf4b44 100644 (file)
 \setkomavar{title}{\sammelliste}
 
 \setkomavar{firsthead}{
-       \normalsize
-       \noindent\begin{tabular}[t]{@{}l@{}}
-               <%company%>\strut\\
-               <%address%>
-       \end{tabular}
-       \hfill
- \begin{tabular}[t]{rr@{}}
-               Tel & <%tel%>\\
-               Fax & <%fax%>%
-       \end{tabular}
-       \rule{\linewidth}{\heavyrulewidth}
+  \normalsize
+  \noindent\begin{tabular}[t]{@{}l@{}}
+    <%company%>\strut\\
+    <%address%>
+  \end{tabular}
+  \hfill
 \begin{tabular}[t]{rr@{}}
+    Tel & < %tel%>\\
+    Fax & < %fax%>%
+  \end{tabular}
+  \rule{\linewidth}{\heavyrulewidth}
 }
 
 \makeatletter
 \setkomavar{location}{
-       \normalsize
-       <%shiptocontact%>%
-       <%if shiptophone%>%
-       \\\textTelefon : <%shiptophone%>
-       <%end shiptophone%>%
-       <%if shiptofax%>%
-       \\\textFax : <%shiptofax%>
-       <%end shiptofax%>%
-       \\%
-       <%shiptoemail%>%
-       }
+  \normalsize
+  <%shiptocontact%>%
+  <%if shiptophone%>%
+  \\\textTelefon : <%shiptophone%>
+  <%end shiptophone%>%
+  <%if shiptofax%>%
+  \\\textFax : <%shiptofax%>
+  <%end shiptofax%>%
+  \\%
+  <%shiptoemail%>%
+}
 \makeatother
 
 \setkomavar{backaddress}{\lieferanschrift}
 
 \begin{letter}{\strut%
-       <%shiptoname%>\ifhmode\\\fi
-       <%shiptostreet%>\ifhmode\\\fi
-       <%shiptozipcode%>\ifhmode\\\fi
-       <%shiptocity%>\ifhmode\\\fi
-       <%shiptocountry%>%
+<%shiptoname%>\ifhmode\\\fi
+<%shiptostreet%>\ifhmode\\\fi
+<%shiptozipcode%>\ifhmode\\\fi
+<%shiptocity%>\ifhmode\\\fi
+<%shiptocountry%>%
 }
 
 \opening{}
 
 
 \begin{SimpleTabular}[colspec=*6X,headline={\bfseries\bestellnummer&\bfseries\datum&\bfseries\kontakt
-  <%if warehouse%>%
-  &\bfseries\lager%
-  <%end warehouse%>%
-  &\bfseries\lagerplatz&\bfseries\lieferungMit}]
+        <%if warehouse%>%
+        &\bfseries\lager%
+        <%end warehouse%>%
+        &\bfseries\lagerplatz&\bfseries\lieferungMit}]
   <%ordnumber%>%
   &%
   <%if shippingdate%>%
-       <%shippingdate%>%
+  <%shippingdate%>%
   <%end shippingdate%>%
   <%if not shippingdate%>%
-       <%orddate%>%
+  <%orddate%>%
   <%end shippingdate%>%
   & <%employee%>%
   <%if warehouse%>%
 \bigskip
 
 \begin{SimpleTabular}[colspec=rlXrcll,headline={\bfseries\position&\bfseries\nummer&\bfseries\beschreibung&\bfseries\menge&\bfseries\lagerausgang&&\bfseries\lagerplatz}]%
-<%foreach number%>%
-<%runningnumber%> & <%number%> & <%description%> &%
-<%qty%> & [\hspace{1cm}] & <%unit%> & <%bin%> \\%
-<%end number%>%
+  <%foreach number%>%
+  <%runningnumber%> & <%number%> & <%description%> &%
+  <%qty%> & [\hspace{1cm}] & <%unit%> & <%bin%> \\%
+  <%end number%>%
 \end{SimpleTabular}
 
 \end{letter}
index b5396cd8f65e41776fdcb48e6de4dcbd03f2edba..6730a7ea1697697c77599cef0c33eff7cd46867b 100644 (file)
 
 
 \begin{document}
-       
+
 \setkomavar{title}{
-       \proformarechnung~
-       \nr ~<%ordnumber%>%
+  \proformarechnung~
+  \nr ~<%ordnumber%>%
 }
 \setkomavar*{date}{\datum}
 
 \setkomavar{date}{<%orddate%>}
 \setkomavar{customer}{<%customernumber%>}
 <%if cusordnumber%>%
-       \setkomavar*{yourref}{\ihreBestellnummer}
-       \setkomavar{yourref}{<%cusordnumber%>}
+\setkomavar*{yourref}{\ihreBestellnummer}
+\setkomavar{yourref}{<%cusordnumber%>}
 <%end if%>%
 <%if quonumber%>\setkomavar{quote}{<%quonumber%>}<%end if%>%
 \setkomavar{fromname}{<%employee_name%>}
 \setkomavar{fromphone}{<%employee_tel%>}
 \setkomavar{fromemail}{<%employee_email%>}
 \setkomavar{transaction}{<%transaction_description%>}
-       
+
 <%if shiptoname%>%
 \makeatletter
 \begin{lrbox}\shippingAddressBox
-       \parbox{\useplength{toaddrwidth}}{
-               \backaddr@format{\scriptsize\usekomafont{backaddress}%
-                       \strut\abweichendeLieferadresse
-               }
-               \par\smallskip
-               \setlength{\parskip}{\z@}
-               \par
-               \normalsize
-               <%shiptoname%>\par
-               <%if shiptocontact%> <%shiptocontact%><%end if%>\par
-               <%shiptodepartment_1%>\par
-               <%shiptodepartment_2%>\par
-               <%shiptostreet%>\par
-               <%shiptozipcode%> <%shiptocity%>%
-       }
+  \parbox{\useplength{toaddrwidth}}{
+    \backaddr@format{\scriptsize\usekomafont{backaddress}%
+      \strut\abweichendeLieferadresse
+    }
+    \par\smallskip
+    \setlength{\parskip}{\z@}
+    \par
+    \normalsize
+    <%shiptoname%>\par
+    <%if shiptocontact%> <%shiptocontact%><%end if%>\par
+    <%shiptodepartment_1%>\par
+    <%shiptodepartment_2%>\par
+    <%shiptostreet%>\par
+    <%shiptozipcode%> <%shiptocity%>%
+  }
 \end{lrbox}
 \makeatother
 <%end if%>%
 
 \begin{letter}{
-               <%name%>\strut\\
-               <%if department_1%><%department_1%>\\<%end if%>%
-               <%if department_2%><%department_2%>\\<%end if%>%
-               <%cp_givenname%> <%cp_name%>\strut\\
-               <%street%>\strut\\
-               <%zipcode%> <%city%>\strut\\
-               <%country%> \strut
-       }
+<%name%>\strut\\
+<%if department_1%><%department_1%>\\<%end if%>%
+<%if department_2%><%department_2%>\\<%end if%>%
+<%cp_givenname%> <%cp_name%>\strut\\
+<%street%>\strut\\
+<%zipcode%> <%city%>\strut\\
+<%country%> \strut
+}
 
 % Bei Kontaktperson Anrede nach Geschlecht unterscheiden.
 % Bei natürlichen Personen persönliche Anrede, sonst allgemeine Anrede.
 \opening{
-       \Ifstr{<%cp_name%>}{}
-               {<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
-               {
-                       \Ifstr{<%cp_gender%>}{f}
-                               {\anredefrau}
-                               {\anredeherr}
-                               <%cp_title%> <%cp_name%>,
-                       }
-               }
-               \thispagestyle{kivitendo.letter.first}
+\Ifstr{<%cp_name%>}{}
+{<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
+  {
+    \Ifstr{<%cp_gender%>}{f}
+        {\anredefrau}
+        {\anredeherr}
+      <%cp_title%> <%cp_name%>,
+    }
+  }
+\thispagestyle{kivitendo.letter.first}
 
 \auftragsformel
+
 \begin{PricingTabular*}%
-% eigentliche Tabelle
-\FakeTable{%
-       <%foreach number%>%
-       <%runningnumber%> &%
-       <%number%> &%
-       \textbf{<%description%>}%
-       <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
-       <%if reqdate%>\ExtraDescription{\lieferdatum: <%reqdate%>}<%end reqdate%>%
-       <%if serialnumber%>\ExtraDescription{\seriennummer: <%serialnumber%>}<%end serialnumber%>%
-       <%if ean%>\ExtraDescription{\ean: <%ean%>}<%end ean%>%
-       <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
-       &%
-       <%qty%> <%unit%> &%
-       <%sellprice%>&%
-       \Ifstr{<%p_discount%>}{0}{}{\sffamily\scriptsize{(-<%p_discount%>\,\%)}}%
-       <%linetotal%>\tabularnewline%
-       <%end number%>%
-}%
-\begin{PricingTotal}%
-       % Tabellenende letzte Seite%
-       \nettobetrag & <%subtotal%>\\%
-       <%foreach tax%>%
-       <%taxdescription%> & <%tax%>\\%
-       <%end tax%>%
-       \bfseries\schlussbetrag &  \bfseries <%invtotal%>\\%
-\end{PricingTotal}%
+  % eigentliche Tabelle
+  \FakeTable{%
+  <%foreach number%>%
+  <%runningnumber%> &%
+  <%number%> &%
+  \textbf{<%description%>}%
+  <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
+  <%if reqdate%>\ExtraDescription{\lieferdatum: <%reqdate%>}<%end reqdate%>%
+  <%if serialnumber%>\ExtraDescription{\seriennummer: <%serialnumber%>}<%end serialnumber%>%
+  <%if ean%>\ExtraDescription{\ean: <%ean%>}<%end ean%>%
+  <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
+  &%
+  <%qty%> <%unit%> &%
+  <%sellprice%>&%
+  \Ifstr{<%p_discount%>}{0}{}{\sffamily\scriptsize{(-<%p_discount%>\,\%)}}%
+    <%linetotal%>\tabularnewline%
+    <%end number%>%
+  }%
+  \begin{PricingTotal}%
+    % Tabellenende letzte Seite%
+    \nettobetrag & <%subtotal%>\\%
+    <%foreach tax%>%
+    <%taxdescription%> & <%tax%>\\%
+    <%end tax%>%
+    \bfseries\schlussbetrag &  \bfseries <%invtotal%>\\%
+  \end{PricingTotal}%
 \end{PricingTabular*}
 
 <%if notes%>%
index 07488775b209f36f43b55838796c74587498d91d..123eef8c65dad46d36c4f6419b7386f20bb72c2e 100644 (file)
 \setkomavar{fromphone}{<%employee_tel%>}
 \setkomavar{fromemail}{<%employee_email%>}
 \setkomavar{title}{
-       \einkaufslieferschein~\nr ~<%donumber%>%
+  \einkaufslieferschein~\nr ~<%donumber%>%
 }
 <%if ordnumber%>
-       \setkomavar{orderID}{<%ordnumber%>}
+  \setkomavar{orderID}{<%ordnumber%>}
 <%end if%>%
 <%if cusordnumber%>%
-       \setkomavar*{yourref}{\unsereBestellnummer}
-       \setkomavar{yourref}{<%cusordnumber%>}
+  \setkomavar*{yourref}{\unsereBestellnummer}
+  \setkomavar{yourref}{<%cusordnumber%>}
 <%end if%>%
 \setkomavar{transaction}{<%transaction_description%>}
 
 <%if globalprojectnumber%>%
-       \setkomavar{projectID}{<%globalprojectnumber%>}
+  \setkomavar{projectID}{<%globalprojectnumber%>}
 <%end globalprojectnumber%>%
 
 \setkomavar{transaction}{<%transaction_description%>}
 <%if shiptoname%>%
 \makeatletter
 \begin{lrbox}\shippingAddressBox
-       \parbox{\useplength{toaddrwidth}}{
-               \backaddr@format{\scriptsize\usekomafont{backaddress}%
-                       \strut\abweichendeLieferadresse
-               }
-               \par\smallskip
-               \setlength{\parskip}{\z@}
-               \par
-               \normalsize
-               <%shiptoname%>\par
-               <%if shiptocontact%> <%shiptocontact%><%end if%>\par
-               <%shiptodepartment_1%>\par
-               <%shiptodepartment_2%>\par
-               <%shiptostreet%>\par
-               <%shiptozipcode%> <%shiptocity%>%
-       }
+  \parbox{\useplength{toaddrwidth}}{
+    \backaddr@format{\scriptsize\usekomafont{backaddress}%
+      \strut\abweichendeLieferadresse
+    }
+    \par\smallskip
+    \setlength{\parskip}{\z@}
+    \par
+    \normalsize
+    <%shiptoname%>\par
+    <%if shiptocontact%> <%shiptocontact%><%end if%>\par
+    <%shiptodepartment_1%>\par
+    <%shiptodepartment_2%>\par
+    <%shiptostreet%>\par
+    <%shiptozipcode%> <%shiptocity%>%
+  }
 \end{lrbox}
 \makeatother
 <%end if%>%
 
 
 \begin{letter}{
-       <%name%>\strut\\
-       <%if department_1%><%department_1%>\\<%end if%>%
-       <%if department_2%><%department_2%>\\<%end if%>%
-       <%cp_givenname%> <%cp_name%>\strut\\
-       <%street%>\strut\\
-       <%zipcode%> <%city%>\strut\\
-       <%country%> \strut
+<%name%>\strut\\
+<%if department_1%><%department_1%>\\<%end if%>%
+<%if department_2%><%department_2%>\\<%end if%>%
+<%cp_givenname%> <%cp_name%>\strut\\
+<%street%>\strut\\
+<%zipcode%> <%city%>\strut\\
+<%country%> \strut
 }
 
 
 \thispagestyle{kivitendo.letter.first}
 
 \begin{PricingTabular*}[columns={pos,amount,desc}]
-% eigentliche Tabelle
-\FakeTable{
-<%foreach number%>%
-       <%runningnumber%> &
-       <%qty%> <%unit%> &
-       \textbf{<%description%>}
-               <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
-               <%if reqdate%>\ExtraDescription{\lieferdatum: <%reqdate%>}<%end reqdate%>%
-               <%if serialnumber%>\ExtraDescription{\seriennummer: <%serialnumber%>}<%end serialnumber%>%
-               <%if ean%>\ExtraDescription{\ean: <%ean%>}<%end ean%>%
-               <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
-               <%foreach si_number%>%
-                       <%if si_chargenumber%>\ExtraDescription{\charge: <%si_chargenumber%> <%if si_bestbefore%> \mhd: <%si_bestbefore%><%end if%><%si_qty%>~<%si_unit%><%end si_chargenumber%>}%
-               <%end si_number%>%
-       \tabularnewline
-<%end number%>%
-}
+  % eigentliche Tabelle
+  \FakeTable{
+  <%foreach number%>%
+  <%runningnumber%> &
+  <%qty%> <%unit%> &
+  \textbf{<%description%>}
+    <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
+    <%if reqdate%>\ExtraDescription{\lieferdatum: <%reqdate%>}<%end reqdate%>%
+    <%if serialnumber%>\ExtraDescription{\seriennummer: <%serialnumber%>}<%end serialnumber%>%
+    <%if ean%>\ExtraDescription{\ean: <%ean%>}<%end ean%>%
+    <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
+    <%foreach si_number%>%
+    <%if si_chargenumber%>\ExtraDescription{\charge: <%si_chargenumber%> <%if si_bestbefore%> \mhd: <%si_bestbefore%><%end if%><%si_qty%>~<%si_unit%><%end si_chargenumber%>}%
+    <%end si_number%>%
+    \tabularnewline
+    <%end number%>%
+  }
 \end{PricingTabular*}
 
 \medskip
 <%end if%>%
 
 <%if delivery_term%>%
-  \lieferung ~<%delivery_term.description_long%>\\
+\lieferung ~<%delivery_term.description_long%>\\
 <%end delivery_term%>%
 
 \end{letter}
index 677e2abd6c7018e7e27f8f4bc68292db938bfb26..9c8d610f09819122fd2bbf3d17e1447e5c4d48a1 100644 (file)
 \setkomavar{fromphone}{<%employee_tel%>}
 \setkomavar{fromemail}{<%employee_email%>}
 \setkomavar{title}{
-       \bestellung~
-       \nr~<%ordnumber%>%
+  \bestellung~
+  \nr~<%ordnumber%>%
 }
 
 <%if cusordnumber%>%
-       \setkomavar*{yourref}{\unsereBestellnummer}
-       \setkomavar{yourref}{<%cusordnumber%>}
+  \setkomavar*{yourref}{\unsereBestellnummer}
+  \setkomavar{yourref}{<%cusordnumber%>}
 <%end if%>%
 \setkomavar{transaction}{<%transaction_description%>}
 
 <%if quonumber%>
-       \setkomavar{quote}{<%quonumber%>}
+  \setkomavar{quote}{<%quonumber%>}
 <%end if%>%
 
 <%if shiptoname%>%
 \makeatletter
 \begin{lrbox}\shippingAddressBox
-       \parbox{\useplength{toaddrwidth}}{
-               \backaddr@format{\scriptsize\usekomafont{backaddress}%
-                       \strut abweichende Lieferadresse
-               }
-               \par\smallskip
-               \setlength{\parskip}{\z@}
-               \par
-               \normalsize
-               <%shiptoname%>\par
-               <%if shiptocontact%> <%shiptocontact%><%end if%>\par
-               <%shiptodepartment_1%>\par
-               <%shiptodepartment_2%>\par
-               <%shiptostreet%>\par
-               <%shiptozipcode%> <%shiptocity%>%
-       }
+  \parbox{\useplength{toaddrwidth}}{
+    \backaddr@format{\scriptsize\usekomafont{backaddress}%
+      \strut abweichende Lieferadresse
+    }
+    \par\smallskip
+    \setlength{\parskip}{\z@}
+    \par
+    \normalsize
+    <%shiptoname%>\par
+    <%if shiptocontact%> <%shiptocontact%><%end if%>\par
+    <%shiptodepartment_1%>\par
+    <%shiptodepartment_2%>\par
+    <%shiptostreet%>\par
+    <%shiptozipcode%> <%shiptocity%>%
+  }
 \end{lrbox}
 \makeatother
 <%end if%>%
 \begin{document}
 
 \begin{letter}{
-               <%name%>\strut\\
-               <%if department_1%><%department_1%>\\<%end if%>%
-               <%if department_2%><%department_2%>\\<%end if%>%
-               <%cp_givenname%> <%cp_name%>\strut\\
-               <%street%>\strut\\
-               <%zipcode%> <%city%>\strut\\
-               <%country%> \strut
-       }
+<%name%>\strut\\
+<%if department_1%><%department_1%>\\<%end if%>%
+<%if department_2%><%department_2%>\\<%end if%>%
+<%cp_givenname%> <%cp_name%>\strut\\
+<%street%>\strut\\
+<%zipcode%> <%city%>\strut\\
+<%country%> \strut
+}
 
 % Bei Kontaktperson Anrede nach Geschlecht unterscheiden.
 % Bei natürlichen Personen persönliche Anrede, sonst allgemeine Anrede.
 \opening{
-       \Ifstr{<%cp_name%>}{}
-       {<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
-       {
-               \Ifstr{<%cp_gender%>}{f}
-                       {\anredefrau}
-                       {\anredeherr}
-                       <%cp_title%> <%cp_name%>,
-       }
-}
+\Ifstr{<%cp_name%>}{}
+{<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
+  {
+    \Ifstr{<%cp_gender%>}{f}
+        {\anredefrau}
+        {\anredeherr}
+      <%cp_title%> <%cp_name%>,
+    }
+  }
 \thispagestyle{kivitendo.letter.first}
 
 \bestellformel
 
 \begin{PricingTabular*}
-       % eigentliche Tabelle
-       \FakeTable{
-       <%foreach number%>%
-               <%runningnumber%> &%
-               <%number%> &%
-               \textbf{<%description%>}%
-               <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
-               <%if reqdate%>\ExtraDescription{\lieferdatum: <%reqdate%>}<%end reqdate%>%
-               <%if serialnumber%>\ExtraDescription{\seriennummer: <%serialnumber%>}<%end serialnumber%>%
-               <%if ean%>\ExtraDescription{\ean: <%ean%>}<%end ean%>%
-               <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
-               &%
-               <%qty%> <%unit%> &%
-               <%sellprice%>&%
-               \Ifstr{<%p_discount%>}{0}{}{\sffamily\scriptsize{(-<%p_discount%>\,\%)}}%
-               <%linetotal%>\tabularnewline
-       <%end number%>%
-       }%
-       \begin{PricingTotal}%
-               % Tabellenende letzte Seite
-               \nettobetrag & <%subtotal%>\\%
-               <%foreach tax%>%
-               <%taxdescription%> & <%tax%>\\%
-               <%end tax%>%
-               \bfseries\schlussbetrag &  \bfseries <%ordtotal%>\\%
-       \end{PricingTotal}
+  % eigentliche Tabelle
+  \FakeTable{
+  <%foreach number%>%
+  <%runningnumber%> &%
+  <%number%> &%
+  \textbf{<%description%>}%
+  <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
+  <%if reqdate%>\ExtraDescription{\lieferdatum: <%reqdate%>}<%end reqdate%>%
+  <%if serialnumber%>\ExtraDescription{\seriennummer: <%serialnumber%>}<%end serialnumber%>%
+  <%if ean%>\ExtraDescription{\ean: <%ean%>}<%end ean%>%
+  <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
+  &%
+  <%qty%> <%unit%> &%
+  <%sellprice%>&%
+  \Ifstr{<%p_discount%>}{0}{}{\sffamily\scriptsize{(-<%p_discount%>\,\%)}}%
+    <%linetotal%>\tabularnewline
+    <%end number%>%
+  }%
+  \begin{PricingTotal}%
+    % Tabellenende letzte Seite
+    \nettobetrag & <%subtotal%>\\%
+    <%foreach tax%>%
+    <%taxdescription%> & <%tax%>\\%
+    <%end tax%>%
+    \bfseries\schlussbetrag &  \bfseries <%ordtotal%>\\%
+  \end{PricingTotal}
 \end{PricingTabular*}
 
 <%if notes%>%
 <%end if%>%
 
 <%if delivery_term%>%
-  \lieferung ~<%delivery_term.description_long%>\\
+\lieferung ~<%delivery_term.description_long%>\\
 <%end delivery_term%>%
 
 \closing{\gruesse}
index 2725140977c785aa00638e5c7a499b16dd2a761b..ad428f7de707a00426917bb58c6ec4959f396861 100644 (file)
 \setplength{firstheadvpos}{4cm}
 
 \setkomavar{firsthead}{
-       \noindent\begin{tabular}[t]{@{}l@{}}
-               <%company%>\strut\\
-               <%address%>
-       \end{tabular}
-       \hfill
-       <%source%>\par
-       \medskip
-       <%text\_amount%> \dotfill <%decimal%>/100 \par\smallskip
-       \hfill <%datepaid%> \hspace{2cm}\strut<%amount%>
+  \noindent\begin{tabular}[t]{@{}l@{}}
+    <%company%>\strut\\
+    <%address%>
+  \end{tabular}
+  \hfill
+  <%source%>\par
+  \medskip
+  <%text\_amount%> \dotfill <%decimal%>/100 \par\smallskip
+  \hfill <%datepaid%> \hspace{2cm}\strut<%amount%>
 }
 
 
 \begin{document}
 
 \begin{letter}{
-               <%name%>\ifhmode\\\fi
-               <%street%>\ifhmode\\\fi
-               <%zipcode%> <%city%>\ifhmode\\\fi
-               <%country%>%
-       }
+<%name%>\ifhmode\\\fi
+<%street%>\ifhmode\\\fi
+<%zipcode%> <%city%>\ifhmode\\\fi
+<%country%>%
+}
 
 \opening{<%company%>}
 \pagestyle{empty}
@@ -43,9 +43,9 @@
 <%name%> \hfill <%datepaid%> \hfill <%source%>%
 
 \begin{SimpleTabular}[colspec=lXrr,headline={\bfseries\rechnung&\bfseries\ausgestellt&\bfseries\faellig&\bfseries\verrechnet}]
-<%foreach invnumber%>%
-<%invnumber%> & <%invdate%> & <%due%> & <%paid%> \\
-<%end invnumber%>%
+  <%foreach invnumber%>%
+  <%invnumber%> & <%invdate%> & <%due%> & <%paid%> \\
+  <%end invnumber%>%
 \end{SimpleTabular}
 
 \end{letter}
index 963173598ac6129065ebd48bf58dd7a92d0e23c3..0cfc11934a752e45c536eb245d76fffee968710c 100644 (file)
 \setkomavar{fromphone}{<%employee_tel%>}
 \setkomavar{fromemail}{<%employee_email%>}
 \setkomavar{title}{
-       \anfrage~
-       \nr ~<%quonumber%>%
+  \anfrage~
+  \nr ~<%quonumber%>%
 }
 <%if globalprojectnumber%>%
-       \setkomavar{projectID}{<%globalprojectnumber%>}
+  \setkomavar{projectID}{<%globalprojectnumber%>}
 <%end globalprojectnumber%>%
 
 \setkomavar{transaction}{<%transaction_description%>}
 \begin{document}
 
 \begin{letter}{
-               <%name%>\strut\\
-               <%if department_1%><%department_1%>\\<%end if%>%
-               <%if department_2%><%department_2%>\\<%end if%>%
-               <%cp_givenname%> <%cp_name%>\strut\\
-               <%street%>\strut\\
-               <%zipcode%> <%city%>\strut\\
-               <%country%> \strut
-       }
+<%name%>\strut\\
+<%if department_1%><%department_1%>\\<%end if%>%
+<%if department_2%><%department_2%>\\<%end if%>%
+<%cp_givenname%> <%cp_name%>\strut\\
+<%street%>\strut\\
+<%zipcode%> <%city%>\strut\\
+<%country%> \strut
+}
 
 % Bei Kontaktperson Anrede nach Geschlecht unterscheiden.
 % Bei natürlichen Personen persönliche Anrede, sonst allgemeine Anrede.
 \opening{
-       \Ifstr{<%cp_name%>}{}
-               {<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
-               {
-                       \Ifstr{<%cp_gender%>}{f}
-                               {\anredefrau}
-                               {\anredeherr}
-                               <%cp_title%> <%cp_name%>,
-               }
-}
+\Ifstr{<%cp_name%>}{}
+{<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
+  {
+    \Ifstr{<%cp_gender%>}{f}
+        {\anredefrau}
+        {\anredeherr}
+      <%cp_title%> <%cp_name%>,
+    }
+  }
 \thispagestyle{kivitendo.letter.first}
 
 \anfrageformel
 
 \begin{PricingTabular*}[columns={pos,amount,desc}]
-% eigentliche Tabelle
-\FakeTable{
-<%foreach number%>%
-       <%runningnumber%> &
-       <%qty%> <%unit%> &
-       \textbf{<%description%>}
-       <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
-       <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
-       <%if make%>%
-               <%foreach make%>%
-                       \Ifstr{<%make%>}{<%name%>}{\ExtraDescription{\artikelnummer: <%model%>}}{}
-               <%end foreach%>%
-       <%end if%>%
-       \tabularnewline
-<%end number%>%
-}%
+  % eigentliche Tabelle
+  \FakeTable{
+  <%foreach number%>%
+  <%runningnumber%> &
+  <%qty%> <%unit%> &
+  \textbf{<%description%>}
+  <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
+  <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
+  <%if make%>%
+  <%foreach make%>%
+  \Ifstr{<%make%>}{<%name%>}{\ExtraDescription{\artikelnummer: <%model%>}}{}
+    <%end foreach%>%
+    <%end if%>%
+    \tabularnewline
+    <%end number%>%
+  }%
 \end{PricingTabular*}
 
 
@@ -87,7 +87,7 @@
 
 
 <%if delivery_term%>%
-  \lieferung ~<%delivery_term.description_long%>\\
+\lieferung ~<%delivery_term.description_long%>\\
 <%end delivery_term%>%
 
 <%if reqdate%>%
index 1d22e9cbc8a0b2e14b6fcfcc4167b87267976993..d8fb2e5dce8ec8264b208a71f6324a480912e73b 100644 (file)
@@ -45,10 +45,10 @@ $( KiviLatex.required_packages_for_html )$
       \Large
       $( KiviLatex.filter(rspec.title) )$
       \normalsize
-%$( IF rspec.version )$
+      %$( IF rspec.version )$
 
-    Version $( KiviLatex.filter(rspec.version.version_number) )$
-%$( END )$
+      Version $( KiviLatex.filter(rspec.version.version_number) )$
+      %$( END )$
     \end{minipage}%
   }
 \end{picture}
@@ -69,19 +69,19 @@ $( KiviLatex.required_packages_for_html )$
 %$( SET working_copy     = rspec.working_copy_id ? rspec.working_copy : rspec )$
 %$( SET versioned_copies = rspec.version ? working_copy.versioned_copies_sorted(max_version_number = rspec.version.version_number) : working_copy.versioned_copies_sorted )$
 %$( IF !versioned_copies.size )$
-  Bisher wurden noch keine Versionen angelegt.
+Bisher wurden noch keine Versionen angelegt.
 %$( ELSE )$
 \begin{longtable}{|p{2cm}|p{2cm}|p{12cm}|}
   \hline
-  \multicolumn{1}{|r}{\small Version} &
-  \multicolumn{1}{|r|}{\small Datum} &
-  \small Beschreibung\\
+  \multicolumn{1}{|r}{\small Version}                                                                                &
+  \multicolumn{1}{|r|}{\small Datum}                                                                                 &
+  \small Beschreibung                                                                                                  \\
   \hline
-%$( FOREACH versioned_copy = versioned_copies )$
-   \multicolumn{1}{|r}{\small $( KiviLatex.filter(versioned_copy.version.version_number) )$} &
-   \multicolumn{1}{|r|}{\small $( KiviLatex.filter(versioned_copy.version.itime.to_kivitendo(precision='minute')) )$} &
-   \small $( KiviLatex.filter(versioned_copy.version.description) )$\\
-%$( END )$
+  %$( FOREACH versioned_copy = versioned_copies )$
+  \multicolumn{1}{|r}{\small $( KiviLatex.filter(versioned_copy.version.version_number) )$}                          &
+  \multicolumn{1}{|r|}{\small $( KiviLatex.filter(versioned_copy.version.itime.to_kivitendo(precision='minute')) )$} &
+  \small $( KiviLatex.filter(versioned_copy.version.description) )$                                                    \\
+  %$( END )$
   \hline
 \end{longtable}
 %$( END )$
@@ -93,7 +93,7 @@ $( KiviLatex.required_packages_for_html )$
   \centering
   \includegraphics[width=$( width_cm )$cm,keepaspectratio]{$( picture.print_file_name )$}
 
-\mbox{Abbildung $( picture.number )$: $( KiviLatex.filter(picture.description ? picture.description : picture.picture_file_name) )$}
+  \mbox{Abbildung $( picture.number )$: $( KiviLatex.filter(picture.description ? picture.description : picture.picture_file_name) )$}
 \end{figure}
 %$( END )$
 
@@ -101,13 +101,13 @@ $( KiviLatex.required_packages_for_html )$
 %  $( SET text_blocks = rspec.text_blocks_sorted(output_position=output_position) )$
 %  $( IF text_blocks.size )$
 
-  \newpage
+\newpage
 
-  \section{$( heading )$}
+\section{$( heading )$}
 
 %    $( FOREACH text_block = text_blocks )$
 
-    \subsection{$( KiviLatex.filter(text_block.title) )$}
+\subsection{$( KiviLatex.filter(text_block.title) )$}
 
 $( KiviLatex.filter_html(text_block.text_as_restricted_html) )$
 
@@ -132,31 +132,31 @@ $( PROCESS text_block_outputter output_position=0 heading='Allgemeines' )$
 
 %$( FOREACH top_item = rspec.sections_sorted )$
 
-  \subsection{Abschnitt $( KiviLatex.filter(top_item.fb_number) )$: $( KiviLatex.filter(top_item.title) )$}
+\subsection{Abschnitt $( KiviLatex.filter(top_item.fb_number) )$: $( KiviLatex.filter(top_item.title) )$}
 
 %  $( IF top_item.description )$
-    $( KiviLatex.filter_html(top_item.description_as_restricted_html.replace('\r', '').replace('\n+\Z', '')) )$
+$( KiviLatex.filter_html(top_item.description_as_restricted_html.replace('\r', '').replace('\n+\Z', '')) )$
 
-    \vspace{0.5cm}
+\vspace{0.5cm}
 %  $( END )$
 %  $( FOREACH item = top_item.children_sorted )$
 \parbox[t]{1.0cm}{\textcolor{kivitendodarkred}{$>>>$}}%
 \parbox[t]{15.0cm}{%
-\begin{longtable}{p{2.8cm}p{11.7cm}}
-  Funktionsblock & $( KiviLatex.filter(item.fb_number) )$\\
-  Beschreibung & $( KiviLatex.filter_html(item.description_as_restricted_html) )$\\
-  Abhängigkeiten & $( KiviLatex.filter(item.presenter.requirement_spec_item_dependency_list) )$
-\end{longtable}}
+  \begin{longtable}{p{2.8cm}p{11.7cm}}
+    Funktionsblock & $( KiviLatex.filter(item.fb_number) )$                                       \\
+    Beschreibung   & $( KiviLatex.filter_html(item.description_as_restricted_html) )$             \\
+    Abhängigkeiten & $( KiviLatex.filter(item.presenter.requirement_spec_item_dependency_list) )$
+  \end{longtable}}
 
 %    $( FOREACH sub_item = item.children_sorted )$
 \hspace*{1.15cm}\rule{15.2cm}{0.2pt}\\
 \hspace*{1.0cm}%
 \parbox[t]{15.0cm}{%
-\begin{longtable}{p{2.8cm}p{11.7cm}}
-  Unterfunktionsblock & $( KiviLatex.filter(sub_item.fb_number) )$\\
-  Beschreibung & $( KiviLatex.filter_html(sub_item.description_as_restricted_html) )$\\
-  Abhängigkeiten & $( KiviLatex.filter(sub_item.presenter.requirement_spec_item_dependency_list) )$
-\end{longtable}}
+  \begin{longtable}{p{2.8cm}p{11.7cm}}
+    Unterfunktionsblock & $( KiviLatex.filter(sub_item.fb_number) )$                                       \\
+    Beschreibung        & $( KiviLatex.filter_html(sub_item.description_as_restricted_html) )$             \\
+    Abhängigkeiten      & $( KiviLatex.filter(sub_item.presenter.requirement_spec_item_dependency_list) )$
+  \end{longtable}}
 
 %    $( END )$
 
index 657abd973e749d4271c09fc98f146122b98f3f38..2811e50c771a1aa56bfd7860b70f38fcbe75ff04 100644 (file)
 \setkomavar{fromphone}{<%employee_tel%>}
 \setkomavar{fromemail}{<%employee_email%>}
 \setkomavar{title}{
-       \lieferschein~
-       \nr~<%donumber%>%
+  \lieferschein~
+  \nr~<%donumber%>%
 }
 <%if ordnumber%>
-       \setkomavar{orderID}{<%ordnumber%>}
+  \setkomavar{orderID}{<%ordnumber%>}
 <%end if%>%
 <%if cusordnumber%>%
-       \setkomavar*{yourref}{\unsereBestellnummer}
-       \setkomavar{yourref}{<%cusordnumber%>}
+  \setkomavar*{yourref}{\unsereBestellnummer}
+  \setkomavar{yourref}{<%cusordnumber%>}
 <%end if%>%
 \setkomavar{transaction}{<%transaction_description%>}
 
 <%if globalprojectnumber%>%
-       \setkomavar{projectID}{<%globalprojectnumber%>}
+  \setkomavar{projectID}{<%globalprojectnumber%>}
 <%end globalprojectnumber%>%
 
 \setkomavar{transaction}{<%transaction_description%>}
 \begin{document}
 
 \begin{letter}{
-  \Ifstr{<%shiptoname%>}{}{ % KEINE ABWEICHENDE LIEFERADRESSE
-       <%name%>\strut\\
-       <%if department_1%><%department_1%>\\<%end if%>%
-       <%if department_2%><%department_2%>\\<%end if%>%
-       <%cp_givenname%> <%cp_name%>\strut\\
-       <%street%>\strut\\
-       <%zipcode%> <%city%>\strut\\
-       <%country%> \strut
-  }{ % ABWEICHENDE LIEFERADRESSE (Aus Stammdaten oder Beleg)
-       <%shiptoname%>\strut\\
-       <%if shiptocontact%> <%shiptocontact%><%end if%>\strut\\
-       <%shiptodepartment_1%>\strut\\
-       <%shiptodepartment_2%>\strut\\
-       <%shiptostreet%>\strut\\
-       <%shiptozipcode%> <%shiptocity%>\strut
-       } % ende ifthenelse LIEFERADRESSE
+\Ifstr{<%shiptoname%>}{}{ % KEINE ABWEICHENDE LIEFERADRESSE
+  <%name%>\strut\\
+  <%if department_1%><%department_1%>\\<%end if%>%
+  <%if department_2%><%department_2%>\\<%end if%>%
+  <%cp_givenname%> <%cp_name%>\strut\\
+  <%street%>\strut\\
+  <%zipcode%> <%city%>\strut\\
+  <%country%> \strut
+}{ % ABWEICHENDE LIEFERADRESSE (Aus Stammdaten oder Beleg)
+  <%shiptoname%>\strut\\
+  <%if shiptocontact%> <%shiptocontact%><%end if%>\strut\\
+  <%shiptodepartment_1%>\strut\\
+  <%shiptodepartment_2%>\strut\\
+  <%shiptostreet%>\strut\\
+  <%shiptozipcode%> <%shiptocity%>\strut
+} % ende ifthenelse LIEFERADRESSE
 }
 
 \opening{}
 \thispagestyle{kivitendo.letter.first}
 
 \begin{PricingTabular*}[columns={pos, id, desc, amount}]
-% eigentliche Tabelle
-\FakeTable{
-<%foreach number%>%
-       <%runningnumber%> &
-       <%number%> &
-       \textbf{<%description%>}
-               <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
-               <%if reqdate%>\ExtraDescription{\lieferdatum: <%reqdate%>}<%end reqdate%>%
-               <%if serialnumber%>\ExtraDescription{\seriennummer: <%serialnumber%>}<%end serialnumber%>%
-               <%if ean%>\ExtraDescription{\ean: <%ean%>}<%end ean%>%
-               <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
-               <%foreach si_number%>%
-                       <%if si_chargenumber%>\ExtraDescription{\charge: <%si_chargenumber%> <%if si_bestbefore%> \mhd: <%si_bestbefore%><%end if%><%si_qty%>~<%si_unit%><%end si_chargenumber%>}%
-               <%end si_number%>%
-       &
-               <%qty%> <%unit%>%
-       \tabularnewline
-<%end number%>%
-}
+  % eigentliche Tabelle
+  \FakeTable{
+  <%foreach number%>%
+  <%runningnumber%> &
+  <%number%> &
+  \textbf{<%description%>}
+    <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
+    <%if reqdate%>\ExtraDescription{\lieferdatum: <%reqdate%>}<%end reqdate%>%
+    <%if serialnumber%>\ExtraDescription{\seriennummer: <%serialnumber%>}<%end serialnumber%>%
+    <%if ean%>\ExtraDescription{\ean: <%ean%>}<%end ean%>%
+    <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
+    <%foreach si_number%>%
+    <%if si_chargenumber%>\ExtraDescription{\charge: <%si_chargenumber%> <%if si_bestbefore%> \mhd: <%si_bestbefore%><%end if%><%si_qty%>~<%si_unit%><%end si_chargenumber%>}%
+    <%end si_number%>%
+    &
+    <%qty%> <%unit%>%
+    \tabularnewline
+    <%end number%>%
+  }
 \end{PricingTabular*}
 
 \medskip
@@ -94,7 +94,7 @@
 <%end if%>%
 
 <%if delivery_term%>%
-  \lieferung ~<%delivery_term.description_long%>\\
+\lieferung ~<%delivery_term.description_long%>\\
 <%end delivery_term%>%
 
 \end{letter}
index 6bb10c5b78b615add7ee4d095f6c140a2a746728..23c4a45c280464e05679947732e837fc908cc3f2 100644 (file)
 \setkomavar{fromphone}{<%employee_tel%>}
 \setkomavar{fromemail}{<%employee_email%>}
 \setkomavar{title}{
-       \auftragsbestaetigung~
-       \nr~<%ordnumber%>%
+  \auftragsbestaetigung~
+  \nr~<%ordnumber%>%
 }
 <%if cusordnumber%>%
-       \setkomavar*{yourref}{\ihreBestellnummer}
-       \setkomavar{yourref}{<%cusordnumber%>}
+  \setkomavar*{yourref}{\ihreBestellnummer}
+  \setkomavar{yourref}{<%cusordnumber%>}
 <%end if%>%
 \setkomavar{transaction}{<%transaction_description%>}
 
 <%if quonumber%>
-       \setkomavar{quote}{<%quonumber%>}
+  \setkomavar{quote}{<%quonumber%>}
 <%end if%>%
 
 <%if shiptoname%>%
 \makeatletter
 \begin{lrbox}\shippingAddressBox
-       \parbox{\useplength{toaddrwidth}}{
-               \backaddr@format{\scriptsize\usekomafont{backaddress}%
-                       \strut abweichende Lieferadresse
-               }
-               \par\smallskip
-               \setlength{\parskip}{\z@}
-               \par
-               \normalsize
-               <%shiptoname%>\par
-               <%if shiptocontact%> <%shiptocontact%><%end if%>\par
-               <%shiptodepartment_1%>\par
-               <%shiptodepartment_2%>\par
-               <%shiptostreet%>\par
-               <%shiptozipcode%> <%shiptocity%>%
-       }
+  \parbox{\useplength{toaddrwidth}}{
+    \backaddr@format{\scriptsize\usekomafont{backaddress}%
+      \strut abweichende Lieferadresse
+    }
+    \par\smallskip
+    \setlength{\parskip}{\z@}
+    \par
+    \normalsize
+    <%shiptoname%>\par
+    <%if shiptocontact%> <%shiptocontact%><%end if%>\par
+    <%shiptodepartment_1%>\par
+    <%shiptodepartment_2%>\par
+    <%shiptostreet%>\par
+    <%shiptozipcode%> <%shiptocity%>%
+  }
 \end{lrbox}
 \makeatother
 <%end if%>%
 \begin{document}
 
 \begin{letter}{
-               <%name%>\strut\\
-               <%if department_1%><%department_1%>\\<%end if%>%
-               <%if department_2%><%department_2%>\\<%end if%>%
-               <%cp_givenname%> <%cp_name%>\strut\\
-               <%street%>\strut\\
-               <%zipcode%> <%city%>\strut\\
-               <%country%> \strut
-       }
+<%name%>\strut\\
+<%if department_1%><%department_1%>\\<%end if%>%
+<%if department_2%><%department_2%>\\<%end if%>%
+<%cp_givenname%> <%cp_name%>\strut\\
+<%street%>\strut\\
+<%zipcode%> <%city%>\strut\\
+<%country%> \strut
+}
 
 % Bei Kontaktperson Anrede nach Geschlecht unterscheiden.
 % Bei natürlichen Personen persönliche Anrede, sonst allgemeine Anrede.
 \opening{
-       \Ifstr{<%cp_name%>}{}
-       {<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
-       {
-               \Ifstr{<%cp_gender%>}{f}
-                       {\anredefrau}
-                       {\anredeherr}
-                       <%cp_title%> <%cp_name%>,
-       }
-}
+\Ifstr{<%cp_name%>}{}
+{<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
+  {
+    \Ifstr{<%cp_gender%>}{f}
+        {\anredefrau}
+        {\anredeherr}
+      <%cp_title%> <%cp_name%>,
+    }
+  }
 \thispagestyle{kivitendo.letter.first}
 
 \auftragsformel
 
 \begin{PricingTabular*}
-       % eigentliche Tabelle
-       \FakeTable{
-       <%foreach number%>%
-               <%runningnumber%> &%
-               <%number%> &%
-               \textbf{<%description%>}%
-               <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
-               <%if reqdate%>\ExtraDescription{\lieferdatum: <%reqdate%>}<%end reqdate%>%
-               <%if serialnumber%>\ExtraDescription{\seriennummer: <%serialnumber%>}<%end serialnumber%>%
-               <%if ean%>\ExtraDescription{\ean: <%ean%>}<%end ean%>%
-               <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
-               &%
-               <%qty%> <%unit%> &%
-               <%sellprice%>&%
-               \Ifstr{<%p_discount%>}{0}{}{\sffamily\scriptsize{(-<%p_discount%>\,\%)}}%
-               <%linetotal%>\tabularnewline
-       <%end number%>%
-       }%
-       \begin{PricingTotal}%
-               % Tabellenende letzte Seite
-               \nettobetrag & <%subtotal%>\\%
-               <%foreach tax%>%
-               <%taxdescription%> & <%tax%>\\%
-               <%end tax%>%
-               \bfseries\schlussbetrag &  \bfseries <%ordtotal%>\\%
-       \end{PricingTotal}
+  % eigentliche Tabelle
+  \FakeTable{
+  <%foreach number%>%
+  <%runningnumber%> &%
+  <%number%> &%
+  \textbf{<%description%>}%
+  <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
+  <%if reqdate%>\ExtraDescription{\lieferdatum: <%reqdate%>}<%end reqdate%>%
+  <%if serialnumber%>\ExtraDescription{\seriennummer: <%serialnumber%>}<%end serialnumber%>%
+  <%if ean%>\ExtraDescription{\ean: <%ean%>}<%end ean%>%
+  <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
+  &%
+  <%qty%> <%unit%> &%
+  <%sellprice%>&%
+  \Ifstr{<%p_discount%>}{0}{}{\sffamily\scriptsize{(-<%p_discount%>\,\%)}}%
+    <%linetotal%>\tabularnewline
+    <%end number%>%
+  }%
+  \begin{PricingTotal}%
+    % Tabellenende letzte Seite
+    \nettobetrag & <%subtotal%>\\%
+    <%foreach tax%>%
+    <%taxdescription%> & <%tax%>\\%
+    <%end tax%>%
+    \bfseries\schlussbetrag &  \bfseries <%ordtotal%>\\%
+  \end{PricingTotal}
 \end{PricingTabular*}
 
 <%if notes%>%
 <%end if%>%
 
 <%if delivery_term%>%
-  \lieferung ~<%delivery_term.description_long%>\\
+\lieferung ~<%delivery_term.description_long%>\\
 <%end delivery_term%>%
 
 <%if reqdate%>%
index 0190046d614fa85718217e18bbec3b1510e63c7d..d6e03c87950ac36eae8432357b21d4259eaa4cdd 100644 (file)
@@ -19,9 +19,9 @@
 \begin{document}
 
 \setkomavar{signature}{%
-<%employee_company%>%
-\ifhmode\\\fi
-<%salesman_name%>%
+  <%employee_company%>%
+  \ifhmode\\\fi
+  <%salesman_name%>%
 }
 
 \setkomavar*{date}{\datum}
 \setkomavar{fromphone}{<%employee_tel%>}
 \setkomavar{fromemail}{<%employee_email%>}
 \setkomavar{title}{
-       \angebot~
-       <%quonumber%>%
+  \angebot~
+  <%quonumber%>%
 }
 
 \setkomavar{transaction}{<%transaction_description%>}
 
 <%if shiptoname%>%
 \makeatletter
-  \begin{lrbox}\shippingAddressBox
+\begin{lrbox}\shippingAddressBox
   \parbox{\useplength{toaddrwidth}}{
-       \backaddr@format{\scriptsize\usekomafont{backaddress}%
-               \strut\abweichendeLieferadresse
-       }
-       \par\smallskip
-       \setlength{\parskip}{\z@}
-       \par
-       \normalsize
-       <%shiptoname%>\par
-        <%if shiptocontact%> <%shiptocontact%><%end if%>\par
-       <%shiptodepartment_1%>\par
-       <%shiptodepartment_2%>\par
-       <%shiptostreet%>\par
-       <%shiptozipcode%> <%shiptocity%>%
- }
+    \backaddr@format{\scriptsize\usekomafont{backaddress}%
+      \strut\abweichendeLieferadresse
+    }
+    \par\smallskip
+    \setlength{\parskip}{\z@}
+    \par
+    \normalsize
+    <%shiptoname%>\par
+    <%if shiptocontact%> <%shiptocontact%><%end if%>\par
+    <%shiptodepartment_1%>\par
+    <%shiptodepartment_2%>\par
+    <%shiptostreet%>\par
+    <%shiptozipcode%> <%shiptocity%>%
 }
 \end{lrbox}
 \makeatother
 <%end if%>%
 
 
 \begin{letter}{
-  <%name%>\strut\\
-  <%if department_1%><%department_1%>\\<%end if%>%
-  <%if department_2%><%department_2%>\\<%end if%>%
-  <%cp_givenname%> <%cp_name%>\strut\\
-  <%street%>\strut\\
-  <%zipcode%> <%city%>\strut\\
-  <%country%> \strut
+<%name%>\strut\\
+<%if department_1%><%department_1%>\\<%end if%>%
+<%if department_2%><%department_2%>\\<%end if%>%
+<%cp_givenname%> <%cp_name%>\strut\\
+<%street%>\strut\\
+<%zipcode%> <%city%>\strut\\
+<%country%> \strut
 }
 
 % Bei Kontaktperson Anrede nach Geschlecht unterscheiden.
 % Bei natürlichen Personen persönliche Anrede, sonst allgemeine Anrede.
 \opening{
-       \Ifstr{<%cp_name%>}{}
-               {<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
-               {
-               \Ifstr{<%cp_gender%>}{f}
-                       {\anredefrau}
-                       {\anredeherr}
-                       <%cp_title%> <%cp_name%>,
-               }
-}
+\Ifstr{<%cp_name%>}{}
+{<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
+  {
+    \Ifstr{<%cp_gender%>}{f}
+        {\anredefrau}
+        {\anredeherr}
+      <%cp_title%> <%cp_name%>,
+    }
+  }
 \thispagestyle{kivitendo.letter.first}
 
 \angebotsformel
 
 
 \begin{PricingTabular*}
-% eigentliche Tabelle
-\FakeTable{
-<%foreach number%>%
-<%runningnumber%> &%
-<%number%> &%
-\textbf{<%description%>}%
-       <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
-       <%if reqdate%>\ExtraDescription{\lieferdatum: <%reqdate%>}<%end reqdate%>%
-       <%if serialnumber%>\ExtraDescription{\seriennummer: <%serialnumber%>}<%end serialnumber%>%
-       <%if ean%>\ExtraDescription{\ean: <%ean%>}<%end ean%>%
-       <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
-       &%
-       <%qty%> <%unit%> &%
-       <%sellprice%>&%
-       \Ifstr{<%p_discount%>}{0}{}{\sffamily\scriptsize{(-<%p_discount%>\,\%)}}%
-                       <%linetotal%>\tabularnewline
-<%end number%>%
-}
-       \begin{PricingTotal}
-       % Tabellenende letzte Seite
-       \nettobetrag & <%subtotal%>\\
-       <%foreach tax%>%
-       <%taxdescription%> & <%tax%>\\
-       <%end tax%>%
-       \bfseries\schlussbetrag &  \bfseries <%ordtotal%>\\
-       \end{PricingTotal}
+  % eigentliche Tabelle
+  \FakeTable{
+  <%foreach number%>%
+  <%runningnumber%> &%
+  <%number%> &%
+  \textbf{<%description%>}%
+  <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
+  <%if reqdate%>\ExtraDescription{\lieferdatum: <%reqdate%>}<%end reqdate%>%
+  <%if serialnumber%>\ExtraDescription{\seriennummer: <%serialnumber%>}<%end serialnumber%>%
+  <%if ean%>\ExtraDescription{\ean: <%ean%>}<%end ean%>%
+  <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
+  &%
+  <%qty%> <%unit%> &%
+  <%sellprice%>&%
+  \Ifstr{<%p_discount%>}{0}{}{\sffamily\scriptsize{(-<%p_discount%>\,\%)}}%
+    <%linetotal%>\tabularnewline
+    <%end number%>%
+  }
+  \begin{PricingTotal}
+    % Tabellenende letzte Seite
+    \nettobetrag & <%subtotal%>\\
+    <%foreach tax%>%
+    <%taxdescription%> & <%tax%>\\
+    <%end tax%>%
+    \bfseries\schlussbetrag &  \bfseries <%ordtotal%>\\
+  \end{PricingTotal}
 \end{PricingTabular*}
 
 <%if notes%>%
-  <%notes%>%
-  \medskip
+<%notes%>%
+\medskip
 <%end if%>%
 
 <%if delivery_term%>%
-  \lieferung ~<%delivery_term.description_long%>\\
+\lieferung ~<%delivery_term.description_long%>\\
 <%end delivery_term%>%
 
 \angebotdanke\\
 \closing{\gruesse}
 
 \begin{minipage}{\textwidth}
-\rule{\linewidth}{.2pt}\par
-\auftragerteilt\par\bigskip
-\nurort:\rule[-.5ex]{8cm}{.2pt}\ ,\den\ \rule[-.5ex]{5cm}{.2pt}\par\bigskip
+  \rule{\linewidth}{.2pt}\par
+  \auftragerteilt\par\bigskip
+  \nurort:\rule[-.5ex]{8cm}{.2pt}\ ,\den\ \rule[-.5ex]{5cm}{.2pt}\par\bigskip
 
-\unterschrift/\stempel:\rule[-.5ex]{6cm}{.2pt}
+  \unterschrift/\stempel:\rule[-.5ex]{6cm}{.2pt}
 \end{minipage}
 
 
index bfde48e389a6294a957cc7e57bf01ca8dbf1f572..7cd91a020304afc4f8cb332b6e2175ec07aebbe0 100644 (file)
@@ -17,8 +17,8 @@
 
 
 \setkomavar{title}{
-       \sammelrechnung~
-       \nr~<%quonumber%>%
+  \sammelrechnung~
+  \nr~<%quonumber%>%
 }
 \setkomavar{transaction}{<%transaction_description%>}
 \setkomavar{customer}{<%customernumber%>}
 \begin{document}
 
 \begin{letter}{
-               <%name%>\strut\\
-               <%if department_1%><%department_1%>\\<%end if%>%
-               <%if department_2%><%department_2%>\\<%end if%>%
-               <%cp_givenname%> <%cp_name%>\strut\\
-               <%street%>\strut\\
-               <%zipcode%> <%city%>\strut\\
-               <%country%> \strut
-       }
+<%name%>\strut\\
+<%if department_1%><%department_1%>\\<%end if%>%
+<%if department_2%><%department_2%>\\<%end if%>%
+<%cp_givenname%> <%cp_name%>\strut\\
+<%street%>\strut\\
+<%zipcode%> <%city%>\strut\\
+<%country%> \strut
+}
 
 % Bei Kontaktperson Anrede nach Geschlecht unterscheiden.
 % Bei natürlichen Personen persönliche Anrede, sonst allgemeine Anrede.
 \opening{
-       \Ifstr{<%cp_name%>}{}
-               {<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
-               {
-                       \Ifstr{<%cp_gender%>}{f}
-                               {\anredefrau}
-                               {\anredeherr}
-                               <%cp_title%> <%cp_name%>,
-               }
-}
+\Ifstr{<%cp_name%>}{}
+{<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
+  {
+    \Ifstr{<%cp_gender%>}{f}
+        {\anredefrau}
+        {\anredeherr}
+      <%cp_title%> <%cp_name%>,
+    }
+  }
 \thispagestyle{kivitendo.letter.first}
 
 \sammelrechnungsformel
 
 \begin{SimpleTabular}[
-       colspec=l*6X,
-       headline={\bfseries\rechnung~\nr & \bfseries\datum & \bfseries\faellig &
-       \bfseries\aktuell & \bfseries\asDreissig & \bfseries\asSechzig & \bfseries\asNeunzig}
-]
-% eigentliche Tabelle
-<%foreach invnumber%>%
-       <%invnumber%> & <%invdate%> & <%duedate%> &
-       <%c0%> & <%c30%> & <%c60%> & <%c90%> \\
-<%end invnumber%>%
-% Tabellenende letzte Seite
-\midrule[\heavyrulewidth]
-\multicolumn{3}{@{}l}{\bfseries\zwischensumme} & \bfseries<%c0total%> & \bfseries<%c30total%> & \bfseries<%c60total%> & \bfseries<%c90total%>\\*
-\midrule
-\multicolumn{3}{@{}l}{\bfseries\schlussbetrag} & &&&\bfseries<%total%> \\
+    colspec=l*6X,
+    headline={\bfseries\rechnung~\nr & \bfseries\datum & \bfseries\faellig &
+        \bfseries\aktuell & \bfseries\asDreissig & \bfseries\asSechzig & \bfseries\asNeunzig}
+  ]
+  % eigentliche Tabelle
+  <%foreach invnumber%>%
+  <%invnumber%> & <%invdate%> & <%duedate%> &
+  <%c0%> & <%c30%> & <%c60%> & <%c90%> \\
+  <%end invnumber%>%
+  % Tabellenende letzte Seite
+  \midrule[\heavyrulewidth]
+  \multicolumn{3}{@{}l}{\bfseries\zwischensumme} & \bfseries<%c0total%> & \bfseries<%c30total%> & \bfseries<%c60total%> & \bfseries<%c90total%>\\*
+  \midrule
+  \multicolumn{3}{@{}l}{\bfseries\schlussbetrag} & &&&\bfseries<%total%> \\
 \end{SimpleTabular}
 
 \closing{\gruesse}
index 09293ee7752f910295bef55562eeddfb8f4dcb99..abb601f78c9afb9997881cab0d1385b5baef7aa9 100644 (file)
 \setkomavar{fromphone}{<%employee_tel%>}
 \setkomavar{fromemail}{<%employee_email%>}
 \setkomavar{title}{
-       \mahnung
-       <%if dunning_id%>~\nr~<%dunning_id%><%end if%>%
+  \mahnung
+  <%if dunning_id%>~\nr~<%dunning_id%><%end if%>%
 }
 \setkomavar{transaction}{<%transaction_description%>}
 
 \begin{document}
 
 \begin{letter}{
-               <%name%>\strut\\
-               <%if department_1%><%department_1%>\\<%end if%>%
-               <%if department_2%><%department_2%>\\<%end if%>%
-               <%cp_givenname%> <%cp_name%>\strut\\
-               <%street%>\strut\\
-               <%zipcode%> <%city%>\strut\\
-               <%country%> \strut
-       }
+<%name%>\strut\\
+<%if department_1%><%department_1%>\\<%end if%>%
+<%if department_2%><%department_2%>\\<%end if%>%
+<%cp_givenname%> <%cp_name%>\strut\\
+<%street%>\strut\\
+<%zipcode%> <%city%>\strut\\
+<%country%> \strut
+}
 
 % Bei Kontaktperson Anrede nach Geschlecht unterscheiden.
 % Bei natürlichen Personen persönliche Anrede, sonst allgemeine Anrede.
 \opening{
-       \Ifstr{<%cp_name%>}{}
-               {<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
-               {
-                       \Ifstr{<%cp_gender%>}{f}
-                               {\anredefrau}
-                               {\anredeherr}
-                               <%cp_title%> <%cp_name%>,
-               }
-}
+\Ifstr{<%cp_name%>}{}
+{<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
+  {
+    \Ifstr{<%cp_gender%>}{f}
+        {\anredefrau}
+        {\anredeherr}
+      <%cp_title%> <%cp_name%>,
+    }
+  }
 \thispagestyle{kivitendo.letter.first}
 
 \mahnungsformel
 
 \begin{SimpleTabular}[headline=\bfseries\rechnung~\nr&\bfseries\datum&\bfseries\betrag,colspec=rXr<{\tabcurrency}]
-% eigentliche Tabelle
-<%foreach dn_invnumber%>%
-    <%dn_invnumber%> & <%dn_transdate%> & <%dn_amount%> \\[0.1cm]
-<%end dn_invnumber%>%
+  % eigentliche Tabelle
+  <%foreach dn_invnumber%>%
+  <%dn_invnumber%> & <%dn_transdate%> & <%dn_amount%> \\[0.1cm]
+  <%end dn_invnumber%>%
 \end{SimpleTabular}
 
 
index da7de4bd1f432a26b26219d25a84ef00aabf7267..9acdeab47c05722d5bf0ebaf5fc9014c0edf721b 100644 (file)
 \setkomavar{fromphone}{<%employee_tel%>}
 \setkomavar{fromemail}{<%employee_email%>}
 \setkomavar{title}{
-       \rechnung~
-       \nr ~<%invnumber%>%
+  \rechnung~
+  \nr ~<%invnumber%>%
 }
 \setkomavar*{myref}{\mahnung~\nr}
 \setkomavar{myref}{<%dunning_id%>}
 <%if globalprojectnumber%>%
-       \setkomavar{projectID}{<%globalprojectnumber%>}
+  \setkomavar{projectID}{<%globalprojectnumber%>}
 <%end globalprojectnumber%>%
 \setkomavar{transaction}{<%transaction_description%>}
 
 
 
 \begin{letter}{
-               <%name%>\strut\\
-               <%if department_1%><%department_1%>\\<%end if%>%
-               <%if department_2%><%department_2%>\\<%end if%>%
-               <%cp_givenname%> <%cp_name%>\strut\\
-               <%street%>\strut\\
-               <%zipcode%> <%city%>\strut\\
-               <%country%> \strut
-       }
+<%name%>\strut\\
+<%if department_1%><%department_1%>\\<%end if%>%
+<%if department_2%><%department_2%>\\<%end if%>%
+<%cp_givenname%> <%cp_name%>\strut\\
+<%street%>\strut\\
+<%zipcode%> <%city%>\strut\\
+<%country%> \strut
+}
 
 % Bei Kontaktperson Anrede nach Geschlecht unterscheiden.
 % Bei natürlichen Personen persönliche Anrede, sonst allgemeine Anrede.
 \opening{
-       \Ifstr{<%cp_name%>}{}
-               {<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
-               {
-                       \Ifstr{<%cp_gender%>}{f}
-                               {\anredefrau}
-                               {\anredeherr}
-                               <%cp_title%> <%cp_name%>,
-               }
-}
+\Ifstr{<%cp_name%>}{}
+{<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
+  {
+    \Ifstr{<%cp_gender%>}{f}
+        {\anredefrau}
+        {\anredeherr}
+      <%cp_title%> <%cp_name%>,
+    }
+  }
 \thispagestyle{kivitendo.letter.first}
 
 \mahnungsrechnungsformel
 
 \begin{SimpleTabular}[colspec=Xr<{\tabcurrency},headline={\bfseries\posten& \bfseries\betrag}]
-       Mahngebühren & <%fee%> \\
-       Zinsen & <%interest%> \\
-       \midrule[\heavyrulewidth]
-       \multicolumn{1}{@{}l}{\schlussbetrag}& <%invamount%>\\
+  Mahngebühren & <%fee%> \\
+  Zinsen & <%interest%> \\
+  \midrule[\heavyrulewidth]
+  \multicolumn{1}{@{}l}{\schlussbetrag}& <%invamount%>\\
 \end{SimpleTabular}
 
 \smallskip