summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/koma-script/scrjura.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrjura.dtx')
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrjura.dtx691
1 files changed, 499 insertions, 192 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrjura.dtx b/Master/texmf-dist/source/latex/koma-script/scrjura.dtx
index ed9ead77ef7..fad67ab177a 100644
--- a/Master/texmf-dist/source/latex/koma-script/scrjura.dtx
+++ b/Master/texmf-dist/source/latex/koma-script/scrjura.dtx
@@ -1,4 +1,4 @@
-% \CheckSum{1492}
+% \CheckSum{1766}
% \iffalse meta-comment
% ======================================================================
% scrjura.dtx
@@ -60,7 +60,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrjura.dtx 1716 2014-03-01 15:38:49Z kohm $
+%%% From File: $Id: scrjura.dtx 1849 2014-11-25 07:56:28Z kohm $
%<*dtx>
\def\LaTeXformat{LaTeX2e}
\ifx\fmtname\LaTeXformat\def\MainBodyWork{%
@@ -70,7 +70,7 @@
%<driver>\ProvidesFile{scrjura.drv}
%<package>\ProvidesPackage{scrjura}
%<*dtx|package|driver>
- [2014/01/28 v0.7a KOMA-Script for jurists
+ [2014/11/22 v0.9 KOMA-Script for jurists
%</dtx|package|driver>
%<driver> (driver)%
%<package> (package)%
@@ -308,7 +308,7 @@ standard classes created by The LaTeX3 Project 1994-1996.
% Paragraphentitel, sofern \textsf{scrjura} mit der Option |juratotoc| geladen
% wurde. Automatische Kolumnentitel sind ebenfalls möglich.
%
-% Jeder Paragraph hat einen Titel, z.\,B.: |\Paragraph{title=Besitz}|. Die
+% Jeder Paragraph hat einen Titel, z.\,B.: |\Clause{title=Besitz}|. Die
% Nummerierung der Paragraphen erfolgt automatisch, kann aber auch manuell
% vorgenommen werden.
%
@@ -423,9 +423,15 @@ standard classes created by The LaTeX3 Project 1994-1996.
% \textsf{scrjura} führt zwei Gliederungsebenen ein: Paragraph und
% Subparagraph. Selbstverständlich funktioniert deren im folgenden
% beschriebene Befehle im \textit{Umgebungsmodus} nur innerhalb der
-% Vertragsumgebung.
+% Vertragsumgebung. Es sei an dieser Stelle darauf hingewiesen, dass bei
+% früheren Versionen von \textsf{scrjura} Befehle und Zähler noch den Terminus
+% "`Paragraph"' im Namen trugen. Da dieser Teminus für juristische Paragraphen
+% im Englischen jedoch eher unüblich ist und vor allem auch zur Vermeidung von
+% Verwechslungen mit dem normalen Gliederungsbefehl |\paragraph|, wurde dies
+% ab Version 0.7b in "`Clause"' geändert. Ältere Dokumente müssen daher
+% ggf. entsprechend angepasst werden.
%
-% \DescribeMacro{\Paragraph}%
+% \DescribeMacro{\Clause}%
% Für die Paragraphenüberschrift stehen verschiedene optionale Argumente zur
% Verfügung, die ebenfalls in einer durch Kommata zu trennenden
% key=value-Liste angegeben werden:
@@ -439,38 +445,38 @@ standard classes created by The LaTeX3 Project 1994-1996.
% |number=| \dots & die Paragraphennummer & -\\
% \end{tabular}\bigskip
%
-% Beispiele: |\Paragraph{title=Gattungsschuld, number=244}| gibt "`§ 244
-% Gattungsschuld"' aus. |\Paragraph{title=Gattungsschuld}| als erster
-% Paragraph gibt "`§ 1 Gattungsschuld"' aus, während |\Paragraph{}| an
+% Beispiele: |\Clause{title=Gattungsschuld, number=244}| gibt "`§ 244
+% Gattungsschuld"' aus. |\Clause{title=Gattungsschuld}| als erster
+% Paragraph gibt "`§ 1 Gattungsschuld"' aus, während |\Clause{}| an
% gleicher Stelle zu "`§ 1"' führt, also einer Paragraphenzählung ohne Titel.
%
% Will man aber beginnend von beispielsweise § 244 an eine Reihe von
% Paragraphen setzen, empfiehlt es sich nicht, die Option |number=| zu
-% verwenden, denn die Option lässt den Zähler |Paragraph| unberührt. Will man
+% verwenden, denn die Option lässt den Zähler |Clause| unberührt. Will man
% nicht alle Paragraphen per Hand nummerieren, kann mit
-% |\setcounter{Paragraph}{243}| der Startpunkt für eine automatische Zählung
-% gesetzt werden. Bei |\SubParagraph| ist der Zähler natürlich mit einer
+% |\setcounter{Clause}{243}| der Startpunkt für eine automatische Zählung
+% gesetzt werden. Bei |\SubClause| ist der Zähler natürlich mit einer
% arabischen Zahl anzugeben, auch wenn die Ausgabe dann in Kleinbuchstaben
% erfolgt.
%
%
-% \DescribeMacro{\SubParagraph}%
+% \DescribeMacro{\SubClause}%
% Sofern ein Paragraph eingeschoben werden soll, kann dieses Makro verwendet
-% werden, es verhält sich im übrigen wie |\Paragraph|. Die Nummerierung fügt
+% werden, es verhält sich im übrigen wie |\Clause|. Die Nummerierung fügt
% der zuletzt verwendeten Paragraphennummer einen Kleinbuchstaben hinzu.
%
-% Die Nummerierung für |\SubParagraph| erfolgt in \textsf{scrjura.sty} über
+% Die Nummerierung für |\SubClause| erfolgt in \textsf{scrjura.sty} über
% folgende Definition:
%
-% |\renewcommand*{\thecontractSubParagraph}{%|\\
-% |{\theParagraph\alph{contractSubParagraph}}}|
+% |\renewcommand*{\thecontractSubClause}{%|\\
+% |{\theClause\alph{contractSubClause}}}|
%
% Wer zwischen Paragraphenzahl und dem Kleinbuchstaben einen Abstand wünscht,
% sowie nach dem Kleinbuchstaben eine runde Klammer, kann in die Präambel also
% einfügen:
%
-% |\renewcommand*{\thecontractSubParagraph}{%|\\
-% |{\theParagraph~\alph{contractSubParagraph})}}|.
+% |\renewcommand*{\thecontractSubClause}{%|\\
+% |{\theClause~\alph{contractSubClause})}}|.
%
% \DescribeOption{preskip}%
% \DescribeOption{postskip}%
@@ -523,7 +529,7 @@ standard classes created by The LaTeX3 Project 1994-1996.
%
% \begin{verbatim}
% \begin{contract}
-% \Paragraph{title=Beispiel}
+% \Clause{title=Beispiel}
% Es irrt der Mensch.\label{testA}
% \end{contract}
% \end{verbatim}
@@ -533,7 +539,7 @@ standard classes created by The LaTeX3 Project 1994-1996.
% \rule{10cm}{0.4pt}
%
% \begin{contract}
-% \Paragraph{title=Beispiel}
+% \Clause{title=Beispiel}
%
% Es irrt der Mensch.\label{testA}
%
@@ -552,8 +558,8 @@ standard classes created by The LaTeX3 Project 1994-1996.
% \verb|\refL{testA}| & \refL{testA} \\
% \verb|\refS{testA}| & \refS{testA} \\
% \verb|\refN{testA}| & \refN{testA} \\
-% \verb|\refParagraph{testA}| & \refParagraph{testA} \\
-% \verb|\refParagraphN{testA}| & \refParagraphN{testA} \\
+% \verb|\refClause{testA}| & \refClause{testA} \\
+% \verb|\refClauseN{testA}| & \refClauseN{testA} \\
% \verb|\refPar{testA}| & \refPar{testA} \\
% \verb|\refParL{testA}| & \refParL{testA} \\
% \verb|\refParS{testA}| & \refParS{testA} \\
@@ -644,11 +650,11 @@ standard classes created by The LaTeX3 Project 1994-1996.
% |kiledocumentinfo.cpp| an geeigneter Stelle zwei Zeilen (jeweils ohne
% Zeilenumbruch) einzufügen:
% \begin{verbatim}
-% m_dictStructLevel["\\Paragraph"]=
-% KileStructData(5, KileStruct::Sect, "Paragraph");
+% m_dictStructLevel["\\Clause"]=
+% KileStructData(5, KileStruct::Sect, "Clause");
%
-% m_dictStructLevel["\\SubParagraph"]=
-% KileStructData(6, KileStruct::Sect, "SubParagraph");
+% m_dictStructLevel["\\SubClause"]=
+% KileStructData(6, KileStruct::Sect, "SubClause");
% \end{verbatim}
%
%
@@ -664,14 +670,81 @@ standard classes created by The LaTeX3 Project 1994-1996.
% lyx damit behelfen, im sog. »\LaTeX"=Vorspann« beispielsweise die Definition
% des Unterunterabschnitts anzupassen:
%
-% |\renewcommand{\subsubsection}[1]{\Paragraph{title= #1}}|
+% |\renewcommand{\subsubsection}[1]{\Clause{title= #1}}|
%
% Damit lassen sich Paragraphenüberschriften in lyx als Unterunterabschnittsüberschriften
% setzen. Da die Absätze von Verträgen ohnehin von \textsf{scrjura} automatisch nummeriert werden,
% zeigen sich die Nachteile dieses Vorgehens erst, wenn man einen Unterunterabschnitt benötigt.
%
%
-%
+% \subsection{Zusätzliche Vertragsumgebungen}
+% \label{sec:newenv}
+%
+% Einer der Anwender setzt mit \textsf{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.
+%
+% \DescribeMacro{\DeclareNewJuraEnvironment}
+% Die für unabhängige Vertrags- oder Gesetzestexte notwendigen Umgebungen
+% werden über die Anweisung:
+%
+% \csname @hangfrom\endcsname{\cs{DeclareNewJuraEnvironment}}\marg{Name}\oarg{Optionen}\\
+% \marg{Start-Anweisungen}\\
+% \marg{End-Anweisungen}
+%
+% deklariert. Das Argument \meta{Name} ist dabei der Name der neuen
+% Umgebung. \meta{Start-Anweisungen} sind Anweisungen, die immer am Anfang der
+% Umgebung ausgeführt werden, ganz als ob man sie jedes Mal unmittelbar hinter
+% \cs{begin}\marg{Name} einfügen würde. Entsprechend werden
+% \meta{End-Anwesiungen} immer am Ende der Umgebung ausgeführt, ganz als ob
+% man sie jedes Mal unmittelbar vor \cs{end}\marg{Name} einfügen würde. Ohne
+% \meta{Optionen} entspricht die neue Umgebung \meta{Name} einer
+% \texttt{contract}-Umgebung mit eigenen Zählern. Es besteht jedoch die
+% Möglichkeit über eine mit Komma separierte Liste an \oarg{Optionen} darauf
+% Einfluss zu nehmen. Derzeit werden folgende \oarg{Optionen} unterstützt:
+% \begin{description}
+% \item[\texttt{Clause=}\meta{Anweisung}:] Legt fest, auf welche
+% \meta{Anweisung} innerhalb der Umgebung die Anweisung \cs{Clause} abgebildet
+% werden soll. Die \meta{Anweisung} sollte wie die für \texttt{contract}
+% dokumentierte Anweisung genau ein Argument erwarten. Für eine korrekte
+% Anwendung dieser Option sind erweiterte Kenntnisse über die interne Funktion
+% von \textsf{scrjura} notwendig. Außerdem können sich die Anforderungen an
+% die \meta{Anweisung} von Version zu Version noch ändern. Daher wird derzeit
+% empfohlen, die Option nicht zu verwenden!
+% \item[\texttt{SubClause=}\meta{Anweisung}:] Siehe Option \texttt{Clause},
+% allerdings für \cs{SubClause} statt \cs{Clause}.
+% \item[\texttt{Sentence=}\meta{Anweisung}:] Legt fest, auf welche
+% \meta{Anweisung} innerhalb der Umgebung die Anweisung \cs{Sentence}
+% abgebildet werden soll. Die \meta{Anweisung} sollte kein Argument
+% besitzen. Normalerweise sollte sie den Zähler \texttt{sentence} mit
+% \cs{refstepcounter} erhöhen und dann in geeigneter Form ausgeben. Dabei ist
+% besonders darauf zu achten, dass keine unerwünschten Leerzeichen eingebaut
+% werden!
+% \item[\texttt{ClauseNumberFormat=}\meta{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}
+%
+% Um beispielsweise die in der Einleitung zu diesem Abschnitt erwähnte
+% Umgebung für Artikel zu definieren, genügt:
+% \begin{verbatim}
+% \DeclareNewJuraEnvironment{Artikel}[ClauseNumberFormat=Art.]{}{}
+% \end{verbatim}
+% Sollen die Artikel unter Verwendung einer \KOMAScript-Klasse mit
+% Absatzabstand statt Absatzeinzug gesetzt werden, kann
+% \begin{verbatim}
+% \DeclareNewJuraEnvironment{Artikel}[ClauseNumberFormat=Art.~]
+% {\KOMAoptions{parskip}}{}
+% \end{verbatim}
+% verwendet werden. Natürlich wird dann auch bei der Referenzierung
+% automatisch »Art.« an Stelle von »\S« vorangestellt.
+%
%
% \subsection{Sonstiges}
%\label{sec:else}
@@ -681,8 +754,8 @@ standard classes created by The LaTeX3 Project 1994-1996.
% \DescribeMacro{\sentencename}%
% Sprachabhängiger Name von Absatz und Satz.
%
-% \DescribeMacro{\thecontractParagraph}%
-% \DescribeMacro{\thecontractSubParagraph}%
+% \DescribeMacro{\thecontractClause}%
+% \DescribeMacro{\thecontractSubClause}%
% Ausgabe der automatischen Zähler für Paragraph und eingeschobener Paragraph
% bei Verträgen.
%
@@ -706,7 +779,7 @@ standard classes created by The LaTeX3 Project 1994-1996.
% Zahl ist, werden Absätze bei automatischer Nummerierung unabhängig davon
% nummeriert, ob es mehr als einen Absatz im Paragraphen gibt.
%
-% \DescribeMacro{\refParagraph}%
+% \DescribeMacro{\refClause}%
% So etwas wie |\ref| nur für den Paragraphen.
%
% \DescribeMacro{\refPar}%
@@ -741,6 +814,9 @@ standard classes created by The LaTeX3 Project 1994-1996.
%<*package>
% \fi
%
+% \changes{v0.7b}{2014/11/11}{Generelle Umbenennung von "`Paragraph"' in
+% "`Clause"' für alle Befehle, Zähler und Optionen}^^A
+%
% \begin{macrocode}
\@ifpackageloaded{hyperref}{%
\PackageError{scrjura}{Package hyperref already loaded}{%
@@ -884,14 +960,14 @@ standard classes created by The LaTeX3 Project 1994-1996.
% \cs{FamilyKeyStateProcessed}}%^^A
% \begin{option}{markright}
% \begin{option}{markboth}
-% \begin{macro}{\Paragraphmark}
+% \begin{macro}{\Clausemark}
% \changes{v0.5e}{2011/08/31}{Beachtung von \cs{MakeMarkcase}}
-% Mit diesen Optionen wird |\Paragraphmark| so umdefiniert, dass es entweder
+% Mit diesen Optionen wird |\Clausemark| so umdefiniert, dass es entweder
% ein |\markright| oder ein |\markboth| ausführt. Im Gegensatz zu
-% |\chaptermark| etc. erwartet |\Paragraphmark| neben dem Titel auch noch
+% |\chaptermark| etc. erwartet |\Clausemark| neben dem Titel auch noch
% die zu verwendende Nummer (das könnte bei Bedarf noch geändert werden!)
% \begin{macrocode}
-\newcommand*{\Paragraphmark}[1]{}
+\newcommand*{\Clausemark}[1]{}
\KOMA@key{paragraphmark}{%
\begingroup
\KOMA@set@ncmdkey{paragraphmark}{@tempa}{%
@@ -904,19 +980,19 @@ standard classes created by The LaTeX3 Project 1994-1996.
\ifx\FamilyKeyState\FamilyKeyStateProcessed
\ifcase\number\@tempa
\endgroup
- \let\Paragraphmark\@gobble
+ \let\Clausemark\@gobble
\or
\endgroup
- \renewcommand*{\Paragraphmark}[1]{%
+ \renewcommand*{\Clausemark}[1]{%
\markright{\csname MakeMarkcase\endcsname{##1}}}%
\or
\endgroup
- \renewcommand*{\Paragraphmark}[1]{%
+ \renewcommand*{\Clausemark}[1]{%
\markboth{\csname MakeMarkcase\endcsname{##1}}%
{\csname MakeMarkcase\endcsname{##1}}}%
\or
\endgroup
- \renewcommand*{\Paragraphmark}[1]{%
+ \renewcommand*{\Clausemark}[1]{%
\ifx
\@mkboth\@gobbletwo
\else
@@ -924,7 +1000,7 @@ standard classes created by The LaTeX3 Project 1994-1996.
\fi}%
\or
\endgroup
- \renewcommand*{\Paragraphmark}[1]{%
+ \renewcommand*{\Clausemark}[1]{%
\@mkboth{\csname MakeMarkcase\endcsname{##1}}%
{\csname MakeMarkcase\endcsname{##1}}}%
\else
@@ -1032,19 +1108,95 @@ standard classes created by The LaTeX3 Project 1994-1996.
\KOMAProcessOptions\relax
% \end{macrocode}
%
-% \begin{macro}{\jura@env@type}
-% \changes{v0.5d}{2010/04/28}{neu (intern)}
+% \begin{macro}{\Paragraph}
+% \changes{1.0}{2014/11/22}{wird noch ein paar Versionen einen Fehler
+% melden}^^A
+% \begin{macro}{\SubParagraph}
+% \changes{1.0}{2014/11/22}{wird noch ein paar Versionen einen Fehler
+% melden}^^A
+% \begin{macro}{\refParagraph}
+% \changes{1.0}{2014/11/22}{wird noch ein paar Versionen einen Fehler
+% melden}^^A
+% \begin{macro}{\refParagraphN}
+% \changes{1.0}{2014/11/22}{wird noch ein paar Versionen einen Fehler
+% melden}^^A
+% \begin{macro}{\DeprecatedParagraph}
+% \changes{1.0}{2014/11/22}{wird noch ein paar Versionen einen Fehler
+% melden}^^A
+% \begin{macro}{\ParagraphCompatibilityHacks}
+% \changes{1.0}{2014/11/22}{wird noch ein paar Versionen verbleiben}^^A
+% \begin{macrocode}
+\providecommand*{\DeprecatedParagraph}{%
+ \PackageError{scrjura}{modification of old document needed}{%
+ It seem that this document was made for scrjura up to version
+ 0.7a.\MessageBreak
+ Since scrjura version 0.9 \string\Paragraph, \string\SubParagraph, and all
+ depending\MessageBreak
+ commands, options, and counters have been renamed.\MessageBreak
+ You should replace the terms `Paragraph' and `paragraph` by `Clause`
+ and\MessageBreak
+ `clause` if they are part of the name of a scrjura feature, otherwise
+ this\MessageBreak
+ document may produce severall additional error messages and maybe the
+ wrong\MessageBreak
+ result. Sorry for the inconvenience.%
+ }%
+ \ParagraphCompatibilityHacks
+}
+\newcommand*{\ParagraphCompatibilityHacks}{%
+ \PackageWarning{scrjura}{compatibility hacks for `\string\Paragraph'
+ executed.\MessageBreak
+ There is no support for documents using these hacks!\MessageBreak
+ There is no warranty for real compatibility!\MessageBreak
+ Even if the LaTeX run of the document doesn't report\MessageBreak
+ any error, the result may be completely wrong.\MessageBreak
+ Therefore it is recommended to solve the problem,\MessageBreak
+ instead of trying to work around using the\MessageBreak
+ compatibility hacks%
+ }%
+ \gdef\Paragraph{\Clause}%
+ \gdef\SubParagraph{\SubClause}%
+ \gdef\c@Paragraph{\c@Clause}%
+ \gdef\cl@Paragraph{\cl@Clause}%
+ \gdef\c@SubParagraph{\c@SubClause}%
+ \gdef\cl@SubParagraph{\cl@SubClause}%
+ \gdef\theParagraph{\theClause}%
+ \gdef\theSubParagraph{\theSubClause}%
+ \gdef\refParagraph{\refClause}%
+ \gdef\refParagraphN{\refClauseN}%
+ \aliaskomafont{Paragraph}{Clause}%
+ \scr@ifundefinedorrelax{Paragraphmark}{}{%
+ \global\let\Clausemark\Paragraphmark
+ }%
+}
+\providecommand*{\Paragraph}{\DeprecatedParagraph\Paragraph}
+\providecommand*{\SubParagraph}{\DeprecatedParagraph\SubParagraph}
+\providecommand*{\refParagraph}{\DeprecatedParagraph\refParagraph}
+\providecommand*{\refParagraphN}{\DeprecatedParagraph\refParagraphN}
+% \end{macrocode}
+% \end{macro}^^A \ParagraphCompatibilityHacks
+% \end{macro}^^A \DeprecatedParagraph
+% \end{macro}^^A \refParagraphN
+% \end{macro}^^A \refParagraph
+% \end{macro}^^A \SubParagraph
+% \end{macro}^^A \Paragraph
+%
+% \begin{macro}{\scrjura@env@type}
+% \changes{v0.5d}{2010/04/28}{neu (intern)}^^A
+% \changes{v0.7b}{2014/11/03}{\cs{jura@env@type} umbenannt}^^A
% Dieses Makro wird in Abhängigkeit der gerade aktiven
% \textsf{scrjura}-Umgebung definiert.
% \begin{macrocode}
-\newcommand*{\jura@env@type}{}
+\newcommand*{\scrjura@env@type}{}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\ellipsispar}
-% \changes{v0.7}{2013/05/02}{neu}
+% \changes{v0.7}{2013/05/02}{neu}^^A
+% \changes{v0.7b}{2014/11/03}{\cs{thecontractAbsoluteClause}
+% flexibilisiert}^^A
% \begin{macro}{\parellipsis}
-% \changes{v0.7}{2013/05/02}{neu}
+% \changes{v0.7}{2013/05/02}{neu}^^A
% Paragraphen auslassen aber mit zählen.
% \begin{macrocode}
\newcommand*{\ellipsispar}[1][1]{%
@@ -1052,8 +1204,8 @@ standard classes created by The LaTeX3 Project 1994-1996.
\KOMAoptions{parnumber=manual}\parellipsis\par
\addtocounter{par}{#1}%
\protected@write\@auxout{}{%
- \string\newmaxpar{\jura@env@type}%
- {\thecontractAbsoluteParagraph}%
+ \string\newmaxpar{\scrjura@env@type}%
+ {\csname the\scrjura@env@type AbsoluteClause\endcsname}%
{\thepar}%
}%
\endgroup
@@ -1072,14 +1224,14 @@ standard classes created by The LaTeX3 Project 1994-1996.
% \changes{v0.5d}{2010/04/28}{fehlende Fehlermeldung ergänzt}
% \changes{v0.5d}{2010/04/28}{Umgebung definiert sich nicht mehr selbst um}
% \changes{v0.5d}{2010/04/28}{\cs{jura@env@type} wird gesetzt}
-% \begin{Counter}{contractParagraph}
-% \begin{macro}{\thecontractParagraph}
-% \begin{macro}{\contract@Paragraphformat}
-% \begin{macro}{\Paragraphformat}
+% \begin{Counter}{contractClause}
+% \begin{macro}{\thecontractClause}
+% \begin{macro}{\contract@Clauseformat}
+% \begin{macro}{\Clauseformat}
% \changes{v0.6b}{2013/04/16}{\cs{paragraphformat} umdefiniert}
-% \begin{Counter}{contractSubParagraph}
-% \begin{macro}{\thecontractSubParagraph}
-% \begin{Counter}{contractAbsoluteParagraph}
+% \begin{Counter}{contractSubClause}
+% \begin{macro}{\thecontractSubClause}
+% \begin{Counter}{contractAbsoluteClause}
% \changes{v0.7}{2013/04/18}{neuer (interner) Zähler über alle Paragraphen,
% um ggf. die Zählung neu beginnen zu können}
% Die Umgebung \texttt{contract} wird als Anweisung \cs{contract}
@@ -1091,38 +1243,37 @@ standard classes created by The LaTeX3 Project 1994-1996.
% Unterbrechung.
% \begin{macrocode}
\newcommand*{\contract}{%
- \ifx\jura@env@type\@empty
- \let\@doendpe\contract@doendpe
- \let\Paragraph\contract@paragraph
- \let\c@Paragraph\c@contractParagraph
- \edef\cl@Paragraph{\cl@Paragraph\cl@contractParagraph}%
- \let\SubParagraph\contract@subparagraph
- \let\c@SubParagraph\c@contractSubParagraph
- \edef\cl@SubParagraph{\cl@SubParagraph\cl@contractSubParagraph}%
- \let\Par\contract@everypar
+ \ifx\scrjura@env@type\@empty
+ \let\@doendpe\scrjura@doendpe
+ \let\Clause\contract@paragraph
+ \let\c@Clause\c@contractClause
+ \edef\cl@Clause{\cl@Clause\cl@contractClause}%
+ \let\SubClause\contract@subparagraph
+ \let\c@SubClause\c@contractSubClause
+ \edef\cl@SubClause{\cl@SubClause\cl@contractSubClause}%
\let\Sentence\contract@sentence
- \renewcommand*{\jura@env@type}{contract}%
- \aliaskomafont{Paragraph}{contract.Paragraph}%
+ \renewcommand*{\scrjura@env@type}{contract}%
+ \aliaskomafont{Clause}{contract.Clause}%
\else
- \PackageError{contract}{nested `contract' detected}{%
+ \PackageError{scrjura}{nested `contract` detected}{%
You may not use a `contract' environment inside\MessageBreak
- a `\jura@env@type' environment or after loading\MessageBreak
- package `scrjura' with option `\jura@env@type'!}%
+ a `\scrjura@env@type' environment or after loading\MessageBreak
+ package `scrjura' with option `\scrjura@env@type'!}%
\fi
}
-\let\if@jura@skiphyperref\iftrue
-\let\cl@Paragraph\@empty
-\let\cl@SubParagraph\@empty
-\newcounter{contractParagraph}
-\renewcommand*{\thecontractParagraph}{%
- {\contract@Paragraphformat{\arabic{contractParagraph}}}}
-\DeclareRobustCommand*{\contract@Paragraphformat}[1]{\Paragraphformat{#1}}
-\newcommand*{\Paragraphformat}[1]{\S~#1}
-\newcounter{contractSubParagraph}
-\@addtoreset{SubParagraph}{Paragraph}
-\renewcommand*{\thecontractSubParagraph}{%
- {\theParagraph\alph{contractSubParagraph}}}
-\newcounter{contractAbsoluteParagraph}
+\let\if@scrjura@skiphyperref\iftrue
+\let\cl@Clause\@empty
+\let\cl@SubClause\@empty
+\newcounter{contractClause}
+\renewcommand*{\thecontractClause}{%
+ {\contract@Clauseformat{\arabic{contractClause}}}}
+\DeclareRobustCommand*{\contract@Clauseformat}[1]{\Clauseformat{#1}}
+\newcommand*{\Clauseformat}[1]{\S~#1}
+\newcounter{contractSubClause}
+\@addtoreset{SubClause}{Clause}
+\renewcommand*{\thecontractSubClause}{%
+ {\theClause\alph{contractSubClause}}}
+\newcounter{contractAbsoluteClause}
% \end{macrocode}
% \end{Counter}
% \end{macro}
@@ -1134,8 +1285,135 @@ standard classes created by The LaTeX3 Project 1994-1996.
% \end{macro}
% \end{environment}
%
+% \begin{macro}{\DeclareNewJuraEnvironment}
+% \changes{v0.9}{2014/11/12}{Neue Anweisung}
+% Verwendet \cs{@defjuraenvironment} um eine neue juristische Umgebung zu
+% definieren.
+% \begin{macrocode}
+\newcommand*{\DeclareNewJuraEnvironment}[1]{%
+ \@ifundefined{#1}{\expandafter\let\csname #1\expandafter\endcsname
+ \csname end#1\endcsname}{}%
+ \@ifundefined{#1}{\let\reserved@defjuraenvironment\@defjuraenvironment}{%
+ \PackageError{scrjura}{ignorring declaration of `#1'}{%
+ You've tried to declare jura environment `#1', but
+ environment\MessageBreak
+ `#1' or command
+ \expandafter\string\csname #1\endcsname\space or
+ \expandafter\string\csname end#1\endcsname\MessageBreak
+ already exists.\MessageBreak
+ Declaration will be ignored}%
+ \long\def\reserved@defjuraenvironment##1[##2]##3##4{}%
+ }%
+ \@ifnextchar [%]
+ {\reserved@defjuraenvironment{#1}}{\reserved@defjuraenvironment{#1}[]}%
+}
+\@onlypreamble\DeclareNewJuraEnvironment
+% \end{macrocode}
+% \begin{macro}{\@defjuraenvironment}
+% \changes{v0.9}{2014/11/04}{Neue (interne) Anweisung}
+% Diese Anweisunge soll irgendwann einmal dazu dienen, weitere
+% Umgebungen einfach definieren zu können. Allerdings wird das vor Version 1.0
+% offiziell nichts werden. Bis dahin funktioniert die Anweisung bzw. die damit
+% definierten Umgebungen nicht korrekt und sollten nicht verwendet werden!
+% \begin{macrocode}
+\DefineFamily{KOMAarg}
+\DefineFamilyMember{KOMAarg}
+\DefineFamilyKey{KOMAarg}{Clause}{%
+ \expandafter\gdef\csname \scrjura@env@type @Clause\endcsname{#1}%
+}
+\DefineFamilyKey{KOMAarg}{SubClause}{%
+ \expandafter\gdef\csname \scrjura@env@type @SubClause\endcsname{#1}%
+}
+\DefineFamilyKey{KOMAarg}{Sentence}{%
+ \expandafter\gdef\csname \scrjura@env@type @Sentence\endcsname{#1}%
+}
+\DefineFamilyKey{KOMAarg}{ClauseNumberFormat}{%
+ \expandafter\gdef\csname \scrjura@env@type @Clauseformat \endcsname
+ ##1{#1{##1}}
+ \expandafter\xdef\csname \scrjura@env@type @Clauseformat\endcsname{%
+ \noexpand\protect\expandafter\noexpand
+ \csname \scrjura@env@type @Clauseformat \endcsname
+ }%
+}
+\newcommand{\@defjuraenvironment}{}
+\long\def\@defjuraenvironment#1[#2]#3#4{%
+% \end{macrocode}
+% Die Zähler definieren:
+% \begin{macrocode}
+ \newcounter{#1Clause}%
+ \newcounter{#1AbsoluteClause}%
+ \newcounter{#1SubClause}%
+ \begingroup
+ \edef\scrjura@env@type{#1}%
+ \FamilyExecuteOptions[.scrjura.sty]{KOMAarg}{#2}%
+ \endgroup
+ \@ifundefined{#1@Clauseformat}{%
+ \expandafter\DeclareRobustCommand\expandafter*%
+ \csname #1@Clauseformat\endcsname[1]{\Clauseformat{##1}}%
+ }{}%
+% \end{macrocode}
+% Umgebung:
+% \begin{macrocode}
+ \newenvironment{#1}{%
+ \par
+ \ifx\scrjura@env@type\@empty
+ \edef\scrjura@env@type{#1}%
+ \let\@doendpe\scrjura@doendpe
+ \expandafter\let\expandafter\c@Clause\csname c@#1Clause\endcsname
+ \edef\cl@Clause{\cl@Clause\csname cl@#1Clause\endcsname}%
+ \expandafter\let\expandafter\c@SubClause
+ \csname c@#1SubClause\endcsname
+ \edef\cl@SubClause{\cl@SubClause
+ \csname cl@#1SubClause\endcsname}%
+ \@ifundefined{#1@Clause}{%
+ \let\Clause\contract@paragraph
+ }{%
+ \expandafter\let\expandafter\Clause
+ \csname #1@Clause\endcsname
+ }%
+ \@ifundefined{#1@SubClause}{%
+ \let\SubClause\contract@subparagraph
+ }{%
+ \expandafter\let\expandafter\SubClause
+ \csname #1@SubClause\endcsname
+ }%
+ \@ifundefined{#1@Sentence}{%
+ \let\Sentence\contract@sentence
+ }{%
+ \expandafter\let\expandafter\Sentence\csname #1@Sentence\endcsname
+ }%
+ \@ifundefined{\scrjura@env@type @everypar}{%
+ \expandafter\let
+ \csname \scrjura@env@type @everypar\endcsname
+ \contract@everypar
+ }{}%
+ \@ifundefined{scr@fnt@#1}{%
+ \@ifundefined{scr@fnt@instead@#1}{%
+ \aliaskomafont{Clause}{contract.Clause}%
+ }{%
+ \aliaskomafont{Clause}{\csname scr@fnt@instead@#1\endcsname}%
+ }%
+ }{%
+ \aliaskomafont{Clause}{contract.Clause}%
+ }%
+ #3%
+ \else
+ \PackageError{scrjura}{nested scrjura environments detected}{%
+ You must not use a `#1' environment inside\MessageBreak
+ a `\scrjura@env@type' environment or after loading\MessageBreak
+ package `scrjura' with option `\scrjura@env@type'!}%
+ \fi
+ }{%
+ #4%
+ \par
+ }%
+}
+% \end{macrocode}
+% \end{macro}^^A \@dewjuraenvironment
+% \end{macro}^^A \DeclareNewJuraEnvironment
+%
% \begin{macro}{\contract@paragraph}
-% Das ist das Macro, das in Verträgen |\Paragraph| zur Verfügung stellt.
+% Das ist das Macro, das in Verträgen |\Clause| zur Verfügung stellt.
% Ein Vertrag besteht aus mehreren Paragraphen. Jeder Paragraph hat einige
% optionale Elemente, die (auf dem Umweg über scrkbase) über das
% keyval-Paket geregelt werden.
@@ -1228,21 +1506,21 @@ standard classes created by The LaTeX3 Project 1994-1996.
% Das muss noch auf die Element-Schnittstelle von \KOMAScript{} umgestellt
% werden!
% \begin{macrocode}
-\newkomafont{contract.Paragraph}{\sffamily\bfseries\large}
-\newcommand*{\contract@paragraph@font}{\usekomafont{contract.Paragraph}%
+\newkomafont{contract.Clause}{\sffamily\bfseries\large}
+\newcommand*{\contract@paragraph@font}{\usekomafont{contract.Clause}%
\@hangfrom}
% \end{macrocode}
% \end{macro}
-% \begin{Counter}{@AbsParagraph}
-% \begin{macro}{\theH@AbsParagraph}
-% \begin{macro}{\theHParagraph}
-% \begin{macro}{\theHSubParagraph}
+% \begin{Counter}{@AbsClause}
+% \begin{macro}{\theH@AbsClause}
+% \begin{macro}{\theHClause}
+% \begin{macro}{\theHSubClause}
% \begin{macrocode}
% \textsf{hyperref}-Code, der noch nicht getestet ist!
-\newcounter{@AbsParagraph}
-\newcommand*{\theH@AbsParagraph}{P-\arabic{@AbsParagraph}}
-\newcommand*{\theHParagraph}{\theH@AbsParagraph}
-\newcommand*{\theHSubParagraph}{\theH@AbsParagraph}
+\newcounter{@AbsClause}
+\newcommand*{\theH@AbsClause}{P-\arabic{@AbsClause}}
+\newcommand*{\theHClause}{\theH@AbsClause}
+\newcommand*{\theHSubClause}{\theH@AbsClause}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -1252,11 +1530,13 @@ standard classes created by The LaTeX3 Project 1994-1996.
% natürlich innerhalb der Überschrift keine Nummer gesetzt werden
% soll. Trotzdem werden generell die Absatznummern eingeschaltet. Dann werden
% die Optionen initialisiert und ausgeführt.
-% \changes{v0.7}{2013/04/18}{Zähler \texttt{contractAbsoluteParagraph} wird
-% erhöht}
+% \changes{v0.7}{2013/04/18}{Zähler \texttt{contractAbsoluteClause} wird
+% erhöht}^^A
+% \changes{v0.7b}{2014/11/03}{\texttt{contractAbsoluteClause}
+% flexibilisiert}^^A
% \begin{macrocode}
\newcommand*{\contract@paragraph}[1]{%
- \stepcounter{contractAbsoluteParagraph}%
+ \stepcounter{\scrjura@env@type AbsoluteClause}%
\ManualPar\parnumbertrue
\let\contract@title\relax
\let\contract@entry\relax
@@ -1278,36 +1558,38 @@ standard classes created by The LaTeX3 Project 1994-1996.
% Wenn die Nummer nicht manuell gesetzt wurde, wird die nächste Nummer
% verwendet. Im anderen Fall muss die Nummer gesetzt und auch dafür gesorgt
% werden, dass sowohl ein Label als auch hyperref diese Nummer verwenden.
-% \changes{v0.6b}{2013/04/16}{Verwendung von \cs{contract@Paragraphformat}
+% \changes{v0.6b}{2013/04/16}{Verwendung von \cs{contract@Clauseformat}
% auch bei manueller Nummerierung der Paragraphen.}
% \begin{macrocode}
\ifx\contract@number\relax
- \let\p@Paragraph\@empty
- \let\theParagraph\thecontractParagraph
- \refstepcounter{Paragraph}%
+ \let\p@Clause\@empty
+ \let\theClause\thecontractClause
+ \refstepcounter{Clause}%
\else
\begingroup
\let\@elt\@stpelt
- \cl@Paragraph
+ \cl@Clause
\endgroup
- \protected@edef\theParagraph{\contract@Paragraphformat{\contract@number}}%
- \protected@edef\@currentlabel{\theParagraph}%
+ \protected@edef\theClause{%
+ \csname \scrjura@env@type @Clauseformat\endcsname{\contract@number}%
+ }%
+ \protected@edef\@currentlabel{\theClause}%
\fi
- \stepcounter{@AbsParagraph}%
+ \stepcounter{@AbsClause}%
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname if@skiphyperref\endcsname\relax
\else
- \expandafter\let\csname if@jura@skiphyperref\expandafter\endcsname
+ \expandafter\let\csname if@scrjura@skiphyperref\expandafter\endcsname
\csname if@skiphyperref\endcsname
\fi
- \if@jura@skiphyperref\else
- \hyper@refstepcounter{@AbsParagraph}%
- \typeout{absolute Nummer: \the@AbsParagraph^^JLabel: `\@currentHref'}%
+ \if@scrjura@skiphyperref\else
+ \hyper@refstepcounter{@AbsClause}%
+ \typeout{absolute Nummer: \the@AbsClause^^JLabel: `\@currentHref'}%
\fi
% \end{macrocode}
% Zwecks Vereinfachung wird ab hier so getan, als wäre es ein Unterabschnitt.
% \begin{macrocode}
- \let\theSubParagraph\theParagraph
+ \let\theSubClause\theClause
% \end{macrocode}
% Außer für Blindparagraphen wird dann die Überschrift gesetzt, die
% Verzeichniseinträge vorgenommen und der Kolumnentitel angepasst.
@@ -1317,16 +1599,16 @@ standard classes created by The LaTeX3 Project 1994-1996.
\ifcontract@dummy\else
\begingroup
\if@juratitlepagebreak\else\interlinepenalty\@M\fi
- \contract@paragraph@font{\theParagraph
+ \contract@paragraph@font{\theClause
\ifx\contract@title\relax\else\enskip\fi}%
\contract@title
\ifx\contract@entry\relax\else
- \addxcontentsline{toc}{cpar}[\theParagraph]\contract@entry
- \addxcontentsline{cpa}{cpar}[\theParagraph]\contract@entry
+ \addxcontentsline{toc}{cpar}[\theClause]\contract@entry
+ \addxcontentsline{cpa}{cpar}[\theClause]\contract@entry
\fi
\ifx\contract@head\relax\else
- \expandafter\Paragraphmark\expandafter{%
- \expandafter\theSubParagraph\expandafter\enskip\contract@head}%
+ \expandafter\Clausemark\expandafter{%
+ \expandafter\theSubClause\expandafter\enskip\contract@head}%
\fi
\par
\endgroup\nobreak\vskip\contract@postskip
@@ -1334,7 +1616,7 @@ standard classes created by The LaTeX3 Project 1994-1996.
% Zum Schluss wird noch dafür gesorgt, dass auch die Absätze korrekt
% nummeriert werden können etc.
% \begin{macrocode}
- \jura@afterheading{contract}%
+ \scrjura@afterheading
\fi
}
% \end{macrocode}
@@ -1342,7 +1624,7 @@ standard classes created by The LaTeX3 Project 1994-1996.
%
% \begin{macro}{\contract@subparagraph}
% \changes{v0.6a}{2012/10/08}{fehlendes \cs{par} ergänzt}%^^A
-% \changes{v0.7}{2013/04/18}{Zähler \texttt{contractAbsoluteParagraph} wird
+% \changes{v0.7}{2013/04/18}{Zähler \texttt{contractAbsoluteClause} wird
% erhöht}
% \changes{v0.7}{2013/04/28}{Abstand nach der Nummer als Bestandteil der
% Nummer setzen}
@@ -1350,7 +1632,7 @@ standard classes created by The LaTeX3 Project 1994-1996.
% |\contract@paragraph|
% \begin{macrocode}
\newcommand*{\contract@subparagraph}[1]{%
- \stepcounter{contractAbsoluteParagraph}%
+ \stepcounter{\scrjura@env@type AbsoluteClause}%
\ManualPar\parnumbertrue
\let\contract@title\relax
\let\contract@entry\relax
@@ -1364,46 +1646,46 @@ standard classes created by The LaTeX3 Project 1994-1996.
\vskip\contract@preskip
\fi
\ifx\contract@number\relax
- \let\p@SubParagraph\@empty
- \let\theSubParagraph\thecontractSubParagraph
- \refstepcounter{SubParagraph}%
+ \let\p@SubClause\@empty
+ \let\theSubClause\thecontractSubClause
+ \refstepcounter{SubClause}%
\else
\begingroup
\let\@elt\@stpelt
- \cl@SubParagraph
+ \cl@SubClause
\endgroup
- \protected@edef\theSubParagraph{\theParagraph\contract@number}%
- \protected@edef\@currentlabel{\theSubParagraph}%
+ \protected@edef\theSubClause{\theClause\contract@number}%
+ \protected@edef\@currentlabel{\theSubClause}%
\fi
- \stepcounter{@AbsParagraph}%
+ \stepcounter{@AbsClause}%
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname if@skiphyperref\endcsname\relax
\else
- \expandafter\let\csname if@jura@skiphyperref\expandafter\endcsname
+ \expandafter\let\csname if@scrjura@skiphyperref\expandafter\endcsname
\csname if@skiphyperref\endcsname
\fi
- \if@jura@skiphyperref\else
- \hyper@refstepcounter{@AbsParagraph}%
- \typeout{absolute Nummer: \the@AbsParagraph^^JLabel: `\@currentHref'}%
+ \if@scrjura@skiphyperref\else
+ \hyper@refstepcounter{@AbsClause}%
+ \typeout{absolute Nummer: \the@AbsClause^^JLabel: `\@currentHref'}%
\fi
\ifcontract@dummy\else
\begingroup
\if@juratitlepagebreak\else\interlinepenalty\@M\fi
- \contract@paragraph@font{\theSubParagraph
+ \contract@paragraph@font{\theSubClause
\ifx\contract@title\relax\else\enskip\fi}%
\contract@title
\ifx\contract@entry\relax\else
- \addxcontentsline{toc}{cpar}[\theSubParagraph]\contract@entry
- \addxcontentsline{cpa}{cpar}[\theSubParagraph]\contract@entry
+ \addxcontentsline{toc}{cpar}[\theSubClause]\contract@entry
+ \addxcontentsline{cpa}{cpar}[\theSubClause]\contract@entry
\fi
\ifx\contract@head\relax\else
- \expandafter\Paragraphmark\expandafter{%
- \expandafter\theSubParagraph\expandafter\enskip\contract@head}%
+ \expandafter\Clausemark\expandafter{%
+ \expandafter\theSubClause\expandafter\enskip\contract@head}%
\fi
\par
\endgroup
\nobreak\vskip\contract@postskip
- \jura@afterheading{contract}%
+ \scrjura@afterheading
\fi
}
% \end{macrocode}
@@ -1414,21 +1696,23 @@ standard classes created by The LaTeX3 Project 1994-1996.
% Automatische oder manuelle Absatznummern für alle Umgebungen aktivieren.
% \begin{macrocode}
\newcommand*{\AutoPar}{%
- \expandafter\let\expandafter\jura@everypar
- \csname \jura@type @everypar\endcsname
+ \expandafter\let\expandafter\scrjura@everypar
+ \csname \scrjura@env@type @everypar\endcsname
}
\newcommand*{\ManualPar}{%
- \let\jura@everypar\relax
+ \let\scrjura@everypar\relax
}
% \end{macrocode}
% \end{macro}
% \end{macro}
%
-% \begin{macro}{\jura@afterheading}
+% \begin{macro}{\scrjura@afterheading}
+% \changes{v0.7b}{2014/11/03}{\cs{jura@afterheading} umbenannt}^^A
+% \changes{v0.7b}{2014/11/03}{benötigt kein Argument mehr}^^A
% Entspricht |\afterheading| mit Erweiterungen für automatischen
% Absatznummern.
% \begin{macrocode}
-\newcommand*{\jura@afterheading}[1]{%
+\newcommand*{\scrjura@afterheading}{%
\@nobreaktrue
\everypar{%
\if@nobreak
@@ -1440,20 +1724,20 @@ standard classes created by The LaTeX3 Project 1994-1996.
\else
\clubpenalty \@clubpenalty
\everypar{%
- \jura@everypar
+ \scrjura@everypar
}%
\fi
- \jura@everypar
+ \scrjura@everypar
}%
- \def\jura@type{#1}%
\AutoPar
}
% \end{macrocode}
-% \begin{macro}{\jura@everypar}
-% Die Anweisung, die am Anfang von jedem Absatz auszuführen ist, um die
-% Nummer zu setzen. Außerhalb der Umgebungen ist das nichts.
+% \begin{macro}{\scrjura@everypar}
+% \changes{v0.7b}{2014/11/03}{\cs{jura@everypar} umbenannt}^^A
+% Die Anweisung, die am Anfang von jedem Absatz auszuführen ist, um die
+% Nummer zu setzen. Außerhalb der Umgebungen ist das nichts.
% \begin{macrocode}
-\newcommand*{\jura@everypar}{}
+\newcommand*{\scrjura@everypar}{}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\@doendpe}
@@ -1461,28 +1745,30 @@ standard classes created by The LaTeX3 Project 1994-1996.
% kurz-, mittel- und langwirkenden Absatzaktionen zurückzusetzen. Damit hier
% nicht die automatische Absatznummerierung abgeschaltet wird, wird sie neu
% eingefügt.
+% \begin{macro}{\scrjura@doendpe}
% \begin{macrocode}
\CheckCommand*\@doendpe{\@endpetrue
\def\par{\@restorepar\everypar{}\par\@endpefalse}\everypar
{{\setbox\z@\lastbox}\everypar{}\@endpefalse}}
-\newcommand*{\contract@doendpe}{%
+\newcommand*{\scrjura@doendpe}{%
\@endpetrue
\def\par{%
\@restorepar\everypar{%
- \csname jura@everypar\endcsname
+ \csname scrjura@everypar\endcsname
}%
\par\@endpefalse
}%
\everypar{%
{\setbox\z@\lastbox}\everypar{%
- \csname jura@everypar\endcsname
+ \csname scrjura@everypar\endcsname
}%
\@endpefalse
}%
}
% \end{macrocode}
-% \end{macro}
-% \end{macro}
+% \end{macro}^^A \scrjura@doendpe
+% \end{macro}^^A \doendpe
+% \end{macro}^^A \scrjura@everypar
%
% \begin{macro}{\l@cpar}
% Verzeichnis-Eintrag für einen Vertrags-Paragraphen.
@@ -1499,31 +1785,34 @@ standard classes created by The LaTeX3 Project 1994-1996.
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\jura@separator}
+% \begin{macro}{\scrjura@separator}
+% \changes{v0.7b}{2014/11/03}{\cs{jura@separator} umbenannt}^^A
% Wird verwendet, damit Leerzeichen am Anfang oder Ende entfernt werden können.
% \begin{macrocode}
-\DeclareRobustCommand*{\jura@separator}[1]{#1}
+\DeclareRobustCommand*{\scrjura@separator}[1]{#1}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\jura@usetype}
-% \changes{v0.5d}{2010/04/28}{neu (intern)}
+% \begin{macro}{\scrjura@usetype}
+% \changes{v0.5d}{2010/04/28}{neu (intern)}^^A
+% \changes{v0.7b}{2014/11/03}{\cs{jura@usetype} umbenannt}^^A
% In der Voreinstellung macht das erst einmal gar nichts, außer dass es robust
% ist und \cs{jura@@usetype} aufruft.
-% \begin{macro}{\jura@@usetype}
-% \changes{v0.5d}{2010/04/28}{neu (intern)}
+% \begin{macro}{\scrjura@@usetype}
+% \changes{v0.5d}{2010/04/28}{neu (intern)}^^A
+% \changes{v0.7b}{2014/11/03}{\cs{jura@@usetype} umbenannt}^^A
% Das wiederum ist nicht robust und kann dadurch einfacher umdefiniert
% werden. In der Voreinstellung macht das dann wirklich nichts, außer das
% Argument zu fressen.
% \begin{macrocode}
-\DeclareRobustCommand*{\jura@usetype}[1]{\jura@@usetype{#1}}
-\newcommand*{\jura@@usetype}[1]{}
+\DeclareRobustCommand*{\scrjura@usetype}[1]{\scrjura@@usetype{#1}}
+\newcommand*{\scrjura@@usetype}[1]{}
% \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\contract@everypar}
-% |\jura@everpar| für Verträge.
+% |\scrjura@everpar| für Verträge.
% \begin{macro}{\ifparnumber}
% \changes{v0.6}{2011/09/29}{Definition des Schalters in die Definition der
% Option verschoben}
@@ -1545,12 +1834,12 @@ standard classes created by The LaTeX3 Project 1994-1996.
% \begin{macrocode}
\newcounter{par}
\renewcommand*{\thepar}{\arabic{par}}
-\newcommand*{\theHpar}{\theH@AbsParagraph-\Roman{par}}
+\newcommand*{\theHpar}{\theH@AbsClause-\Roman{par}}
\newcommand*{\parformat}{(\thepar)}
\newkomafont{parnumber}{}
-\renewcommand*\p@par{{\jura@usetype{\jura@env@type}\theSubParagraph\jura@separator{\nobreakspace}}}
-\@addtoreset{par}{Paragraph}
-\@addtoreset{par}{SubParagraph}
+\renewcommand*\p@par{{\scrjura@usetype{\scrjura@env@type}\theSubClause\scrjura@separator{\nobreakspace}}}
+\@addtoreset{par}{Clause}
+\@addtoreset{par}{SubClause}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -1558,12 +1847,12 @@ standard classes created by The LaTeX3 Project 1994-1996.
% \end{macro}
% \end{Counter}
% \end{macro}
-% \changes{0.5c}{2010/04/26}{erstes Argument von \cs{newmaxpar} und zweites
+% \changes{v0.5c}{2010/04/26}{erstes Argument von \cs{newmaxpar} und zweites
% Argument von \cs{getmaxpar} ist \texttt{contract} nicht
% \texttt{contractpars}}
-% \changes{0.5c}{2010/04/26}{\cs{contract@Paragraphformat} expandiert beim
+% \changes{v0.5c}{2010/04/26}{\cs{contract@Clauseformat} expandiert beim
% Schreiben zu seinem Argument}
-% \changes{v0.7}{2013/04/18}{Zähler \texttt{contractAbsoluteParagraph} wird
+% \changes{v0.7}{2013/04/18}{Zähler \texttt{contractAbsoluteClause} wird
% verwendet}
% \changes{v0.7}{2013/05/23}{Satznummer bei manuell nummerierten Absätzen
% auf 0 statt 1 initialisiert, weil \cs{Sentence} die Nummer als erstes
@@ -1571,6 +1860,8 @@ standard classes created by The LaTeX3 Project 1994-1996.
% \changes{v0.7}{2013/05/23}{Absatznummer von \cs{thisparnumber} beachtet}
% \changes{v0.7}{2013/06/06}{Im Fall von nicht rein nummerischen
% Absatznummern die Absätze auf jeden Fall nummerieren}
+% \changes{v0.7b}{2014/11/03}{\texttt{contractAbsoluteClause}
+% flexibilisiert}^^A
% \begin{macrocode}
\newcommand*{\contract@everypar}{%
\ifparnumber
@@ -1590,11 +1881,16 @@ standard classes created by The LaTeX3 Project 1994-1996.
\setcounter{sentence}{0}\refstepcounter{sentence}%
\fi
\begingroup
- \protected@write\@auxout{\let\contract@Paragraphformat\@firstofone}{%
- \string\newmaxpar{contract}%
- {\thecontractAbsoluteParagraph}%
- {\thepar}}%
- \getmaxpar\@tempa{contract}{\thecontractAbsoluteParagraph}%
+ \protected@write\@auxout{%
+ \expandafter\let\csname \scrjura@env@type @Clauseformat\endcsname
+ \@firstofone
+ }{%
+ \string\newmaxpar{\scrjura@env@type}%
+ {\csname the\scrjura@env@type AbsoluteClause\endcsname}%
+ {\thepar}%
+ }%
+ \getmaxpar\@tempa{\scrjura@env@type}%
+ {\csname the\scrjura@env@type AbsoluteClause\endcsname}%
\typeout{Stored max is \@tempa}%
\def\reserved@a##1\@nnil{\def\@tempa{##1}}%
\afterassignment\reserved@a\@tempcnta=0\@tempa\relax\@nnil
@@ -1685,16 +1981,16 @@ standard classes created by The LaTeX3 Project 1994-1996.
% \end{macro}
% \end{macro}
%
-% \begin{macro}{\refParagraph}
-% \begin{macro}{\ref@Paragraph}
+% \begin{macro}{\refClause}
+% \begin{macro}{\ref@Clause}
% Zitiert nur den Paragraphen eines Paragraphen, eines Absatzes oder eines
% Satzes. Für mehr Kompatibilität mit hyperref gibt es mit hyperref auch eine
% Sternform. Ohne hyperref produziert diese nur Unsinn.
% \begin{macrocode}
-\newcommand*{\refParagraph}{%
- \@ifstar {\ref@Paragraph*}{\ref@Paragraph{}}
+\newcommand*{\refClause}{%
+ \@ifstar {\ref@Clause*}{\ref@Clause{}}
}
-\newcommand*{\ref@Paragraph}[2]{%
+\newcommand*{\ref@Clause}[2]{%
\expandafter\ifx\csname r@#2\endcsname\relax
\ref#1{#2}%
\else
@@ -1713,7 +2009,7 @@ standard classes created by The LaTeX3 Project 1994-1996.
% Den ersten Teil der Referenz in |\@tempa| ablegen.
% \begin{macrocode}
\def\@tempc##1##2\@nil{##1}%
- \let\jura@separator\@gobble
+ \let\scrjura@separator\@gobble
\protected@edef\@tempa{\expandafter\expandafter\expandafter\@tempc
\csname r@#2\endcsname\noexpand\@nil}%
% \end{macrocode}
@@ -1733,19 +2029,19 @@ standard classes created by The LaTeX3 Project 1994-1996.
% \end{macro}
% \end{macro}
%
-% \begin{macro}{\refParagraphN}
-% \begin{macro}{\ref@ParagraphN}
+% \begin{macro}{\refClauseN}
+% \begin{macro}{\ref@ClauseN}
% Zitiert nur den Paragraphen eines Paragraphen, eines Absatzes oder eines
% Satzes. Für mehr Kompatibilität mit hyperref gibt es mit hyperref auch eine
% Sternform. Ohne hyperref produziert diese nur Unsinn.
% \begin{macrocode}
-\newcommand*{\refParagraphN}{%
- \@ifstar {\ref@ParagraphN*}{\ref@ParagraphN{}}
+\newcommand*{\refClauseN}{%
+ \@ifstar {\ref@ClauseN*}{\ref@ClauseN{}}
}
-\newcommand*{\ref@ParagraphN}[2]{%
+\newcommand*{\ref@ClauseN}[2]{%
\begingroup
- \let\Paragraphformat\relax
- \ref@Paragraph{#1}{#2}%
+ \let\Clauseformat\relax
+ \ref@Clause{#1}{#2}%
\endgroup
}
% \end{macrocode}
@@ -1780,7 +2076,7 @@ standard classes created by The LaTeX3 Project 1994-1996.
% Den ersten Teil der Referenz in |\@tempa| ablegen.
% \begin{macrocode}
\def\@tempc##1##2\@nil{##1}%
- \let\jura@separator\@gobble
+ \let\scrjura@separator\@gobble
\protected@edef\@tempa{\expandafter\expandafter\expandafter\@tempc
\csname r@#2\endcsname\noexpand\@nil}%
% \end{macrocode}
@@ -1884,7 +2180,7 @@ standard classes created by The LaTeX3 Project 1994-1996.
% Den ersten Teil der Referenz in |\@tempa| ablegen.
% \begin{macrocode}
\def\@tempc##1##2\@nil{##1}%
- \let\jura@separator\@gobble
+ \let\scrjura@separator\@gobble
\protected@edef\@tempa{\expandafter\expandafter\expandafter\@tempc
\csname r@#2\endcsname\noexpand\@nil}%
% \end{macrocode}
@@ -1963,7 +2259,7 @@ standard classes created by The LaTeX3 Project 1994-1996.
\newcommand*{\theHsentence}{\theHpar-\arabic{sentence}}
\renewcommand*{\p@sentence}{\expandafter\p@@sentence}
\newcommand*{\p@@sentence}[1]{\p@par{{\par@cite{\thepar}}%
- \jura@separator{\nobreakspace}}{\sentence@cite{#1}}}
+ \scrjura@separator{\nobreakspace}}{\sentence@cite{#1}}}
\newcommand*{\contract@sentence}{%
\refstepcounter{sentence}%
\textsuperscript{\thesentence}\nobreak\hskip\z@
@@ -2087,27 +2383,27 @@ standard classes created by The LaTeX3 Project 1994-1996.
% \end{macro}
%
% \begin{macro}{\newmaxpar}
-% \changes{v0.6b}{2013/04/16}{\cs{\#1@Paragraphformat} expandiert zu seinem
+% \changes{v0.6b}{2013/04/16}{\cs{\#1@Clauseformat} expandiert zu seinem
% Argument}
% \begin{macro}{\getmaxpar}
% \changes{v0.6}{2011/09/30}{Argument 3 muss mit \cs{protected@edef}
% expandiert werden}
% \changes{v0.5c}{2010/04/26}{\cs{protected@edef} durch \cs{edef} ersetzt}
-% \changes{v0.5c}{2010/04/26}{\cs{\#2@Paragraphformat} expandiert zu seinem
+% \changes{v0.5c}{2010/04/26}{\cs{\#2@Clauseformat} expandiert zu seinem
% Argument}
% Noch zwei Hilfsmakros, um Zähler in der aux-Datei zwischenzuspeichern und
% auch dann Werte zu holen, wenn sie nicht in der aux-Datei stehen.
% \begin{macrocode}
\newcommand*{\newmaxpar}[3]{%
\begingroup
- \expandafter\let\csname #1@Paragraphformat\endcsname\@firstofone
+ \expandafter\let\csname #1@Clauseformat\endcsname\@firstofone
\protected@edef\@tempa{#2}\@onelevel@sanitize\@tempa
\expandafter\xdef\csname max@#1@\@tempa\endcsname{#3}%
\endgroup
}
\newcommand*{\getmaxpar}[3]{%
\begingroup
- \expandafter\let\csname #2@Paragraphformat\endcsname\@firstofone
+ \expandafter\let\csname #2@Clauseformat\endcsname\@firstofone
\protected@edef\@tempa{#3}%
\@onelevel@sanitize\@tempa
\expandafter\ifx \csname max@#2@\@tempa\endcsname\relax
@@ -2119,6 +2415,17 @@ standard classes created by The LaTeX3 Project 1994-1996.
\@tempa
}
% \end{macrocode}
+% \changes{v0.7b}{2014/11/10}{Notfallcode in die \texttt{aux}-Datei}^^A
+% Da manche Anwender \texttt{scrjura} aus einem Dokument entfernen, ohne die
+% \texttt{aux}-Dateien zu löschen, sehen wir eine Notlösung vor, um
+% Fehlermeldungen wegen nicht definiertem \cs{newmaxpar} zu vermeiden.
+% \begin{macrocode}
+\AtBeginDocument{%
+ \immediate\write\@mainaux{%
+ \string\providecommand*{\string\newmaxpar}[3]{}
+ }%
+}
+% \end{macrocode}
% \end{macro}
% \end{macro}
%