summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/koma-script/source/scrjura.dtx
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-05-08 03:00:48 +0000
committerNorbert Preining <norbert@preining.info>2022-05-08 03:00:48 +0000
commitce1c001f7db86ff8f09c1203b965ed9f44531d7a (patch)
tree06490451baa1d21c2340a765b3239d9888d9ff5f /macros/latex/contrib/koma-script/source/scrjura.dtx
parent689536ecd7f688909820f27ed2938273c2e3ae44 (diff)
CTAN sync 202205080300
Diffstat (limited to 'macros/latex/contrib/koma-script/source/scrjura.dtx')
-rw-r--r--macros/latex/contrib/koma-script/source/scrjura.dtx1261
1 files changed, 570 insertions, 691 deletions
diff --git a/macros/latex/contrib/koma-script/source/scrjura.dtx b/macros/latex/contrib/koma-script/source/scrjura.dtx
index 9b9d1b3032..8fe4bc4532 100644
--- a/macros/latex/contrib/koma-script/source/scrjura.dtx
+++ b/macros/latex/contrib/koma-script/source/scrjura.dtx
@@ -1,8 +1,7 @@
-% \CheckSum{1932}
% \iffalse meta-comment
% ======================================================================
% scrjura.dtx
-% Copyright (c) Markus Kohm, 2007-2019
+% Copyright (c) Markus Kohm, 2007-2022
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -18,49 +17,8 @@
% The Current Maintainer and author of this work is Markus Kohm.
%
% The KOMA-Script bundle consists of all files listed in manifest.txt.
-% This work `scrjura' consists of the files `scrjura.dtx' and
-% `scrlogo.dtx'.
-% ----------------------------------------------------------------------
-% scrjura.dtx
-% Copyright (c) Markus Kohm, 2007-2019
-%
-% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
-% Version 1.3c, verteilt und/oder veraendert werden.
-% Die neuste Version dieser Lizenz ist
-% http://www.latex-project.org/lppl.txt
-% und Version 1.3c ist Teil aller Verteilungen von LaTeX
-% Version 2005/12/01 oder spaeter und dieses Werks.
-%
-% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
-% (allein durch den Autor verwaltet).
-%
-% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm.
-%
-% Das KOMA-Script-Paket besteht aus allen Dateien, die in manifest.txt
-% genannt sind.
-% Das Werk `scrjura' besteht aus den Dateien `scrjura.dtx' und
-% `scrlogo.dtx'.
% ======================================================================
-% \fi
-%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
-%
-% \iffalse^^A meta-comment
-%%% From File: $Id: scrjura.dtx 3390 2019-11-18 17:09:35Z kohm $
+%%% From File: $Id: scrjura.dtx 3773 2022-03-29 06:27:55Z kohm $
%<identify>%%% (run: identify)
%<init>%%% (run: init)
%<options>%%% (run: options)
@@ -70,12 +28,13 @@
%<*dtx>
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2019-11-18 18:09:35 +0100 (Mon, 18 Nov 2019) $
+ \filedate$Date: 2022-03-29 08:27:55 +0200 (Tue, 29 Mar 2022) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 1962 $
+ \filerevision$Revision: 3773 $
\endgroup
-\def\LaTeXformat{LaTeX2e}
-\ifx\fmtname\LaTeXformat\def\MainBodyWork{%
+\expandafter\ifx\csname ProvidesFile\endcsname\relax
+\def\ProvidesFile#1[#2]{}
+\fi
\ProvidesFile{scrjura.dtx}[\filedate\space\filerevision\space
%</dtx>
%<package&identify>\NeedsTeXFormat{LaTeX2e}[1995/06/01]
@@ -90,102 +49,94 @@
]
%</dtx|(package&identify)>
%<*dtx>
-\IfFileExists{scrdoc.cls}{%
- \documentclass[parskip=half-]{scrdoc}
-}{%
- \documentclass{ltxdoc}
-}
-\providecommand*{\DescribeOption}{\DescribeMacro}
-\providecommand*{\DescribeCounter}{\DescribeMacro}
-\usepackage[ngerman]{babel}
-\usepackage[T1]{fontenc}
-\usepackage{lmodern}
-\IfFileExists{scrjura.sty}{%
- \usepackage{scrjura}
-}{}
-\CodelineIndex
-\RecordChanges
-\GetFileInfo{scrjura.dtx}
-\DocInput{\filename}
-\end{document}
+\ifx\documentclass\undefined
%</dtx>
+%<*ins>
+ \input scrdocstrip.tex
+ \@@input scrkernel-version.dtx
+ \@@input scrstrip.inc
+ \KOMAdefVariable{COPYRIGHTFROM}{2007}
+ \generate{\usepreamble\defaultpreamble
+ \file{scrjura.ins}{%
+ \from{scrjura.dtx}{ins}%
+ }%
+ \file{scrjura.sty}{%
+ \from{scrjura.dtx}{package,identify}%
+ \from{scrjura.dtx}{package,init}%
+ \from{scrjura.dtx}{package,options}%
+ \from{scrjura.dtx}{package,postoptions}%
+ \from{scrjura.dtx}{package,body}%
+ \from{scrjura.dtx}{package,final}%
+ \from{scrlogo.dtx}{logo}%
+ }%
+ }%
+ \@@input scrstrop.inc
+%</ins>
%<*dtx>
-}\else\let\MainBodyWork\relax\fi
-
-\MainBodyWork
-
-\def\batchfile{scrjura.dtx}
+\else
+ \let\endbatchfile\relax
+\fi
+%</dtx>
+%<*ins>
+\endbatchfile
+%</ins>
+%<*dtx>
+\documentclass{koma-script-source-doc}
+\usepackage[USenglish]{babel}
+\setcounter{StandardModuleDepth}{2}
+\begin{document}
+ \DocInput{scrjura.dtx}
+\end{document}
%</dtx>
-%<ins>\def\batchfile{scrjura.ins}
-%<*dtx|ins>
-\input scrdocstrip.tex
-\@@input scrkernel-version.dtx
-\@@input scrstrip.inc
-\KOMAdefVariable{COPYRIGHTFROM}{2007}
-
-% ---------- File generation -------------------------------------------
-
-\generate{\usepreamble\defaultpreamble
- \file{scrjura.ins}{%
- \from{scrjura.dtx}{ins}%
- }%
- \file{scrjura.sty}{%
- \from{scrjura.dtx}{package,identify}%
- \from{scrjura.dtx}{package,init}%
- \from{scrjura.dtx}{package,options}%
- \from{scrjura.dtx}{package,postoptions}%
- \from{scrjura.dtx}{package,body}%
- \from{scrjura.dtx}{package,final}%
- \from{scrlogo.dtx}{logo}%
- }%
-}%
-
-% ---------- end of docstrip process -----------------------------------
-
-\@@input scrstrop.inc
-
-\let\byebye\endinput
-\ifToplevel{\expandafter\let\expandafter\byebye\csname bye\endcsname}
-\byebye
-
-%</dtx|ins>
% \fi
%
-% \title{\KOMAScript{} \partname\ \texttt{\filename}%
-% \thanks{Diese Datei ist Version \fileversion\ von \texttt{\filename}.}}
-% \date{\filedate}
-% \author{Markus Kohm\thanks{Paketautor, mailto:komascript(at)gmx.info}\and
-% Dr.\,Alexander
-% Willand\thanks{Autor der Anleitung, mailto:alexander.willand(klammeraffe)t-online.de}}
-% \begin{document}
+% \changes{v3.36}{2022/01/25}{switch over from \cls*{scrdoc} to
+% \cls*{koma-script-source-doc}}
+%
+% \GetFileInfo{scrjura.dtx}
+% \title{\KOMAScript{} in the Law Office\\
+% with Package \pkg*{scrjura}}
+% \date{Version \fileversion{} of \filedate}
+% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}}
% \maketitle
% \begin{abstract}
-% Das scrjura-Paket ist für die Kautelarjurisprudenz gedacht. Es soll für
-% Anwälte und Notare eine flexible Hilfe bei der Abfassung von Verträgen,
-% Satzungen und juristischen Kommentaren bieten. Es ist in Zusammenarbeit
-% mit Dr.\,Alexander Willand entstanden, bzw. noch immer in Entstehung
-% begriffen.
+% The \pkg*{scrjura} package is intended for cautelar jurisprudence. It is
+% intended to provide flexible help for lawyers and notaries in drafting
+% contracts, statutes and legal commentaries. It has been developed in
+% cooperation with Dr.\,Alexander Willand, and is still in the process of
+% development.
% \end{abstract}
%
+% \tableofcontents
%
-% \StopEventually{\PrintIndex\PrintChanges}
+% \section{User Manual}
%
-% \section{Implementierung}
+% You can find the user manual of \pkg*{scrjura} in the \KOMAScript{} manual,
+% either the German \file{scrguide} or the English \file{scrguien}.
%
-% \iffalse
+% \MaybeStop{\PrintIndex}
+%
+% \section{Implementation}
+%
+% \begin{macrocode}
%<*package>
-% \fi
+% \end{macrocode}
+%
+% \changes{v0.7b}{2014/11/11}{General renaming of ``Paragraph'' into
+% ``Clause''}
%
-% \changes{v0.7b}{2014/11/11}{Generelle Umbenennung von "`Paragraph"' in
-% "`Clause"' für alle Befehle, Zähler und Optionen}%^^A
+% \subsection{Cooperation with \pkg*{hyperref}}
%
+% If \pkg{hyperref} has already loaded before \pkg*{scrjura} the package cannot
+% work correctly. So we throw an error. Maybe it would be a good idea to make
+% this error fatal. But currently it is only an error.
% \begin{macrocode}
%<*init>
\@ifpackageloaded{hyperref}{%
\PackageError{scrjura}{Package hyperref already loaded}{%
- If you want to use package scrjura with package hyperref, you have to
- use\MessageBreak
- package scrjura before package hyperref.\MessageBreak
+ If you want to use package scrjura with package hyperref, you have
+ to\MessageBreak
+ load package scrjura before package hyperref.\MessageBreak
To solve the problem, you just should move the loading of package
hyperref\MessageBreak
behind the loading of package scrjura.}%
@@ -193,50 +144,68 @@
%</init>
% \end{macrocode}
%
-% Es wird das Paket \textsf{scrkbase} benötigt, weil alles weitere darauf
-% aufbaut.
+% \subsection{Prerequisites}
+%
+% We need package \pkg*{scrkbase}. We could load this also together with
+% \pkg*{tocbasic}, which is loaded later. But loading it on its own, we can
+% require a minimum version.
% \begin{macrocode}
%<*init>
\RequirePackage{scrkbase}[2013/03/26]
%</init>
% \end{macrocode}
%
-% Außerdem wird \textsf{tocbasic} benötigt, weil einige wenige Befehle davon
-% verwendet werden.
+% And now, \pkg*{tocbasic}.
% \begin{macrocode}
%<*init>
\RequirePackage{tocbasic}
%</init>
% \end{macrocode}
%
+% \subsection{Options}
+%
% \begin{option}{contract}
-% Mit der Option |contract| wird das gesamte Dokument zu einem Vertrag. Man
-% darf dann keine der von diesem Paket bereit gestellten Umgebungen mehr
-% innerhalb des Dokuments verwenden! Realisiert wird dies, indem ganz am
-% Ende von |\begin{document}| noch |\contract| ausgeführt wird.
+% \begin{macro}{\if@documentcontract,
+% \@documentcontractfalse,\@documentcontracttrue}
+% \changes{v3.36}{2022/01/25}{switched to a \KOMAScript{} option}
+% Option \opt{contract} can be used to make the whole document to be a
+% contract. But in this case you are not allowed to reuse the \env{contract}
+% environment in the document. Now it is allowed to stop or restart the
+% contract. With older \LaTeX{} this is done by adding \cs{contract} to the
+% end of \cs{document}. With an up to date \LaTeX{} we us a hook.
% \begin{macrocode}
%<*options>
-\DeclareOption{contract}{%
- \g@addto@macro\document\contract%
+\KOMA@ifkey{contract}{@documentcontract}
+\IfLTXAtLeastTF{2020/10/01}{%
+ \AddToHook{begindocument/end}{%
+ \RelaxFamilyKey[.scrjura.sty]{KOMA}{contract}%
+ \if@documentcontract\expandafter\contract\fi
+ }%
+}{%
+ \g@addto@macro\document{%
+ \RelaxFamilyKey[.scrjura.sty]{KOMA}{contract}%
+ \if@documentcontract\expandafter\contract\fi
+ }%
}
%</options>
% \end{macrocode}
+% \end{macro}
% \end{option}
%
% \begin{option}{juratotoc}
-% Mit dieser Option wird die Verzeichnisebene für Inhaltsverzeichniseinträge
-% auf einen gewünschten Wert oder 2 oder 10000 gesetzt.
-% \changes{v0.7}{2013/11/04}{Verwendung der renovierten Schnittstelle mit
-% \cs{FamilyKeyState}}%^^A
-% \changes{v0.9a}{2015/03/09}{Wert wird in der internen Liste erfasst}%^^A
+% Allow to set the toc level of the entries. Value \optvalue{true} is the same
+% like \optvalue{2}, value \optvalue{false} is the same like \cs{maxdimen}.
+% \changes{v0.7}{2013/11/04}{usage of renewed interface with
+% \cs{FamilyKeyState}}
+% \changes{v0.9a}{2015/03/09}{internal value storage}
% \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}%^^A
-% \changes{v3.27}{2019/02/25}{Zähler entfernt}%^^A
+% \changes{v0.6}{2011/09/29}{replaced by counter}
+% \begin{counter}{juratoclevel}
+% \changes{v0.6}{2011/09/29}{definition moved}
+% \changes{v3.27}{2019/02/25}{removed}
% \begin{macro}{\toclevel@cpar}
-% \changes{v0.7}{2013/06/09}{neue für \textsf{hyperref}}%^^A
-% \changes{v3.27}{2019/02/25}{wird von \textsf{tocbasic} erledigt}%^^A
+% \changes{v0.7}{2013/06/09}{new, because of \pkg{hyperref}}
+% \changes{v3.27}{2019/02/25}{handled by \pkg*{tocbasic}}
% \begin{macrocode}
%<*options>
\KOMA@key{juratotoc}[true]{%
@@ -256,30 +225,19 @@
%</options>
% \end{macrocode}
% \end{macro}
-% \end{Counter}
+% \end{counter}
% \end{macro}
% \end{option}
%
-% \begin{option}{juratocnumberwidth}
-% \changes{v0.6}{2011/09/29}{neu}%^^A
-% \changes{v0.7}{2013/11/04}{Verwendung der renovierten Schnittstelle mit
-% \cs{FamilyKeyStateProcessed}}%^^A
-% \changes{v0.9a}{2015/03/09}{Wert wird in der internen Liste erfasst}%^^A
-% \begin{option}{juratocindent}
-% \changes{v0.6}{2011/09/29}{neu}%^^A
-% \changes{v0.7}{2013/11/04}{Verwendung der renovierten Schnittstelle mit
-% \cs{FamilyKeyStateProcessed}}%^^A
-% \changes{v0.9a}{2015/03/09}{Wert wird in der internen Liste erfasst}%^^A
-% \begin{macro}{\cpar@numberwidth}
-% \changes{v0.6}{2011/09/29}{neu (intern)}%^^A
-% \changes{v3.27}{2019/02/25}{ersetzt durch Verwendung von
-% \cs{DeclareTOCStyleEntry}}%^^A
-% \begin{macro}{\cpar@indent}
-% \changes{v0.6}{2011/09/29}{neu (intern)}
-% \changes{v3.27}{2019/02/25}{ersetzt durch Verwendung von
-% \cs{DeclareTOCStyleEntry}}%^^A
-% Der Einzug und die Breite der Nummer für Inhaltsverzeichniseinträge kann
-% über diese beiden Optionen bestimmt werden.
+% \begin{option}{juratocnumberwidth,juratocindent}
+% \changes{v0.6}{2011/09/29}{new}
+% \changes{v0.7}{2013/11/04}{usage of renewed interface with
+% \cs{FamilyKeyState}}
+% \changes{v0.9a}{2015/03/09}{internal value storage}
+% \begin{ilength}{\cpar@numberwidth,\cpar@indent}
+% \changes{v0.6}{2011/09/29}{new}
+% \changes{v3.27}{2019/02/25}{replaced by usage of \cs{DeclareTOCStyleEntry}}
+% Indent and number width of the toc entries.
% \begin{macrocode}
%<*options>
\KOMA@key{juratocnumberwidth}{%
@@ -296,18 +254,16 @@
\KOMA@kav@add{.scrjura.sty}{juratocindent}{1.5em}%
%</options>
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{option}
+% \end{ilength}
% \end{option}
%
% \begin{option}{juratitlepagebreak}
-% \changes{v0.5b}{2010/04/05}{neue Option}
-% Mit dieser Option wird der Schalter |\if@juratitlepagebreak| auf |\iftrue|
-% gesetzt.
-% \begin{macro}{\if@juratitlepagebreak}
-% Mit diesem Schalter wiederum wird erreicht, dass in den Überschriften von
-% Paragraphen ein Seitenumbruch erlaubt wird.
+% \changes{v0.5b}{2010/04/05}{new}
+% The options sets the boolean \cs{if@juratitlepagebreak}.
+% \begin{macro}{\if@juratitlepagebreak,
+% \@juratitlepagebreaktrue,\@juratitlepagebreakfalse}
+% If the boolean is \cs{iftrue} page breaks inside clause headings are
+% allowed (which is not recommended).
% \begin{macrocode}
%<*options>
\KOMA@ifkey{juratitlepagebreak}{@juratitlepagebreak}
@@ -317,14 +273,13 @@
% \end{option}
%
% \begin{option}{parnumber}
-% \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
-% \changes{v0.9a}{2015/03/09}{Wert wird in der internen Liste erfasst}%^^A
-% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A
-% Die (automatische) Absatznummerierung lässt sich nun auch per Option ein-
-% und ausschalten.
+% \changes{v0.6}{2011/09/29}{new}
+% \changes{v0.6a}{2012/10/15}{value mistake message changed}
+% \changes{v0.7}{2013/11/04}{usage of renewed interface with
+% \cs{FamilyKeyState}}
+% \changes{v0.9a}{2015/03/09}{internal value storage}
+% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed into \cs{Ifstr}}
+% The options switches the (automatic) paragraph numbering.
% \begin{macrocode}
%<*options>
\newif\ifparnumber
@@ -354,21 +309,19 @@
% \end{macrocode}
% \end{option}
%
-% \begin{option}{clausemark}
-% \changes{v0.9h}{2016/04/11}{\texttt{paragraphmark} umbenannt in
-% \texttt{clausemark}}%^^A
-% \begin{option}{paragraphmark}
-% \changes{v0.7}{2013/11/04}{Verwendung der renovierten Schnittstelle mit
-% \cs{FamilyKeyStateProcessed}}%^^A
-% \changes{v0.9a}{2015/03/09}{Wert wird in der internen Liste erfasst}%^^A
-% \begin{option}{markright}
-% \begin{option}{markboth}
-% \begin{macro}{\Clausemark}
-% \changes{v0.5e}{2011/08/31}{Beachtung von \cs{MakeMarkcase}}
-% Mit diesen Optionen wird |\Clausemark| so umdefiniert, dass es entweder
-% ein |\markright| oder ein |\markboth| ausführt. Im Gegensatz zu
-% |\chaptermark| etc. erwartet |\Clausemark| neben dem Titel auch noch
-% die zu verwendende Nummer (das könnte bei Bedarf noch geändert werden!)
+% \begin{option}{paragraphmark,clausemark}
+% \changes{v0.9h}{2016/04/11}{\opt{paragraphmark} renamed to \opt{clausemark}}
+% \changes{v0.7}{2013/11/04}{usage of renewed interface with
+% \cs{FamilyKeyState}}
+% \changes{v0.9a}{2015/03/09}{internal value storage}
+% \begin{option}{markright,markboth}
+% \changes{v0.7}{2013/11/04}{deprecated}
+% \begin{command}{\Clausemark}
+% \changes{v0.5e}{2011/08/31}{support for \cs{MakeMarkcase}}
+% The options are used to activate either \cs{markright} or \cs{markboth} for
+% clauses. \cs{Clausemark} expects not only the title but also the
+% number. So it differs from, e.g., \cs{chaptermark}, which uses the counter
+% automatically. But maybe I will change this some time.
% \begin{macrocode}
%<*options>
\newcommand*{\Clausemark}[1]{}
@@ -431,36 +384,30 @@
}
%</options>
% \end{macrocode}
-% \end{macro}
-% \end{option}
-% \end{option}
+% \end{command}
% \end{option}
% \end{option}
%
% \begin{option}{ref}
-% \changes{v0.5d}{2010/06/07}{neue Einstellungen \texttt{nopar},
-% \texttt{nosentence}, \texttt{OnlyParagraph}}%^^A
-% \changes{v0.7}{2013/11/04}{Verwendung der renovierten Schnittstelle mit
-% \cs{FamilyKeyStateProcessed}}%^^A
-% \changes{v0.9a}{2015/03/09}{Wert wird in der internen Liste erfasst}%^^A
-% \begin{option}{parcitename}
-% \begin{option}{sentencecitename}
-% Die Form, in der Absätze und Sätze referenziert werden. Es gibt eine lange,
-% eine abgekürzte und eine nummerische Form.
-%
-% \begin{macro}{\parcite@fromat}
-% \begin{macro}{\sentencecite@fromat}
-% In der Voreinstellung wird das lange Format verwendet. Es gilt:
-% 0 = lang, 1 = kurz, 2 = numerisch, -1 = gar nicht
+% \changes{v0.5d}{2010/06/07}{new values \optvalue{nopar},
+% \optvalue{nosentence}, \optvalue{OnlyParagraph}}
+% \changes{v0.7}{2013/11/04}{usage of renewed interface with
+% \cs{FamilyKeyState}}
+% \changes{v0.9a}{2015/03/09}{internal value storage}
+% \begin{option}{parcitename,sentencecitename}
+% \changes{v0.5d}{2010/06/07}{deprecated}
+% The formatting of the references of paragraphs and sentences. There are a
+% long a short and a numeric form.
+% \begin{macro}{\parcite@format,\sentencecite@format}
+% Default is the long form. Corresponding values of the two helper macros are:
+% 0 = long, 1 = short, 2 = numerical, -1 = nothing.
% \begin{macrocode}
%<*options>
\newcommand*{\parcite@format}{0}
\newcommand*{\sentencecite@format}{0}
% \end{macrocode}
% \end{macro}
-% \end{macro}
-%
-% Per Option kann die Voreinstellung verändert werden.
+% The options can be used to change the default.
% \begin{macrocode}
\KOMA@key{ref}{%
\begingroup
@@ -549,32 +496,22 @@
% \end{macrocode}
% \end{option}
% \end{option}
-% \end{option}
%
-% Optionen ausführen.
+% Execute the options.
% \begin{macrocode}
%<*postoptions>
\KOMAProcessOptions\relax
%</postoptions>
% \end{macrocode}
%
-% \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
+% \subsection{Deprecated paragraph commands}
+%
+% All these commands are deprecated and now generate error messages instead of
+% code.
+%
+% \begin{command}{\Paragraph,\SubParagraph,\refParagraph,\refParagraphN,
+% \DeprecatedParagraph,\ParagraphCompatibilityHacks}
+% \changes{1.0}{2014/11/22}{throw error for deprecated commands but only once}
% \begin{macrocode}
%<*body>
\providecommand*{\DeprecatedParagraph}{%
@@ -626,18 +563,16 @@
\providecommand*{\refParagraphN}{\DeprecatedParagraph\refParagraphN}
%</body>
% \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
+% \end{command}
+%
+%
+% \subsection{Contracts, clauses, paragraphs and sentences}
+%
%
% \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.
+% \changes{v0.5d}{2010/04/28}{new}
+% \changes{v0.7b}{2014/11/03}{renamed}
+% This macro shows the currently active \pkg*{scrjura} environment.
% \begin{macrocode}
%<*body>
\newcommand*{\scrjura@env@type}{}
@@ -645,15 +580,18 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\ellipsispar}
-% \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}%^^A
-% \changes{v0.9g}{2016/03/25}{in die \texttt{aux}-Datei nur bei
-% \cs{if@filesw} schreiben}%^^A
-% Paragraphen auslassen aber mit zählen.
+%
+% \begin{command}{\ellipsispar}
+% \changes{v0.7}{2013/05/02}{new}
+% \changes{v0.7b}{2014/11/03}{\cs{thecontractAbsoluteClause} made more
+% flexible}
+% \changes{v0.9g}{2016/03/25}{write to \file{aux}-file only \cs{if@filesw}}
+% \begin{command}{\parellipsis}
+% \changes{v0.7}{2013/05/02}{new}
+% Count one or more paragraphs given by the optional argument but print
+% \cs{parellipsis} instead of a real paragraph. The default is either
+% \cs{dots} or \cs{textellipsis} if available.
+% \changes{v0.7}{2013/05/02}{new}
% \begin{macrocode}
%<*body>
\newcommand*{\ellipsispar}[1][1]{%
@@ -677,39 +615,34 @@
}
%</body>
% \end{macrocode}
-% \end{macro}
-% \end{macro}
+% \end{command}
+% \end{command}
%
% \begin{environment}{contract}
-% \begin{macro}{\contract}
-% \changes{v0.5d}{2010/04/28}{fehlende Fehlermeldung ergänzt}%^^A
-% \changes{v0.5d}{2010/04/28}{Umgebung definiert sich nicht mehr selbst
-% um}%^^A
-% \changes{v0.5d}{2010/04/28}{\cs{jura@env@type} wird gesetzt}%^^A
-% \begin{Counter}{contractClause}
-% \begin{macro}{\thecontractClause}
-% \changes{v0.9b}{2015/05/01}{muss unbedingt den Zähler \texttt{Clause}
-% statt \texttt{contractClause} verwenden}%^^A
+% \changes{v0.5d}{2010/04/28}{missing error message added}
+% \changes{v0.5d}{2010/04/28}{not self-redefining any more}
+% \changes{v0.5d}{2010/04/28}{defining \cs{jura@env@type}}
+% \changes{v3.36}{2022/01/25}{defining an environment (because of hooks)}
+% \begin{counter}{contractClause}
+% \begin{command}{\thecontractClause}
+% \changes{v0.9b}{2015/05/01}{must use counter \cnt{Clause} instead of
+% \cnt{contractClause}}
% \begin{macro}{\contract@Clauseformat}
-% \begin{macro}{\Clauseformat}
-% \changes{v0.6b}{2013/04/16}{\cs{paragraphformat} umdefiniert}%^^A
-% \begin{Counter}{contractSubClause}
-% \changes{v0.9b}{2015/05/01}{muss unbedingt den Zähler \texttt{SubClause}
-% statt \texttt{contractSubClause} verwenden}%^^A
-% \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}%^^A
-% 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!
-% Die Umgebung kann nicht geschachtelt werden. Sie darf aber enden und dann
-% erneut verwendet werden. Die Paragraphen werden jedoch über alle Verträge
-% hinweg nummeriert. Das Ende eines Vertrags ist also genau genommen nur eine
-% Unterbrechung.
+% \begin{command}{\Clauseformat,\paragraphformat}
+% \changes{v0.6b}{2013/04/16}{redefinition of \cs{paragraphformat}}
+% \begin{counter}{contractSubClause}
+% \changes{v0.9b}{2015/05/01}{must use counter \cnt{SubClause} instead of
+% \cnt{contractSubClause}}
+% \begin{command}{\thecontractSubClause}
+% \begin{counter}{contractAbsoluteClause}
+% \changes{v0.7}{2013/04/18}{new (internal) counter for all clauses to make
+% it possible to reset the users clause counter}
+% It is not allowed to nest the \env{contract} environments, but you can end
+% them and start them new. But this would not end the contract and start a new
+% contract but only delay it for some other code.
% \begin{macrocode}
%<*body>
-\newcommand*{\contract}{%
+\newenvironment{contract}{%
\ifx\scrjura@env@type\@empty
\let\@doendpe\scrjura@doendpe
\let\Clause\contract@paragraph
@@ -727,7 +660,7 @@
a `\scrjura@env@type' environment or after loading\MessageBreak
package `scrjura' with option `\scrjura@env@type'!}%
\fi
-}
+}{}
\let\if@scrjura@skiphyperref\iftrue
\let\cl@Clause\@empty
\let\cl@SubClause\@empty
@@ -743,22 +676,21 @@
\newcounter{contractAbsoluteClause}
%</body>
% \end{macrocode}
-% \end{Counter}
-% \end{macro}
-% \end{Counter}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{Counter}
+% \end{counter}
+% \end{command}
+% \end{counter}
+% \end{command}
% \end{macro}
+% \end{command}
+% \end{counter}
% \end{environment}
%
-% \begin{macro}{\DeclareNewJuraEnvironment}
-% \changes{v0.9}{2014/11/12}{Neue Anweisung}
+% \begin{command}{\DeclareNewJuraEnvironment}
+% \changes{v0.9}{2014/11/12}{new}
% \changes{v0.9h}{2016/04/12}{\cs{@ifnextchar} replaced by
-% \cs{kernel@ifnextchar}}%^^A
-% Verwendet \cs{@defjuraenvironment} um eine neue juristische Umgebung zu
-% definieren.
+% \cs{kernel@ifnextchar}}
+% Using \cs{@defjuraenvironment} to define a new juristic environment. This
+% can be done only in document preamble.
% \begin{macrocode}
%<*body>
\newcommand*{\DeclareNewJuraEnvironment}[1]{%
@@ -781,14 +713,14 @@
\@onlypreamble\DeclareNewJuraEnvironment
% \end{macrocode}
% \begin{macro}{\@defjuraenvironment}
-% \changes{v0.9}{2014/11/04}{Neue (interne) Anweisung}%^^A
-% \changes{v3.25}{2017/12/08}{neue Option \texttt{ClauseFont}}%^^A
-% \changes{v3.25}{2017/12/08}{\cs{reserved@defjuraenvironment} wird wieder
-% \cs{relax}}%^^A
-% \changes{v3.25}{2017/12/08}{Umstellung von globalen auf lokale Optionen}%^^A
-% Diese Anweisung dient dazu, weitere Umgebungen einfach definieren zu können.
-% Dabei werden optional diverse Optionen unterstützt. Näheres ist der
-% Anleitung zu entnehmen.
+% \changes{v0.9}{2014/11/04}{new}
+% \changes{v3.25}{2017/12/08}{new command options \opt{ClauseFont}}
+% \changes{v3.25}{2017/12/08}{\cs{reserved@defjuraenvironment} set back to
+% \cs{relax}}
+% \changes{v3.25}{2017/12/08}{using local instead of global command options}
+% This command is used to define a new \pkg*{scrjura} environment like
+% \env{contract}. Several options are provided (see the user manual for
+% details).
% \begin{macrocode}
\DefineFamily{KOMAarg}
\DefineFamilyMember{KOMAarg}
@@ -796,7 +728,7 @@
\long\def\@defjuraenvironment#1[#2]#3#4{%
\let\reserved@defjuraenvironment\relax
% \end{macrocode}
-% Die Zähler definieren:
+% The counters:
% \begin{macrocode}
\newcounter{#1Clause}%
\newcounter{#1AbsoluteClause}%
@@ -832,14 +764,14 @@
\csname #1@Clauseformat\endcsname[1]{\Clauseformat{##1}}%
}{}%
% \end{macrocode}
-% \changes{v0.9c}{2015/05/13}{\cs{the\dots Clause} definiert}%^^A
-% \changes{v0.9f}{2016/02/24}{\cs{protect}\cs{\@nameuse} statt
-% \cs{csname}\dots\cs{endcsname}}%^^A
+% \changes{v0.9c}{2015/05/13}{defining \cs{the\dots Clause}}
+% \changes{v0.9f}{2016/02/24}{\cs{protect}\cs{\@nameuse} instead of
+% \cs{csname}\dots\cs{endcsname}}
% \begin{macrocode}
\expandafter\renewcommand\expandafter*\csname the#1Clause\endcsname{%
\protect\@nameuse{#1@Clauseformat}{\arabic{#1Clause}}}%
% \end{macrocode}
-% Umgebung:
+% Environment:
% \begin{macrocode}
\newenvironment{#1}{%
\par
@@ -875,10 +807,9 @@
\contract@everypar
}{}%
% \end{macrocode}
-% Jetzt wird noch ein Font-Alias für \texttt{Clause} gesetzt. Ist kein Font
-% und kein Alias-Font für die neue Umgebung definiert, so wird
-% \texttt{contract.Clause} verwendet.
-% \changes{v3.25}{2017/12/08}{Fontalias korrigiert}%^^A
+% Font alias for \fnt{Clause}. If neither a font not an alias is defined for
+% the new environment \fnt{contract.Clause} is used.
+% \changes{v3.25}{2017/12/08}{Font alias fixed}
% \begin{macrocode}
\IfExistskomafont{#1.Clause}{%
\IfIsAliaskomafont{#1.Clause}{%
@@ -904,28 +835,21 @@
%</body>
% \end{macrocode}
% \end{macro}%^^A \@dewjuraenvironment
-% \end{macro}%^^A \DeclareNewJuraEnvironment
+% \end{command}%^^A \DeclareNewJuraEnvironment
%
% \begin{macro}{\contract@paragraph}
-% 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.
-% \begin{option}{title}
-% \begin{option}{head}
-% \begin{option}{entry}
-% \changes{v0.6}{2011/09/30}{Option veraltet}
-% \begin{option}{tocentry}
-% \changes{v0.6}{2011/09/30}{neue Option}
-% \begin{option}{nohead}
-% \begin{option}{noentry}
-% \changes{v0.6}{2011/09/30}{Option veraltet}
-% \begin{option}{notocentry}
-% \changes{v0.6}{2011/09/30}{neue Option}
-% Der Titel, der Kolumnentitel und der Verzeichniseintrag des
-% Paragraphen. Der Titel setzt dabei zunächst auch die anderen beiden. Man
-% kann die beiden aber auf leer setzen. Insbesondere aber kann man sie mit
-% den |no|-Optionen auch abschalten.
+% This is the \cs{Clause} used by contracts. A contract consists (usually) of
+% several clauses. Each clause has optional elements managed by
+% \meta{key}=\meta{value} pairs handled by \pkg*{scrkbase} and last but not
+% least by \pkg{keyval}.
+% \begin{option}{title,head,nohead}
+% \begin{option}{entry,noentry}
+% \changes{v0.6}{2011/09/30}{deprecated}
+% \begin{option}{tocentry,notocentry}
+% \changes{v0.6}{2011/09/30}{new}
+% Title, running head and toc entry of the clause. The title is the default
+% for running head and toc entry. But you can also use an empty value for
+% each of them or use the \opt{no\dots} options to switch them off.
% \begin{macrocode}
%<*body>
\define@key{contract}{title}{%
@@ -953,26 +877,18 @@
% \end{option}
% \end{option}
% \end{option}
-% \end{option}
-% \end{option}
-% \end{option}
-% \end{option}
% \begin{option}{number}
-% Die Nummer kann mit dieser Option frei gestaltet werden. Es sind jedoch
-% keine Paragraphen ohne Nummer erlaubt. Wird keine Nummer angegeben, so
-% wird die Nummer automatisch gesetzt.
+% The number can be changed manually. But clauses without numbers are not
+% allowed. So if you use an empty value, the number is automatically set.
% \begin{macrocode}
\define@key{contract}{number}{\def\contract@number{#1}}
% \end{macrocode}
% \end{option}
-% \begin{macro}{\contract@preskip}
-% \begin{macro}{\contract@postskip}
-% \begin{option}{preskip}
-% \begin{option}{postskip}
-% Über diese beiden Optionen kann der Abstand vor und nach einem Pragraphen
-% gesetzt werden. Wird nichts angegeben, so wird die globale Voreinstellung
-% verwendet, die übrigens mit |\setkeys{contract}{...}| gesetzt werden
-% kann.
+% \begin{macro}{\contract@preskip,\contract@postskip}
+% \begin{option}{preskip,postskip}
+% The options are used to specify the distance before and after the
+% clause. The preset value of these options are the global settings done by
+% |\setkeys{contract}{…}|.
% \begin{macrocode}
\newcommand*{\contract@preskip}{2\baselineskip}
\newcommand*{\contract@postskip}{\baselineskip}
@@ -980,59 +896,54 @@
\define@key{contract}{postskip}{\def\contract@postskip{#1}}
% \end{macrocode}
% \end{option}
-% \end{option}
-% \end{macro}
% \end{macro}
% \begin{option}{dummy}
-% Über dies Option wird der Schalter |\ifcontract@dummy| auf |\iftrue|
-% gesetzt.
+% The option switches the boolean \cs{ifcontract@dummy}.
% \begin{macro}{\ifcontract@dummy}
-% Ist der Schalter |\iftrue|, dann wird der Paragraph nicht gesetzt. Es ist
-% jedoch darauf zu achten, dass Absätze und Sätze des Paragraphen auf diese
-% Weise nicht entfernt werden können. Werden jedoch Paragraphen gelöscht, so
-% kann man damit das Loch in der Nummerierung erzeugen.
+% If the boolean is \cs{iftrue} the clause will not be printed. But note: you
+% cannot use this to remove the paragraphs or sentences of the clause. But you
+% can use this option to generate holes in the numbering without manually
+% manipulating the counters.
% \begin{macrocode}
\newif\ifcontract@dummy
\define@key{contract}{dummy}[true]{\csname contract@dummy#1\endcsname}
% \end{macrocode}
% \end{macro}
% \end{option}
+% \begin{fontelement}{contract.Clause}
% \begin{macro}{\contract@paragraph@font}
-% \changes{v3.25}{2017/12/08}{Es wird Element \texttt{Clause} statt
-% \texttt{contract.Clause} verwendet}%^^A
-% Eigentlich müsste die Anweisung \cs{contract@paragraph@format} heißen. Da
-% sie jedoch für irgendwelche Tricks verwendet wurde. will ich das ungern
-% ändern. Ebenso müsste die Anweisung eigentlich je nach Vertragsumgebung
-% neu definiert und dann jene Defintion verwendet werden.
+% \changes{v3.25}{2017/12/08}{using element \fnt{Clause} instead of
+% \fnt{contract.Clause}}
+% Correctly this macro should be named \cs{contract@paragraph@format}. But it
+% is already used by some users for ugly tricks. So I will not rename it to
+% avoid problems for existing documents. Additionally it would be better to
+% use a new macro per environment. However the same reason not to change this.
% \begin{macrocode}
\newkomafont{contract.Clause}{\sffamily\bfseries\large}
\newcommand*{\contract@paragraph@font}{\usekomafont{Clause}%
\@hangfrom}
% \end{macrocode}
% \end{macro}
-% \begin{Counter}{@AbsClause}
+% \end{fontelement}
+% \begin{counter}{@AbsClause}
% \begin{macro}{\theH@AbsClause}
-% \begin{macro}{\theHClause}
-% \begin{macro}{\theHSubClause}
+% \begin{command}{\theHClause,\theHSubClause}
% \begin{macrocode}
-% \textsf{hyperref}-Code, der noch nicht getestet ist!
+% Here we have some not good tested code for \pkg{hyperref}.
\newcounter{@AbsClause}
\newcommand*{\theH@AbsClause}{P-\arabic{@AbsClause}}
\newcommand*{\theHClause}{\theH@AbsClause}
\newcommand*{\theHSubClause}{\theH@AbsClause}
% \end{macrocode}
+% \end{command}
% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{Counter}
-% Zunächst wird vorübergehend auf manuelle Absatznummern umgeschaltet, weil
-% 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{contractAbsoluteClause} wird
-% erhöht}%^^A
-% \changes{v0.7b}{2014/11/03}{\texttt{contractAbsoluteClause}
-% flexibilisiert}%^^A
+% \end{counter}
+% For the headings we use manual paragraph numbering, because we don't want
+% any paragraph numbering inside the heading. After initializing the options
+% they are processed.
+% \changes{v0.7}{2013/04/18}{increase counter \cnt{contractAbsoluteClause}}
+% \changes{v0.7b}{2014/11/03}{more flexible
+% \cnt{\meta{environment}AbsoluteClause}}
% \begin{macrocode}
\newcommand*{\contract@paragraph}[1]{%
\stepcounter{\scrjura@env@type AbsoluteClause}%
@@ -1044,9 +955,9 @@
\contract@dummyfalse
\ifx\relax#1\relax\else\setkeys{contract}{#1}\fi
% \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}
+% Unless this is a dummy clause, the headings will be initialized and vertical
+% skips will be done.
+% \changes{v0.6a}{2012/10/08}{missing \cs{par} added}
% \begin{macrocode}
\ifcontract@dummy\else
\par
@@ -1054,13 +965,13 @@
\addvspace{\contract@preskip}%
\fi
% \end{macrocode}
-% 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@Clauseformat}
-% auch bei manueller Nummerierung der Paragraphen.}%^^A
-% \changes{v0.9c}{2015/05/13}{\cs{thecontractClause} durch
-% umgebungsabhängiges Macro ersetzt.}%^^A
+% If there isn't a manual number, we use the next number. If there is a manual
+% number, this number is printed and we take care that labels and
+% \pkg{hyperref} also use the manual number.
+% \changes{v0.6b}{2013/04/16}{using \cs{contract@Clauseformat} for manual
+% numbers too}
+% \changes{v0.9c}{2015/05/13}{\cs{thecontractClause} replaced by
+% environment-dependent macro}
% \begin{macrocode}
\ifx\contract@number\relax
\let\p@Clause\@empty
@@ -1073,8 +984,8 @@
\cl@Clause
\endgroup
% \end{macrocode}
-% \changes{v0.9f}{2016/02/24}{\cs{protect}\cs{\@nameuse} statt
-% \cs{csname}\dots\cs{endcsname}}%^^A
+% \changes{v0.9f}{2016/02/24}{\cs{protect}\cs{\@nameuse} instead of
+% \cs{csname}\dots\cs{endcsname}}
% \begin{macrocode}
\protected@edef\theClause{%
\protect\@nameuse{\scrjura@env@type @Clauseformat}{\contract@number}%
@@ -1093,15 +1004,14 @@
\typeout{absolute Nummer: \the@AbsClause^^JLabel: `\@currentHref'}%
\fi
% \end{macrocode}
-% Zwecks Vereinfachung wird ab hier so getan, als wäre es ein Unterabschnitt.
+% For simplification we use the code of clauses for sub-clauses.
% \begin{macrocode}
\let\theSubClause\theClause
% \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}%^^A
-% \changes{v0.9i}{2017/02/23}{Verwendung von \cs{ext@toc}}%^^A
+% Unless for dummy clauses, the heading is printed, the toc entry is done
+% and also the running head.
+% \changes{v0.7}{2013/04/28}{distance behind the number is part of the number}
+% \changes{v0.9i}{2017/02/23}{usage of \cs{ext@toc}}
% \begin{macrocode}
\ifcontract@dummy\else
\begingroup
@@ -1121,8 +1031,7 @@
\par
\endgroup\nobreak\vskip\contract@postskip
% \end{macrocode}
-% Zum Schluss wird noch dafür gesorgt, dass auch die Absätze korrekt
-% nummeriert werden können etc.
+% Last but not least paragraph numbering is initialized.
% \begin{macrocode}
\scrjura@afterheading
\fi
@@ -1204,9 +1113,9 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\AutoPar}
-% \begin{macro}{\ManualPar}
-% Automatische oder manuelle Absatznummern für alle Umgebungen aktivieren.
+% \begin{command}{\AutoPar,\ManualPar}
+% Switching between automatic or manual paragraph numbers for all
+% \pkg*{scrjura} environments.
% \begin{macrocode}
%<*body>
\newcommand*{\AutoPar}{%
@@ -1218,15 +1127,17 @@
}
%</body>
% \end{macrocode}
-% \end{macro}
-% \end{macro}
+% \end{command}
%
-% \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
-% \changes{v3.27}{2019/02/25}{\cs{CheckCommand} für \cs{@afterheading}}%^^A
-% Entspricht |\afterheading| mit Erweiterungen für automatischen
-% Absatznummern.
+% \begin{macro}{\scrjura@afterheading,\jura@afterheading}
+% \changes{v0.7b}{2014/11/03}{\cs{jura@afterheading} renamed}
+% \changes{v0.7b}{2014/11/03}{no argument}
+% \changes{v3.27}{2019/02/25}{\cs{CheckCommand} for \cs{@afterheading}}
+% Similar to \cs{afterheading} but with automatic paragraph numbers.
+% \begin{description}
+% \item[ToDo:] Test if this can be done using \LaTeX{} hooks, depending on the
+% \LaTeX{} release.
+% \end{description}
% \begin{macrocode}
%<*body>
\CheckCommand*{\@afterheading}{%
@@ -1263,33 +1174,30 @@
\AutoPar
}
% \end{macrocode}
-% \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{macro}{\scrjura@everypar,\jura@everypar}
+% \changes{v0.7b}{2014/11/03}{\cs{jura@everypar} renamed}
+% The macro to be used at the very beginning of every paragraph to add the
+% number. To be used only inside \pkg*{scrjura} environments, so empty outside.
% \begin{macrocode}
\newcommand*{\scrjura@everypar}{}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\@doendpe}
-% Diese Anweisung wird von \LaTeX{} verwendet, um am Ende von Umgebungen die
-% kurz-, mittel- und langwirkenden Absatzaktionen zurückzusetzen. Damit hier
-% nicht die automatische Absatznummerierung abgeschaltet wird, wird sie neu
-% eingefügt.
+% \LaTeX{} used this macro, to reset all paragraph actions at the end of
+% environments. To avoid unwanted switching-off of the paragraph number it
+% will be reinitialized.
% \begin{macro}{\scrjura@doendpe}
% \begin{macro}{\IncludeInRelease}
-% \changes{v0.9e}{2015/11/03}{wird temporär benötigt}%^^A
-% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A
+% \changes{v0.9e}{2015/11/03}{used temporary}
+% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed into \cs{Ifstr}}
% \begin{macro}{\@gobble@IncludeInRelease}
-% \changes{v0.9e}{2015/11/03}{wird temporär benötigt}%^^A
+% \changes{v0.9e}{2015/11/03}{used temporary}
% \begin{macro}{\EndIncludeInRelease}
-% \changes{v0.9e}{2015/11/03}{wird temporär benötigt}%^^A
-% Seit \LaTeX{} 2015/01/01 ist \cs{@doendpe} abhängig von
-% \textsf{latexrelease} etwas anders definiert. Das wird hier
-% berücksichtigt. Damit das auch noch mit älteren Versionen von \LaTeX{}
-% funktioniert, ohne dass man extra \textsf{latexrelease} nachinstalliert,
-% wird hier ein wenig getrickst. Die Änderungen werden aber so temporär wie
-% möglich gehalten.
+% \changes{v0.9e}{2015/11/03}{used temporary}
+% From \LaTeX{} 2015/01/01 a different definition of \cs{@doendpe} is used. So
+% we also have to use different versions depending on the release. We do so
+% with some tricks. Maybe this should be replaced by usage of
+% \cs{IfLTXAtLeastTF} from already loaded \pkg*{scrbase}.
% \begin{macrocode}
\providecommand*{\IncludeInRelease}[3]{%
\PackageInfo{scrjura}{temporary definition of \string\IncludeInRelease}%
@@ -1355,17 +1263,16 @@
% \end{macro}%^^A \@gobble@IncludeInRelease
% \end{macro}%^^A \IncludeInRelease
% \end{macro}%^^A \scrjura@doendpe
-% \end{macro}%^^A \doendpe
+% \end{macro}%^^A \@doendpe
% \end{macro}%^^A \scrjura@everypar
%
+% \subsection{Entry to table of contents}
% \begin{macro}{\l@cpar}
-% Verzeichnis-Eintrag für einen Vertrags-Paragraphen.
-% \changes{v3.27}{2019/02/25}{Verwendung von \textsf{tocbasic}}%^^A
-% Da der Zähler \texttt{juratoclevel} bisher nicht dokumentiert war und auch
-% bisher syntaktisch falsche Werte zu Fehlermeldungen geführt haben, können
-% wir uns voll auf \textsf{tocbasic} stützen.
-% Die Definition muss in den init-Teil, damit die Optionen die Einstellungen
-% ändern können:
+% Toc entry of contract clauses.
+% \changes{v3.27}{2019/02/25}{usage of \pkg*{tocbasic}}
+% This is done using \pkg*{tocbasic}. The definition has to be part of the
+% initialization of the package, otherwise package options wouldn't be able to
+% change the setting.
% \begin{macrocode}
%<*init>
\DeclareTOCStyleEntry[%
@@ -1377,9 +1284,11 @@
% \end{macrocode}
% \end{macro}
%
-% \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.
+% \subsection{Numbering of paragraphs and sentences}
+%
+% \begin{macro}{\scrjura@separator,\jura@separator}
+% \changes{v0.7b}{2014/11/03}{\cs{jura@separator} renamed}
+% Used to make it possible to remove white spaces at the beginning or end.
% \begin{macrocode}
%<*body>
\DeclareRobustCommand*{\scrjura@separator}[1]{#1}
@@ -1387,17 +1296,16 @@
% \end{macrocode}
% \end{macro}
%
-% \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}{\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{macro}{\scrjura@usetype,\jura@usetype}
+% \changes{v0.5d}{2010/04/28}{new}
+% \changes{v0.7b}{2014/11/03}{\cs{jura@usetype} renamed}
+% By default it is robust but does only call \cs{scrjura@@usetype} with the
+% only argument.
+% \begin{macro}{\scrjura@@usetype,\jura@@usetype}
+% \changes{v0.5d}{2010/04/28}{new}
+% \changes{v0.7b}{2014/11/03}{\cs{jura@@usetype} renamed}
+% This second command is not robust and can easily be redefined. But by
+% default it also does nothing but eating the argument.
% \begin{macrocode}
%<*body>
\DeclareRobustCommand*{\scrjura@usetype}[1]{\scrjura@@usetype{#1}}
@@ -1408,29 +1316,26 @@
% \end{macro}
%
% \begin{macro}{\contract@everypar}
-% |\scrjura@everpar| für Verträge.
-% \begin{macro}{\ifparnumber}
-% \changes{v0.6}{2011/09/29}{Definition des Schalters in die Definition der
-% Option verschoben}%^^A
-% \begin{Counter}{par}
-% \begin{macro}{\thepar}
-% \begin{macro}{\theHpar}
-% \begin{macro}{\parformat}
-% \changes{v0.7}{2013/06/07}{neues Font-Element \texttt{parnumber}}%^^A
-% \begin{macro}{\parformatseparation}
-% \changes{v0.9f}{2016/02/06}{neue Anweisung}%^^A
+% The \cs{scrjura@everpar} used by contracts.
+% \begin{macro}{\ifparnumber,\parnumbertrue,\parnumberfalse}
+% \changes{v0.6}{2011/09/29}{moved the definition into the definition of the
+% option}
+% \begin{counter}{par}
+% \begin{command}{\thepar,\theHpar}
+% \begin{command}{\parformat}
+% \changes{v0.7}{2013/06/07}{new font element \fnt{parnumber}}
+% \begin{command}{\parformatseparation}
+% \changes{v0.9f}{2016/02/06}{new}
% \begin{macro}{\p@par}
-% \changes{v0.5d}{2010/04/28}{\cs{jura@usetype} mit Argument
-% \cs{jura@env@type} eingefügt}%^^A
-% \begin{macro}{\withoutparnumber}
-% \changes{v3.25}{2017/12/19}{neu}%^^A
-% Der Schalter gibt an, ob überhaupt mit Absatznummern gearbeitet werden
-% soll. Sind Absatznummern deaktiviert, werden auch keine manuellen
-% Absatznummern gesetzt. Die Absätze werden dann auch nicht gezählt. Ansonsten
-% werden die Absätze mit |\thepar| nummeriert. Wichtig ist, dass der
-% Absatzzähler mit den Paragraphen und den Unterparagraphen zurückgesetzt
-% wird. Außerdem muss beim Zitieren als Elternobjekt der Paragraph mit
-% ausgegeben werden.
+% \changes{v0.5d}{2010/04/28}{added \cs{jura@usetype} with argument
+% \cs{jura@env@type}}
+% \begin{command}{\withoutparnumber}
+% \changes{v3.25}{2017/12/19}{new}
+% The boolean defines if paragraph numbers have to be used. If they are
+% deactivated also manual paragraph numbers are deactivated and the paragraphs
+% are not counted. Otherwise the paragraphs are numbered using \cs{thepar}. It
+% is important to reset the paragraph counter with every clause and
+% sub-clause. And for labels the parent object the clause has to be used.
% \begin{macrocode}
%<*body>
\newcounter{par}
@@ -1445,33 +1350,29 @@
\newcommand*{\withoutparnumber}{}
%</body>
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{Counter}
-% \end{macro}
-% \changes{v0.5c}{2010/04/26}{erstes Argument von \cs{newmaxpar} und zweites
-% Argument von \cs{getmaxpar} ist \texttt{contract} nicht
-% \texttt{contractpars}}
-% \changes{v0.5c}{2010/04/26}{\cs{contract@Clauseformat} expandiert beim
-% Schreiben zu seinem Argument}
-% \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
-% 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}
-% \changes{v0.7b}{2014/11/03}{\texttt{contractAbsoluteClause}
-% flexibilisiert}%^^A
-% \changes{v0.9f}{2016/02/06}{\cs{nobreakspace} durch
-% \cs{parformatseparation} ersetzt}%^^A
-% \changes{v0.9g}{2016/03/25}{in die \texttt{aux}-Datei nur bei
-% \cs{if@filesw} schreiben}%^^A
+% \end{command}
+% \end{macro}
+% \end{command}
+% \end{command}
+% \end{command}
+% \end{counter}
+% \end{macro}
+% \changes{v0.5c}{2010/04/26}{first argument of \cs{newmaxpar} and second
+% argument of \cs{getmaxpar} is \meta{contract} not \meta{contractpars}}
+% \changes{v0.5c}{2010/04/26}{\cs{contract@Clauseformat} expands while writing
+% to its own argument}
+% \changes{v0.7}{2013/04/18}{using counter \cnt{contractAbsoluteClause}}
+% \changes{v0.7}{2013/05/23}{initializing sentence number for manually
+% numbered paragraphs to 0 instead of 1, because first action of
+% \cs{Sentence} is increasing the number}
+% \changes{v0.7}{2013/05/23}{recognize paragraph number of \cs{thisparnumber}}
+% \changes{v0.7}{2013/06/06}{if paragraph numbers are not completely numerical
+% always set the number}
+% \changes{v0.7b}{2014/11/03}{more flexible replacement of
+% \cnt{contractAbsoluteClause}}
+% \changes{v0.9f}{2016/02/06}{\cs{nobreakspace} replaced by
+% \cs{parformatseparation}}
+% \changes{v0.9g}{2016/03/25}{writing to \file{aux}-file \cs{if@filesw}}
% \begin{macrocode}
%<*body>
\newcommand*{\contract@everypar}{%
@@ -1528,14 +1429,12 @@
% \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{command}{\thisparnumber}
+% \changes{v0.7}{2013/05/23}{new}
+% \begin{macro}{\scrjura@special@par,\scrjura@special@reset@par}
+% \changes{v0.7}{2013/05/23}{new}
+% You can use this for manual paragraph numbering. But the number has to be
+% fully expandable!
% \begin{macrocode}
%<*body>
\newcommand*{\thisparnumber}[1]{%
@@ -1547,16 +1446,16 @@
\let\scrjura@special@reset@par\relax
%</body>
% \end{macrocode}
-% \end{macro}%^^A \scrjura@special@reset@par
% \end{macro}%^^A \scrjura@special@par
-% \end{macro}%^^A\thisparnumber
+% \end{command}%^^A\thisparnumber
%
%
-% \begin{macro}{\refL}
-% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
-% ersetzt}%^^A
+% \subsection{Referencing}
+%
+% \begin{command}{\refL}
+% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}}
% \begin{macro}{\ref@L}
-% Das gleiche wie |\ref| aber zwingend mit der Langform.
+% Similar to \cs{ref} but always the long form.
% \begin{macrocode}
%<*body>
\newcommand*{\refL}{\kernel@ifstar {\ref@L*}{\ref@L{}}}
@@ -1569,13 +1468,12 @@
}
% \end{macrocode}
% \end{macro}
-% \end{macro}
+% \end{command}
%
-% \begin{macro}{\refS}
-% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
-% ersetzt}%^^A
+% \begin{command}{\refS}
+% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}}
% \begin{macro}{\ref@S}
-% Das gleiche wie |\ref| aber zwingend mit der Kurzform.
+% Similar to \cs{ref} but always the short form.
% \begin{macrocode}
\newcommand*{\refS}{\kernel@ifstar {\ref@S*}{\ref@S{}}}
\newcommand*{\ref@S}[2]{%
@@ -1587,13 +1485,12 @@
}
% \end{macrocode}
% \end{macro}
-% \end{macro}
+% \end{command}
%
-% \begin{macro}{\refN}
-% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
-% ersetzt}%^^A
+% \begin{command}{\refN}
+% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}}
% \begin{macro}{\ref@N}
-% Das gleiche wie |\ref| aber zwingend mit der numerischen Form.
+% Similar to \cs{ref} but always the numerical form.
% \begin{macrocode}
\newcommand*{\refN}{\kernel@ifstar {\ref@N*}{\ref@N{}}}
\newcommand*{\ref@N}[2]{%
@@ -1605,15 +1502,14 @@
}
% \end{macrocode}
% \end{macro}
-% \end{macro}
+% \end{command}
%
-% \begin{macro}{\refClause}
-% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
-% ersetzt}%^^A
+% \begin{command}{\refClause}
+% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}}
% \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.
+% Reference only the clause of a clause, paragraph or sentence. For better
+% compatibility with \pkg{hyperref} there is also a star version if
+% \pkg{hyperref} is used. Without \pkg{hyperref} the star version is nonsense.
% \begin{macrocode}
\newcommand*{\refClause}{%
\kernel@ifstar {\ref@Clause*}{\ref@Clause{}}
@@ -1624,7 +1520,7 @@
\else
\begingroup
% \end{macrocode}
-% Alle Teile der Referenz bis auf den ersten in |\@tempb| ablegen.
+% Copy all parts of the reference but the first one to \cs{@tempb}.
% \begin{macrocode}
\expandafter\expandafter\expandafter\expandafter
\expandafter\expandafter\expandafter\def
@@ -1634,14 +1530,14 @@
\expandafter\expandafter\expandafter{%
\expandafter\expandafter\expandafter\@gobble\csname r@#2\endcsname}%
% \end{macrocode}
-% Den ersten Teil der Referenz in |\@tempa| ablegen.
+% Copy the first part of the reference to \cs{@tempa}.
% \begin{macrocode}
\def\@tempc##1##2\@nil{##1}%
\let\scrjura@separator\@gobble
\protected@edef\@tempa{\expandafter\expandafter\expandafter\@tempc
\csname r@#2\endcsname\noexpand\@nil}%
% \end{macrocode}
-% Den ersten Teil von |\@tempa| in |\@tempa| ablegen.
+% Copy the first part of \cs{@tempa} to \cs{@tempb}.
% \begin{macrocode}
\protected@edef\@tempa{\expandafter\expandafter\expandafter\@tempc
\@tempa\@nil}%
@@ -1655,16 +1551,16 @@
}
% \end{macrocode}
% \end{macro}
-% \end{macro}
+% \end{command}
%
-% \begin{macro}{\refClauseN}
-% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
-% ersetzt}%^^A
+% \begin{command}{\refClauseN}
+% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}}
% \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}
+% Reference only the clause number of a clause, a paragraph or a sentence.
+% For improved compatibility with \pkg{hyperref} there is also a star version
+% if \pkg{hyperref} is used. Without \pkg{hyperref} the star version is
+% nonsense.
+% \begin{macrocode}
\newcommand*{\refClauseN}{%
\kernel@ifstar {\ref@ClauseN*}{\ref@ClauseN{}}
}
@@ -1676,15 +1572,15 @@
}
% \end{macrocode}
% \end{macro}
-% \end{macro}
+% \end{command}
%
-% \begin{macro}{\refPar}
-% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
-% ersetzt}%^^A
+% \begin{command}{\refPar}
+% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}}
% \begin{macro}{\ref@Par}
-% Zitiert nur den Absatz 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.
+% References only the paragraph of a paragraph or sentence.
+% For improved compatibility with \pkg{hyperref} there is also a star version
+% if \pkg{hyperref} is used. Without \pkg{hyperref} the star version is
+% nonsense.
% \begin{macrocode}
\newcommand*{\refPar}{%
\kernel@ifstar {\ref@Par*}{\ref@Par{}}
@@ -1695,7 +1591,7 @@
\else
\begingroup
% \end{macrocode}
-% Alle Teile der Referenz bis auf den ersten in |\@tempb| ablegen.
+% Copy all parts of the reference but the first one to \cs{@tempb}.
% \begin{macrocode}
\expandafter\expandafter\expandafter\expandafter
\expandafter\expandafter\expandafter\def
@@ -1705,14 +1601,14 @@
\expandafter\expandafter\expandafter{%
\expandafter\expandafter\expandafter\@gobble\csname r@#2\endcsname}%
% \end{macrocode}
-% Den ersten Teil der Referenz in |\@tempa| ablegen.
+% Copy the first part of the reference to \cs{@tempa}.
% \begin{macrocode}
\def\@tempc##1##2\@nil{##1}%
\let\scrjura@separator\@gobble
\protected@edef\@tempa{\expandafter\expandafter\expandafter\@tempc
\csname r@#2\endcsname\noexpand\@nil}%
% \end{macrocode}
-% Den zweiten Teil von |\@tempa| in |\@tempa| ablegen.
+% Copy the second part of \cs{@tempa} to \cs{@tempa} ablegen.
% \begin{macrocode}
\def\@tempc##1##2##3\@nil{##2}%
\protected@edef\@tempa{\expandafter\expandafter\expandafter\@tempc
@@ -1732,14 +1628,13 @@
}
% \end{macrocode}
% \end{macro}
-% \end{macro}
+% \end{command}
%
-% \begin{macro}{\refParL}
-% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
-% ersetzt}%^^A
+% \begin{command}{\refParL}
+% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}}
% \begin{macro}{\ref@ParX}
+% The same but long.
% \begin{macrocode}
-% Das Gleiche zwingend lang.
\newcommand*{\refParL}{%
\kernel@ifstar {\ref@ParX0*}{\ref@ParX0{}}
}
@@ -1752,27 +1647,25 @@
}
% \end{macrocode}
% \end{macro}
-% \end{macro}
+% \end{command}
%
-% \begin{macro}{\refParS}
-% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
-% ersetzt}%^^A
-% Das Gleiche zwingend kurz.
+% \begin{command}{\refParS}
+% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}}
+% The same but short.
% \begin{macrocode}
\newcommand*{\refParS}{%
\kernel@ifstar {\ref@ParX1*}{\ref@ParX1{}}
}
% \end{macrocode}
-% \end{macro}
+% \end{command}
%
-% \begin{macro}{\refParN}
+% \begin{command}{\refParN}
% \begin{macro}{\ref@ParN}
% \changes{v0.9h}{2016/04/12}{\cs{@ifnextchar} replaced by
-% \cs{kernel@ifnextchar}}%^^A
-% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
-% ersetzt}%^^A
+% \cs{kernel@ifnextchar}}
+% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}}
% \begin{macro}{\ref@@ParN}
-% Das Gleiche zwingend nummerisch.
+% The same but numerical.
% \begin{macrocode}
\newcommand*{\refParN}{%
\kernel@ifstar {\ref@ParN2*}{\ref@ParN2{}}
@@ -1794,15 +1687,15 @@
% \end{macrocode}
% \end{macro}
% \end{macro}
-% \end{macro}
+% \end{command}
%
-% \begin{macro}{\refSentence}
-% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
-% ersetzt}%^^A
+% \begin{command}{\refSentence}
+% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}}
% \begin{macro}{\ref@Sentence}
-% Zitiert nur den Satz eines Satzes. Für mehr
-% Kompatibilität mit hyperref gibt es mit hyperref auch eine Sternform. Ohne
-% hyperref produziert diese nur Unsinn.
+% Reference only the sentence of a sentence.
+% For improved compatibility with \pkg{hyperref} there is also a star version
+% if \pkg{hyperref} is used. Without \pkg{hyperref} the star version is
+% nonsense.
% \begin{macrocode}
\newcommand*{\refSentence}{%
\kernel@ifstar {\ref@Sentence*}{\ref@Sentence{}}
@@ -1813,7 +1706,7 @@
\else
\begingroup
% \end{macrocode}
-% Alle Teile der Referenz bis auf den ersten in |\@tempb| ablegen.
+% Copy all parts of the reference to \cs{@tempb}.
% \begin{macrocode}
\expandafter\expandafter\expandafter\expandafter
\expandafter\expandafter\expandafter\def
@@ -1823,14 +1716,14 @@
\expandafter\expandafter\expandafter{%
\expandafter\expandafter\expandafter\@gobble\csname r@#2\endcsname}%
% \end{macrocode}
-% Den ersten Teil der Referenz in |\@tempa| ablegen.
+% Copy the first part of the reference to \cs{@tempa}.
% \begin{macrocode}
\def\@tempc##1##2\@nil{##1}%
\let\scrjura@separator\@gobble
\protected@edef\@tempa{\expandafter\expandafter\expandafter\@tempc
\csname r@#2\endcsname\noexpand\@nil}%
% \end{macrocode}
-% Den dritten Teil von |\@tempa| in |\@tempa| ablegen.
+% Copy the third part of \cs{@tempa} to \cs{@tempa}.
% \begin{macrocode}
\def\@tempc##1##2##3##4\@nil{##3}%
\protected@edef\@tempa{\expandafter\expandafter\expandafter\@tempc
@@ -1850,14 +1743,13 @@
}
% \end{macrocode}
% \end{macro}
-% \end{macro}
+% \end{command}
%
-% \begin{macro}{\refSentenceL}
-% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
-% ersetzt}%^^A
+% \begin{command}{\refSentenceL}
+% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}}
% \begin{macro}{\ref@SentenceX}
+% The same but long.
% \begin{macrocode}
-% Das Gleiche zwingend lang.
\newcommand*{\refSentenceL}{%
\kernel@ifstar {\ref@SentenceX0*}{\ref@SentenceX0{}}
}
@@ -1870,51 +1762,47 @@
}
% \end{macrocode}
% \end{macro}
-% \end{macro}
+% \end{command}
%
-% \begin{macro}{\refSentenceS}
-% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
-% ersetzt}%^^A
-% Das Gleiche zwingend kurz.
+% \begin{command}{\refSentenceS}
+% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}}
+% The same but short.
% \begin{macrocode}
\newcommand*{\refSentenceS}{%
\kernel@ifstar {\ref@SentenceX1*}{\ref@SentenceX1{}}
}
% \end{macrocode}
-% \end{macro}
+% \end{command}
%
-% \begin{macro}{\refSentenceN}
-% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
-% ersetzt}%^^A
-% Das Gleiche zwingend nummerisch.
+% \begin{command}{\refSentenceN}
+% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}}
+% The same but numeric.
% \begin{macrocode}
\newcommand*{\refSentenceN}{%
\kernel@ifstar {\ref@SentenceX2*}{\ref@SentenceX2{}}
}
%</body>
% \end{macrocode}
-% \end{macro}
+% \end{command}
%
% \begin{macro}{\contract@sentence}
-% \changes{v0.7a}{2014/01/28}{auf \cs{textsuperscript} umgestellt}%^^A
-% \changes{v0.7a}{2014/01/28}{\cs{nobreak}\cs{hskip}\cs{z@} eingefügt, um
-% die Trennung des ersten Worts nach der Satzmarkierung zu ermöglichen}%^^A
-% Sätze nummerieren.
-% \begin{Counter}{sentence}
-% \begin{macro}{\thesentence}
-% \begin{macro}{\theHsentence}
+% \changes{v0.7a}{2014/01/28}{using \cs{textsuperscript}}
+% \changes{v0.7a}{2014/01/28}{\cs{nobreak}\cs{hskip}\cs{z@} added to allow
+% hyphenation of the first word after the sentence mark}
+% Numbering of sentences.
+% \begin{counter}{sentence}
+% \begin{command}{\thesentence,\theHsentence}
% \begin{macro}{\p@sentence}
-% \changes{v3.27}{2019/10/09}{Anpassung an \LaTeX{} 2019-10-01}%^^A
-% Der Zähler wird für die Nummerierung der Sätze verwendet. Dabei ist wichtig,
-% dass beim Zitieren der Sätze als Elternobjekt der Absatz mit ausgegeben
-% wird. Die Methode, mit der ursprünglich dafür gesorgt wurde, dass
-% \cs{thesentence} als Argument von \cs{p@sentence} verwendet werden konnte,
-% funktioniert leider seit \LaTeX{} 2019-10-01 nicht mehr und führt seither zu
-% einer Fehlermeldung. Daher musste der Code an der Stelle an die
-% Neudefinition von \cs{refstepcounter} in \LaTeX{} 2019-10-01 angepasst
-% werden und verwendet ab dieser \LaTeX-Version \cs{labelformat}. Wie ich dazu
-% stehe, dass neuerdings \LaTeX{} kein Problem damit hat, existierende Pakete
-% zu beschädigen, lassen wir dabei besser unausgeprochen.
+% \changes{v3.27}{2019/10/09}{adaption for \LaTeX{} 2019-10-01}
+% The counter is used for numbering the sentences. It is important to add the
+% paragraph as parent object to labels. The original method to make it
+% possible to use \cs{thesentence} as an argument of \cs{p@sentence} does not
+% work any longer using \LaTeX{} 2019-10-01 or newer. It would result in an
+% error message. So the code has to be adapted to the new definition of
+% \cs{refstepcounter} in \LaTeX{} 2019-10-01. From this version it uses
+% \cs{labelformat}. Don't ask me, what I think about the fact, that every new
+% versions of \LaTeX{} can break existing packages and package authors have to
+% find out such incompatibilities on their own.
% \begin{macrocode}
%<*body>
\newcounter{sentence}[par]
@@ -1930,16 +1818,14 @@
}
\newcommand*{\contract@sentence}{%
% \end{macrocode}
-% \changes{v0.9e}{2015/11/04}{erst den Absatz beginnen, dann die Nummer
-% setzen}%^^A
-% \changes{v3.26}{2018/07/20}{neues Element \texttt{sentencenumber}}%^^A
-% \changes{v3.26}{2018/07/20}{neue Formatierung \cs{sentencenumberformat}}%^^A
-% Bei der Nummerierung ist wichtig, dass am Anfang des Absatzes die
-% Satznummer nicht erhöht wird, weil das der Absatz bereits erledigt. Damit
-% das funktioniert muss aber vor der Ausgabe erst einmal der Absatz begonnen
-% werden. Befinden wir uns allerdings unmittelbar hinter einer
-% \texttt{minipage}, einer Liste oder einer \cs{parbox} tun wir so, als wären
-% wir nicht am Anfang des Absatzes.
+% \changes{v0.9e}{2015/11/04}{first start the paragraph then print the number}
+% \changes{v3.26}{2018/07/20}{new font element \fnt{sentencenumber}}
+% \changes{v3.26}{2018/07/20}{new formatting \cs{sentencenumberformat}}
+% For the numbering it is important not to increase the paragraph number at
+% the very beginning, because the paragraph already does so. To make this
+% work, the paragraph has to start before we print the number. But immediately
+% after a \env{minipage}, a list or a \cs{parbox} we should behave as not
+% being at the beginning of a paragraph.
% \begin{macrocode}
\ifvmode
\if@endpe
@@ -1954,26 +1840,28 @@
\nobreak\hskip\z@
}
% \end{macrocode}
-% \begin{macro}{\sentencenumberformat}
-% \changes{v3.26}{2018/07/20}{neu}%^^A
-% Formatierung und Schrift können über \cs{sentencenumberformat} und Element
-% \texttt{sentencenumber} geändert werden. Voreinstellung für
-% \cs{sentenceformat} ist \cs{textsuperscript}.
+% \begin{fontelement}{sentencenumber}
+% \begin{command}{\sentencenumberformat}
+% \changes{v3.26}{2018/07/20}{new}
+% Formatting an font can be changed using font element \fnt{sentencenumber}
+% and command \cs{sentencenumberformat}. The last has the preset
+% \cs{textsuperscript}.
% \begin{macrocode}
\newkomafont{sentencenumber}{}
\newcommand*{\sentencenumberformat}{\textsuperscript{\thesentence}}
%</body>
% \end{macrocode}
+% \end{command}
+% \end{fontelement}
% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{Counter}
+% \end{command}
+% \end{counter}
% \end{macro}
%
-% \begin{macro}{\parciteformat}
-% \changes{v0.5d}{2010/04/28}{Argument verschoben}
-% Zitierstil für Absätze.
+% \begin{macro}{\par@cite}
+% \begin{command}{\parciteformat}
+% \changes{v0.5d}{2010/04/28}{argument moved}
+% Reference style for paragraphs.
% \begin{macrocode}
%<*body>
\DeclareRobustCommand*{\par@cite}[1]{\parciteformat{#1}}
@@ -1990,11 +1878,13 @@
{#1}%
}
% \end{macrocode}
+% \end{command}
% \end{macro}
%
-% \begin{macro}{\sentenceciteformat}
-% \changes{v0.5d}{2010/04/28}{Argument verschoben}
-% Zitierstil für Sätze. In der Voreinstellung ist das |\@arabic|.
+% \begin{macro}{\sentence@cite}
+% \begin{command}{\sentenceciteformat}
+% \changes{v0.5d}{2010/04/28}{argument moved}
+% Reference style for sentences. Preset is \cs{@arabic}.
% \begin{macrocode}
\DeclareRobustCommand*{\sentence@cite}[1]{\sentenceciteformat{#1}}
\newcommand*{\sentenceciteformat}[1]{%
@@ -2010,15 +1900,13 @@
{#1}%
}
% \end{macrocode}
+% \end{command}
% \end{macro}
%
-% \begin{macro}{\parlongformat}
-% \begin{macro}{\parshortformat}
-% \begin{macro}{\parnumericformat}
-% \begin{macro}{\sentencelongformat}
-% \begin{macro}{\sentenceshortformat}
-% \begin{macro}{\sentencenumericformat}
-% Formatierung in den sechs Formen.
+% \begin{command}{\parlongformat,\parshortformat,\parnumericformat,
+% \sentencelongformat,\sentenceshortformat,
+% \sentencenumericformat}
+% The six formattings.
% \begin{macrocode}
\newcommand*{\parlongformat}[1]{\parname~#1}
\newcommand*{\parshortformat}[1]{\parshortname~#1}
@@ -2028,25 +1916,18 @@
\newcommand*{\sentencenumericformat}[1]{\@arabic{\number #1\relax}.}
%</body>
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
+% \end{command}
+%
+% \subsection{Language dependent names}
%
-% \begin{macro}{\parname}
-% \begin{macro}{\parshortname}
-% \begin{macro}{\sentencename}
-% \begin{macro}{\sentenceshortname}
+% \begin{command}{\parname,\parshortname,\sentencename,\sentenceshortname}
% \begin{macro}{\scrjura@lang@error}
-% \changes{v0.7}{2013/09/19}{Verwendung von \cs{PackageError} an Stelle von
-% \cs{PackageErrorNoLine}}%^^A
-% \changes{v3.24}{2017/05/29}{Anpassung an Sprachänderung
-% (\texttt{usenglish} und \texttt{ukenglish} statt \texttt{USenglish} und
-% \texttt{UKenglish}) in \textsf{babel}~3.10}%^^A
-% Der Name eines Absatzes und eines Satzes. Die englischen Namen wurden von
-% »m.eik« beigesteuert.
+% \changes{v0.7}{2013/09/19}{Usage of \cs{PackageError} instead of
+% \cs{PackageErrorNoLine}}
+% \changes{v3.24}{2017/05/29}{adaption for language name bug in
+% \pkg{babel}~3.10}
+% The names of paragraphs and sentences and their short versions. The English
+% names are donated by ``m.eik''.
% \begin{macrocode}
%<*body>
\newcommand*{\parname}{Paragraph}
@@ -2088,23 +1969,19 @@
%</body>
% \end{macrocode}
% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
+% \end{command}
+%
+% \subsection{Using values from last \LaTeX{} run}
%
-% \begin{macro}{\newmaxpar}
-% \changes{v0.6b}{2013/04/16}{\cs{\#1@Clauseformat} expandiert zu seinem
-% Argument}%^^A
-% \begin{macro}{\getmaxpar}
-% \changes{v0.6}{2011/09/30}{Argument 3 muss mit \cs{protected@edef}
-% expandiert werden}%^^A
-% \changes{v0.5c}{2010/04/26}{\cs{protected@edef} durch \cs{edef}
-% ersetzt}%^^A
-% \changes{v0.5c}{2010/04/26}{\cs{\#2@Clauseformat} expandiert zu seinem
-% Argument}%^^A
-% 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{command}{\newmaxpar}
+% \changes{v0.6b}{2013/04/16}{\cs{\#1@Clauseformat} expands to its argument}
+% \begin{command}{\getmaxpar}
+% \changes{v0.6}{2011/09/30}{argument no 3 is expanded using
+% \cs{protected@edef}}
+% \changes{v0.5c}{2010/04/26}{\cs{protected@edef} replaced by \cs{edef}}
+% \changes{v0.5c}{2010/04/26}{\cs{\#2@Clauseformat} expands to its argument}
+% Two helper macros, to save a counter in a \file{aux}-file and get the value
+% back or another value of it is not in the \file{aux}-file.
% \begin{macrocode}
%<*body>
\newcommand*{\newmaxpar}[3]{%
@@ -2128,12 +2005,12 @@
\@tempa
}
% \end{macrocode}
-% \changes{v0.7b}{2014/11/10}{Notfallcode in die \texttt{aux}-Datei}%^^A
-% \changes{v0.9g}{2015/03/25}{in die \texttt{aux}-Datei nur bei
-% \cs{if@filesw} schreiben}%^^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.
+% \changes{v0.7b}{2014/11/10}{added fallback code to \file{aux}-file}
+% \changes{v0.9g}{2015/03/25}{write to \file{aux}-file \cs{if@filesw}}
+% Because some users remove \pkg*{scrjura} from their documents without
+% deleting the \file{aux}-file, we add a fallback definition of \cs{newmaxpar}
+% to the \file{aux}-file. This avoids error messages because of undefined
+% \cs{newmaxpar}.
% \begin{macrocode}
\AtBeginDocument{%
\if@filesw
@@ -2144,20 +2021,22 @@
}
%</body>
% \end{macrocode}
-% \end{macro}
-% \end{macro}
+% \end{command}
+% \end{command}
%
% \iffalse
%</package>
% \fi
%
% \Finale
+% \PrintChanges
%
\endinput
-%
-% end of file `scrjura.dtx'
-%%% Local Variables:
-%%% mode: doctex
-%%% coding: utf-8
-%%% TeX-master: t
-%%% End:
+% Local Variables:
+% mode: doctex
+% ispell-local-dictionary: "en_US"
+% eval: (flyspell-mode 1)
+% TeX-master: t
+% TeX-engine: luatex-dev
+% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx"))
+% End: