|
<html><head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<title>2.14. Drucken mit kivitendo</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.8.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s13.html" title="2.13. E-Mail"><link rel="next" href="ch02s15.html" title="2.15. OpenDocument-Vorlagen"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.14. Drucken mit kivitendo</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s13.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s15.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.14. Drucken mit kivitendo"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Drucken-mit-kivitendo"></a>2.14. Drucken mit kivitendo</h2></div></div></div><p>Das Drucksystem von kivitendo benutzt von Haus aus LaTeX-Vorlagen.
|
|
Um drucken zu können, braucht der Server ein geeignetes LaTeX System. Am
|
|
einfachsten ist dazu eine <code class="literal">texlive</code> Installation. Unter
|
|
debianoiden Betriebssystemen installiert man die Pakete mit:</p><p>
|
|
</p><pre class="programlisting">apt install texlive-base-bin texlive-latex-recommended texlive-fonts-recommended \
|
|
texlive-latex-extra texlive-lang-german ghostscript</pre><p>
|
|
</p><p>Für Fedora benötigen Sie die folgenden Pakete:</p><p>
|
|
</p><pre class="programlisting">dnf install texlive-collection-latex texlive-collection-latexextra \
|
|
texlive-collection-latexrecommended texlive-collection-langgerman \
|
|
texlive-collection-langenglish</pre><p>
|
|
</p><p>Für openSUSE benötigen Sie die folgenden Pakete:</p><p>
|
|
</p><pre class="programlisting">zypper install texlive-collection-latex texlive-collection-latexextra \
|
|
texlive-collection-latexrecommended texlive-collection-langgerman \
|
|
texlive-collection-langenglish</pre><p>
|
|
</p><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="system/docbook-xsl/images/note.png"></td><th align="left">Anmerkung</th></tr><tr><td align="left" valign="top"><p>kivitendo erwartet eine aktuelle TeX Live Umgebung, um PDF/A zu erzeugen. Aktuelle Distributionen von 2020 erfüllen diese. Überprüfbar ist dies mit dem Aufruf des installation_check.pl mit Parameter -l:</p><p>
|
|
</p><pre class="programlisting">scripts/installations_check.pl -l</pre><p>
|
|
</p></td></tr></table></div><p>kivitendo bringt drei alternative Vorlagensätze mit:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>RB</p></li><li class="listitem"><p>marei</p></li><li class="listitem"><p>rev-odt</p></li></ul></div><p>Der ehemalige Druckvorlagensatz "f-tex" wurde mit der Version
|
|
3.5.6 entfernt, da er nicht mehr gepflegt wird.</p><div class="sect2" title="2.14.1. Vorlagenverzeichnis anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Vorlagenverzeichnis-anlegen"></a>2.14.1. Vorlagenverzeichnis anlegen</h3></div></div></div><p>Es lässt sich ein initialer Vorlagensatz erstellen. Die
|
|
LaTeX-System-Abhängigkeiten hierfür kann man prüfen mit:</p><pre class="programlisting">./scripts/installation_check.pl -lv</pre><p>Der Angemeldete Benutzer muss in einer Gruppe sein, die über das
|
|
Recht "Konfiguration -> Mandantenverwaltung" verfügt. Siehe auch
|
|
<a class="xref" href="ch02s11.html#Gruppen-anlegen" title="2.11.4. Gruppen anlegen">Abschnitt 2.11.4, „Gruppen anlegen“</a>.</p><p>Im Userbereich lässt sich unter: "<span class="guimenu">System</span>
|
|
-> <span class="guisubmenu">Mandantenverwaltung</span> ->
|
|
<span class="guimenuitem">Verschiedenes</span>" die Option "Neue
|
|
Druckvorlagen aus Vorlagensatz erstellen" auswählen.</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
|
|
<code class="option">Vorlagen auswählen</code>: Wählen Sie hier den
|
|
Vorlagensatz aus, der kopiert werden soll
|
|
(<code class="filename">RB</code>, <code class="filename">marei</code> oder
|
|
<code class="filename">odt-rev</code>.)</p></li><li class="listitem"><p>
|
|
<code class="option">Neuer Name</code>: Der Verzeichnisname für den
|
|
neuen Vorlagensatz. Dieser kann im Rahmen der üblichen Bedingungen
|
|
für Verzeichnisnamen frei gewählt werden.</p></li></ol></div><p>Nach dem Speichern wird das Vorlagenverzeichnis angelegt und ist
|
|
für den aktuellen Mandanten ausgewählt. Der gleiche Vorlagensatz kann,
|
|
wenn er mal angelegt ist, bei mehreren Mandanten verwendet werden.
|
|
Eventuell müssen Anpassungen (Logo, Erscheinungsbild, etc) noch
|
|
vorgenommen werden. Den Ordner findet man im Dateisystem unter
|
|
<code class="filename">./templates/[Neuer Name]</code>
|
|
</p></div><div class="sect2" title="2.14.2. Der Druckvorlagensatz marei"><div class="titlepage"><div><div><h3 class="title"><a name="Aufbau des marei Vorlagensatzes"></a>2.14.2. Der Druckvorlagensatz marei</h3></div></div></div><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="system/docbook-xsl/images/note.png"></td><th align="left"><a name="marei.document.link"></a>Anmerkung</th></tr><tr><td align="left" valign="top"><p>Die aktuelle Dokumentation inkl. dem Foliensatz vom kivi-Treffen im August 2023 befindet sich hier:
|
|
<a class="ulink" href="https://peitex.de/materialien/2023-08-04_kivitendo/" target="_top"> https://peitex.de/materialien/2023-08-04_kivitendo/</a>
|
|
|
|
</p></td></tr></table></div><div class="sect3" title="2.14.2.1. Quickstart – Wo kann was angepasst werden?"><div class="titlepage"><div><div><h4 class="title"><a name="Quickstart %E2%80%93 Wo kann was angepasst werden?"></a>2.14.2.1. Quickstart – Wo kann was angepasst werden?</h4></div></div></div><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="system/docbook-xsl/images/note.png"></td><th align="left"><a name="do-not-edit-marei"></a>Anmerkung</th></tr><tr><td align="left" valign="top"><p>In keinem Fall sollten Dateien mit der Endung <code class="filename">*.cls</code> oder <code class="filename">*.sty</code> geändert werden. Durch Änderungen an diesen Dateien verhindert man Updates auf neuer Versionen.
|
|
Zwar kopiert kivitendo die Datei und bearbeitet diese beim Update nicht. Allerdings sind sämtliche Änderungen über die Konfigurationsdateien möglich und erhöhen die Wartbarkeit.</p></td></tr></table></div><div class="itemizedlist"><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>Pfad zu Angaben über Mandant*innen (default: firma)</p></li><li class="listitem"><p>Logo/Briefpapier, falls für alle Mandant*innen in gleicher Struktur. Sonst in der <code class="filename">ident.tex</code>.</p></li><li class="listitem"><p>Layout der Kopf/Fußzeile</p></li><li class="listitem"><p>innerhalb dieser Datei werden auch die folgenden Dateien geladen:</p></li><li class="listitem"><p>
|
|
<code class="filename">firma/ident.tex</code> Mandant*innenspezifische Konfiguration, Adressdaten</p></li><li class="listitem"><p>
|
|
<code class="filename">firma/$währungskürzel_account.tex</code>
|
|
</p></li></ul></div><ul class="itemizedlist" type="disc"><li class="listitem"><p>
|
|
<code class="filename">insettings.tex</code> :</p></li><li class="listitem"><p>Sprache/Übersetzungen.\\Es muss mindestens eine Sprache angelegt werden! </p><pre class="programlisting">
|
|
\item[deutsch.tex] Textschnipsel für Deutsch\\
|
|
Dafür eine Sprache mit Vorlagenkürzel DE anlegen
|
|
\item[english.tex] Textschnipsel für Englisch\\
|
|
Dafür eine Sprache mit Vorlagenkürzel EN anlegen
|
|
</pre><p>
|
|
</p></li></ul></div><p>Alle dokumententypspezifischen Einstellungen müssen in der jeweiligen Template-Datei modifiziert werden.</p></div><div class="sect3" title="2.14.2.2. Aufbau"><div class="titlepage"><div><div><h4 class="title"><a name="Aufbau"></a>2.14.2.2. Aufbau</h4></div></div></div><p>Die Grundstruktur besteht je Dokumententyp aus einer Basisdatei und verschiedenen Setup-Dateien.</p><p>Die Basis wurde so überarbeitet, dass Dokumente nun generell auf
|
|
der Dokumentenklasse <code class="filename">scrartcl.cls</code> basieren und
|
|
das Paket <code class="filename">kiviletter.sty</code> benutzen.</p><p>Mandant*innenspezifische Konfiguration findet sich in der Datei <code class="filename">insettings.tex</code> und
|
|
dem Ordner eines spezifischen Mandant*innen (default=*firma/*).</p></div><div class="sect3" title="2.14.2.3. Mandant*innen / Firma"><div class="titlepage"><div><div><h4 class="title"><a name="Mandant*innen / Firma"></a>2.14.2.3. Mandant*innen / Firma</h4></div></div></div><p>Um gleiche Vorlagen für verschiedene Firmen verwenden zu können, wird je
|
|
nach dem Wert der Kivitendo-Variablen \kivivar{kivicompany} ein
|
|
Firmenverzeichnis ausgewählt (siehe <code class="filename">insettings.tex</code>), in dem Briefkopf,
|
|
Identitäten und Währungs-/Kontoeinstellungen hinterlegt sind.
|
|
\kivivar{kivicompany} enthält den Namen des verwendeten Mandant*innendaten.
|
|
Ist kein Firmenname eingetragen, so wird das
|
|
generische Unterverzeichnis *firma* verwendet.</p></div><div class="sect3" title="2.14.2.4. Identitäten"><div class="titlepage"><div><div><h4 class="title"><a name="Identit%C3%A4ten"></a>2.14.2.4. Identitäten</h4></div></div></div><p>In jedem Firmen-Unterverzeichnis soll eine Datei <code class="filename">ident.tex</code>
|
|
vorhanden sein, die mit |\newcommand| Werte für |\telefon|, |\fax|,
|
|
|\firma|, |\strasse|, |\ort|, |\ustid|, |\email| und |\homepage| definiert.</p></div><div class="sect3" title="2.14.2.5. Währungen/Konten"><div class="titlepage"><div><div><h4 class="title"><a name="W%C3%A4hrungen/Konten"></a>2.14.2.5. Währungen/Konten</h4></div></div></div><p>Für jede Währung (siehe <code class="filename">insettings.tex</code>) soll eine Datei vorhanden
|
|
sein, die das Währungssymbol (|\currency|) und folgende Angaben für
|
|
ein Konto in dieser Währung enthält |\kontonummer|, |\bank|,
|
|
|\bankleitzahl|, |\bic| und |\iban|.
|
|
So kann in den Dokumenten je nach Währung ein anderes Konto
|
|
angegeben werden.
|
|
Nach demselben Schema können auch weitere, alternative Bankverbindungen
|
|
angelegt werden, die dann in <code class="filename">insettings.tex</code> als Variable in der Fußzeile eingefügt werden.</p><p>Als Fallback (falls kivitendo keine Währung an das Druckvorlagen-System übergibt)
|
|
ist Euro eingestellt. Dies lässt sich in der <code class="filename">insettings.tex</code> über das optionale Argument
|
|
von |\setupCurrencyConfig| anpassen, z.B.</p><pre class="programlisting">
|
|
\setupCurrencyConfig[chf]{\identpath}{\lxcurrency}</pre><p>für Schweizer Franken als Standardwährung.</p></div><div class="sect3" title="2.14.2.6. Briefbogen/Logos"><div class="titlepage"><div><div><h4 class="title"><a name="Briefbogen/Logos"></a>2.14.2.6. Briefbogen/Logos</h4></div></div></div><p>Eine Hintergrundgrafik oder ein Logo kann in Abhängigkeit vom
|
|
Medium (z.B. nur beim Verschicken mit E-Mail) eingebunden
|
|
werden.</p><p>Desweiteren sind (auskommentierte) Beispiele enthalten für eine
|
|
Grafik als Briefkopf, nur ein Logo, oder ein komplettes A4-PDF
|
|
als Briefpapier.</p><p>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 <code class="filename">insettings.tex</code> betreffen hierbei alle Mandant*innen. Spezifischere Einstellungen sind über die zugehörige Konfigurationsdatei (<code class="filename">ident.tex</code>) 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 <code class="filename">insettings.tex</code> enthalten.</p></div><div class="sect3" title="2.14.2.7. Fußzeile"><div class="titlepage"><div><div><h4 class="title"><a name="Fu%C3%9Fzeile"></a>2.14.2.7. Fußzeile</h4></div></div></div><p>Die Tabelle im Fuß verwendet die Angaben aus <code class="filename">firma/ident.tex</code> und
|
|
*firma/<code class="filename">\_account.tex</code>. Ihre Struktur wird in der <code class="filename">insettings.tex</code> definiert.
|
|
Sie kann anschließend auch Mandant*innenspezifisch überschrieben werden.</p></div><div class="sect3" title="2.14.2.8. Seitenstil/Basislayout"><div class="titlepage"><div><div><h4 class="title"><a name="Seitenstil/Basislayout"></a>2.14.2.8. Seitenstil/Basislayout</h4></div></div></div><p>Das Seitenlayout wird über \pck{scrlayer-scrpage} bestimmt. Die ausführliche Dokumentation findet sich in \cite{scrguide}.
|
|
Es existieren in der Datei <code class="filename">insettings.tex</code> einige Hinweise zu den Anpassungen. Die Basiskonfiguration ist ebenfalls dort eingetragen.</p><p>Neben den in Abschnitt \ref{sec:options} beschriebenen Optionen zum Abschalten der Fußzeile kann
|
|
der Inhalt der Fußzeile über die \pck{scrlayer-scrpage} Makros, wie</p><pre class="programlisting">
|
|
\cfoot[|\meta{Inhalt auf der ersten Briefseite}|]{|\meta{Inhalt auf folgenden Briefseiten}|} </pre><p>geändert werden.</p><p>Die Kopfzeile unterscheidet sich von Dokumententyp zu Dokumententyp leicht, da diese über Datenbankvariablen befüllt wird.
|
|
Hierfür wird das Makro |\ourhead| in der <code class="filename">insettings.tex</code> definiert.</p><pre class="programlisting">
|
|
\DescribeMacro{\ourhead}\marg{Bezeichner}\marg{Eintrag}\marg{Titel}\marg{Nummer}\marg{Datum} </pre><p>Diese Definition kann ebenfalls über die <code class="filename">insettings.tex</code> angepasst oder auch nachträglich überschrieben werden:</p><pre class="programlisting">
|
|
\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 ~-%
|
|
}%
|
|
}%
|
|
}
|
|
</pre><p>In der Standard-Einstellung sieht eine Kopfzeile mit obigen Aufruf dann folgendermaßen aus:</p><pre class="programlisting">
|
|
\newcommand{\ourhead}[5] {%
|
|
\makebox[\textwidth]{%
|
|
\Ifstr{#1}{}{}{#1: #2 \hspace{0.7cm}}%
|
|
#3%
|
|
\Ifstr{#4}{}{}{~\nr: #4}%
|
|
\Ifstr{#5}{}{}{\vom ~ #5}%
|
|
\hspace{0.7cm} - \seite ~ \thepage/\letterlastpage ~-%
|
|
}%
|
|
}
|
|
|
|
\begingroup
|
|
\def\letterlastpage{50}
|
|
|
|
\ourhead{arg1}{arg2}{arg3}{arg4}{arg5}
|
|
|
|
\smallskip
|
|
Erzeugt mit dem Aufruf
|
|
\ourhead{arg1}{arg2}{arg3}{arg4}{arg5}
|
|
\endgroup </pre></div><div class="sect3" title="2.14.2.9. Absenderergänzung"><div class="titlepage"><div><div><h4 class="title"><a name="Absendererg%C3%A4nzung"></a>2.14.2.9. Absenderergänzung</h4></div></div></div><p>Die Absenderergänzung wird über die Variable |location| in der |kiviletter.sty| folgendermaßen belegt:</p><pre class="programlisting">
|
|
\setkomavar{location}{
|
|
\Ifkomavarempty{transaction}{}{{
|
<