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