+ <sect3 id="f-tex-Funktionsübersicht">
+ <title>f-tex Funktionsübersicht</title>
+ <para>
+ Das Konzept von kivitendo sieht vor, für jedes Dokument (Auftragsbestätigung, Lieferschein, Rechnung, etc.) eine LaTeX-Vorlage
+ vorzuhalten, dies ist sehr wartungsunfreundlich. Auch das Einlesen einer einheitlichen Quelle für den Briefkopf bringt nur
+ bedingte Vorteile, da hier leicht die Pflege der Artikel-Tabellen aus dem Ruder läuft. Bei dem vorliegenden Ansatz wird für alle
+ briefartigen Dokumente mit Artikel-Tabellen eine einheitliche LaTeX-Vorlage verwendet, welche über Codeweichen die
+ Besonderheiten der jeweiligen Dokumente berücksichtigt:
+ </para>
+
+ <itemizedlist>
+ <listitem><para>Tabellen mit oder ohne Preis</para></listitem>
+ <listitem><para>Sprache der Tabellenüberschriften etc.</para></listitem>
+ <listitem><para>Anpassung der Bezugs-Zeile (z.B. Rechnungsnummer versus Angebotsnummer)</para></listitem>
+ <listitem><para>Darstellung von Brutto oder Netto-Preisen in der Auflistung (Endverbraucher versus gewerblicher
+ Kunde)</para></listitem>
+ </itemizedlist>
+
+ <para>Nachteil:</para>
+
+ <para>
+ LaTeX hat ohnehin eine sehr steile Lehrnkurve. Die Datei <filename>letter.tex</filename> ist sehr komplex und verstärkt damit
+ diesen Effekt noch einmal erheblich. Wer LaTeX-Erfahrung hat, oder geübt ist Scriptsparachen nachzuvollziehen kann natürlich
+ auch innerhalb der Tabellendarstellung gut persönliche Anpassungen vornehmen. Aber man kann sich hier bei Veränderungen sehr
+ schnell heftig in den Fuss schiessen.
+ </para>
+
+ <para>Wer nicht so tief in die Materie einsteigen will oder leicht zu frustrieren ist, sollte sein Hintergrund-PDF auf Basis der
+ mitglieferten Datei <filename>sample_head.pdf</filename> erstellen, und sich an der Form der dargestellten Tabellen, wie sie
+ ausgeliefert werden, erfreuen.
+ </para>
+
+ <para>Kleiner Tipp: Nicht zu viel auf einmal wollen, lieber kleine, kontinuierliche Schritte gehen.</para>
+
+ </sect3>
+
+ <sect3 id="f-tex-Bruttopreise">
+ <title>Bruttopreise für Endverbraucher</title>
+
+ <para>Der auszuweisende Bruttopreis wird innerhalb der LaTeX-Umgebung berechnet. Es gibt zwar ein Feld, um bei Aufträgen "alle
+ Preise Brutto" auszuwählen, aber:</para>
+ <itemizedlist>
+ <listitem>
+ <para>hierfür müssen die Preise auch in Brutto in der Datenbank stehen (ja - das lässt sich über die Preisgruppen und die
+ Zuordung einer Default-Preisgruppe handhaben)</para>
+ </listitem>
+ <listitem>
+ <para>man darf beim Anlegen des Vorgangs nicht vergessen, dieses Häkchen zu setzen. (Das ist in der Praxis, wenn man sowohl
+ Endverbraucher als auch Gewerbekunden beliefert, der eigentliche Knackpunkt)</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ Es gibt mit f-tex eine weitere Alternative. Die Information ob Brutto oder Nettorechnung wird mit den Zahlarten
+ verknüpft. Zahlarten bei denen Rechnungen, Angebote, etc, in Brutto ausgegeben werden sollen, enden mit "_E" (für
+ Endverbraucher). Falls identische Zahlarten für Gewerbekunden und Endverbraucher vorhanden sind, legt man diese einfach doppelt
+ an (einmal mit der Namensendung "_E"). Gewinn:</para>
+
+ <itemizedlist>
+ <listitem><para>Die Entscheidung, ob Netopreise ausgewiesen werden, ist nicht mehr fix mit einer Preisliste verbunden.</para></listitem>
+ <listitem><para>Die Default-Zahlart kann im Kundendatensatz hinterlegt werden, und man muss nicht mehr daran denken, "alle Preise
+ Netto" auszuwählen.</para></listitem>
+ <listitem><para>Die Entscheidung, ob Netto- oder Bruttopreise ausgewiesen werden, kann direkt beim Drucken revidiert werden,
+ ohne dass sich der Auftragswert ändert.</para></listitem>
+ </itemizedlist>
+ </sect3>
+
+ <sect3 id="f-tex-lieferadressen">
+ <title>Lieferadressen</title>
+
+ <para>In Lieferscheinen kommen <varname>shipto*</varname>-Variablen im Adressfeld zum Einsatz. Wenn die
+ <varname>shipto*</varname>-Variable leer ist, wird die entsprechende Adressvariable eingesetzt. Wenn also die Lieferadresse in
+ Straße, Hausnummer und Ort abweicht, müssen auch nur diese Felder in der Lieferadresse ausgefüllt werden. Für den Firmenname wird
+ der Wert der Hauptadresse angezeigt.
+ </para>
+ </sect3>
+ </sect2>
+
+ <sect2 id="Vorlagen-RB">
+ <title>Der Druckvorlagensatz RB</title>
+
+ <para>Hierbei handelt es sich um einen vollständigen Dokumentensatz mit alternativem Design.</para>
+ <para>Die konzeptionelle Idee der Vorlagen wird <ulink
+ url="http://www.kivitendo-support.de/vortraege/Lx-Office%20Anwendertreffen%20LaTeX-Druckvorlagen-Teil3-finale.pdf">hier</ulink>
+ auf Folie 5 bis 10 vorgestellt. Informationen zur Anpassung an die eigenen Firmendaten finden sich in der Datei Readme.tex im Vorlagenverzeichnis.</para>
+
+ </sect2>
+
+ <sect2 id="allgemeine-hinweise-zu-latex">
+ <title>Allgemeine Hinweise zu LaTeX Vorlagen</title>
+ <para>In den allermeisten Installationen sollte das Drucken jetzt schon
+ funktionieren. Sollte ein Fehler auftreten, wirft TeX sehr lange
+ Fehlerbeschreibungen, der eigentliche Fehler ist immer die erste Zeile,
+ die mit einem Ausrufezeichen anfängt. Häufig auftretende Fehler sind zum
+ Beispiel:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>! LaTeX Error: File `eurosym.sty' not found. Die entsprechende
+ LaTeX-Bibliothek wurde nicht gefunden. Das tritt vor allem bei
+ Vorlagen aus der Community auf. Installieren Sie die entsprechenden
+ Pakete.</para>
+ </listitem>
+ <listitem>
+ <para>! Package inputenc Error: Unicode char \u8:... set up for
+ use with LaTeX. Dieser Fehler tritt auf, wenn sie versuchen mit
+ einer Standardinstallation exotische utf8 Zeichen zu drucken.
+ TeXLive unterstützt von Haus nur romanische Schriften und muss mit
+ diversen Tricks dazu gebracht werden andere Zeichen zu akzeptieren.
+ Adere TeX Systeme wie XeTeX schaffen hier Abhilfe.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Wird garkein Fehler angezeigt sondern nur der Name des Templates,
+ heißt das normalerweise, dass das LaTeX Binary nicht gefunden wurde.
+ Prüfen Sie den Namen in der Konfiguration (Standard:
+ <literal>pdflatex</literal>), und stellen Sie sicher, dass pdflatex
+ (oder das von Ihnen verwendete System) vom Webserver ausgeführt werden
+ darf.</para>
+
+ <para>Wenn sich das Problem nicht auf Grund der ausgabe im Webbrowser verifizieren lässt:</para>
+ <itemizedlist>
+ <listitem>
+ <para> editiere [kivitendo-home]/config/kivitendo.conf und ändere "keep_temp_files" auf 1</para>
+ <para><programlisting>keep_temp_files = 1;</programlisting></para>
+ </listitem>
+ <listitem>
+ <para>bei fastcgi oder mod_perl den Webserver neu Starten</para>
+ </listitem>
+ <listitem>
+ <para>Nochmal einen Druckversuch im Webfrontend auslösen</para>
+ </listitem>
+ <listitem>
+ <para>wechsele in das users Verzeichnis von kivitendo</para>
+ <para><programlisting>cd [kivitendo-home]/users</programlisting></para>
+ </listitem>
+ <listitem>
+ <para>LaTeX Suchpfad anpassen:</para>
+ <para><programlisting>export TEXINPUTS=".:[kivitendo-home]/templates/[aktuelles_template_verzeichniss]:"</programlisting></para>
+ </listitem>
+ <listitem>
+ <para>Finde herraus welche Datei kivitendo beim letzten Durchlauf erstellt hat</para>
+ <para><programlisting>ls -lahtr ./1*.tex</programlisting></para>
+ <para>Es sollte die letzte Datei ganz unten sein</para>
+ </listitem>
+ <listitem>
+ <para>für besseren Hinweis auf Fehler texdatei nochmals übersetzen</para>
+ <para><programlisting>pdflatex ./1*.tex</programlisting></para>
+ <para>in der *.tex datei nach dem Fehler suchen.</para>
+ </listitem>
+ </itemizedlist>
+ </sect2>