From: Jan Büren Date: Thu, 12 Aug 2021 10:32:53 +0000 (+0200) Subject: Merge pull request #31 from kivitendo/LaTeX-colored-tables X-Git-Tag: kivitendo-mebil_0.1-0~10^2~2^2~402 X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/commitdiff_plain/cdee87dfae07c6ccd6000d7e7a18678225428f58?hp=2d7a2fbc19d78589c20924dcc877866db68fb536 Merge pull request #31 from kivitendo/LaTeX-colored-tables LaTeX colored tables --- diff --git a/templates/print/marei/Readme.md b/templates/print/marei/Readme.md index 8a272bd05..00d4ad89c 100644 --- a/templates/print/marei/Readme.md +++ b/templates/print/marei/Readme.md @@ -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/_account.tex + innerhalb dieser Datei werden auch die folgenden Dateien geladen: + firma/ident.tex : Angaben über Mandanten + firma/_account.tex * Es muß mindestens eine Sprache angelegt werden! - deutsch.tex : Textschnipsel für Deutsch - Dafür eine Sprache mit Vorlagenkürzel DE anlegen + 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=,% false + rowcolor-odd=,% black!10 + rowcolor-even=,% leer, also keine Farbbox wird erzeugt + rowcolor-header=,% black!35 + rowcolor-total=,% black!35 +``` +Die Angabe hinter dem Kommentarzeichen entspricht der Voreinstellung. + +#### Trennlinien zwischen den Einträgen +Die Umgebung `PricingTabular` hat die möglichkeit horizontale Linien zwischen den Einträgen der `\FakeTable` einzuziehen. +Die einfachste Möglichkeit hierfür ist die Option hrule, sie setzt automatisch eine Linie der Dicke `\lightrulewidth`. +Da diese Linie formal nicht innerhalb der Tabelle platziert wird, können Linienmakros für Tabellen heir nicht verwendet werden. +Falls dennoch eine manuelle Anpassung der Maße notwendig ist, kann direkt der Code zur Erzeugung der Linie übergeben werden. +Die Option `hrule` entspricht der Angabe +``` + rowsep={ + \vskip\aboverulesep + \hrule\@height\lightrulewidth + \vskip\belowrulesep + } +``` +Es wird somit auch der Abstand davor und danach mit eingefügt. In Kombination mit Farbigen Tabellen ist hier vorsicht geboten, da der Abstand nicht mit zur farbigen Box gerechnet wird. + + ##### Reihenfolge/Anzahl der Spalten ändern Die Reihenfolge wurde über die Option `columns` festgelegt. diff --git a/templates/print/marei/bin_list.tex b/templates/print/marei/bin_list.tex index 69a4e8a53..7907ebe22 100644 --- a/templates/print/marei/bin_list.tex +++ b/templates/print/marei/bin_list.tex @@ -13,57 +13,57 @@ \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%>% @@ -75,10 +75,10 @@ \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} diff --git a/templates/print/marei/check.tex b/templates/print/marei/check.tex index 272514097..ad428f7de 100644 --- a/templates/print/marei/check.tex +++ b/templates/print/marei/check.tex @@ -16,26 +16,26 @@ \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} diff --git a/templates/print/marei/credit_note.tex b/templates/print/marei/credit_note.tex index 8c05c10fd..b3b3071f0 100644 --- a/templates/print/marei/credit_note.tex +++ b/templates/print/marei/credit_note.tex @@ -16,19 +16,19 @@ \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%>% @@ -36,21 +36,21 @@ <%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%>% @@ -58,58 +58,58 @@ \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%>% diff --git a/templates/print/marei/deutsch.tex b/templates/print/marei/deutsch.tex index bf24eeb13..7373d7060 100644 --- a/templates/print/marei/deutsch.tex +++ b/templates/print/marei/deutsch.tex @@ -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:} diff --git a/templates/print/marei/english.tex b/templates/print/marei/english.tex index 13f2a9ee4..c5be2c570 100644 --- a/templates/print/marei/english.tex +++ b/templates/print/marei/english.tex @@ -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:} diff --git a/templates/print/marei/ic_supply.tex b/templates/print/marei/ic_supply.tex index b2dd26184..6539b115b 100644 --- a/templates/print/marei/ic_supply.tex +++ b/templates/print/marei/ic_supply.tex @@ -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. diff --git a/templates/print/marei/ic_supply_EN.tex b/templates/print/marei/ic_supply_EN.tex index 6bda09020..5f9516c68 100644 --- a/templates/print/marei/ic_supply_EN.tex +++ b/templates/print/marei/ic_supply_EN.tex @@ -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]{}\\ diff --git a/templates/print/marei/insettings.tex b/templates/print/marei/insettings.tex index 5cfc860ff..d617bb0d4 100644 --- a/templates/print/marei/insettings.tex +++ b/templates/print/marei/insettings.tex @@ -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. @@ -37,15 +37,15 @@ % \identpath/_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. % @@ -76,15 +76,15 @@ % % \ifoot{}\cfoot{}\ofoot{} % 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 @@ -100,35 +100,38 @@ %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 diff --git a/templates/print/marei/invoice.tex b/templates/print/marei/invoice.tex index 3e36ab1b5..9a7aa65af 100644 --- a/templates/print/marei/invoice.tex +++ b/templates/print/marei/invoice.tex @@ -22,18 +22,18 @@ \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%>% @@ -43,21 +43,21 @@ <%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%>% @@ -65,32 +65,32 @@ \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%>% @@ -108,57 +108,57 @@ % 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} diff --git a/templates/print/marei/kiviletter.sty b/templates/print/marei/kiviletter.sty index 90ccaff51..8b88595a9 100644 --- a/templates/print/marei/kiviletter.sty +++ b/templates/print/marei/kiviletter.sty @@ -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} @@ -71,10 +79,10 @@ \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 +%% ---------------------------------------------------------------- +%% 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 diff --git a/templates/print/marei/kivitendo.sty b/templates/print/marei/kivitendo.sty index 6e91e74fb..4e6ed0b1a 100644 --- a/templates/print/marei/kivitendo.sty +++ b/templates/print/marei/kivitendo.sty @@ -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 @@ -143,17 +143,17 @@ % 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{% @@ -174,7 +174,7 @@ \endgroup \vskip 2ex\nobreak \addcontentsline{toc}{section}{\protect\numberline{\thesection{}.}#1}% - } +} \def\unnumberedsectionwithtwoarguments[#1]#2{% \ifhmode\par\fi \removelastskip diff --git a/templates/print/marei/letter.tex b/templates/print/marei/letter.tex index 1ea7a2d5b..7ec5ef2a3 100644 --- a/templates/print/marei/letter.tex +++ b/templates/print/marei/letter.tex @@ -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) )$} diff --git a/templates/print/marei/pick_list.tex b/templates/print/marei/pick_list.tex index 612fa0c82..23736b55b 100644 --- a/templates/print/marei/pick_list.tex +++ b/templates/print/marei/pick_list.tex @@ -13,59 +13,59 @@ \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%>% @@ -77,10 +77,10 @@ \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} diff --git a/templates/print/marei/proforma.tex b/templates/print/marei/proforma.tex index b5396cd8f..6730a7ea1 100644 --- a/templates/print/marei/proforma.tex +++ b/templates/print/marei/proforma.tex @@ -17,100 +17,100 @@ \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%>% diff --git a/templates/print/marei/purchase_delivery_order.tex b/templates/print/marei/purchase_delivery_order.tex index 07488775b..123eef8c6 100644 --- a/templates/print/marei/purchase_delivery_order.tex +++ b/templates/print/marei/purchase_delivery_order.tex @@ -22,19 +22,19 @@ \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%>} @@ -43,21 +43,21 @@ <%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%>% @@ -67,13 +67,13 @@ \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 } @@ -81,23 +81,23 @@ \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 @@ -108,7 +108,7 @@ <%end if%>% <%if delivery_term%>% - \lieferung ~<%delivery_term.description_long%>\\ +\lieferung ~<%delivery_term.description_long%>\\ <%end delivery_term%>% \end{letter} diff --git a/templates/print/marei/purchase_order.tex b/templates/print/marei/purchase_order.tex index 677e2abd6..9c8d610f0 100644 --- a/templates/print/marei/purchase_order.tex +++ b/templates/print/marei/purchase_order.tex @@ -23,38 +23,38 @@ \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%>% @@ -62,58 +62,58 @@ \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%>% @@ -122,7 +122,7 @@ <%end if%>% <%if delivery_term%>% - \lieferung ~<%delivery_term.description_long%>\\ +\lieferung ~<%delivery_term.description_long%>\\ <%end delivery_term%>% \closing{\gruesse} diff --git a/templates/print/marei/receipt.tex b/templates/print/marei/receipt.tex index 272514097..ad428f7de 100644 --- a/templates/print/marei/receipt.tex +++ b/templates/print/marei/receipt.tex @@ -16,26 +16,26 @@ \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} diff --git a/templates/print/marei/request_quotation.tex b/templates/print/marei/request_quotation.tex index 963173598..0cfc11934 100644 --- a/templates/print/marei/request_quotation.tex +++ b/templates/print/marei/request_quotation.tex @@ -23,11 +23,11 @@ \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%>} @@ -35,48 +35,48 @@ \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%>% diff --git a/templates/print/marei/requirement_spec.tex b/templates/print/marei/requirement_spec.tex index 1d22e9cbc..d8fb2e5dc 100644 --- a/templates/print/marei/requirement_spec.tex +++ b/templates/print/marei/requirement_spec.tex @@ -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 )$ diff --git a/templates/print/marei/sales_delivery_order.tex b/templates/print/marei/sales_delivery_order.tex index 657abd973..2811e50c7 100644 --- a/templates/print/marei/sales_delivery_order.tex +++ b/templates/print/marei/sales_delivery_order.tex @@ -21,20 +21,20 @@ \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%>} @@ -43,47 +43,47 @@ \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} diff --git a/templates/print/marei/sales_order.tex b/templates/print/marei/sales_order.tex index 6bb10c5b7..23c4a45c2 100644 --- a/templates/print/marei/sales_order.tex +++ b/templates/print/marei/sales_order.tex @@ -24,37 +24,37 @@ \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%>% @@ -62,58 +62,58 @@ \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%>% @@ -122,7 +122,7 @@ <%end if%>% <%if delivery_term%>% - \lieferung ~<%delivery_term.description_long%>\\ +\lieferung ~<%delivery_term.description_long%>\\ <%end delivery_term%>% <%if reqdate%>% diff --git a/templates/print/marei/sales_quotation.tex b/templates/print/marei/sales_quotation.tex index 0190046d6..d6e03c879 100644 --- a/templates/print/marei/sales_quotation.tex +++ b/templates/print/marei/sales_quotation.tex @@ -19,9 +19,9 @@ \begin{document} \setkomavar{signature}{% -<%employee_company%>% -\ifhmode\\\fi -<%salesman_name%>% + <%employee_company%>% + \ifhmode\\\fi + <%salesman_name%>% } \setkomavar*{date}{\datum} @@ -32,98 +32,98 @@ \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\\ @@ -138,11 +138,11 @@ \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} diff --git a/templates/print/marei/statement.tex b/templates/print/marei/statement.tex index bfde48e38..7cd91a020 100644 --- a/templates/print/marei/statement.tex +++ b/templates/print/marei/statement.tex @@ -17,8 +17,8 @@ \setkomavar{title}{ - \sammelrechnung~ - \nr~<%quonumber%>% + \sammelrechnung~ + \nr~<%quonumber%>% } \setkomavar{transaction}{<%transaction_description%>} \setkomavar{customer}{<%customernumber%>} @@ -29,46 +29,46 @@ \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} diff --git a/templates/print/marei/zahlungserinnerung.tex b/templates/print/marei/zahlungserinnerung.tex index 09293ee77..abb601f78 100644 --- a/templates/print/marei/zahlungserinnerung.tex +++ b/templates/print/marei/zahlungserinnerung.tex @@ -22,44 +22,44 @@ \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} diff --git a/templates/print/marei/zahlungserinnerung_invoice.tex b/templates/print/marei/zahlungserinnerung_invoice.tex index da7de4bd1..9acdeab47 100644 --- a/templates/print/marei/zahlungserinnerung_invoice.tex +++ b/templates/print/marei/zahlungserinnerung_invoice.tex @@ -22,13 +22,13 @@ \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%>} @@ -36,36 +36,36 @@ \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