epic-ts
[kivitendo-erp.git] / templates / print / marei / insettings.tex
index 6babce3..5cfc860 100644 (file)
 \ProvidesFile{insettings.tex}[2019/12/22 Konfigurationsdatei kivitendo ERP]
 % Sprachüberprüfung
 \RequirePackage[english, ngerman]{babel}
-\ifstr{\lxlangcode}{EN}{
-       \makeatletter
+
+\makeatletter
+\Ifstr{\lxlangcode}{EN}{
        \main@language{english}
-       \makeatother
        \input{english.tex}}{
-       \ifstr{\lxlangcode}{DE}{
-               \makeatletter
+       \Ifstr{\lxlangcode}{DE}{
                \main@language{ngerman}
-               \makeatother
                \input{deutsch.tex}}{\input{deutsch.tex}}
 } % Ende EN
 
-
 % Mandanten-/Firmenabhängigkeiten
 
-% Pfad zu firmenspez. Angaben
-% Hat man mehrere Mandanten muß man statt "Firma1" den Datenbanknamen seines
-% Mandanten eingeben.
-
-\ExplSyntaxOn
-\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}
-       {
-       \str_if_in:NnTF \kivicompany {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}
-       }
-}
-
-\ExplSyntaxOff
-
-
-% Identität
-\input{\identpath/ident.tex}
-
-\ExplSyntaxOn
+% Pfad zu firmenspez. Angaben, sofern kein Unterordner mit dem Datenbanknamen des Mandanten in der Vorlage existiert, wird der Unterordner „firma“ verwendet. Der Datenbankname ist ab hier im Makro \identpath gespeichert
+\setupIdentpath{\kivicompany}
 
 %Setze Briefkopf-logo falls vorhanden
 \setkomavar{fromlogo}{\includegraphics[width=.25\linewidth]{\identpath/briefkopf}}
 
-% Währungen/Konten
-\tl_new:N \g_kivi_currency_tl
-\str_if_in:NnT \lxcurrency {USD} {\tl_gset:Nn \g_kivi_currency_tl {usd}}
-\str_if_in:NnT \lxcurrency {CHF} {\tl_gset:Nn \g_kivi_currency_tl {chf}}
-\str_if_in:NnT \lxcurrency {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}
-}
+%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.
+%]{background}
+%\AddLayersToPageStyle{kivitendo.letter.first}{background}%Hintergrund für die erste Seite aktivieren
+%\AddLayersToPageStyle{kivitendo.letter}{background}% Hintergrund für die übrigen Briefseiten aktivieren.
 
-\input{\identpath/\g_kivi_currency_tl _account.tex}
-
-\ExplSyntaxOff
+% Lade die Konfiguration aus dem entsprechenden Unterordner
+\input{\identpath/ident.tex}
 
 
-% keine Absätze nach rechts einrücken
-\setlength\parindent{0pt}
+% Währungen/Konten
+% Die Konfiguration bedindet sich in der Datei 
+% \identpath/<euro/chf/usd/default>_account.tex
 
+\@ifundefined{lxcurrency}{}{
+       \setupCurrencyConfig{\identpath}{\lxcurrency}
+}
 
 
 % Befehl f. normale Schriftart und -größe
+
+\KOMAoptions{
+       fontsize=10pt,
+       parskip=half-,% Absatzkennzeichnung durch Abstand statt Einzug
+}
+% Hier ist es auch möglich zusätzliche Schriftarten zu laden.
+% 
+% - Falls pdfLaTeX verwendet wird, findet man unter https://www.tug.org/FontCatalogue/ eine gute *bersicht, wie die Schrifteen geladen werden.
+%
+% In diesem Beispiel wird lediglich auf eine Serifenlose Schriftart umgestellt.
 \renewcommand*{\familydefault}{\sfdefault}
-\KOMAoptions{fontsize=10pt}
+% - Falls XeLaTeX/LuaLaTeX verwendet wird, kann mit fontspec über den Namen eine Installierte Systemschriftart verwendet werden.
+% \usepackage{fontspec}
+% \setmainfont{Schriftart}
+% ggf. muss dann die Änderung von \familydefault entfernt werden.
 
 % Einstellungen f. Kopf und Fuss
 \pagestyle{kivitendo.letter}
-% Befehl f. laufende Kopfzeile:
+
+
+% Beginn Anpassungen der Kopfzeile:
+\setkomafont{pagehead}{\scriptsize}
+% Das Standardformat setzt in der Kopfzeile die folgende Reihenfolge:
+%
 % 1. Text f. Kunden- oder Lieferantennummer (oder leer, wenn diese nicht ausgegeben werden soll)
 % 2. Kunden- oder Lieferantennummer (oder leer)
 % 3. Belegname {oder leer}
 % 4. Belegnummer {oder leer}
 % 5. Belegdatum {oder leer}
 % Beispiel: \ourhead{\kundennummer}{<%customernumber%>}{\angebot}{<%quonumber%>}{<%quodate%>}
-\setkomafont{pagehead}{\scriptsize}
+% Eine Anpassunge ist über Änderung dieses Makros möglich oder über direktes Befüllen der Felder 
+% % \ifoot{<inhalt innen/links>}\cfoot{<inhalt zentriert>}\ofoot{<inhalt außen/rechts>}
+% dann sollte jedoch darauf geachtet werden, dass das Makro in den einzelnen Vorlagen aufgerufen wird und daher definiert sein sollte. 
 \newcommand{\ourhead}[5] {
-\chead{
-  \ifnum\thepage=1
-  \else
-      \makebox[\textwidth]{
-      \ifstr{#1}{}{}{#1: #2 \hspace{0.7cm}}
-      #3
-      \ifstr{#4}{}{}{~\nr: #4}
-      \ifstr{#5}{}{}{\vom ~ #5}
-      \hspace{0.7cm} - \seite ~ \thepage/\letterlastpage  ~-%
-      }
-  \fi
-}
+       \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  ~-%
+         }
+       }
 }
 
-%% % Firmenfuss
-% Das speichern als Box ermöglicht es, die Höhe automatisch anzupassen:
-\setkomafont{pagefoot}{\tiny}
+%Ende Anpassungen der Kopfzeile
+
+
+%Beginn Anpassungen der Fußzeile:
+%Der folgende Block passt die Fußzeile so an, dass sich der untere Rand automatisch anpasst. Der Inhaltsteil ist entsprechend markiert, anstatt dieser Anpassungen ist es auch möglich den Fuß über die KOMA-Script-Makros 
+% \ifoot{<inhalt innen/links>}\cfoot{<inhalt zentriert>}\ofoot{<inhalt außen/rechts>}
+% anzupassen.
+\normalfont %Basisschriftart aktivieren, damit der Fuß entsprechend gebaut wird.
+\setkomafont{pagefoot}{\tiny} %Kleine schriftart für den Fußblock
+
+%Box generieren, um die Höhe des Fußes zu kennen, damit ist eine automatische Anpassung des unteren Randes möglich
+\if@kivi@footer
 
-%Box generieren, um die Höhe des Fußres zu kennen
 \newsavebox\footerbox
 \begin{lrbox}\footerbox
        \usekomafont{pagefoot}%
-     \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}p{5cm}p{4.5cm}lr@{}}%
-       \firma                 & \email              & \textKontonummer & \kontonummer \\
-       \strasse               & \homepage           & \textBank        & \bank \\
-       \ort                   & \textUstid\ \ustid  & \textIban        & \iban \\
-       \textTelefon~\telefon  & \finanzamt          & \textBic         & \bic \\
-       \ifstr{\fax}{}{}{\textFax~\fax} & &\textBankleitzahl    & \bankleitzahl
+       % 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}
-\geometry{bottom=\dimexpr\csname g_kivi_margin_dim\endcsname +\footheight}
-\savegeometry{kivi.letter@default}
+\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
+}
 
-%Box in den Fuß eintragen:
-\cfoot{\usebox\footerbox}
+\fi
+% Ende Anpassungen der Fußzeile
 
+\makeatother
 \endinput