diff options
author | Norbert Preining <norbert@preining.info> | 2022-05-08 03:00:48 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2022-05-08 03:00:48 +0000 |
commit | ce1c001f7db86ff8f09c1203b965ed9f44531d7a (patch) | |
tree | 06490451baa1d21c2340a765b3239d9888d9ff5f /macros/latex/contrib/koma-script/source/scrjura.dtx | |
parent | 689536ecd7f688909820f27ed2938273c2e3ae44 (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.dtx | 1261 |
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: |