diff options
author | Karl Berry <karl@freefriends.org> | 2015-01-19 23:43:25 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2015-01-19 23:43:25 +0000 |
commit | 83b4f07dfc662cf6c2632a34e88a1aad0009e35a (patch) | |
tree | d6c61dbd9ba41e2c7353bdcf23acb151b52601ff /Master/texmf-dist/source/latex/koma-script/scrjura.dtx | |
parent | 3fef13606c698d4e277aaad8662b082f8f5c6fab (diff) |
koma-script (19jan15)
git-svn-id: svn://tug.org/texlive/trunk@36095 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrjura.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/koma-script/scrjura.dtx | 691 |
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} % |