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.dtx432
1 files changed, 293 insertions, 139 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrjura.dtx b/Master/texmf-dist/source/latex/koma-script/scrjura.dtx
index c38fe2c1209..7661daa108c 100644
--- a/Master/texmf-dist/source/latex/koma-script/scrjura.dtx
+++ b/Master/texmf-dist/source/latex/koma-script/scrjura.dtx
@@ -1,8 +1,8 @@
-% \CheckSum{1397}
+% \CheckSum{1494}
% \iffalse meta-comment
% ======================================================================
% scrjura.dtx
-% Copyright (c) Markus Kohm, 2007-2012
+% Copyright (c) Markus Kohm, 2007-2013
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -22,7 +22,7 @@
% `scrlogo.dtx'.
% ----------------------------------------------------------------------
% scrjura.dtx
-% Copyright (c) Markus Kohm, 2007-2012
+% Copyright (c) Markus Kohm, 2007-2013
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -60,7 +60,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: scrjura.dtx
+%%% From File: $Id: scrjura.dtx 1562 2013-12-19 07:51:16Z mjk $
%<*dtx>
\def\LaTeXformat{LaTeX2e}
\ifx\fmtname\LaTeXformat\def\MainBodyWork{%
@@ -70,7 +70,7 @@
%<driver>\ProvidesFile{scrjura.drv}
%<package>\ProvidesPackage{scrjura}
%<*dtx|package|driver>
- [2011/09/30 v0.6 KOMA-Script for jurists
+ [2013/11/04 v0.7 KOMA-Script for jurists
%</dtx|package|driver>
%<driver> (driver)%
%<package> (package)%
@@ -112,7 +112,7 @@
%<*dtx|ins>
\input docstrip.tex
-\let\ifbeta=\iffalse
+\let\ifbeta=\iffalse % with = will be replaced by release process
\ifToplevel{\ifx\generate\undefined
\errhelp{Install a new version of docstrip.}
@@ -150,7 +150,7 @@
\preamble
-Copyright (c) 2007-2012
+Copyright (c) 2007-2013
Markus Kohm and any individual authors listed elsewhere in this file.
This file was generated from file(s) of the KOMA-Script bundle.
@@ -484,6 +484,18 @@ standard classes created by The LaTeX3 Project 1994-1996.
% ein |\parnumberfalse| und danach ein |\parnumbertrue|. Vergisst man dies,
% wird der Abschnitt zum ersten als Paragraphenabsatz und dann als Abschnitt
% nummeriert.
+%
+% \DescribeMacro{\ellipsispar}
+% \DescribeMacro{\parellipsis}
+% Manchmal wird insbesondere für Kommentare gewünscht, dass man Absätze in
+% Paragraphen auch auslassen kann, diese Absätze aber dennoch mitgezählt und
+% auch bei der automatischen Absatznummerierung mitberücksichtigt werden. Die
+% ausgelassenen Absätze sollen dabei in der Regel durch Pünktchen markiert
+% werden. Genau dies erledigt |\ellisispar|. Als optionales Argument kann
+% dabei die Anzahl der Absätze angegeben werden, die ausgelassen
+% wurde. Voreingestellt ist ein Absatz. Für das Auslassungszeichen wird
+% |\parellipsis| verwendet. Dies ist mit |\textellipsis| vordefiniert, falls
+% eine solche Anweisung existiert. Anderenfalls wird |\dots| verwendet.
%
%
% \subsection{Verweise}
@@ -629,7 +641,8 @@ standard classes created by The LaTeX3 Project 1994-1996.
% Paragraphentitel auf dem Bildschirm einblenden zu können. Wer kile als
% Editor verwendet, der kann sich -- Open Source sei Dank! -- selbst
% helfen. Bei Version 2.0.0 von kile genügt es, in der Datei
-% |kiledocumentinfo.cpp| an geeigneter Stelle zwei Zeilen (jeweils ohne Zeilenumbruch) einzufügen:
+% |kiledocumentinfo.cpp| an geeigneter Stelle zwei Zeilen (jeweils ohne
+% Zeilenumbruch) einzufügen:
% \begin{verbatim}
% m_dictStructLevel["\\Paragraph"]=
% KileStructData(5, KileStruct::Sect, "Paragraph");
@@ -646,9 +659,10 @@ standard classes created by The LaTeX3 Project 1994-1996.
% Dokumentenstruktur an. Vielleicht findet ein Anwender ja heraus, wie dies
% mit \TeX nicCenter zu bewerkstelligen ist.
%
-% Bis jemand für die Verwendung von \textsf{scrjura} eine lyx-Klasse schreibt, wozu wir ausdrücklich ermutigen wollen,
-% kann man sich bei der Nutzung von lyx damit behelfen, im sog. »\LaTeX"=Vorspann«
-% beispielsweise die Definition des Unterunterabschnitts anzupassen:
+% Bis jemand für die Verwendung von \textsf{scrjura} eine lyx-Klasse schreibt,
+% wozu wir ausdrücklich ermutigen wollen, kann man sich bei der Nutzung von
+% lyx damit behelfen, im sog. »\LaTeX"=Vorspann« beispielsweise die Definition
+% des Unterunterabschnitts anzupassen:
%
% |\renewcommand{\subsubsection}[1]{\Paragraph{title= #1}}|
%
@@ -688,8 +702,9 @@ standard classes created by The LaTeX3 Project 1994-1996.
% \DescribeMacro{\parformat}%
% \DescribeMacro{\parciteformat}%
% Zähler für die Absatznummern und dessen Ausgabe und Formatierung und
-% Formatierung der Referenz. ACHTUNG: |\thepar| muss bei unverändertem
-% |\parciteformat| eine arabische Zahl sein!
+% Formatierung der Referenz. ACHTUNG: Wenn |\thepar| nicht nur eine arabische
+% Zahl ist, werden Absätze bei automatischer Nummerierung unabhängig davon
+% nummeriert, ob es mehr als einen Absatz im Paragraphen gibt.
%
% \DescribeMacro{\refParagraph}%
% So etwas wie |\ref| nur für den Paragraphen.
@@ -741,7 +756,13 @@ standard classes created by The LaTeX3 Project 1994-1996.
% Es wird das Paket \textsf{scrkbase} benötigt, weil alles weitere darauf
% aufbaut.
% \begin{macrocode}
-\RequirePackage{scrkbase}
+\RequirePackage{scrkbase}[2013/03/26]
+% \end{macrocode}
+%
+% Außerdem wird \textsf{tocbasic} benötigt, weil einige wenige Befehle davon
+% verwendet werden.
+% \begin{macrocode}
+\RequirePackage{tocbasic}
% \end{macrocode}
%
% \begin{option}{contract}
@@ -757,42 +778,50 @@ standard classes created by The LaTeX3 Project 1994-1996.
% \end{option}
%
% \begin{option}{juratotoc}
-% Mit dieser Option wird der Schalter |\if@juratotoc| auf |\iftrue| gesetzt.
+% Mit dieser Option wird der Zähler \Counter{juratoclevel} auf einen
+% gewünschten Wert oder 2 oder 10000 gesetzt.
+% \changes{v0.7}{2013/11/04}{Verwendung der renovierten Schnittstelle mit
+% \cs{FamilyKeyState}}
% \begin{macro}{\if@juratotoc}
% \changes{v0.6}{2011/09/29}{Schalter durch Zähler überflüssig}
% \begin{Counter}{juratoclevel}
% \changes{v0.6}{2011/09/29}{Zählerdefinition verschoben}
% Mit dem Zähler wiederum wird erreicht, dass Paragraphen in das
% Inhaltsverzeichnis aufgenommen werden.
+% \begin{macro}{\toclevel@cpar}
+% \changes{v0.7}{2013/06/09}{neue für \textsf{hyperref}}
% \begin{macrocode}
\newcounter{juratoclevel}\setcounter{juratoclevel}{\@M}
\KOMA@key{juratotoc}[true]{%
\begingroup
- \newif\if@setjuratoclevel\@setjuratocleveltrue
- \let\juratoclevel@@FamilyUnknownKeyValue\FamilyUnknownKeyValue
- \renewcommand*{\FamilyUnknownKeyValue}[4]{%
- \setcounter{juratoclevel}{#1}%
- \@setjuratoclevelfalse
- }%
\KOMA@set@ifkey{juratoclevel}{@tempswa}{#1}%
- \if@setjuratoclevel
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed
\if@tempswa
\setcounter{juratoclevel}{2}%
\else
\setcounter{juratoclevel}{\@M}%
\fi
+ \else
+ \setcounter{juratoclevel}{#1}%
+ \FamilyKeyStateProcessed
\fi
\endgroup
}
+\providecommand*{\toclevel@cpar}{\arabic{juratoclevel}}
% \end{macrocode}
+% \end{macro}
% \end{Counter}
% \end{macro}
% \end{option}
%
% \begin{option}{juratocnumberwidth}
-% \changes{v0.6}{2011/09/29}{neu}
+% \changes{v0.6}{2011/09/29}{neu}%^^A
+% \changes{v0.7}{2013/11/04}{Verwendung der renovierten Schnittstelle mit
+% \cs{FamilyKeyStateProcessed}}%^^A
% \begin{option}{juratocindent}
-% \changes{v0.6}{2011/09/29}{neu}
+% \changes{v0.6}{2011/09/29}{neu}%^^A
+% \changes{v0.7}{2013/11/04}{Verwendung der renovierten Schnittstelle mit
+% \cs{FamilyKeyStateProcessed}}%^^A
% \begin{macro}{\cpar@numberwidth}
% \changes{v0.6}{2011/09/29}{neu (intern)}
% \begin{macro}{\cpar@indent}
@@ -805,10 +834,12 @@ standard classes created by The LaTeX3 Project 1994-1996.
\KOMA@key{juratocnumberwidth}{%
\begingroup\setlength{\@tempdima}{#1}\endgroup
\renewcommand*{\cpar@numberwidth}{#1}%
+ \FamilyKeyStateProcessed
}
\KOMA@key{juratocindent}{%
\begingroup\setlength{\@tempdima}{#1}\endgroup
\renewcommand*{\cpar@indent}{#1}%
+ \FamilyKeyStateProcessed
}
% \end{macrocode}
% \end{macro}
@@ -830,15 +861,17 @@ standard classes created by The LaTeX3 Project 1994-1996.
% \end{option}
%
% \begin{option}{parnumber}
-% \changes{v0.6}{2011/09/29}{neue Option}
+% \changes{v0.6}{2011/09/29}{neue Option}%^^A
+% \changes{v0.6a}{2012/10/15}{Meldung bei falschen Werten korrigiert}%^^A
+% \changes{v0.7}{2013/11/04}{Verwendung der renovierten Schnittstelle mit
+% \cs{FamilyKeyStateProcessed}}%^^A
% Die (automatische) Absatznummerierung lässt sich nun auch per Option ein-
% und ausschalten.
% \begin{macrocode}
\newif\ifparnumber
\KOMA@key{parnumber}[true]{%
- \ifstr{#1}{auto}{\AutoPar}{%
- \ifstr{#1}{manual}{\ManualPar}{%
- \def\FamilyElseValue{, `auto', `semi'}%
+ \ifstr{#1}{auto}{\AutoPar\FamilyKeyStateProcessed}{%
+ \ifstr{#1}{manual}{\ManualPar\FamilyKeyStateProcessed}{%
\KOMA@set@ifkey{parnumber}{parnumber}{#1}%
}%
}%
@@ -847,6 +880,8 @@ standard classes created by The LaTeX3 Project 1994-1996.
% \end{option}
%
% \begin{option}{paragraphmark}
+% \changes{v0.7}{2013/11/04}{Verwendung der renovierten Schnittstelle mit
+% \cs{FamilyKeyStateProcessed}}%^^A
% \begin{option}{markright}
% \begin{option}{markboth}
% \begin{macro}{\Paragraphmark}
@@ -866,31 +901,35 @@ standard classes created by The LaTeX3 Project 1994-1996.
{right}{3},%
{both}{4}%
}{#1}%
- \ifcase\number\@tempa
- \endgroup
- \let\Paragraphmark\@gobble
- \or
- \endgroup
- \renewcommand*{\Paragraphmark}[1]{%
- \markright{\csname MakeMarkcase\endcsname{##1}}}%
- \or
- \endgroup
- \renewcommand*{\Paragraphmark}[1]{%
- \markboth{\csname MakeMarkcase\endcsname{##1}}%
- {\csname MakeMarkcase\endcsname{##1}}}%
- \or
- \endgroup
- \renewcommand*{\Paragraphmark}[1]{%
- \ifx
- \@mkboth\@gobbletwo
- \else
- \markright{\csname MakeMarkcase\endcsname{##1}}%
- \fi}%
- \or
- \endgroup
- \renewcommand*{\Paragraphmark}[1]{%
- \@mkboth{\csname MakeMarkcase\endcsname{##1}}%
- {\csname MakeMarkcase\endcsname{##1}}}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed
+ \ifcase\number\@tempa
+ \endgroup
+ \let\Paragraphmark\@gobble
+ \or
+ \endgroup
+ \renewcommand*{\Paragraphmark}[1]{%
+ \markright{\csname MakeMarkcase\endcsname{##1}}}%
+ \or
+ \endgroup
+ \renewcommand*{\Paragraphmark}[1]{%
+ \markboth{\csname MakeMarkcase\endcsname{##1}}%
+ {\csname MakeMarkcase\endcsname{##1}}}%
+ \or
+ \endgroup
+ \renewcommand*{\Paragraphmark}[1]{%
+ \ifx
+ \@mkboth\@gobbletwo
+ \else
+ \markright{\csname MakeMarkcase\endcsname{##1}}%
+ \fi}%
+ \or
+ \endgroup
+ \renewcommand*{\Paragraphmark}[1]{%
+ \@mkboth{\csname MakeMarkcase\endcsname{##1}}%
+ {\csname MakeMarkcase\endcsname{##1}}}%
+ \else
+ \endgroup
+ \fi
\else
\endgroup
\fi
@@ -905,7 +944,9 @@ standard classes created by The LaTeX3 Project 1994-1996.
%
% \begin{option}{ref}
% \changes{v0.5d}{2010/06/07}{neue Einstellungen \texttt{nopar},
-% \texttt{nosentence}, \texttt{OnlyParagraph}}
+% \texttt{nosentence}, \texttt{OnlyParagraph}}%^^A
+% \changes{v0.7}{2013/11/04}{Verwendung der renovierten Schnittstelle mit
+% \cs{FamilyKeyStateProcessed}}%^^A
% \begin{option}{parcitename}
% \begin{option}{sentencecitename}
% Die Form, in der Absätze und Sätze referenziert werden. Es gibt eine lange,
@@ -941,39 +982,41 @@ standard classes created by The LaTeX3 Project 1994-1996.
{paragraphonly}{44},{onlyparagraph}{44},%
{ParagraphOnly}{44},{OnlyParagraph}{44}%
}{#1}%
- \@tempcnta=\@tempa\relax
- \@tempcntb=\z@
- \@whilenum \@tempcnta>9 \do{%
- \advance\@tempcnta -10\relax
- \advance\@tempcntb \@ne\relax
- }%
- \ifcase \@tempcnta
- \or
- \aftergroup\def\aftergroup\parcite@format
- \aftergroup{\aftergroup0\aftergroup}%
- \or
- \aftergroup\def\aftergroup\parcite@format
- \aftergroup{\aftergroup1\aftergroup}%
- \or
- \aftergroup\def\aftergroup\parcite@format
- \aftergroup{\aftergroup2\aftergroup}%
- \or
- \aftergroup\def\aftergroup\parcite@format
- \aftergroup{\aftergroup-\aftergroup1\aftergroup}%
- \fi
- \ifcase \@tempcntb
- \or
- \aftergroup\def\aftergroup\sentencecite@format
- \aftergroup{\aftergroup0\aftergroup}%
- \or
- \aftergroup\def\aftergroup\sentencecite@format
- \aftergroup{\aftergroup1\aftergroup}%
- \or
- \aftergroup\def\aftergroup\sentencecite@format
- \aftergroup{\aftergroup2\aftergroup}%
- \or
- \aftergroup\def\aftergroup\sentencecite@format
- \aftergroup{\aftergroup-\aftergroup1\aftergroup}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed
+ \@tempcnta=\@tempa\relax
+ \@tempcntb=\z@
+ \@whilenum \@tempcnta>9 \do{%
+ \advance\@tempcnta -10\relax
+ \advance\@tempcntb \@ne\relax
+ }%
+ \ifcase \@tempcnta
+ \or
+ \aftergroup\def\aftergroup\parcite@format
+ \aftergroup{\aftergroup0\aftergroup}%
+ \or
+ \aftergroup\def\aftergroup\parcite@format
+ \aftergroup{\aftergroup1\aftergroup}%
+ \or
+ \aftergroup\def\aftergroup\parcite@format
+ \aftergroup{\aftergroup2\aftergroup}%
+ \or
+ \aftergroup\def\aftergroup\parcite@format
+ \aftergroup{\aftergroup-\aftergroup1\aftergroup}%
+ \fi
+ \ifcase \@tempcntb
+ \or
+ \aftergroup\def\aftergroup\sentencecite@format
+ \aftergroup{\aftergroup0\aftergroup}%
+ \or
+ \aftergroup\def\aftergroup\sentencecite@format
+ \aftergroup{\aftergroup1\aftergroup}%
+ \or
+ \aftergroup\def\aftergroup\sentencecite@format
+ \aftergroup{\aftergroup2\aftergroup}%
+ \or
+ \aftergroup\def\aftergroup\sentencecite@format
+ \aftergroup{\aftergroup-\aftergroup1\aftergroup}%
+ \fi
\fi
\endgroup
}
@@ -998,11 +1041,47 @@ standard classes created by The LaTeX3 Project 1994-1996.
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\ellipsispar}
+% \changes{v0.7}{2013/05/02}{neu}
+% \begin{macro}{\parellipsis}
+% \changes{v0.7}{2013/05/02}{neu}
+% Paragraphen auslassen aber mit zählen.
+% \begin{macrocode}
+\newcommand*{\ellipsispar}[1][1]{%
+ \begingroup
+ \KOMAoptions{parnumber=manual}\parellipsis\par
+ \addtocounter{par}{#1}%
+ \protected@write\@auxout{}{%
+ \string\newmaxpar{\jura@env@type}%
+ {\thecontractAbsoluteParagraph}%
+ {\thepar}%
+ }%
+ \endgroup
+ \addtocounter{par}{-1}\refstepcounter{par}%
+ \ignorespaces
+}
+\newcommand*{\parellipsis}{%
+ \scr@ifundefinedorrelax{textellipsis}{\dots}{\textellipsis}%
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
% \begin{environment}{contract}
% \begin{macro}{\contract}
% \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}
+% \changes{v0.6b}{2013/04/16}{\cs{paragraphformat} umdefiniert}
+% \begin{Counter}{contractSubParagraph}
+% \begin{macro}{\thecontractSubParagraph}
+% \begin{Counter}{contractAbsoluteParagraph}
+% \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}
% definiert. Nichts desto trotz handelt es sich dabei um eine Umgebung und
% sollte sie immer als Umgebung verwendet werden!
@@ -1037,13 +1116,21 @@ standard classes created by The LaTeX3 Project 1994-1996.
\newcounter{contractParagraph}
\renewcommand*{\thecontractParagraph}{%
{\contract@Paragraphformat{\arabic{contractParagraph}}}}
-\DeclareRobustCommand*{\contract@Paragraphformat}[1]{\paragraphformat{#1}}
-\newcommand*{\paragraphformat}[1]{\S~#1}
+\DeclareRobustCommand*{\contract@Paragraphformat}[1]{\Paragraphformat{#1}}
+\newcommand*{\Paragraphformat}[1]{\S~#1}
\newcounter{contractSubParagraph}
\@addtoreset{SubParagraph}{Paragraph}
\renewcommand*{\thecontractSubParagraph}{%
{\theParagraph\alph{contractSubParagraph}}}
+\newcounter{contractAbsoluteParagraph}
% \end{macrocode}
+% \end{Counter}
+% \end{macro}
+% \end{Counter}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{Counter}
% \end{macro}
% \end{environment}
%
@@ -1165,8 +1252,11 @@ 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}
% \begin{macrocode}
\newcommand*{\contract@paragraph}[1]{%
+ \stepcounter{contractAbsoluteParagraph}%
\ManualPar\parnumbertrue
\let\contract@title\relax
\let\contract@entry\relax
@@ -1177,8 +1267,10 @@ standard classes created by The LaTeX3 Project 1994-1996.
% \end{macrocode}
% Wenn es kein Blindparagraph ist, werden Vorbereitung für nach der
% Überschrift getroffen und der vertikale Abstand eingefügt.
+% \changes{v0.6a}{2012/10/08}{fehlendes \cs{par} ergänzt}
% \begin{macrocode}
\ifcontract@dummy\else
+ \par
\@afterindentfalse
\addvspace{\contract@preskip}%
\fi
@@ -1186,6 +1278,8 @@ 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}
+% auch bei manueller Nummerierung der Paragraphen.}
% \begin{macrocode}
\ifx\contract@number\relax
\let\p@Paragraph\@empty
@@ -1196,7 +1290,7 @@ standard classes created by The LaTeX3 Project 1994-1996.
\let\@elt\@stpelt
\cl@Paragraph
\endgroup
- \protected@edef\theParagraph{\S~\contract@number}%
+ \protected@edef\theParagraph{\contract@Paragraphformat{\contract@number}}%
\protected@edef\@currentlabel{\theParagraph}%
\fi
\stepcounter{@AbsParagraph}%
@@ -1217,19 +1311,18 @@ standard classes created by The LaTeX3 Project 1994-1996.
% \end{macrocode}
% Außer für Blindparagraphen wird dann die Überschrift gesetzt, die
% Verzeichniseinträge vorgenommen und der Kolumnentitel angepasst.
+% \changes{v0.7}{2013/04/28}{Abstand nach der Nummer als Bestandteil der
+% Nummer setzen}
% \begin{macrocode}
\ifcontract@dummy\else
\begingroup
\if@juratitlepagebreak\else\interlinepenalty\@M\fi
- \contract@paragraph@font \theParagraph
- \ifx\contract@title\relax\else\enskip\contract@title\fi
+ \contract@paragraph@font{\theParagraph
+ \ifx\contract@title\relax\else\enskip\fi}%
+ \contract@title
\ifx\contract@entry\relax\else
- \addcontentsline{toc}{cpar}{%
- \protect\numberline{\theParagraph}\contract@entry
- }%
- \addcontentsline{cpa}{cpar}{%
- \protect\numberline{\theParagraph}\contract@entry
- }%
+ \addxcontentsline{toc}{cpar}[\theParagraph]\contract@entry
+ \addxcontentsline{cpa}{cpar}[\theParagraph]\contract@entry
\fi
\ifx\contract@head\relax\else
\expandafter\Paragraphmark\expandafter{%
@@ -1247,11 +1340,17 @@ standard classes created by The LaTeX3 Project 1994-1996.
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{contract@subparagraph}
+% \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
+% erhöht}
+% \changes{v0.7}{2013/04/28}{Abstand nach der Nummer als Bestandteil der
+% Nummer setzen}
% Das entspricht bis auf wenige Kleinigkeiten, die Unterparagraphen betreffen,
% |\contract@paragraph|
% \begin{macrocode}
\newcommand*{\contract@subparagraph}[1]{%
+ \stepcounter{contractAbsoluteParagraph}%
\ManualPar\parnumbertrue
\let\contract@title\relax
\let\contract@entry\relax
@@ -1260,6 +1359,7 @@ standard classes created by The LaTeX3 Project 1994-1996.
\contract@dummyfalse
\ifx\relax#1\relax\else\setkeys{contract}{#1}\fi
\ifcontract@dummy\else
+ \par
\@afterindentfalse
\vskip\contract@preskip
\fi
@@ -1289,15 +1389,12 @@ standard classes created by The LaTeX3 Project 1994-1996.
\ifcontract@dummy\else
\begingroup
\if@juratitlepagebreak\else\interlinepenalty\@M\fi
- \contract@paragraph@font \theSubParagraph
- \ifx\contract@title\relax\else\enskip\contract@title\fi
+ \contract@paragraph@font{\theSubParagraph
+ \ifx\contract@title\relax\else\enskip\fi}%
+ \contract@title
\ifx\contract@entry\relax\else
- \addcontentsline{toc}{cpar}{%
- \protect\numberline{\theSubParagraph}\contract@entry
- }%
- \addcontentsline{cpa}{cpar}{%
- \protect\numberline{\theSubParagraph}\contract@entry
- }%
+ \addxcontentsline{toc}{cpar}[\theSubParagraph]\contract@entry
+ \addxcontentsline{cpa}{cpar}[\theSubParagraph]\contract@entry
\fi
\ifx\contract@head\relax\else
\expandafter\Paragraphmark\expandafter{%
@@ -1433,6 +1530,8 @@ standard classes created by The LaTeX3 Project 1994-1996.
% \begin{Counter}{par}
% \begin{macro}{\thepar}
% \begin{macro}{\theHpar}
+% \begin{macro}{\parformat}
+% \changes{v0.7}{2013/06/07}{neues Font-Element \texttt{parnumber}}
% \begin{macro}{\p@par}
% \changes{v0.5d}{2010/04/28}{\cs{jura@usetype} mit Argument
% \cs{jura@env@type} eingefügt}
@@ -1448,6 +1547,7 @@ standard classes created by The LaTeX3 Project 1994-1996.
\renewcommand*{\thepar}{\arabic{par}}
\newcommand*{\theHpar}{\theH@AbsParagraph-\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}
@@ -1455,6 +1555,7 @@ standard classes created by The LaTeX3 Project 1994-1996.
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
% \end{Counter}
% \end{macro}
% \changes{0.5c}{2010/04/26}{erstes Argument von \cs{newmaxpar} und zweites
@@ -1462,27 +1563,79 @@ standard classes created by The LaTeX3 Project 1994-1996.
% \texttt{contractpars}}
% \changes{0.5c}{2010/04/26}{\cs{contract@Paragraphformat} expandiert beim
% Schreiben zu seinem Argument}
+% \changes{v0.7}{2013/04/18}{Zähler \texttt{contractAbsoluteParagraph} 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
+% hochzählt.}
+% \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}
% \begin{macrocode}
\newcommand*{\contract@everypar}{%
\ifparnumber
- \refstepcounter{par}%
- \refstepcounter{sentence}%
+ \ifx\scrjura@special@par\relax
+ \ifx\scrjura@special@reset@par\relax\else
+ \global\let\thepar\scrjura@special@reset@par
+ \global\let\scrjura@special@reset@par\relax
+ \fi
+ \refstepcounter{par}%
+ \refstepcounter{sentence}%
+ \else
+ \ifx\scrjura@special@reset@par\relax
+ \global\let\scrjura@special@reset@par\thepar
+ \fi
+ \global\let\thepar\scrjura@special@par
+ \global\let\scrjura@special@par\relax
+ \setcounter{sentence}{0}\refstepcounter{sentence}%
+ \fi
\begingroup
\protected@write\@auxout{\let\contract@Paragraphformat\@firstofone}{%
- \string\newmaxpar{contract}{\theSubParagraph}{\arabic{par}}}%
- \getmaxpar\@tempa{contract}{\theSubParagraph}%
+ \string\newmaxpar{contract}%
+ {\thecontractAbsoluteParagraph}%
+ {\thepar}}%
+ \getmaxpar\@tempa{contract}{\thecontractAbsoluteParagraph}%
\typeout{Stored max is \@tempa}%
- \ifnum \@tempa>\@ne
- \parformat\nobreakspace
+ \def\reserved@a##1\@nnil{\def\@tempa{##1}}%
+ \afterassignment\reserved@a\@tempcnta=0\@tempa\relax\@nnil
+ \ifnum \@tempcnta>\@ne
+ {\usekomafont{parnumber}{\parformat\nobreakspace}}%
+ \else
+ \def\reserved@a{\relax}%
+ \ifx\@tempa\reserved@a
+ \else
+ {\usekomafont{parnumber}{\parformat\nobreakspace}}%
+ \fi
\fi
\endgroup
\else
- \setcounter{sentence}{0}\refstepcounter{sentence}%
+ \setcounter{sentence}{-1}\refstepcounter{sentence}%
\fi
}
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\thisparnumber}
+% \changes{v0.7}{2013/05/23}{neue Anweisung}
+% \begin{macro}{\scrjura@special@par}
+% \changes{v0.7}{2013/05/23}{neue Anweisung (intern)}
+% \begin{macro}{\scrjura@special@reset@par}
+% \changes{v0.7}{2013/05/23}{neue Anweisung (intern)}
+% Mit dieser Anweisung kann man eine Absatznummer manuell vergeben. Allerdings
+% muss die Nummer voll expandierbar sein!
+% \begin{macrocode}
+\newcommand*{\thisparnumber}[1]{%
+ \def\scrjura@special@par{#1}%
+}
+\newcommand*{\scrjura@special@par}{}
+\let\scrjura@special@par\relax
+\newcommand*{\scrjura@special@reset@par}{}
+\let\scrjura@special@reset@par\relax
+% \end{macrocode}
+% \end{macro}^^A \scrjura@special@reset@par
+% \end{macro}^^A \scrjura@special@par
+% \end{macro}^^A\thisparnumber
+%
%
% \begin{macro}{\refL}
% \begin{macro}{\ref@L}
@@ -1591,7 +1744,7 @@ standard classes created by The LaTeX3 Project 1994-1996.
}
\newcommand*{\ref@ParagraphN}[2]{%
\begingroup
- \let\paragraphformat\relax
+ \let\Paragraphformat\relax
\ref@Paragraph{#1}{#2}%
\endgroup
}
@@ -1886,41 +2039,39 @@ standard classes created by The LaTeX3 Project 1994-1996.
% \begin{macro}{\sentencename}
% \begin{macro}{\sentenceshortname}
% \begin{macro}{\scrjura@lang@error}
-% Der Name eines Absatzes und eines Satzes.
+% \changes{v0.7}{2013/09/19}{Verwendung von \cs{PackageError} an Stelle von
+% \cs{PackageErrorNoLine}}
+% Der Name eines Absatzes und eines Satzes. Die englischen Namen wurden von
+% »m.eik« beigesteuert.
% \begin{macrocode}
\newcommand*{\parname}{Paragraph}
\AtBeginDocument{%
- \providecaptionname{german}\parname{Absatz}%
- \providecaptionname{german}\parshortname{Abs.}%
- \providecaptionname{german}\sentencename{Satz}%
- \providecaptionname{german}\sentenceshortname{S.}%
- \providecaptionname{ngerman}\parname{Absatz}%
- \providecaptionname{ngerman}\parshortname{Abs.}%
- \providecaptionname{ngerman}\sentencename{Satz}%
- \providecaptionname{ngerman}\sentenceshortname{S.}%
- \providecaptionname{austrian}\parname{Absatz}%
- \providecaptionname{austrian}\parshortname{Abs.}%
- \providecaptionname{austrian}\sentencename{Satz}%
- \providecaptionname{austrian}\sentenceshortname{S.}%
- \providecaptionname{naustrian}\parname{Absatz}%
- \providecaptionname{naustrian}\parshortname{Abs.}%
- \providecaptionname{naustrian}\sentencename{Satz}%
- \providecaptionname{naustrian}\sentenceshortname{S.}%
+ \providecaptionname{german,ngerman,austrian,naustrian}\parname{Absatz}%
+ \providecaptionname{german,ngerman,austrian,naustrian}\parshortname{Abs.}%
+ \providecaptionname{german,ngerman,austrian,naustrian}\sentencename{Satz}%
+ \providecaptionname{german,ngerman,austrian,naustrian}\sentenceshortname{S.}%
+ \providecaptionname{english,american,british,canadian,USenglish,UKenglish}\parname{paragraph}%
+ \providecaptionname{english,american,british,canadian,USenglish,UKenglish}\parshortname{par.}%
+ \providecaptionname{english,american,british,canadian,USenglish,UKenglish}\sentencename{sentence}%
+ \providecaptionname{english,american,british,canadian,USenglish,UKenglish}\sentenceshortname{sent.}%
}
\providecommand*{\parname}{\scrjura@lang@error{\parname}}
\providecommand*{\parshortname}{\scrjura@lang@error{\parshortname}}
\providecommand*{\sentencename}{\scrjura@lang@error{\sentencename}}
\providecommand*{\sentenceshortname}{\scrjura@lang@error{\sentenceshortname}}
\newcommand*{\scrjura@lang@error}[1]{%
- \PackageErrorNoLine{scrjura}{%
+ \PackageError{scrjura}{%
current language not supported%
}{%
- Currently scrjura only supports languages `german',
- `ngerman', `austrian', and `naustrian'.\MessageBreak
- It seems, that you are using another language (maybe
- \languagename).\MessageBreak
- Because of this you have to define \string#1\space by
- yourself!\MessageBreak
+ Currently scrjura only supports languages `german', `ngerman',
+ `austrian',\MessageBreak
+ `naustrian', `english', `american', `british', `canadian', `USenglish',
+ and\MessageBreak
+ `UKenglish'.\MessageBreak
+ It seems, that you are using another language (maybe `\languagename') or
+ that\MessageBreak
+ your language selection isn't compatible to package `babel'.\MessageBreak
+ Because of this you have to define `\string#1' by yourself!\MessageBreak
It would be nice if you'll send your definitions to the author.%
}%
\textbf{??}%
@@ -1933,6 +2084,8 @@ 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
+% Argument}
% \begin{macro}{\getmaxpar}
% \changes{v0.6}{2011/09/30}{Argument 3 muss mit \cs{protected@edef}
% expandiert werden}
@@ -1944,6 +2097,7 @@ standard classes created by The LaTeX3 Project 1994-1996.
% \begin{macrocode}
\newcommand*{\newmaxpar}[3]{%
\begingroup
+ \expandafter\let\csname #1@Paragraphformat\endcsname\@firstofone
\protected@edef\@tempa{#2}\@onelevel@sanitize\@tempa
\expandafter\xdef\csname max@#1@\@tempa\endcsname{#3}%
\endgroup