Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 5bb76a79

Von Jan Büren vor mehr als 1 Jahr hinzugefügt

  • ID 5bb76a79d7f62bd984072aad87785b6bbb0ccb7b
  • Vorgänger b38450d2
  • Nachfolger b68acc78

dokumentation: Marei Druckvorlagensatz

Unterschiede anzeigen:

doc/dokumentation.xml
2300 2300
        vorgenommen werden. Den Ordner findet man im Dateisystem unter
2301 2301
        <filename>./templates/[Neuer Name]</filename></para>
2302 2302
      </sect2>
2303
 <sect2 id="Aufbau des marei Vorlagensatzes">
2304
  <title>Aufbau des marei Vorlagensatzes</title>
2303 2305

  
2306
  <sect3 id="Quickstart – Wo kann was angepasst werden?">
2307
    <title>Quickstart – Wo kann was angepasst werden?</title>
2308

  
2309
    <para>In keinem Fall sollten Dateien mit der Endung <filename>*.cls</filename> oder <filename>*.sty</filename> geändert werden. Durch Änderungen an diesen Dateien verhindert man Updates auf neuer Versionen.
2310
    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.</para>
2311

  
2312
    <itemizedlist>
2313
      <listitem>
2314
        <para><filename>insettings.tex</filename> :</para>
2315
      </listitem>
2316

  
2317
        <itemizedlist>
2318
        <listitem>
2319
          <para>Pfad zu Angaben über Mandant*innen (default: firma)</para>
2320
        </listitem>
2321

  
2322
        <listitem>
2323
          <para>Logo/Briefpapier, falls für alle Mandant*innen in gleicher Struktur. Sonst in der <filename>ident.tex</filename>.</para>
2324
        </listitem>
2325

  
2326
        <listitem>
2327
          <para>Layout der Kopf/Fußzeile</para>
2328
        </listitem>
2329

  
2330
        <listitem>
2331
          <para>innerhalb dieser Datei werden auch die folgenden Dateien geladen:</para>
2332
        </listitem>
2333

  
2334
        <listitem>
2335
          <para><filename>firma/ident.tex</filename> Mandant*innenspezifische Konfiguration, Adressdaten</para>
2336
        </listitem>
2337

  
2338
        <listitem>
2339
          <para><filename>firma/$währungskürzel_account.tex</filename></para>
2340
        </listitem>
2341
        </itemizedlist>
2342

  
2343
      <listitem>
2344
        <para>Sprache/Übersetzungen.\\Es muss mindestens eine Sprache angelegt werden!</para>
2345
      </listitem>
2346
        <programlisting>
2347
        \begin{description}
2348
        \item[deutsch.tex] Textschnipsel für Deutsch\\
2349
                              Dafür eine Sprache mit Vorlagenkürzel DE anlegen
2350
        \item[english.tex] Textschnipsel für Englisch\\
2351
                              Dafür eine Sprache mit Vorlagenkürzel EN anlegen
2352
        \end{description}
2353
        </programlisting>
2354
    </itemizedlist>
2355

  
2356
    <para>Alle dokumententypspezifischen Einstellungen müssen in der jeweiligen Template-Datei modifiziert werden.</para>
2357

  
2358
  </sect3>
2359
  <sect3 id="Aufbau">
2360
    <title>Aufbau</title>
2361
    <para>Die Grundstruktur besteht je Dokumententyp aus einer Basisdatei und verschiedenen Setup-Dateien.</para>
2362

  
2363
    <para>Die Basis wurde so überarbeitet, dass Dokumente nun generell auf
2364
    der Dokumentenklasse <filename>scrartcl.cls</filename> basieren und
2365
    das Paket <filename>kiviletter.sty</filename> benutzen.</para>
2366

  
2367
    <para>Mandant*innenspezifische Konfiguration findet sich in der Datei <filename>insettings.tex</filename> und
2368
    dem Ordner eines spezifischen Mandant*innen (default=*firma/*).</para>
2369

  
2370

  
2371
    <!-- <sect2 id="Struktur der Basisdatei (je Dokumententyp eine)">
2372
    <title>Struktur der Basisdatei (je Dokumententyp eine)</title>
2373

  
2374
      <orderedlist>
2375
        <listitem>
2376
        <para>Dokumentenklasse</para>
2377
        </listitem>
2378

  
2379
        <listitem>
2380
        <para><filename>kiviletter.sty</filename></para>
2381
        </listitem>
2382

  
2383
        <listitem>
2384
        <para>Einstellungen, die über Variablen gesetzt werden: Mandant, Währung, Sprache</para>
2385
        </listitem>
2386

  
2387
        <listitem>
2388
        <para><filename>insettings.tex</filename> wird geladen. Anteil der spezifischen Anpassungen, die von den Variablen unter 2. abhängig sind.
2389
        Geladen werden darin die Dateien:</para>
2390
        </listitem>
2391

  
2392
        <itemizedlist>
2393
          <listitem>
2394
              <para>Sprache: lädt die entsprechende Sprachdatei <filename>deutsch.tex</filename> (DE) oder  <filename>englisch.tex</filename> (EN) und setzt die babel Optionen.
2395
              Die Datei enthält Übersetzungen von Einzelbegriffen und Textbausteinen.</para>
2396
            </listitem>
2397

  
2398
          <listitem>
2399
              <para>Lädt die Konfigurationsdatei, ohne spezielle Mandant*innen ist der Suchpfad zur Konfiguration der Unterordner <filename>firma/</filename></para>
2400
            </listitem>
2401

  
2402
            <listitem>
2403
            <para>Lädt die Datei <filename>ident.tex</filename> welche Mandant*innenspezifische Anpassungen enthält.</para>
2404
            </listitem>
2405
        </itemizedlist>
2406

  
2407
      </orderedlist>
2408
    -->
2409

  
2410
  </sect3>
2411
  <sect3 id="Mandant*innen / Firma">
2412
    <title>Mandant*innen / Firma</title>
2413

  
2414
    <para>Um gleiche Vorlagen für verschiedene Firmen verwenden zu können, wird je
2415
    nach dem Wert der Kivitendo-Variablen \kivivar{kivicompany} ein
2416
    Firmenverzeichnis ausgewählt (siehe <filename>insettings.tex</filename>), in dem Briefkopf,
2417
    Identitäten und Währungs-/Kontoeinstellungen hinterlegt sind.
2418
    \kivivar{kivicompany} enthält den Namen des verwendeten Mandant*innendaten.
2419
    Ist kein Firmenname eingetragen, so wird das
2420
    generische Unterverzeichnis *firma* verwendet.</para>
2421

  
2422

  
2423
  </sect3>
2424
  <sect3 id="Identitäten">
2425
    <title>Identitäten</title>
2426

  
2427
    <para>In jedem Firmen-Unterverzeichnis soll eine Datei <filename>ident.tex</filename>
2428
    vorhanden sein, die mit |\newcommand| Werte für |\telefon|, |\fax|,
2429
    |\firma|, |\strasse|, |\ort|, |\ustid|, |\email| und |\homepage| definiert.</para>
2430

  
2431

  
2432
  </sect3>
2433
  <sect3 id="Währungen/Konten">
2434
    <title>Währungen/Konten</title>
2435

  
2436
    <para>Für jede Währung (siehe <filename>insettings.tex</filename>) soll eine Datei vorhanden
2437
    sein, die das Währungssymbol (|\currency|) und folgende Angaben für
2438
    ein Konto in dieser Währung enthält |\kontonummer|, |\bank|,
2439
    |\bankleitzahl|, |\bic| und |\iban|.
2440
    So kann in den Dokumenten je nach Währung ein anderes Konto
2441
    angegeben werden.
2442
    Nach demselben Schema können auch weitere, alternative Bankverbindungen
2443
    angelegt werden, die dann in <filename>insettings.tex</filename> als Variable in der Fußzeile eingefügt werden.</para>
2444

  
2445
    <para>Als Fallback (falls kivitendo keine Währung an das Druckvorlagen-System übergibt)
2446
    ist Euro eingestellt. Dies lässt sich in der <filename>insettings.tex</filename> über das optionale Argument
2447
    von |\setupCurrencyConfig| anpassen, z.B.</para>
2448

  
2449
    <programlisting>
2450
    \setupCurrencyConfig[chf]{\identpath}{\lxcurrency}
2451
    </programlisting>
2452
    <para>für Schweizer Franken als Standardwährung.</para>
2453

  
2454

  
2455
  </sect3>
2456
  <sect3 id="Briefbogen/Logos">
2457
    <title>Briefbogen/Logos</title>
2458

  
2459
    <para>Eine Hintergrundgrafik oder ein Logo kann in Abhängigkeit vom
2460
    Medium (z.B. nur beim Verschicken mit E-Mail) eingebunden
2461
    werden.</para>
2462

  
2463
    <para>Desweiteren sind (auskommentierte) Beispiele enthalten für eine
2464
    Grafik als Briefkopf, nur ein Logo, oder ein komplettes A4-PDF
2465
    als Briefpapier.</para>
2466

  
2467
    <para>Absolute Positionierung innerhalb des Brief-Layouts ist über die entsprechende Dokumentation des scrlayer-Paketes möglich.
2468
    Da die Voreinstellungen bereits einige Sonderfälle automatisch berücksichtigen ist mit den Anpassungen Vorsicht geboten.
2469
    Sämtliche Einstellungen sollten jedoch außerhalb der *.sty-Dateien vorgenommen werden.
2470
    Anpassungen der <filename>insettings.tex</filename> betreffen hierbei alle Mandant*innen. Spezifischere Einstellungen sind über die zugehörige Konfigurationsdatei (<filename>ident.tex</filename>) möglich.
2471
    In diesem Fall kann zum Ende der insettings eine weitere Konfigurationsdatei über die Verwendung von |\identpath| geladen werden. Ein Beispiel ist in der <filename>insettings.tex</filename> enthalten.</para>
2472

  
2473

  
2474
  </sect3>
2475
  <sect3 id="Fußzeile">
2476
    <title>Fußzeile</title>
2477

  
2478
    <para>Die Tabelle im Fuß verwendet die Angaben aus <filename>firma/ident.tex</filename> und
2479
    *firma/<filename>\_account.tex</filename>. Ihre Struktur wird in der <filename>insettings.tex</filename> definiert.
2480
    Sie kann anschließend auch Mandant*innenspezifisch überschrieben werden.</para>
2481

  
2482

  
2483
  </sect3>
2484
  <sect3 id="Seitenstil/Basislayout">
2485
    <title>Seitenstil/Basislayout</title>
2486

  
2487
    <para>Das Seitenlayout wird über \pck{scrlayer-scrpage} bestimmt. Die ausführliche Dokumentation findet sich in \cite{scrguide}.
2488
    Es existieren in der Datei <filename>insettings.tex</filename> einige Hinweise zu den Anpassungen. Die Basiskonfiguration ist ebenfalls dort eingetragen.</para>
2489

  
2490
    <para>Neben den in Abschnitt \ref{sec:options}  beschriebenen Optionen zum Abschalten der Fußzeile kann
2491
    der Inhalt der Fußzeile über die \pck{scrlayer-scrpage} Makros, wie</para>
2492
    <programlisting>
2493
      \cfoot[|\meta{Inhalt auf der ersten Briefseite}|]{|\meta{Inhalt auf folgenden Briefseiten}|}
2494
    </programlisting>
2495

  
2496
    <para>geändert werden.</para>
2497

  
2498
    <para>Die Kopfzeile unterscheidet sich von Dokumententyp zu Dokumententyp leicht, da diese über Datenbankvariablen befüllt wird.
2499
    Hierfür wird das Makro |\ourhead| in der <filename>insettings.tex</filename> definiert.</para>
2500

  
2501
    <programlisting>
2502
      \DescribeMacro{\ourhead}\marg{Bezeichner}\marg{Eintrag}\marg{Titel}\marg{Nummer}\marg{Datum}
2503
    </programlisting>
2504

  
2505
    <para>Diese Definition kann ebenfalls über die <filename>insettings.tex</filename> angepasst oder auch nachträglich überschrieben werden:</para>
2506

  
2507
    <programlisting>
2508
      \newcommand{\ourhead}[5] {%
2509
        \chead{%
2510
          \makebox[\textwidth]{%
2511
            \Ifstr{#1}{}{}{#1: #2 \hspace{0.7cm}}%
2512
            #3%
2513
            \Ifstr{#4}{}{}{~\nr: #4}%
2514
            \Ifstr{#5}{}{}{\vom ~ #5}%
2515
            \hspace{0.7cm} - \seite ~ \thepage/\letterlastpage  ~-%
2516
          }%
2517
        }%
2518
      }
2519
    </programlisting>
2520
    <para>In der Standard-Einstellung sieht eine Kopfzeile mit obigen Aufruf dann folgendermaßen aus:</para>
2521

  
2522
    <programlisting>
2523
      \newcommand{\ourhead}[5] {%
2524
          \makebox[\textwidth]{%
2525
            \Ifstr{#1}{}{}{#1: #2 \hspace{0.7cm}}%
2526
            #3%
2527
            \Ifstr{#4}{}{}{~\nr: #4}%
2528
            \Ifstr{#5}{}{}{\vom ~ #5}%
2529
            \hspace{0.7cm} - \seite ~ \thepage/\letterlastpage  ~-%
2530
          }%
2531
      }
2532

  
2533
      \begingroup
2534
      \def\letterlastpage{50}
2535

  
2536
      \ourhead{arg1}{arg2}{arg3}{arg4}{arg5}
2537

  
2538
      \smallskip
2539
      Erzeugt mit dem Aufruf
2540
      \ourhead{arg1}{arg2}{arg3}{arg4}{arg5}
2541
      \endgroup
2542
    </programlisting>
2543

  
2544

  
2545
  </sect3>
2546
  <sect3 id="Absenderergänzung">
2547
    <title>Absenderergänzung</title>
2548

  
2549
    <para>Die Absenderergänzung wird über die Variable |location| in der |kiviletter.sty| folgendermaßen belegt:</para>
2550

  
2551
    <programlisting>
2552
      \setkomavar{location}{
2553
        \Ifkomavarempty{transaction}{}{{
2554
              \usekomafont{transaction}
2555
              \usekomavar{transaction}
2556
            }
2557
        }
2558
        \par
2559
        \medskip
2560
        \parbox{\useplength{locwidth}}{
2561
          \locationentry{date}
2562
          \locationentry{myref}
2563
          \locationentry{customer}
2564
          \locationentry{yourref}
2565
          \locationentry{delivery}
2566
          \locationentry{quote}
2567
          \locationentry{orderID}
2568
          \locationentry{projectID}
2569
          \locationentry{taxpoint}
2570
          \locationentry[\ansprechpartner]{fromname}
2571
          \locationentry{fromphone}
2572
          \locationentry*{fromemail}
2573
        }
2574
      }
2575
    </programlisting>
2576

  
2577
    <para>Um die Reihenfolge der Variablenausgabe zu verändern, kann diese Definition als Basis in
2578
    die <filename>insettings.tex</filename> oder <filename>ident.tex</filename> (Falls nur für eine Firma) kopiert und dort entsprechend modifiziert werden.</para>
2579

  
2580
    <para>Das Vorgehen geht für alle vorbelegten Variablen analog.</para>
2581

  
2582

  
2583
  </sect3>
2584
</sect2>
2585
<sect2 id="Allgemeine TeXnische Hinweise">
2586
  <title>Allgemeine TeXnische Hinweise</title>
2587

  
2588

  
2589
  <sect3 id="Änderung der Basisschriftart">
2590
    <title>Änderung der Basisschriftart</title>
2591

  
2592
    <para>\LaTeX{} kann grundsätzlich beliebige Schriftarten verwenden. Hierfür sollte allerdings immer darauf geachtet werden,
2593
    dass die Lizenz der Schriftart das einbetten von Glyphen erlaubt. Dies liegt in der Verantwortung der Anwender*innen.
2594
    Darüber hinaus ist wichtig, welches Kompilierungsprogramm verwendet werden muss. Um TrueType oder OpenType Schriftarten
2595
    zu nutzen sollte |lualatex| verwendet werden. Bei Type1 Schriftarten, die speziell für \LaTeX{} installiert wurden, ist pdfLaTeX möglich.
2596
    Da man heutzutage nur noch moderne Schriftformate Verwenden sollte, wird hier lediglich die Variante für |lualatex| aufgelistet.</para>
2597

  
2598
    <para>Die Konfiguration läuft hierbei über das \pck{fontspec} Paket (Doku siehe \cite{fontspec}).
2599
    Dann hängt es davon ab, ob die Basisschriftart eine Serifenschriftart ist oder nicht.
2600
    In jedem Fall wird die Änderung entweder in der <filename>insettings.tex</filename>, sofern sie für alle
2601
    Mandant*innen gelten soll oder in der Mantant*innenspezifischen Konfigurationsdatei gsesetzt.</para>
2602

  
2603

  
2604
    <sect4>
2605
      <title>Änderung, falls es ein Schriftpaket gibt</title>
2606

  
2607
      <para>Wenn möglich sollte die Schriftart über ein entsprechendes Konfigurationspaket gesetzt werden.
2608
        Ob ein solches existiert kann man sehr leicht über eine Suche nach dem Namen unter \url{ctan.org} herausfinden.</para>
2609

  
2610
    </sect4>
2611

  
2612
    <sect4>
2613
      <title>Änderung der Basisschriftart auf eine Schriftart mit Serifen</title>
2614

  
2615
    <programlisting>
2616
      \setmainfont{|\meta{Name der Schriftart, z.B. SourceSerifPro}|}
2617
    </programlisting>
2618

  
2619
    </sect4>
2620

  
2621
    <sect4>
2622
      <title>Änderung der Basisschriftart auf eine Schriftart ohne Serifen</title>
2623

  
2624
    <programlisting>
2625
      \setsansfont{|\meta{Name der Schriftart, z.B. SourceSansPro}|}
2626
      \renewcommand*{\familydefault}{\sfdefault}
2627
    </programlisting>
2628

  
2629
    </sect4>
2630

  
2631

  
2632
  </sect3>
2633
  <sect3 id="Unterscheidungen durch String-Vergleich">
2634
    <title>Unterscheidungen durch String-Vergleich</title>
2635

  
2636
    <programlisting>
2637
    \Ifstr{\lxmedia}{printer}{Falls gedruckt werden soll} {sonst}
2638
    </programlisting>
2639
  </sect3>
2640
</sect2>
2304 2641
      <sect2 id="Vorlagen-RB">
2305 2642
        <title>Der Druckvorlagensatz RB</title>
2306 2643

  

Auch abrufbar als: Unified diff