% ======================================================================
% scrjura.tex
% Copyright (c) Markus Kohm, 2011-2017
%
% 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.
% ----------------------------------------------------------------------
% scrjura.tex
% Copyright (c) Markus Kohm, 2011-2017
%
% 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.
% ======================================================================
%
% Chapter about scrjura of the KOMA-Script guide
% Maintained by Markus Kohm
%
% ----------------------------------------------------------------------
%
% Kapitel ueber scrjura in der KOMA-Script-Anleitung
% Verwaltet von Markus Kohm
%
% ======================================================================

\KOMAProvidesFile{scrjura.tex}%
                 [$Date: 2017-01-02 13:30:07 +0100 (Mon, 02 Jan 2017) $
                  KOMA-Script guide (chapter: scrjura)]

\chapter{Unterstützung für die Anwaltspraxis durch \Package{scrjura}}
\labelbase{scrjura}
\BeginIndexGroup
\BeginIndex{Package}{scrjura}

Will man einen Vertrag\Index{Vertraege=Verträge}, die Satzung einer
Gesellschaft oder eines Vereins, ein Gesetz oder gleich einen
Gesetzeskommentar schreiben, so übernimmt das Paket \Package{scrjura} den
typografischen Teil der Unterstützung für diese Tätigkeit. Obwohl
\Package{scrjura} als allgemeine Hilfe für anwaltliche Schriftstücke angedacht
ist, hat sich gezeigt, dass der Vertrag dabei ein ganz zentrales Element
ist. Besonderes Augenmerk gilt hier dem
Paragraphen\Index{Paragraphen>juristische} mit Nummer, Titel, nummerierten
Absätzen -- falls es mehrere davon in einem Paragraphen gibt --, bedarfsweise
nummerierten Sätzen, Einträgen in das Inhaltsverzeichnis und Querverweisen in
den deutschen Gepflogenheiten entsprechenden Formen.

Das Paket ist in Zusammenarbeit mit Rechtsanwalt Dr.\,Alexander Willand,
Karlsruhe, entstanden. Die folgenden Ausführungen erklären das Paket aus einem
etwas anderen Blickwinkel als die dem Paket beiliegenden Anleitung.

Es ist zu beachten\textnote{Achtung!}, dass das Paket mit
\Package{hyperref}\IndexPackage{hyperref} zusammenarbeitet, aber wie üblich
\Package{hyperref} nach \Package{scrjura} geladen werden muss!

\LoadCommonFile{options}% \section{Frühe oder späte Optionenwahl}

\LoadCommonFile{textmarkup}% \section{Textauszeichnungen} 

\section{Verzeichnisse}
\label{sec:scrjura.toc}

Das Paket \Package{scrjura} sieht auch Einträge in das
Inhaltsverzeichnis\Index{Inhaltsverzeichnis} vor.

\begin{Declaration}
  \OptionVName{juratotoc}{Ein-Aus-Wert}
  \OptionVName{juratotoc}{Ebenennummer}
\end{Declaration}
Im Inhaltsverzeichnis angezeigt werden
Paragraphen\Index{Paragraphen>juristische} nur, wenn ihre \PName{Ebenennummer}
kleiner oder gleich dem Zähler \DescRef{maincls.counter.tocdepth}%
\important{\DescRef{maincls.counter.tocdepth}}\IndexCounter{tocdepth} ist
(siehe \autoref{sec:maincls.toc},
\DescPageRef{maincls.counter.tocdepth}). Voreingestellt ist für
\PName{Ebenennummer} der Wert 10000, der auch verwendet wird, wenn die Option
über einen \PName{Ein-Aus-Wert}\important{\OptionValue{juratotoc}{false}}
(siehe \autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch})
ausgeschaltet wird. Da der Zähler \DescRef{maincls.counter.tocdepth}
üblicherweise einen kleinen, einstelligen Wert besitzt, werden die
Paragraphen-Einträge im Inhaltsverzeichnis daher normalerweise nicht
angezeigt.

Wird die Option hingegen über einen
\PName{Ein-Aus-Wert}\important{\OptionValue{juratotoc}{true}} eingeschaltet,
so wird als \PName{Ebenennummer} 2 voreingestellt. Damit werden sie in
Inhaltsverzeichnissen bei allen \KOMAScript-Klassen auf derselben Ebene wie
\DescRef{maincls.cmd.subsection} eingeordnet. In der Voreinstellung von
\DescRef{maincls.counter.tocdepth} werden sie dann auch bei allen
\KOMAScript-Klassen im Inhaltsverzeichnis angezeigt.%
\EndIndexGroup


\begin{Declaration}
  \OptionVName{juratocindent}{Einzug}
  \OptionVName{juratocnumberwidth}{Nummernbreite}
\end{Declaration}
Mit diesen beiden Optionen kann für die Einträge der Paragraphen ins
Inhaltsverzeichnis sowohl der Einzug als auch die Breite, die für Nummern
reserviert wird, festgelegt werden. Voreingestellt sind dieselben Werte wie
für \DescRef{maincls.cmd.subsection}-Einträge bei \Class{scrartcl}.
%
\EndIndexGroup


\section{Umgebung für Verträge}
\label{sec:scrjura.contract}

\BeginIndexGroup
\BeginIndex{}{Vertraege=Verträge}
Die wesentlichen Mechanismen von \Package{scrjura} stehen ausschließlich
innerhalb von Verträgen der zugehörigen Umgebung zur Verfügung.

\begin{Declaration}
  \begin{Environment}{contract}\end{Environment}
\end{Declaration}
Dies ist die erste und bisher einzige Umgebung für Juristen, die
\Package{scrjura} bereit stellt. Durch ihre Verwendung wird die automatische
Absatznummerierung aktiviert und die Anweisungen
\DescRef{\LabelBase.cmd.Clause} und \DescRef{\LabelBase.cmd.SubClause} mit
einer konkreten Form versehen, die später näher dokumentiert wird.

Die\textnote{Achtung!} Umgebung \Environment{contract} darf nicht in sich
selbst geschachtelt werden. Innerhalb eines Dokuments dürfen jedoch mehrere
dieser Umgebungen verwendet werden. Dabei werden die Paragraphen innerhalb
dieser Umgebungen so behandelt, als stünden sie innerhalb einer einzigen
Umgebung. Durch das Beenden der Umgebung wird diese also quasi lediglich
unterbrochen und durch den Beginn einer neuen Umgebung wird sozusagen die alte
Umgebung fortgesetzt. Dabei sind allerdings keine Unterbrechungen innerhalb
eines Paragraphen möglich.%
\EndIndexGroup

\begin{Declaration}
  \Option{contract}
\end{Declaration}
Bei Angabe dieser Option beim Laden des Pakets beispielsweise mit
\DescRef{\LabelBase.cmd.usepackage}%
\important{\DescRef{\LabelBase.cmd.usepackage}} oder als globale Option bei
\DescRef{\LabelBase.cmd.documentclass}%
\important{\DescRef{\LabelBase.cmd.documentclass}} wird das gesamte Dokument
zu einem Vertrag. Das Dokument verhält sich dann also genauso, als würde es
genau eine \DescRef{\LabelBase.env.contract}-Umgebung enthalten.

Es\textnote{Achtung!} wird darauf hingewiesen, dass Option \Option{contract}
weder mit \DescRef{\LabelBase.cmd.KOMAoption} oder
\DescRef{\LabelBase.cmd.KOMAoptions} gesetzt werden kann!  Damit ist es auch
nicht möglich die Option wieder abzuschalten. Verwenden Sie in einem solchen
Fall stattdessen direkt eine \DescRef{\LabelBase.env.contract}-Umgebung.
%
\EndIndexGroup


\subsection{Juristische Paragraphen}
\label{sec:scrjura.clause}
\BeginIndexGroup
\BeginIndex{}{Paragraphen>juristische} 

Paragraphen\footnote{Obwohl der korrekte Begriff für juristische Paragraphen
  im Englischen »\emph{section}« wäre, sind die Bezeichnungen in
  \Package{scrjura} von »\emph{clause}« abgeleitet. Dadurch sollen
  Verwechslungen sowohl mit \DescRef{maincls.cmd.section} als auch mit
  \DescRef{maincls.cmd.paragraph} vermieden werden.} im juristischen Sinn,
sind bei \Package{scrjura} nur innerhalb von Verträgen, also innerhalb der
Umgebung \DescRef{\LabelBase.env.contract} definiert.

\begin{Declaration}
  \phantomsection\label{desc:scrjura.contract.macro.Clause}%
  \Macro{Clause}\OParameter{Einstellungen}
  \phantomsection\label{desc:scrjura.contract.macro.SubClause}%
  \Macro{SubClause}\OParameter{Einstellungen}
\end{Declaration}
Dies sind die wichtigsten Anweisungen innerhalb eines Vertrags. Ohne
zusätzliche \PName{Einstellungen} erzeugt \Macro{Clause} eine
Paragraphenüberschrift, die nur aus dem Paragraphenzeichen gefolgt von einer
fortlaufenden Nummer besteht. Dagegen erzeugt \Macro{SubClause} eine
Paragraphenüberschrift, bei der an die zuletzt mit \Macro{Clause} gesetzte
Nummer noch ein fortlaufender Kleinbuchstabe angehängt wird. Gedacht ist
\Macro{SubClause} vor allem für den Fall, dass bei der Novellierung von
Gesetzen oder Verträgen nicht nur Paragraphen umformuliert oder gestrichen
werden, sondern zwischen existierenden Paragraphen neue eingefügt werden, ohne
dass eine komplett neue Nummerierung erfolgt.

Als \PName{Einstellungen} kann bei beiden Anweisungen eine durch Komma
separierte Liste von Eigenschaften angegeben werden. Eine Übersicht über die
möglichen Eigenschaften bietet \autoref{tab:scrjura.Clause.options}. Auf die
wichtigsten soll noch näher eingegangen werden.

\begin{table}
  \caption{Mögliche Eigenschaften für die optionalen Argumente der Anweisungen
    \Macro{Clause} und \Macro{SubClause}}
  \label{tab:scrjura.Clause.options}
  \begin{desctabular}
    \entry{\Option{dummy}}{%
      Die Überschrift wird nicht gesetzt aber gezählt.%
    }%
    \entry{\OptionVName{head}{Kolumnentitel}}{%
      Sind Kolumnentitel aktiviert wird unabhängig von einem Titel für den
      Paragraphen dieser Kolumnentitel verwendet.%
    }%
    \entry{\Option{nohead}}{%
      Es wird kein neuer Kolumnentitel gesetzt.%
    }%
    \entry{\Option{notocentry}}{%
      Es wird kein Eintrag ins Inhaltsverzeichnis vorgenommen.%
    }%
    \entry{\OptionVName{number}{Nummer}}{%
      Die Nummer für den Paragraphen wird direkt angegeben.%
    }%
    \entry{\OptionVName{preskip}{Abstand}}{%
      Neuer Abstand vor den Überschriften der Paragraphen.%
    }%
    \entry{\OptionVName{postskip}{Abstand}}{%
      Neuer Abstand nach den Überschrift der Paragraphen.%
    }%
    \entry{\OptionVName{title}{Überschrift}}{%
      Der Paragraph wird zusätzlich zur Nummer mit einem Titel versehen. Dies
      ist gleichzeitig die Grundeinstellung für die Einträge in den
      Kolumnentitel und das Inhaltsverzeichnis.%
    }%
    \entry{\OptionVName{tocentry}{Inhaltsverzeichniseintrag}}{%
      Unabhängig von einem Titel für den Paragraphen wird dieser Eintrag ins
      Inhaltsverzeichnis vorgenommen.%
    }%
  \end{desctabular} 
\end{table}

In der Voreinstellung wird vor der Überschrift ein Abstand von zwei Zeilen und
danach ein Abstand von einer Zeile eingefügt. Über die Eigenschaften
\Option{preskip}\important[i]{\Option{preskip}, \Option{postskip}} und
\Option{postskip} kann dieser Abstand verändert werden. Diese neue Einstellung
gilt dann aber nicht nur für den aktuellen Paragraphen, sondern ab dem
aktuellen Paragraphen bis zum Ende der aktuellen Umgebung. Es ist auch
möglich, die entsprechende Einstellung bereits vorab mit Hilfe von
\begin{flushleft}\quad\small
  \textbf{\Macro{setkeys}}\PParameter{contract}%
  \PParameter{preskip=\PName{Abstand},\\
    \normalsize\quad\small
    \hspace{11.5em}postskip=\PName{Abstand}}
\end{flushleft}
unabhängig von einem konkreten Paragraphen und auch außerhalb einer
\DescRef{\LabelBase.env.contract}-Umgebung vorzunehmen. Auch das Setzen
innerhalb der Präambel nach dem Laden von \Package{scrjura} ist so
möglich. Dagegen ist es nicht möglich, diese beiden Optionen bereits beim
Laden des Pakets anzugeben oder sie per \DescRef{\LabelBase.cmd.KOMAoptions}
oder \DescRef{\LabelBase.cmd.KOMAoption} zu setzen.

\BeginIndex{FontElement}{contract.Clause}%
\BeginIndex{FontElement}{Clause}\LabelFontElement{Clause}%
In der Voreinstellung wird für die Überschrift des Paragraphen als Schrift
\Macro{sffamily}\Macro{bfseries}\Macro{large} verwendet. Über das Element
\FontElement{contract.Clause}\important{\FontElement{contract.Clause}} kann
diese Schrift jederzeit mit Hilfe der Anweisungen
\DescRef{\LabelBase.cmd.setkomafont}%
\important[i]{\DescRef{\LabelBase.cmd.setkomafont},
  \DescRef{\LabelBase.cmd.addtokomafont}} und
\DescRef{\LabelBase.cmd.addtokomafont} (siehe
\autoref{sec:maincls.textmarkup}, \DescPageRef{\LabelBase.cmd.setkomafont})
geändert werden. Innerhalb der \DescRef{\LabelBase.env.contract}-Umgebung kann
statt \FontElement{contract.Clause} auch
\FontElement{Clause}\important{\FontElement{Clause}} verwendet werden.%
\EndIndex{FontElement}{Clause}%
\EndIndex{FontElement}{contract.Clause}

Mit Hilfe der Einstellungen \Option{title}\important[i]{\Option{title},
  \Option{head}, \Option{tocentry}}, \Option{head} und \Option{tocentry}
können Paragraphen zusätzlich zur Nummer mit einem Titel versehen
werden. Dabei\textnote{Achtung!} wird empfohlen, den Wert der jeweiligen
Eigenschaft in geschweifte Klammern zu setzen. Anderenfalls führen
beispielsweise Kommata zu Verwechslungen mit den Trennzeichen zwischen
unterschiedlichen Eigenschaften. Leere Werte für \Option{head} und
\Option{tocentry} führen zu leeren Einträgen. Will man hingegen keine Einträge
vornehmen, so sind \Option{nohead}\important[i]{\Option{nohead},
  \Option{notocentry}} und \Option{notocentry} zu verwenden.

Statt der fortlaufenden Nummer, kann mit Hilfe der Eigenschaft
\Option{number}\important{\Option{number}} auch manuell eine Nummer vergeben
werden. Dies hat jedoch keinen Einfluss auf die Nummern der nachfolgenden
Paragraphen. Die Angabe einer leeren Nummer ist nicht
vorgesehen. Zerbrechliche Anweisungen in \PName{Nummer} sollten mit
\Macro{protect} geschützt werden. Es\textnote{Achtung!} wird empfohlen als
\PName{Nummer} nur Ziffern und Buchstaben anzugeben.

Mit der Eigenschaft \Option{dummy}\important{\Option{dummy}} kann man die
Ausgabe der kompletten Überschrift des Paragraphen unterdrücken. In der
automatischen Zählung wird der Paragraph aber dennoch berücksichtigt. Auf
diese Weise kann man beispielsweise\textnote{Beispiel} mit
\begin{lstcode}
  \Clause{dummy}
\end{lstcode}
einen Paragraphen in der automatischen Zählung überspringen, falls der
entsprechende Paragraph in einer späteren Fassung eines Vertrags gestrichen
wurde.

Es\textnote{Achtung!} ist zu beachten, dass Eigenschaft \Option{dummy} als
Wert allenfalls \PValue{true} und \PValue{false} versteht. Alle anderen Werte
werden normalerweise ignoriert, können im ungünstigsten Fall aber auch zu
einer Fehlermeldung führen.%
\EndIndexGroup


\begin{Declaration}
  \Macro{Clauseformat}\Parameter{Nummer}
\end{Declaration}
Wie bereits in der vorausgehenden Erklärung erwähnt, werden juristische
Paragraphen und Unterparagraphen normalerweise nummeriert. Die Formatierung
der Nummer erfolgt dabei mit Hilfe der Anweisung \Macro{Clauseformat}, die
als einziges Argument die Nummer erwartet. Bei der Vordefinierung als
\begin{lstcode}
  \newcommand*{\Clauseformat}[1]{\S~#1}
\end{lstcode}
wird der Nummer mit \Macro{S}\IndexCmd{S} lediglich das Paragraphensymbol
gefolgt von einem nicht trennbaren Leerzeichen vorangestellt. Bei
Umdefinierungen ist auf die Expandierbarkeit zu achten!%
\EndIndexGroup


\begin{Declaration}
  \OptionVName{juratitlepagebreak}{Ein-Aus-Wert}
\end{Declaration}%
Normalerweise sind Seitenumbrüche innerhalb von Überschriften aller Art
verboten. Einige Juristen benötigen jedoch Seitenumbrüche innerhalb von
Paragraphentiteln. Daher kann ein solcher Umbruch mit
\Option{juratitlepagebreak}\important{\Option{juratitlepagebreak}} erlaubt
werden. Die möglichen Einstellungen für \PName{Ein-Aus-Wert} sind
\autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch} zu
entnehmen.%
\EndIndexGroup

  
\begin{Declaration}
  \OptionVName{clausemark}{Einstellung}
\end{Declaration}%
Da Paragraphen eine untergeordnete Gliederung mit unabhängiger Nummerierung
sind, erzeugen sie in der Voreinstellung keine Kolumnentitel. Über alternative
Einstellungen können jedoch auch Kolumnentitel erzeugt werden. Die möglichen
Werte und ihre Bedeutung sind \autoref{tab:scrjura.clausemark} zu entnehmen.%
%
\begin{table}
  \caption{Mögliche Werte für Option \Option{clausemark} zur Erzeugung von
    Kolumnentiteln durch Paragraphen}
  \label{tab:scrjura.clausemark}%
  \begin{desctabular}
    \entry{\PValue{both}}{%
      Paragraphen erzeugen linke und rechte Marken für Kolumnentitel, wenn das
      Dokument die Verwendung von lebenden Kolumnentiteln vorsieht.%
      \IndexOption{clausemark~=\PValue{both}}%
    }%
    \entry{\PValue{false}, \PValue{off}, \PValue{no}}{%
      Paragraphen erzeugen keine Kolumnentitel.%
      \IndexOption{clausemark~=\PValue{false}}%
    }%
    \entry{\PValue{forceboth}}{%
      Paragraphen erzeugen mit \DescRef{maincls.cmd.markboth} linke und rechte
      Marken für Kolumnentitel unabhängig davon, ob das Dokument
      beispielsweise über den Seitenstil überhaupt lebende Kolumnentitel
      verwendet.%
      \IndexOption{clausemark~=\PValue{forceboth}}%
    }%
    \entry{\PValue{forceright}}{%
      Paragraphen erzeugen mit \DescRef{maincls.cmd.markright} rechte Marken
      für Kolumnentitel unabhängig davon, ob das Dokument beispielsweise über
      den Seitenstil überhaupt lebende Kolumnentitel verwendet.%
      \IndexOption{clausemark~=\PValue{forceright}}%
    }%
    \entry{\PValue{right}}{%
      Paragraphen erzeugen rechte Marken für Kolumnentitel, wenn das Dokument
      die Verwendung von lebenden Kolumnentiteln vorsieht.%
      \IndexOption{clausemark~=\PValue{right}}%
    }%
  \end{desctabular}
\end{table}
%
\EndIndexGroup
\EndIndexGroup

\subsection{Absätze}
\label{sec:scrjura.par}
\BeginIndexGroup
\BeginIndex{}{Absatz>Nummerierung}%
Innerhalb von Paragraphen werden Absätze von \Package{scrjura} normalerweise
automatisch nummeriert. Sie sind damit ein stark gliederndes Element, ähnlich
\DescRef{maincls.cmd.paragraph} oder \DescRef{maincls.cmd.subparagraph} in
normalen Texten. Innerhalb von Verträgen wird deshalb häufig auch gerne mit
Abstand zwischen den Absätzen gearbeitet. Das Paket \Package{scrjura} bietet
keinen eigenen Mechanismus hierfür. Stattdessen sei auf die Option
\DescRef{maincls.option.parskip}%
\IndexOption{parskip}\important{\DescRef{maincls.option.parskip}} der
\KOMAScript-Klassen verwiesen (siehe \autoref{sec:maincls.parmarkup},
\DescPageRef{maincls.option.parskip}).

\begin{Declaration}
  \OptionVName{parnumber}{Einstellung}
\end{Declaration}
Die automatische Nummerierung der Absätze entspricht den beiden Einstellungen
\OptionValue{parnumber}{auto} und \OptionValue{parnumber}{true}. Manchmal ist
es notwendig, die automatische Nummerierung abzuschalten. Das ist mit
\OptionValue{parnumber}{false}%
\important{\OptionValue{parnumber}{false}}%
\IndexOption{parnumber~=\PValue{false}} möglich. In diesem Fall wird nur die
Satznummer automatisch zurück gesetzt.

Zur Realisierung dieser Option war es notwendig, in den Absatzmechanismus von
\LaTeX{} einzugreifen. In einigen seltenen Fällen kann sich das negativ
auswirken. Dann bleibt nur, diese Änderung mit
\OptionValue{parnumber}{manual}%
\important{\OptionValue{parnumber}{manual}}%
\IndexOption{parnumber~=\PValue{manual}} zurück zu nehmen. Umgekehrt hebt
\LaTeX{} selbst den Eingriff manchmal auf. In diesem Fällen kann er mit
\OptionValue{parnumber}{auto}%
\important{\OptionValue{parnumber}{auto}}%
\IndexOption{parnumber~=\PValue{auto}} erneut aktiviert werden.

Paragraphen, die nur aus einem einzigen Absatz bestehen, werden normalerweise
nicht automatisch nummeriert. Damit dies funktioniert, dürfen sich keine zwei
Paragraphen mit identischer Nummer in einem Dokument
befinden. Da\textnote{Achtung!} die Information erst am Ende eines Paragraphen
zur Verfügung steht, werden in der Regel zwei \LaTeX-Läufe benötigt, bis die
automatische Absatznummerierung korrekt erfolgt.%
\EndIndexGroup

\begin{Declaration}
  \Counter{par}
  \Macro{thepar}
  \Macro{parformat}
  \Macro{parformatseparation}
\end{Declaration}%
Für die Nummerierung der Absätze wird der Zähler \Counter{par}
verwendet. Seine Darstellung, \Macro{thepar} ist mit
\Macro{arabic}\PParameter{par} als arabische Zahl voreingestellt. Die Ausgabe
als automatische Absatznummer erfolgt mit \Macro{parformat}. Dabei wird
\Macro{thepar} in runde Klammern gesetzt. Will man einem Absatz manuell eine
Absatznummer voranstellen, so sollte das ebenfalls mit \Macro{parformat}
geschehen. Dabei ist es sinnvoll, auf \Macro{parformat} noch ein nicht
trennbares Leerzeichen mit \Macro{nobreakspace} oder der Tilde folgen zu
lassen.

Bei\ChangedAt{v0.7}{\Package{scrjura}} der Ausgabe der Nummer wird
\Macro{parformat} außerdem noch ein oder mehrere Trennzeichen angehängt. Diese
sind durch \Macro{parformatseparation} vorgegeben und derzeit mit
\Macro{nonbreakspace}, also einem nicht umbrechbaren Wortabstand,
voreingestellt.

Es\textnote{Achtung!} wird darauf hingewiesen, dass \Package{scrjura} intern
davon ausgeht, dass \Macro{thepar} eine arabische Zahl ist. Daher sollte
diese Anweisung keinesfalls umdefiniert werden!%
\EndIndexGroup


\begin{Declaration}
  \Macro{ellipsispar}\OParameter{Anzahl}
  \Macro{parellipsis}
\end{Declaration}
Manchmal\ChangedAt{v0.7}{\Package{scrjura}} -- insbesondere in vergleichenden
Kommentaren -- ist es wünschenswert, wenn man Absätze in Gesetzen auslassen,
aber gleichzeitig die Auslassung\Index{Absatz>Auslassung} markieren kann. Die
Absätze sollen dann auch in der Zählung der übrigen Absätze berücksichtigt
werden. Das Paket \Package{scrjura} stellt dafür die Anweisung
\Macro{ellipsispar} bereit. 

In der Voreinstellung lässt \Macro{ellipsispar} genau einen Absatz aus. Über
das optionale Argument \PName{Anzahl} können jedoch auch mehrere Absätze
ausgelassen werden. In jedem Fall erscheint in der Ausgabe stattdessen genau
ein nicht nummerierter Absatz, der nur die Auslassungszeichen
\Macro{parellipsis} enthält. Bei der Entscheidung für eine automatische
Nummerierung der übrigen Absätze eines juristischen Paragraphen werden die
ausgelassenen Absätze jedoch mit gezählt. Dies gilt ebenso für die Nummern
etwaiger nachfolgender Absätze.
\begin{Example}
  Angenommen, Sie kommentieren das Strafgesetzbuch, wollen aber in \S~2 nur
  Absatz~3 kommentieren. Dennoch soll auf die übrigen Absätze indirekt
  hingewiesen werden. Sie erreichen das beispielsweise mit:
\begin{lstcode}
  \documentclass[parskip=half]{scrartcl}
  \usepackage{scrjura}
  \usepackage{selinput}
  \SelectInputMappings{
    adieresis={ä},germandbls={ß},
  }
  \begin{document}
  \begin{contract}
    \Clause{title={Zeitliche Geltung},number=2}
    \ellipsispar[2]

    Wird das Gesetz, das bei Beendigung der Tat
    gilt, vor der Entscheidung geändert, so ist
    das mildeste Gesetz anzuwenden.

    \ellipsispar[3]
  \end{contract}
  \end{document}
\end{lstcode}
  Um das Ergebnis zu sehen, sollten Sie das einfach einmal ausprobieren.
\end{Example}

Die Auslassungszeichen sind so vordefiniert, dass
\Macro{textellipsis}\IndexCmd{textellipsis} verwendet wird, falls eine solche
Anweisung definiert ist. Anderenfalls wird \Macro{dots} verwendet. Eine
Umdefinierung von \Macro{parellipsis} ist mit \Macro{renewcommand} jederzeit
möglich.%
\EndIndexGroup


\subsection{Sätze}
\label{sec:scrjura.sentence}

\BeginIndexGroup
\BeginIndex{}{Satz>Nummerierung}%
Absätze in Verträge bestehen aus einem oder mehreren Sätzen, die teilweise
ebenfalls nummeriert werden. Da eine automatische Nummerierung jedoch
problematisch und fehleranfällig ist, wurde eine solche bisher nicht
implementiert.

\begin{Declaration}
  \Counter{sentence}
  \Macro{thesentence}
  \Macro{Sentence}
\end{Declaration}
Die Nummerierung von Sätzen erfolgt manuell mit der Anweisung
\Macro{Sentence}. Dabei wird der Zähler \Counter{sentence} automatisch erhöht
und in der Voreinstellung von \Macro{thesentence} als arabische Zahl
ausgegeben.

Bei\textnote{Tipp!} Verwendung von \Package{babel}\IndexPackage{babel} ist es
einfach möglich, eine Abkürzung für \Macro{Sentence} zu definieren:%
\phantomsection\label{sec:scrjura.shorthandexample}%
\begin{lstcode}[moretexcs={useshorthands,defineshorthand}]
  \useshorthands{'}
  \defineshorthand{'S}{\Sentence\ignorespaces}
\end{lstcode}
Bei dieser Definition wurde dafür gesorgt, dass Leerzeichen nach
\lstinline|'S| ignoriert werden. Es ist sogar möglich zusätzlich eine
Abkürzung für einen Punkt gefolgt von einer neuen Satznummer zu definieren:
\begin{lstcode}[moretexcs={useshorthands,defineshorthand}]
  \defineshorthand{'.}{. \Sentence\ignorespaces}
\end{lstcode}
Diese beiden Abkürzungen haben sich in der Praxis sehr bewährt. Näheres zur
Verwendung von
\Macro{useshorthands} und \Macro{defineshorthand} ist der Anleitung zum Paket
\Package{babel} zu entnehmen (siehe \cite{package:babel}).%
\EndIndexGroup
%
\EndIndexGroup
%
\EndIndexGroup
%
\EndIndexGroup


\section{Querverweise}
\label{sec:scrjura.ref}

Für Paragraphen, Absätze und Sätze reicht der normale Mechanismus für
Querverweise mit \Macro{label}\IndexCmd{label}\important{\Macro{label}},
\Macro{ref} und \Macro{pageref} nicht mehr aus. Daher wird dieser von
\Package{scrjura} um weitere Anweisungen ergänzt.

\begin{Declaration}
  \Macro{ref}\Parameter{Label}
  \Macro{refL}\Parameter{Label}
  \Macro{refS}\Parameter{Label}
  \Macro{refN}\Parameter{Label}
\end{Declaration}
Die Anweisungen \Macro{refL}, \Macro{refS} und \Macro{refN}
referenzieren Paragraph, Absatz und Satz immer vollständig. \Macro{refL}
verwendet dabei eine textuelle Langform, während \Macro{refS} eine textuelle
Kurzform bietet. \Macro{refN} ist eine rein nummerische Kurzform. \Macro{ref}
entspricht in der Voreinstellung \Macro{refL}.%
\EndIndexGroup


\begin{Declaration}
  \Macro{refClause}\Parameter{Label}
  \Macro{refClauseN}\Parameter{Label}
\end{Declaration}
Für die Referenzierung von Paragraphen ohne Absatz und Satz, unterscheiden
sich \Macro{refClause} und \Macro{refClauseN} nur darin, dass ersteres
automatisch ein Paragraphenzeichen voran stellt.%
\EndIndexGroup


\begin{Declaration}
  \Macro{refPar}\Parameter{Label}
  \Macro{refParL}\Parameter{Label}
  \Macro{refParS}\Parameter{Label}
  \Macro{refParN}\OParameter{Zahlenformat}\Parameter{Label}
\end{Declaration}
Nur den Absatz kann man mit \Macro{refParL}, \Macro{refParS} und
\Macro{refParN} referenzieren. Die Formen unterscheiden sich dabei wie bereits
für \DescRef{\LabelBase.cmd.refL}, \DescRef{\LabelBase.cmd.refN} und
\DescRef{\LabelBase.cmd.refS} angegeben. Eine Besonderheit stellt das
optionale Argument von \Macro{refParN} dar. Normalerweise werden Absätze in
rein nummerischer Form als römische Zahlen referenziert. Über das optionale
Argument kann jedoch auch ein anderes Format vorgegeben werden. Sinnvoll ist
hier in erster Linie das \PValue{Zahlenformat} \PValue{arabic} für eine
arabische Absatznummer. \Macro{refPar} entspricht in der Voreinstellung
\Macro{refParL}.
\EndIndexGroup


\begin{Declaration}
  \Macro{refSentence}\Parameter{Label}
  \Macro{refSentenceL}\Parameter{Label}
  \Macro{refSentenceS}\Parameter{Label}
  \Macro{refSentenceN}\Parameter{Label}
\end{Declaration}
Der Satz ohne Paragraph und Absatz kann mit \Macro{refSentenceL},
\Macro{refSentenceS} oder \Macro{refSentenceN} referenziert werden. Auch hier
gibt es wieder eine textuelle Langform, eine textuelle Kurzform und eine rein
nummerische Form. \Macro{refSentence} entspricht in der Voreinstellung
\Macro{refSentenceL}.%
\EndIndexGroup


\begin{Declaration}
  \OptionVName{ref}{Einstellung}
\end{Declaration}
Die Ergebnisse von \DescRef{\LabelBase.cmd.ref},
\DescRef{\LabelBase.cmd.refPar} und \DescRef{\LabelBase.cmd.refSentence} sind
von der \PName{Einstellung} für Option \Option{ref} abhängig. In der
Voreinstellung entsprechen diese \DescRef{\LabelBase.cmd.refL},
\DescRef{\LabelBase.cmd.refParL} und
\DescRef{\LabelBase.cmd.refSentenceL}. Mögliche Werte und ihre Bedeutung sind
\autoref{tab:scrjura.ref} zu entnehmen.%
%
\begin{table}
%\begin{desclist}
%  \desccaption
  \caption[{%
    Mögliche Werte für Option \Option{ref} zur Einstellung der
    Referenzierungsformate%
  }]{%
    Mögliche Werte für Option \Option{ref} zur Einstellung des Formats von
    \DescRef{\LabelBase.cmd.ref}, \DescRef{\LabelBase.cmd.refPar} und
    \DescRef{\LabelBase.cmd.refSentence}%
    \label{tab:scrjura.ref}%
  }%
%  {%
%    Mögliche Werte für Option \Option{ref} \emph{(Fortsetzung)}%
%  }%
  \begin{desctabular}
    \entry{\PValue{long}}{%
      Die Einstellungen \PValue{parlong} und \PValue{sentencelong} werden
      kombiniert.%
      \IndexOption{ref~=\PValue{long}}%
    }%
    \entry{\PValue{numeric}}{%
      Die Einstellungen \PValue{parnumeric} und \PValue{sentencenumeric}
      werden kombiniert.%
      \IndexOption{ref~=\PValue{numeric}}%
    }%
    \entry{\PValue{clauseonly}, \PValue{onlyclause}, \PValue{ClauseOnly},
      \PValue{OnlyClause}}{%
      Die Einstellungen \PValue{paroff} und \PValue{sentenceoff} werden
      kombiniert. Es ist zu beachten, dass dadurch sowohl
      \DescRef{\LabelBase.cmd.refPar} als auch
      \DescRef{\LabelBase.cmd.refSentence} ein leeres Ergebnis erzeugen!%
      \IndexOption{ref~=\PValue{long}}%
    }%
    \entry{\PValue{parlong}, \PValue{longpar}, \PValue{ParL}}{%
      Der Absatz wird in der textuellen Langform referenziert.%
      \IndexOption{ref~=\PValue{parlong}}%
    }%
    \entry{\PValue{parnumeric}, \PValue{numericpar}, \PValue{ParN}}{%
      Der Absatz wird in der rein nummerischen Form referenziert.%
      \IndexOption{ref~=\PValue{parnumeric}}%
    }%
    \entry{\PValue{paroff}, \PValue{nopar}}{%
      Der Absatz wird nicht mit referenziert. Es ist zu beachten, dass dadurch
      \DescRef{\LabelBase.cmd.refPar} ein leeres Ergebnis erzeugt!%
      \IndexOption{ref~=\PValue{paroff}}%
    }%
    \entry{\PValue{parshort}, \PValue{shortpar}, \PValue{ParS}}{%
      Der Absatz wird in der textuellen Kurzform referenziert.%
      \IndexOption{ref~=\PValue{parshort}}%
    }%
    \entry{\PValue{sentencelong}, \PValue{longsentence}, \PValue{SentenceL}}{%
      Der Satz wird in der textuellen Langform referenziert.%
      \IndexOption{ref~=\PValue{parlong}}%
    }%
    \entry{\PValue{sentencenumeric}, \PValue{numericsentence},
      \PValue{SentenceN}}{%
      Der Satz wird in der rein nummerischen Form referenziert.%
      \IndexOption{ref~=\PValue{sentencenumeric}}%
    }%
    \entry{\PValue{sentenceoff}, \PValue{nosentence}}{%
      Der Satz wird nicht mit referenziert. Es ist zu beachten, dass dadurch
      von \DescRef{\LabelBase.cmd.refSentence} ein leeres Ergebnis erzeugt
      wird!%
      \IndexOption{ref~=\PValue{sentenceoff}}%
    }%
    \entry{\PValue{sentenceshort}, \PValue{shortsentence},
      \PValue{SentenceS}}{%
      Der Satz wird in der textuellen Kurzform referenziert.%
      \IndexOption{ref~=\PValue{sentenceshort}}%
    }%
    \entry{\PValue{short}}{%
      Die Einstellungen \PValue{parshort} und \PValue{sentenceshort} werden
      kombiniert.%
      \IndexOption{ref~=\PValue{short}}%
    }%
\end{desctabular}
\end{table}

\begin{Example}
  Angenommen Sie wollen, dass auf Absätze immer in der Form »Absatz 1 in
  Paragraph 1« verwiesen wird. Da es hierfür keine vordefinierte Anweisung
  gibt, müssen Sie sich Ihre eigene Definition aus den vorhanden Möglichkeiten
  zusammen bauen. Dies können Sie mit%
\begin{lstcode}
  \newcommand*{\refParM}[1]{%
    Absatz~\refParN[arabic]{#1} 
    in Paragraph~\refClauseN{#1}%
  }
\end{lstcode}
  sehr einfach erreichen. Die so neu definierte Anweisung ist genau wie
  \DescRef{\LabelBase.cmd.refParL} zu verwenden.%
\end{Example}%

Beispiele für die Ergebnisse der nicht konfigurierbaren, grundlegenden
Anweisungen finden sich in \autoref{tab:scrjura.refexamples}.
%
\begin{table}
  \KOMAoptions{captions=topbeside}%
  \setcapindent{0pt}%
  \begin{captionbeside}{Beispielausgaben der von Option \Option{ref}
      unabhängigen Anweisungen für Querverweise}[l]
    \begin{tabular}[t]{ll}
      \toprule
      Anweisung                               & Beispielausgabe \\
      \midrule
      \DescRef{\LabelBase.cmd.refL}\Parameter{Label}           & § 1 Absatz 1 Satz 1 \\
      \DescRef{\LabelBase.cmd.refS}\Parameter{Label}           & § 1 Abs. 1 S. 1 \\
      \DescRef{\LabelBase.cmd.refN}\Parameter{Label}           & § 1 I 1. \\
      \DescRef{\LabelBase.cmd.refClause}\Parameter{Label}   & § 1 \\
      \DescRef{\LabelBase.cmd.refClauseN}\Parameter{Label}  & 1 \\
      \DescRef{\LabelBase.cmd.refParL}\Parameter{Label}        & Absatz 1 \\
      \DescRef{\LabelBase.cmd.refParS}\Parameter{Label}        & Abs. 1 \\
      \DescRef{\LabelBase.cmd.refParN}\Parameter{Label}        & I \\
      \DescRef{\LabelBase.cmd.refParN}\POParameter{arabic}\Parameter{Label} & 1 \\
      \DescRef{\LabelBase.cmd.refParN}\POParameter{roman}\Parameter{Label} & i \\
      \DescRef{\LabelBase.cmd.refSentenceL}\Parameter{Label}   & Satz 1 \\
      \DescRef{\LabelBase.cmd.refSentenceS}\Parameter{Label}   & S. 1 \\
      \DescRef{\LabelBase.cmd.refSentenceN}\Parameter{Label}   & 1. \\
      \bottomrule
   \end{tabular}
  \end{captionbeside}
  \label{tab:scrjura.refexamples}
\end{table}
\EndIndexGroup


\section{Zusätzliche Vertragsumgebungen}
\label{sec:scrjura.newenv}

Einer der Anwender setzt mit \Package{scrjura} keine Verträge oder Kommentare
zu einzelnen Gesetzen, sondern Werke, in denen unterschiedliche Arten von
Gesetzen behandelt werden. Es ist daher erforderliche, dass ein Paragraph
nicht immer mit demselben Präfix »\S« versehen wird, sondern beispielsweise
als »Art.« oder »GG« oder was auch immer bezeichnet wird. Darüber hinaus wird
eine unabhängige Zählung der unterschiedlichen Paragraphen benötigt.

\begin{Declaration}
  \Macro{DeclareNewJuraEnvironment}\Parameter{Name}\OParameter{Optionen}
                                   \Parameter{Start-Anweisungen}
                                   \Parameter{End-Anweisungen}
\end{Declaration}
Über\ChangedAt{v0.9}{\Package{scrjura}} diese Anweisung können weitere,
voneinander unabhängige Umgebungen für Vertrags- oder Gesetzestexte deklariert
werden.  Das Argument \PName{Name} ist dabei der Name der neuen
Umgebung. \PName{Start-Anweisungen} sind Anweisungen, die immer am Anfang der
Umgebung ausgeführt werden, ganz als ob man sie jedes Mal unmittelbar hinter
\Macro{begin}\Parameter{Name} einfügen würde. Entsprechend werden
\PName{End-Anwesiungen} immer am Ende der Umgebung ausgeführt, ganz als ob man
sie jedes Mal unmittelbar vor \Macro{end}\Parameter{Name} einfügen würde. Ohne
\PName{Optionen} entspricht die neue Umgebung \PName{Name} einer
\DescRef{\LabelBase.env.contract}-Umgebung mit eigenen Zählern. Es besteht
jedoch die Möglichkeit über eine mit Komma separierte Liste an
\PName{Optionen} darauf Einfluss zu nehmen. Derzeit werden folgende
\PName{Optionen} unterstützt:
\begin{description}
\item[\OptionVName{Clause}{Anweisung}:] Legt fest, auf welche
  \PName{Anweisung} innerhalb der Umgebung die Anweisung
  \DescRef{\LabelBase.cmd.Clause} abgebildet werden soll. Die
  \PName{Anweisung} sollte wie die für \DescRef{\LabelBase.env.contract}
  dokumentierte Anweisung genau ein Argument erwarten. Für eine korrekte
  Anwendung dieser Option sind erweiterte Kenntnisse über die interne Funktion
  von \Package{scrjura} notwendig. Außerdem können sich die Anforderungen an
  die \PName{Anweisung} von Version zu Version noch ändern. Daher wird derzeit
  empfohlen, die Option nicht zu verwenden!
\item[\OptionVName{SubClause}{Anweisung}:] Siehe Option \Option{Clause},
  allerdings für \DescRef{\LabelBase.cmd.SubClause} statt
  \DescRef{\LabelBase.cmd.Clause}.
\item[\OptionVName{Sentence}{Anweisung}:] Legt fest, auf welche
  \PName{Anweisung} innerhalb der Umgebung die Anweisung
  \DescRef{\LabelBase.cmd.Sentence} abgebildet werden soll. Die
  \Macro{Anweisung} sollte kein Argument besitzen. Normalerweise sollte sie
  den Zähler \Counter{sentence}\IndexCounter{sentence} mit
  \Macro{refstepcounter}\IndexCmd{refstepcounter} erhöhen und dann in
  geeigneter Form ausgeben. Dabei ist besonders darauf zu achten, dass keine
  unerwünschten Leerzeichen eingebaut werden!
\item[\OptionVName{ClauseNumberFormat}{Anweisung}:] Legt fest, auf welche
  Weise die Paragraphen"=Nummern dieser Umgebung bei der Ausgabe formatiert
  werden. Es wird eine Anweisung mit genau einem Argument erwartet, der Nummer
  des Paragraphen. Falls diese Nummer das letzte Argument einer Kette von
  Anweisungen ist, so kann diese Kette an Anweisungen auch direkt angegeben
  werden.
\end{description}
\begin{Example}
  Um beispielsweise die in der Einleitung zu diesem Abschnitt erwähnte
  Umgebung für Artikel zu definieren, genügt:
\begin{lstcode}
  \DeclareNewJuraEnvironment{Artikel}[ClauseNumberFormat=Art.]{}{}
\end{lstcode}
  Sollen die Artikel unter Verwendung einer \KOMAScript-Klasse mit
  Absatzabstand statt Absatzeinzug gesetzt werden, kann
\begin{lstcode}
  \DeclareNewJuraEnvironment{Artikel}[ClauseNumberFormat=Art.~]
                            {\KOMAoptions{parskip}}{}
\end{lstcode}
  verwendet werden. Natürlich wird dann auch bei der Referenzierung
  automatisch »Art.« an Stelle von »\S« vorangestellt.%
\end{Example}%
\EndIndexGroup


\section{Unterstützung verschiedener Sprachen}
\label{sec:scrjura.babel}

Das Paket \Package{scrjura} wurde in Zusammenarbeit mit einem Anwalt für
Deutsches Recht entwickelt. Daher unterstützte zunächst auch nur die Sprachen
\PValue{german}, \PValue{ngerman}, \PValue{austrian} und
\PValue{naustrian}. Das Paket wurde aber so entworfen, dass es mit üblichen
Sprachpaketen wie
\Package{babel}\important{\Package{babel}}\IndexPackage{babel} zusammen
arbeitet. Anwender können solche Anpassungen einfach mit
\DescRef{scrbase.cmd.providecaptionname} (siehe
\autoref{sec:scrbase.languageSupport},
\DescPageRef{scrbase.cmd.providecaptionname}) vornehmen. Sollten Sie über
gesicherte Informationen zu den im juristischen Umfeld gebräuchlichen
Begriffen in anderen Sprachen verfügen, würde sich der Autor über
entsprechende Rückmeldungen freuen. Auf diesem Weg ist inzwischen auch
Unterstützung für \PValue{english}, \PValue{american}, \PValue{british},
\PValue{canadian}, \PValue{USenglish} und \PValue{UKenglish} hinzu gekommen.

\begin{Declaration}
  \Macro{parname}
  \Macro{parshortname}
  \Macro{sentencename}
  \Macro{sentenceshortname}
\end{Declaration}
Dies sind die sprachabhängigen Bezeichnungen, die von \Package{scrjura}
verwendet werden. Die Bedeutung und die im Deutschen vordefinierten Werte sind
\autoref{tab:scrjura.captionnames} zu entnehmen. Dabei nimmt \Package{scrjura}
die entsprechenden Definitionen innerhalb von
\Macro{begin}\PParameter{document} nur vor, wenn nicht bereits andere Vorgaben
getroffen wurden. Wird \Package{scrjura} mit einer nicht unterstützten Sprache
verwendet, so wird eine entsprechende Fehlermeldung ausgegeben.%
%
\begin{table}
  \KOMAoptions{captions=topbeside}%
  \setcapindent{0pt}%
  \begin{captionbeside}
    [{%
      Bedeutungen und Voreinstellungen sprachabhängiger Begriffe%
    }]{%
      Bedeutungen und Voreinstellungen für die sprachabhängigen Begriffe
      soweit nicht bereits definiert%
    }
    [l]
    \begin{tabular}[t]{lll}
      \toprule
      Anweisung                 & Bedeutung              & Voreinstellung \\
      \midrule
      \Macro{parname}           & Langform »Absatz«  & Absatz \\
      \Macro{parshortname}      & Kurzform »Absatz«  & Abs. \\
      \Macro{sentencename}      & Langform »Satz«   & Satz \\
      \Macro{sentenceshortname} & Kurzform »Satz«   & S. \\
      \bottomrule
    \end{tabular}
  \end{captionbeside}
  \label{tab:scrjura.captionnames}
\end{table}
%
\EndIndexGroup


\section{Ein ausführliches Beispiel}
\label{sec:scrjura.example}

Erinnern wir uns an den Brief aus \autoref{cha:scrlttr2}, in dem ein
Vereinsmitglied die überfällige Mitgliederversammlung in Erinnerung bringen
wollte. Damit so etwas möglich ist, muss es auch einen Verein mit einer
Satzung geben, die das vorschreibt. Eine Vereinssatzung ist letztlich eine Art
Vertrag und kann mit \Package{scrjura} gesetzt werden.

\lstinputcode[{xleftmargin=2em,%
  linerange=1-2}]{scrjuraexample.tex}%
Als Klasse wird \Class{scrartcl} verwendet. Da es bei Satzungen eher üblich
ist, die Absätze mit einem Abstand zu setzen, wird Option
\OptionValueRef{maincls}{parskip}{half} verwendet (siehe
\autoref{sec:maincls.parmarkup}, \DescPageRef{maincls.option.parskip}).

\lstinputcode[{xleftmargin=2em,%
  linerange=4-4}]{scrjuraexample.tex}%
Die Satzung soll in Deutsch verfasst werden. Daher wird das Paket
\Package{babel} mit Option \Option{ngerman} geladen.

\lstinputcode[{xleftmargin=2em,%
  linerange={6-7,9-9}}]{scrjuraexample.tex}%
Es werden einige Standardeinstellungen für die Schrift vorgenommen. Dazu kommt
das Paket \Package{textcomp}, das neben einem brauchbaren Euro-Zeichen für
einige Schriften auch ein verbessertes Paragraphenzeichen bereit stellt.

\lstinputcode[{moretexcs=SelectInputMappings,xleftmargin=2em,%
  linerange=11-15}]{scrjuraexample.tex}%
Damit Sonderzeichen und Umlaute direkt eingegeben werden können, wird die
Eingabecodierung ermittelt. Alternativ könnte hier auch das Paket
\Package{inputenc} zum Einsatz kommen.


\lstinputcode[{xleftmargin=2em,%
  linerange=17-17}]{scrjuraexample.tex}%
Später sollen Listen nicht mit arabischen Zahlen, sondern mit Kleinbuchstaben
nummeriert werden. Dies ist beispielsweise mit dem Paket \Package{enumerate}
möglich.

\lstinputcode[{moretexcs={useshorthands,defineshorthand},%
  xleftmargin=2em,%
  linerange=19-27}]{scrjuraexample.tex}%
Nun ist es Zeit für \Package{scrjura}. Mit Option
\OptionValueRef{\LabelBase}{clausemark}{forceboth} wird für Paragraphen das
Setzen von linken und rechten Marken für Kolumnentitel erzwungen. Da
andererseits nicht erwünscht ist, dass \DescRef{maincls.cmd.section}
Kolumnentitel erzeugen, wird Seitenstil \PageStyle{myheadings} verwendet, der
normalerweise keine lebenden Kolumnentitel aktiviert.

Es soll später auch ein Inhaltsverzeichnis erstellt werden, in das die
Paragraphen ebenfalls aufgenommen werden. Das wird mit
\DescRef{\LabelBase.option.juratotoc} erreicht. Später werden wir feststellen,
dass die voreingestellte Breite für die Paragraphennummern im
Inhaltsverzeichnis nicht genügt. Daher wird mit
\OptionValueRef{\LabelBase}{juratocnumberwidth}{2.5em} für etwas mehr Platz
gesorgt.

Die Definition der Abkürzungen wurde bereits in
\autoref{sec:scrjura.shorthandexample} erklärt. Im Beispiel wurde sie
übernommen, um später die Eingabe zu vereinfachen.

\lstinputcode[{xleftmargin=2em,%
  linerange=29-29}]{scrjuraexample.tex}%
Es ist Zeit, das eigentliche Dokument zu beginnen.

\lstinputcode[{xleftmargin=2em,%
  linerange=31-35}]{scrjuraexample.tex}%
Wie jedes Dokument hat auch eine Satzung einen Titel. Dieser wird mit den
gewohnten \KOMAScript-Mitteln (siehe \autoref{sec:maincls.titlepage}, ab
\autopageref{sec:maincls.titlepage}) erstellt.

\lstinputcode[{xleftmargin=2em,%
  linerange=37-37}]{scrjuraexample.tex}%
Wie bereits erwähnt, soll ein Inhaltsverzeichnis erstellt werden.

\lstinputcode[{xleftmargin=2em,%
  linerange=39-43}]{scrjuraexample.tex}%
Präambeln sind in Satzungen nicht ungewöhnlich. Hier wird sie mit
\DescRef{maincls.cmd.addsec} gesetzt, damit sie auch einen Eintrag ins
Inhaltsverzeichnis erhält.

\lstinputcode[{xleftmargin=2em,%
  linerange=45-45}]{scrjuraexample.tex}%
Hier wird ein kleiner Trick angewendet. Die einzelnen Artikel der Satzung
sollen nicht mit arabischen Zahlen, sondern mit Großbuchstaben nummeriert
werden -- genau wie dies auch im Anhang eines Artikels mit \Class{scrartcl}
der Fall ist.

\lstinputcode[{xleftmargin=2em,%
  linerange=47-49}]{scrjuraexample.tex}%
Mit dem ersten Artikel beginnt auch der Vertrag.

\lstinputcode[{xleftmargin=2em,%
  linerange=50-59}]{scrjuraexample.tex}%
Der erste Paragraph erhält neben der Nummer auch einen Titel. Dies wird auch
bei den nachfolgenden Paragraphen so sein. 

Der erste Absatz des Vertrags enthält nichts ungewöhnliches. Da es nicht der
einzige Absatz ist, werden bei der Ausgabe jedem Absatz automatisch
Absatznummern voran gestellt werden. Damit dies auch beim ersten Absatz
geschieht, sind allerdings zwei \LaTeX-Läufe notwendig. Da dies für das
Inhaltsverzeichnis ohnehin der Fall sein wird, stört das aber auch nicht
weiter.

Im zweiten Absatz stehen zwei Sätze. Hier finden zum ersten Mal die
Abkürzungen \texttt{'S} und
\texttt{'.} Anwendung. Mit der ersten wird lediglich eine Satznummer
erzeugt. Mit der zweiten wird nicht nur ein Punkt, sondern nachfolgend
auch eine Satznummer erzeugt. Beide Sätze des Absatzes sind somit nummeriert.

\lstinputcode[{xleftmargin=2em,%
  linerange=60-75}]{scrjuraexample.tex}%
Der zweite Paragraph: Auch dieser enthält wieder mehrere Absätze, die
teilweise auch mehrere Sätze umfassen. Im zweiten Absatz ist darüber hinaus
eine Aufzählung zu finden. Beim letzten Absatz wurde ein Label gesetzt, da auf
diesen später noch verwiesen werden soll.

\lstinputcode[{xleftmargin=2em,%
  linerange=77-84}]{scrjuraexample.tex}%
Der dritte Paragraph enthält als Besonderheit einen Querverweis. In diesem
Fall wird in der Langform mit Paragraph, Absatz und Satz referenziert. Soll
der Satz später doch entfallen, so kann dies global durch Setzen der Option
\OptionValueRef{\LabelBase}{ref}{nosentence} erreicht werden.

\lstinputcode[{xleftmargin=2em,%
  linerange=86-87}]{scrjuraexample.tex}%
Hier gibt es nun einen ersten Spezialfall eines Paragraphen. Dieser Paragraph
war in einer früheren Fassung der Satzung noch enthalten, wurde dann aber
entfernt. Dabei sollen jedoch die nachfolgenden Paragraphen nicht neu
nummeriert werden, sondern ihre alte Nummer behalten. Deshalb wurde die
\DescRef{\LabelBase.cmd.Clause}-Anweisung nicht entfernt, sondern lediglich um
die Eigenschaft \Option{dummy} erweitert. Außerdem kann so auch weiterhin ein
Label für diesen Paragraphen gesetzt werden, obwohl der Paragraph selbst nicht
angezeigt wird.

\lstinputcode[{xleftmargin=2em,%
  linerange=88-92}]{scrjuraexample.tex}%
Es wird ein weiterer Artikel begonnen. Damit Probleme mit der
Absatznummerierung ausgeschlossen sind, wird dazu kurzzeitig die
\DescRef{\LabelBase.env.contract}-Umgebung unterbrochen.

\lstinputcode[{xleftmargin=2em,%
  linerange=93-93}]{scrjuraexample.tex}%
Auch der erste Paragraph im nächsten Artikel wurde gestrichen.

\lstinputcode[{xleftmargin=2em,%
  linerange=95-104}]{scrjuraexample.tex}%
Hier haben wir wieder einen echten Paragraphen. Darin wird zum einen auf einen
der gestrichenen Paragraphen verwiesen. Zum anderen wird auch wieder ein Label
gesetzt.

\lstinputcode[{xleftmargin=2em,%
  linerange=107-112}]{scrjuraexample.tex}%
Hier haben wir den zweiten Spezialfall eines Paragraphen. In diesem Fall wurde
kein Paragraph gestrichen, sondern ein neuer Paragraph eingefügt, ohne dass
nachfolgend Paragraphen neu nummeriert werden. Dazu wurde
\DescRef{\LabelBase.cmd.SubClause} verwendet. Somit erhält dieser Paragraph
die Nummer des vorherigen Paragraphen, die zur Unterscheidung um ein kleines
»a« erweitert wurde.

\lstinputcode[{xleftmargin=2em,%
  linerange=114-134}]{scrjuraexample.tex}%
Die übrigen Paragraphen dieses Artikels enthalten nur bereits bekannte
Anweisungen und keine neuen Besonderheiten.

\lstinputcode[{xleftmargin=2em,%
  linerange=136-150}]{scrjuraexample.tex}%
Es folgt noch ein weiterer Artikel ohne Besonderheiten.

\lstinputcode[{xleftmargin=2em,%
  linerange=152-152}]{scrjuraexample.tex}%
Danach endet das \LaTeX-Dokument, dessen vordere drei Seiten
\autoref{fig:scrjura.example} zeigt.%
%
\begin{figure}
  \setcapindent{0pt}%
  \iffree{%
    {\hfill
      \frame{\includegraphics[page=1,width=.482\textwidth,%
        height=.49\textheight,keepaspectratio]{scrjuraexample}}\enskip
      \frame{\includegraphics[page=2,width=.482\textwidth,%
        height=.49\textheight,keepaspectratio]{scrjuraexample}}\par
      \smallskip}
    \begin{captionbeside}[{%
        Beispiel: Die ersten drei Seiten der Beispielsatzung
        aus\protect\linebreak
        \protect\autoref{sec:scrjura.example}%
      }]{%
        Die ersten drei Seiten der Beispielsatzung aus
        \protect\autoref{sec:scrjura.example}%
      }%
      [l]
      \frame{\includegraphics[page=3,width=.482\textwidth,%
        height=.49\textheight,keepaspectratio]{scrjuraexample}}\enskip
    \end{captionbeside}
  }{%
    {\hfill
      \frame{\includegraphics[page=1,width=.482\textwidth]{scrjuraexample}}%
      \enskip
      \frame{\includegraphics[page=2,width=.482\textwidth]{scrjuraexample}}\par
      \smallskip}
    \begin{captionbeside}[{%
        Beispiel: Die ersten drei Seiten der Beispielsatzung
        aus\protect\linebreak
        \protect\autoref{sec:scrjura.example}%
      }]{%
        Die ersten drei Seiten der Beispielsatzung aus
        \protect\autoref{sec:scrjura.example}%
      }%
      [l]
      \frame{\includegraphics[page=3,width=.482\textwidth]{scrjuraexample}}%
      \enskip
    \end{captionbeside}
  }%
  \label{fig:scrjura.example}
\end{figure}


\section{Entwicklungsstand}
\label{sec:scrjura.draft}

Obwohl das Paket bereits seit Jahren Teil von \KOMAScript{} und noch länger im
Einsatz bei diversen Juristen ist, hat es noch immer eine Versionsnummer
kleiner 1. Deshalb ist es eigentlich als unfertig zu betrachten. Dafür gibt es
im Wesentlichen drei Ursachen.

Zum Einen ist das Paket wesentlich allgemeiner entworfen als es derzeit
genutzt wird. So war beispielsweise ursprünglich geplant, neben
\DescRef{\LabelBase.env.contract} weitere, ähnliche Umgebungen zu
erstellen. Erst später stellte sich heraus, dass diese eine Umgebung alle
wesentlichen Anwendungen bereits abdeckt. Allerdings hat sich später gezeigt,
dass es nützlich wäre, neue \DescRef{\LabelBase.env.contract}-Umgebungen
definieren zu können, beispielsweise für Grundgesetzartikel. Dies ist
inzwischen implementiert.

Zum Anderen ist weder das Zusammenspiel mit vielen anderen Paketen noch die
Funktion der \DescRef{\LabelBase.env.contract}-Umgebung mit allen möglichen
\LaTeX-Umgebungen und Einstellungen verschiedener Klassen und Pakete
getestet. Dies liegt nicht zuletzt daran, dass es sich bei \Package{scrjura}
um ein sehr spezielles Paket handelt, das weit außerhalb der täglichen Praxis
des Autors liegt. Damit ist der Autor diesbezüglich in hohem Maße auf
ausführliche Rückmeldungen durch die Anwender angewiesen.

Aus der kleinen Versionsnummer darf und soll auch abgeleitet werden, dass sich
Dinge in \Package{scrjura} noch ändern können. Zwar ist der Autor bemüht,
dabei die Kompatibilität zu früheren Versionen zu erhalten. Garantiert kann
diese jedoch nicht werden.%
%
\EndIndexGroup

%%% Local Variables: 
%%% mode: latex
%%% mode: flyspell
%%% coding: iso-latin-1
%%% ispell-local-dictionary: "de_DE"
%%% TeX-PDF-mode: t
%%% TeX-master: "guide.tex"
%%% End: 

%  LocalWords:  Seitenstil bedarfsweise Ebenennummer Absatznummerierung
%  LocalWords:  Paragraphenüberschrift Präambeln renewcommand Gesetzestexte
%  LocalWords:  Grundgesetzartikel Absatzabstand umbrechbaren Wortabstand
%  LocalWords:  Beispielsatzung
