% ====================================================================== % introduction.tex % Copyright (c) Markus Kohm, 2001-2011 % % This file is part of the LaTeX2e KOMA-Script bundle. % % This work may be distributed and/or modified under the conditions of % the LaTeX Project Public License, version 1.3c of the license. % The latest version of this license is in % http://www.latex-project.org/lppl.txt % and version 1.3c or later is part of all distributions of LaTeX % version 2005/12/01 or later and of this work. % % This work has the LPPL maintenance status "author-maintained". % % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % introduction.tex % Copyright (c) Markus Kohm, 2001-2011 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. % Die neuste Version dieser Lizenz ist % http://www.latex-project.org/lppl.txt % und Version 1.3c ist Teil aller Verteilungen von LaTeX % Version 2005/12/01 oder spaeter und dieses Werks. % % Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" % (allein durch den Autor verwaltet). % % Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. % % Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== % % Introduction of the KOMA-Script guide % Maintained by Markus Kohm % % ---------------------------------------------------------------------- % % Einleitung der KOMA-Script-Anleitung % Verwaltet von Markus Kohm % % ====================================================================== \ProvidesFile{introduction.tex}[2008/07/31 KOMA-Script guide introduction] \chapter{Einleitung} \labelbase{introduction} Dieses Kapitel enthält \iffree{unter anderem }{}wichtige Informationen über den Aufbau \iffree{der Anleitung}{des Buches} und die Geschichte von \KOMAScript, die Jahre vor der ersten Version beginnt. Darüber hinaus finden Sie Informationen für den Fall, dass Sie \KOMAScript{} noch nicht installiert haben, oder auf Fehler stoßen. \iffree{% \section{Vorwort} \label{sec:introduction.preface} {\KOMAScript} ist ein sehr komplexes Paket (engl. \emph{bundle}). Dies ist schon allein darin begründet, dass es nicht nur aus einer einzigen Klasse (engl. \emph{class}) oder einem einzigen Paket (engl. \emph{package}), sondern einer Vielzahl derer besteht. Zwar sind die Klassen als Gegenstücke zu den Standardklassen konzipiert (siehe \autoref{cha:maincls}), das heißt jedoch insbesondere nicht, dass sie nur über die Befehle, Umgebungen und Einstellmöglichkeiten der Standardklassen verfügen oder deren Aussehen als Standardeinstellung übernehmen. Die Fähigkeiten von {\KOMAScript} reichen teilweise weit über die Fähigkeiten der Standardklassen hinaus. Manche davon sind auch als Ergänzung zu den Grundfähigkeiten des \LaTeX-Kerns zu betrachten. Allein aus dem Vorgenannten ergibt sich schon zwangsläufig, dass die Dokumentation zu {\KOMAScript} sehr umfangreich ausfällt. Hinzu kommt, dass {\KOMAScript} in der Regel nicht gelehrt wird. Das heißt, es gibt keinen Lehrer, der seine Schüler kennt und damit den Unterricht und das Unterrichtsmaterial entsprechend wählen und anpassen kann. Es wäre ein Leichtes, die Dokumentation für irgendeine Zielgruppe zu verfassen. Die Schwierigkeit, der sich die Autoren gegenüber sehen, besteht jedoch darin, dass eine Anleitung für alle möglichen Zielgruppen benötigt wird. Wir haben uns bemüht, eine Anleitung zu erstellen, die für den Informatiker gleichermaßen geeignet ist wie für die Sekretärin des Fischhändlers. Wir haben uns bemüht, obwohl es sich dabei eigentlich um ein unmögliches Unterfangen handelt. Ergebnis sind zahlreiche Kompromisse. Wir bitten jedoch, die Problematik bei eventuellen Beschwerden zu berücksichtigen und bei der Verbesserung unserer derzeitigen Lösung zu helfen. Trotz des Umfangs der Anleitung bitten wir außerdem darum, im Falle von Problemen zunächst die Dokumentation zu konsultieren. Als erste Anlaufstelle sei auf den mehrteiligen Index am Ende des \iffree{Dokuments}{Buches} hingewiesen. \iffree{Zur Dokumentation gehören neben dieser Anleitung auch alle Text-Dokumente, die Bestandteil des Pakets sind. Sie sind in \File{manifest.txt} vollständig aufgeführt}{} }{} \section{Dokumentaufbau} \label{sec:introduction.structure} Diese Anleitung ist in mehrere Teile untergliedert. Es gibt einen Teil für Anwender, einen für fortgeschrittene Anwender und Experten und einen Anhang mit weiterführenden Informationen und Beispielen für diejenigen, die es ganz genau wissen wollen. \autoref{part:forAuthors} richtet sich dabei an alle \KOMAScript-Anwender. Das bedeutet, dass hier auch einige Informationen für \LaTeX-Neulinge zu finden sind. Insbesondere ist dieser Teil mit vielen Beispielen angereichert, die dem reinen Anwender zur Verdeutlichung der Erklärungen dienen sollen. Scheuen Sie sich nicht, diese Beispiele selbst auszuprobieren und durch Abwandlung herauszufinden, wie \KOMAScript{} funktioniert. Trotz allem ist diese Anleitung jedoch keine Einführung in \LaTeX. \LaTeX-Neulingen seien daher Dokumente wie \cite{l2kurz} nahe gelegt. Wiedereinsteiger aus der Zeit von \LaTeX~2.09 sei zumindest \cite{latex:usrguide} empfohlen. Auch das Studium des einen oder anderen Buches zu \LaTeX{} wird empfohlen. Literaturempfehlungen finden sich beispielsweise in \cite{DANTE:FAQ}. Der Umfang von \cite{DANTE:FAQ} ist ebenfalls erheblich. Dennoch wird darum gebeten, das Dokument nicht nur irgendwo vorliegen zu haben, sondern es mindestens einmal zu lesen und bei Problemen zu konsultieren. \autoref{part:forExperts} richtet sich an fortgeschrittene \KOMAScript-Anwender. Das sind all diejenigen, die sich bereits mit \LaTeX{} auskennen oder schon einige Zeit mit \KOMAScript{} gearbeitet haben und jetzt etwas besser verstehen wollen, wie \KOMAScript{} funktioniert, wie es mit anderen Paketen interagiert und wie man speziellere Aufgaben mit \KOMAScript{} lösen kann. Dazu werden die Klassenbeschreibungen aus \autoref{part:forAuthors} in einigen Aspekten nochmals aufgegriffen und näher erläutert. Dazu kommt die Dokumentation von Anweisungen, die speziell für fortgeschrittene Anwender und Experten vorgesehen sind. Ergänzt wird dies durch die Dokumentation von Paketen, die für den Anwender normalerweise insofern verborgen sind, als sie unter der Oberfläche der Klassen und Anwenderpakete ihre Arbeit verrichten. Diese Pakete sind ausdrücklich auch für die Verwendung durch andere Klassen- und Paketautoren vorgesehen. Der Anhang\iffree{, der nur in der Buchfassung zu finden ist,}{} richtet sich an diejenigen, denen all diese Informationen nicht genügen. Es gibt dort zum einen Hintergrundwissen zu Fragen der Typografie, mit denen dem fortgeschrittenen Anwender eine Grundlage für fundierte eigene Entscheidungen vermittelt werden soll. Darüber hinaus sind dort Beispiele für angehende Paketautoren zu finden. Diese Beispiele sind weniger dazu gedacht, einfach übernommen zu werden. Vielmehr sollen sie Wissen um Planung und Durchführung von \LaTeX-Projekten sowie einiger grundlegender \LaTeX-Anweisungen für Paketautoren vermitteln. Die Kapitel-Einteilung der Anleitung soll ebenfalls dabei helfen, nur die Teile lesen zu müssen, die tatsächlich von Interesse sind. Um dies zu erreichen, sind die Informationen zu den einzelnen Klassen und Paketen nicht über das gesamte Dokument verteilt, sondern jeweils in einem Kapitel konzentriert. Querverweise in ein anderes Kapitel sind damit in der Regel auch Verweise auf einen anderen Teil des Gesamtpakets. Da die drei Hauptklassen in weiten Teilen übereinstimmen, sind sie in einem gemeinsamen Kapitel zusammengefasst. Die Unterschiede werden deutlich hervorgehoben, soweit sinnvoll auch durch eine entsprechende Randnotiz. Dies geschieht beispielsweise wie hier, wenn etwas nur die Klasse \Class{scrartcl}\OnlyAt{\Class{scrartcl}} betrifft. Nachteil dieses Vorgehens ist, dass diejenigen, die \KOMAScript{} insgesamt kennenlernen wollen, in einigen Kapiteln auf bereits Bekanntes stoßen werden. Vielleicht nutzen Sie die Gelegenheit, um Ihr Wissen zu vertiefen. Unterschiedliche Schriftarten werden auch zur Hervorhebung unterschiedlicher Dinge verwendet. So werden die Namen von \Package{Paketen} und \Class{Klassen} anders angezeigt als \File{Dateinamen}. \Macro{Anweisungen}, \Environment{Umgebungen}, \Option{Optionen}, \Variable{Variablen} und \PLength{Pseudolängen} werden einheitlich hervorgehoben. Der \PName{Platzhalter} für einen Parameter wird jedoch anders dargestellt als ein konkreter \PValue{Wert eines Parameters}. So zeigt beispielsweise \Macro{begin}\Parameter{Umgebungsname} ganz allgemein, wie eine Umgebung eingeleitet wird, während \Macro{begin}\PParameter{document} angibt, wie die konkrete Umgebung \Environment{document} beginnt. Dabei ist gleichzeitig \PValue{document} ein konkreter Wert für den Parameter \PName{Umgebungsname} der Anweisung \Macro{begin}. \iffalse% Umbruchkorrekturtext Damit sollten Sie nun alles wissen, um diese Anleitung lesen und verstehen zu können. Trotzdem könnte es sich lohnen, den Rest dieses Kapitels gelegentlich auch zu lesen. \fi \section{Die Geschichte von \KOMAScript} \label{sec:introduction.history} %\begin{Explain} Anfang der 90er~Jahre wurde Frank Neukam damit beauf"|tragt, ein Vorlesungsskript zu setzen. Damals war noch \LaTeX~2.09 aktuell und es gab keine Unterscheidung nach Klassen und Paketen, sondern alles waren Stile (engl. \emph{styles}). Die Standarddokumentstile erschienen ihm für ein Vorlesungsskript nicht optimal und boten auch nicht alle Befehle und Umgebungen, die er benötigte. Zur selben Zeit beschäftigte sich Frank auch mit Fragen der Typografie, insbesondere mit \cite{JTsch87}. Damit stand für ihn fest, nicht nur irgendeinen Dokumentstil für Skripten zu erstellen, sondern allgemein eine Stilfamilie, die den Regeln der europäischen Typografie folgt. {\Script} war geboren. Der \KOMAScript-Autor traf auf {\Script} ungefähr zum Jahreswechsel 1992/""1993. Im Gegensatz zu Frank Neukam hatte er häufig mit Dokumenten im A5-Format zu tun. Zu jenem Zeitpunkt wurde A5 weder von den Standardstilen noch von {\Script} unterstützt. Daher dauerte es nicht lange, bis er erste Veränderungen an {\Script} vornahm. Diese fanden sich auch in {\ScriptII} wieder, das im Dezember~1993 von Frank veröffentlicht wurde. Mitte 1994 erschien dann \LaTeXe. Die damit einhergehenden Änderungen waren tiefgreifend. Daher blieb dem Anwender von {\ScriptII} nur die Entscheidung, sich entweder auf den Kompatibilitätsmodus von \LaTeX{} zu beschränken, oder auf {\Script} zu verzichten. Wie viele andere wollte ich beides nicht. Also machte der \KOMAScript-Autor sich daran, einen \Script-Nachfolger für {\LaTeXe} zu entwickeln, der am 7.~Juli~1994 unter dem Namen {\KOMAScript} erschienen ist. Ich will hier nicht näher auf die Wirren eingehen, die es um die offizielle Nachfolge von {\Script} gab und warum dieser neue Name gewählt wurde. Tatsache ist, dass auch aus Franks Sicht {\KOMAScript} der Nachfolger von {\ScriptII} ist. Zu erwähnen ist noch, dass {\KOMAScript} ursprünglich ohne Briefklasse erschienen war. Diese wurde im Dezember~1994 von Axel Kielhorn beigesteuert. Noch etwas später erstellte Axel Sommerfeldt den ersten richtigen scrguide zu {\KOMAScript}. Seither ist einige Zeit vergangen. {\LaTeX} hat sich kaum verändert, die \LaTeX-Landschaft erheblich. {\KOMAScript} wurde weiterentwickelt. Es findet nicht mehr allein im deutschsprachigen Raum Anwender, sondern in ganz Europa, Nordamerika, Australien und Asien. Diese Anwender suchen bei {\KOMAScript} nicht allein nach einem typografisch ansprechenden Ergebnis. Zu beobachten ist vielmehr, dass bei {\KOMAScript} ein neuer Schwerpunkt entstanden ist: Flexibilisierung durch Variabilisierung. Unter diesem Schlagwort verstehe ich die Möglichkeit, in das Erscheinungsbild an vielen Stellen eingreifen zu können. Dies führte zu vielen neuen Makros, die mehr schlecht als recht in die existierende Dokumentation integriert wurden. Irgendwann wurde es damit auch Zeit für eine komplett überarbeitete Anleitung. %\end{Explain} \iffree{% \section{Danksagung} \label{sec:introduction.thanks} Eine Danksagung in der Einleitung? Gehört sie nicht vielmehr an den Schluss? Richtig! Eigentlich gehört die an das Ende. Mein Dank gilt hier jedoch nicht primär denjenigen, die diese Anleitung möglich gemacht haben. Für den Dank an die Guide-Autoren mache ich den Leser zuständig! Mein persönlicher Dank gilt Frank Neukam, ohne dessen \Script-Familie es vermutlich {\KOMAScript} nie gegeben hätte. Mein Dank gilt denjenigen, die an der Entstehung von {\KOMAScript} und den Anleitungen mitgewirkt haben. Stellvertretend für andere möchte ich hier Jens-Uwe Morawski, Torsten Krüger und Gernot Hassenpflug nennen. Jens' unermüdlichem Einsatz ist neben vielem Anderen die englische Übersetzung der Anleitung zu verdanken, die Gernot in wesentlichen Teilen mitgestaltet hat. Torsten ist der beste Betatester, den ich je hatte. Er hat damit insbesondere an der Verwendbarkeit von \Class{scrlttr2} und \Class{scrpage2} einen erheblichen Anteil. Mein Dank gilt auch allen, die mich immer wieder aufgemuntert haben, weiter zu machen und dieses oder jenes noch besser, weniger fehlerhaft oder schlicht zusätzlich zu implementieren. Ganz besonderen Dank bin ich den Gründern von DANTE, Deutschsprachige Anwendervereinigung \TeX~e.V\kern-.18em., schuldig, durch die letztlich die Verbreitung von \TeX{} und \LaTeX{} und allen Paketen einschließlich {\KOMAScript} an einer zentralen Stelle überhaupt ermöglicht wird. In gleicher Weise bedanke ich mich bei den aktiven Helfern auf der Mailingliste \texttt{\TeX-D-L} (siehe \cite{DANTE:FAQ}) und in der Usenet-Gruppe \texttt{de.comp.text.tex}, die mir so manche Antwort auf Fragen zu {\KOMAScript} abnehmen. \section{Rechtliches} \label{sec:introduction.legal} {\KOMAScript} steht unter der {\LaTeX} Project Public Licence. Eine nicht offizielle deutsche Übersetzung ist Bestandteil des \KOMAScript-Pakets. In allen Zweifelsfällen gilt im deutschsprachigen Raum der Text \File{lppl-de.txt}, während in allen anderen Ländern der Text \File{lppl.txt} anzuwenden ist. \iffree{Für die Korrektheit der Anleitung, Teile der Anleitung oder einer anderen in diesem Paket enthaltenen Dokumentation wird keine Gewähr übernommen.}% {Diese gedruckte Ausgabe der Anleitung ist davon und von den in den Dateien \File{lppl.txt} und \File{lppl-de.txt} des \KOMAScript-Pakets festgeschriebenden rechtlichen Bedingungen ausdrücklich ausgenommen.} }{} \section{Installation} \label{sec:introduction.installation} Die Installation von {\KOMAScript} wird in der Datei \File{INSTALLD.txt}, die Teil jeder \KOMAScript-Verteilung ist, beschrieben. Beachten Sie dazu auch die jeweilige Dokumentation zur installierten \TeX-Distribution. \section{Fehlermeldungen, Fragen, Probleme} \label{sec:introduction.errors} \iffree{% Sollten Sie der Meinung sein, dass Sie einen Fehler in der Anleitung, einer der \KOMAScript-Klassen, einem der \KOMAScript-Pakete oder einem anderen Bestandteil von \KOMAScript{} gefunden haben, so sollten Sie wie folgt vorgehen. Prüfen Sie zunächst, ob inzwischen eine neue Version von \KOMAScript{} erschienen ist. Installieren Sie diese neue Version und kontrollieren Sie, ob der Fehler oder das Problem auch dann noch vorhanden ist. Wenn es sich nicht um einen Fehler in der Dokumentation handelt und der Fehler oder das Problem nach einem Update noch immer auf"|tritt, erstellen Sie bitte wie in \cite{DANTE:FAQ} angegeben ein minimales Beispiel. Gehen Sie dazu wie unten beschrieben vor. %Ein solches Beispiel sollte nur einen minimalen Text und %nur die Pakete und Definitionen enthalten, die für die Verdeutlichung %des Fehlers unbedingt notwendig sind. Auf exotische Pakete sollte %möglichst ganz verzichtet werden. Oft lässt sich ein Problem durch ein minimales Beispiel so weit eingrenzen, dass bereits vom Anwender selbst festgestellt werden kann, ob es sich um einen Anwendungsfehler handelt oder nicht. Auch ist so sehr häufig zu erkennen, welche Pakete oder Klassen konkret das Problem verursachen und ob es sich überhaupt um ein \KOMAScript-Problem handelt. Dies können Sie gegebenenfalls zusätzlich überprüfen, indem Sie statt einer \KOMAScript-Klasse einen Test mit der entsprechenden Standardklasse vornehmen. Danach ist dann auch klar, ob der Fehlerbericht an den Autor von \KOMAScript{} oder an den Autor eines anderen Pakets zu richten ist. Sie sollten spätestens jetzt noch einmal gründlich die Anleitungen der entsprechenden Paket, Klassen und \KOMAScript-Bestandteile studieren sowie \cite{DANTE:FAQ} konsultieren. Möglicherweise existiert ja bereits eine Lösung für Ihr Problem, so dass sich eine Fehlermeldung erübrigt. Wenn Sie denken, dass Sie einen noch unbekannten Fehler gefunden haben, oder es aus anderem Grund für sinnvoll oder notwendig erachten, den \KOMAScript-Autor zu kontaktieren, so sollten Sie dabei folgende Angaben keinesfalls vergessen: \begin{itemize} \item Tritt das Problem auch auf, wenn statt einer \KOMAScript-Klasse eine Standardklasse verwendet wird? In dem Fall liegt der Fehler höchst wahrscheinlich nicht bei \KOMAScript. Es ist dann sinnvoller, die Frage in einem öffentlichen Forum, einer Mailingliste oder im Usenet zu stellen. \item Welche \KOMAScript-Version verwenden Sie? Entsprechende Informationen finden Sie in der \File{log}-Datei des \LaTeX-Laufs jedes Dokuments, das eine \KOMAScript-Klasse verwendet. \item Welches Betriebssystem und welche \TeX-Distribution wird verwendet? Diese Angaben erscheinen bei einem bestriebssystemunabhängigen Paket wie \KOMAScript{} oder \LaTeX{} eher überflüssig. Es zeigt sich aber immer wieder, dass sie durchaus eine Rolle spielen können. \item Was genau ist das Problem oder der Fehler? Beschreiben Sie das Problem oder den Fehler lieber zu ausführlich als zu knapp. Oftmals ist es sinnvoll auch die Hintergründe zu erläutern. \item Wie sieht ein vollständiges Minimalbeispiel aus? Ein solches vollständiges Minimalbeispiel kann jeder leicht selbst erstellen, indem Schritt für Schritt Inhalte und Pakete aus dem Problemdokument auskommentiert werden. Am Ende bleibt ein Dokument, das nur die Pakete lädt und nur die Teile enthält, die für das Problem notwendig sind. Außerdem sollten alle geladenen Abbildungen durch \Macro{rule}-Anweisungen entsprechender Größe ersetzt werden. Vor dem Verschicken entfernt man nun die auskommentierten Teile, fügt als erste Zeile die Anweisung \Macro{listfiles} ein und führt einen weiteren \LaTeX-Lauf durch. Man erhält dann am Ende der \File{log}-Datei eine Übersicht über die verwendeten Pakete. Das vollständige Minimalbeispiel und die \File{log}-Datei fügen Sie ihrer Beschreibung hinzu. \end{itemize} Schicken Sie keine Pakete, PDF- oder PS- oder DVI-Dateien mit. Falls die gesamte Problem- oder Fehlerbeschreibung einschließlich Minimalbeispiel und \File{log}-Datei größer als ein paar Dutzend KByte ist, haben Sie mit größter Wahrscheinlichkeit etwas falsch gemacht. Anderenfalls schicken Sie Ihre Mitteilung an \href{mailto:komascript@gmx.info}{komascript@gmx.info}. Häufig werden Sie eine Frage zu \KOMAScript{} oder im Zusammenhang mit \KOMAScript{} lieber öffentlich, beispielsweise in \texttt{de.comp.text.tex} oder dem Forum auf \cite{homepage}, stellen wollen. Auch in diesem Fall sollten Sie obige Punkte beachten, in der Regel jedoch auf die \File{log}-Datei verzichten. Fügen Sie stattdessen nur die Liste der Pakete und Paketversionen aus der \File{log}-Datei an. Im Falle einer Fehlermeldung zitieren Sie diese ebenfalls aus der \File{log}-Datei. }{% Die Autoren haben sich größte Mühe gegeben, Fehler in diesem Buch zu vermeiden. Die Beispiele, die in diesem Buch abgedruckt sind, wurden größtenteils während ihrer Entstehung getestet. Leider sind trotzdem weder orthografische noch inhaltliche Fehler komplett auszuschließen. Sollten Sie Fehler in diesem Buch finden, so wenden Sie sich bitte an die Autoren. Sie können diese per E-Mail über die \KOMAScript-Support-Adresse, \mbox{komascript@gmx.info}, oder über \cite{homepage} erreichen. Wenn Sie hingegen Fehler in \KOMAScript{} selbst melden wollen, so verwenden Sie bitte die dafür vorgesehene Prozedur. Diese ist in der Einleitung der freien \KOMAScript-Anleitung, die jeder korrekten Verteilung von \KOMAScript{} beiliegt, ausführlich erklärt. } \iffree{% \section{Weitere Informationen} \label{sec:introduction.moreinfos} Sobald Sie im Umgang mit \KOMAScript{} geübt sind, werden Sie sich möglicherweise Beispiele zu schwierigeren Aufgaben wünschen. Solche Beispiele gehen über die Vermittlung von Grundwissen hinaus und sind daher\iffree{}{ außer im Angang} nicht Bestandteil dieser Anleitung. Auf den Internetseiten des \KOMAScript{} Documentation Projects \cite{homepage} finden Sie jedoch weiterführende Beispiele. Diese sind für fortgeschrittene \LaTeX-Anwender konzipiert. Für Anfänger sind sie wenig oder nicht geeignet. }{} \endinput %%% Local Variables: %%% mode: latex %%% coding: iso-latin-1 %%% TeX-master: "../guide.tex" %%% End: