Revision 5bb76a79
Von Jan Büren vor mehr als 1 Jahr hinzugefügt
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
dokumentation: Marei Druckvorlagensatz