You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1117 lines
37 KiB
1117 lines
37 KiB
%%
|
|
%% This is file `scrjura.sty',
|
|
%% generated with the docstrip utility, extended by scrdocstrip.
|
|
%%
|
|
%% The original source files were:
|
|
%%
|
|
%% scrjura.dtx (with options: `package,identify')
|
|
%% scrjura.dtx (with options: `package,init')
|
|
%% scrjura.dtx (with options: `package,options')
|
|
%% scrjura.dtx (with options: `package,postoptions')
|
|
%% scrjura.dtx (with options: `package,body')
|
|
%% scrjura.dtx (with options: `package,final')
|
|
%% scrlogo.dtx (with options: `logo')
|
|
%%
|
|
%% Copyright (c) 2007-2019 Markus Kohm [komascript at gmx info]
|
|
%%
|
|
%% This file was generated from file(s) of the KOMA-Script bundle.
|
|
%% ---------------------------------------------------------------
|
|
%%
|
|
%% It may be distributed under the conditions of the
|
|
%% LaTeX Project Public License in the version distributed together
|
|
%% with KOMA-Script, see file `lppl.txt' or `lppl-de.txt'.
|
|
%%
|
|
%% This file may only be distributed together with a copy of the
|
|
%% KOMA-Script bundle. You may however distribute the
|
|
%% KOMA-Script bundle without all such generated files. See also
|
|
%% `lppl.txt' or `lppl-de.txt' for additional information.
|
|
%%
|
|
%% The list of files belonging to KOMA-Script distribution is given in
|
|
%% the file `manifest.txt'. See also `lppl.txt' or `lppl-de.txt' for
|
|
%% additional information.
|
|
%%
|
|
%% If this file is a beta version, you may not be allowed to distribute
|
|
%% it. Look at the comments below to see if this is the case.
|
|
%%
|
|
%% English and German manuals are part of KOMA-Script bundle.
|
|
%% ----------------------------------------------------------
|
|
%%
|
|
%% See `README'.
|
|
%%
|
|
%% The KOMA-Script bundle (but maybe not this file) was based upon the
|
|
%% LaTeX 2.09 Script family created by Frank Neukam 1993 and the LaTeX2e
|
|
%% standard classes created by The LaTeX3 Project 1994-1996. You can
|
|
%% find a complete unmodified copy of LaTeX2e at
|
|
%% <http://mirror.ctan.org/tex-archive/macros/latex/base/>.
|
|
%%
|
|
%%% From File: $Id: scrjura.dtx 3390 2019-11-18 17:09:35Z kohm $
|
|
%%% (run: identify)
|
|
\NeedsTeXFormat{LaTeX2e}[1995/06/01]
|
|
\ProvidesPackage{scrjura}[%
|
|
2020/07/22 v3.31 KOMA-Script
|
|
package
|
|
(for jurists)
|
|
]
|
|
%%% From File: $Id: scrjura.dtx 3390 2019-11-18 17:09:35Z kohm $
|
|
%%% (run: 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
|
|
To solve the problem, you just should move the loading of package
|
|
hyperref\MessageBreak
|
|
behind the loading of package scrjura.}%
|
|
}
|
|
\RequirePackage{scrkbase}[2013/03/26]
|
|
\RequirePackage{tocbasic}
|
|
\DeclareTOCStyleEntry[%
|
|
indent=1.5em,
|
|
numwidth=2em,
|
|
level=\maxdimen
|
|
]{default}{cpar}
|
|
%%% From File: $Id: scrjura.dtx 3390 2019-11-18 17:09:35Z kohm $
|
|
%%% (run: options)
|
|
\DeclareOption{contract}{%
|
|
\g@addto@macro\document\contract%
|
|
}
|
|
\KOMA@key{juratotoc}[true]{%
|
|
\KOMA@set@ifkey{juratotoc}{@tempswa}{#1}%
|
|
\ifx\FamilyKeyState\FamilyKeyStateProcessed
|
|
\if@tempswa
|
|
\DeclareTOCStyleEntry[level=2]{default}{cpar}%
|
|
\else
|
|
\DeclareTOCStyleEntry[level=\maxdimen]{default}{cpar}%
|
|
\fi
|
|
\else
|
|
\DeclareTOCStyleEntry[level=#1]{default}{cpar}%
|
|
\fi
|
|
\KOMA@kav@xreplacevalue{.scrjura.sty}{juratotoc}{\cpartocdepth}%
|
|
}
|
|
\KOMA@kav@xadd{.scrjura.sty}{juratotoc}{\cpartocdepth}%
|
|
\KOMA@key{juratocnumberwidth}{%
|
|
\DeclareTOCStyleEntry[numwidth=#1]{default}{cpar}%
|
|
\FamilyKeyStateProcessed
|
|
\KOMA@kav@replacevalue{.scrjura.sty}{juratocnumberwidth}{#1}%
|
|
}
|
|
\KOMA@kav@add{.scrjura.sty}{juratocnumberwidth}{2em}
|
|
\KOMA@key{juratocindent}{%
|
|
\DeclareTOCStyleEntry[indent=#1]{default}{cpar}%
|
|
\FamilyKeyStateProcessed
|
|
\KOMA@kav@replacevalue{.scrjura.sty}{juratocindent}{#1}%
|
|
}
|
|
\KOMA@kav@add{.scrjura.sty}{juratocindent}{1.5em}%
|
|
\KOMA@ifkey{juratitlepagebreak}{@juratitlepagebreak}
|
|
\newif\ifparnumber
|
|
\KOMA@key{parnumber}[true]{%
|
|
\Ifstr{#1}{auto}{%
|
|
\AutoPar
|
|
\FamilyKeyStateProcessed
|
|
\KOMA@kav@remove{.scrjura.sty}{parnumber}{manual}%
|
|
\KOMA@kav@remove{.scrjura.sty}{parnumber}{auto}%
|
|
\KOMA@kav@add{.scrjura.sty}{parnumber}{auto}%
|
|
}{%
|
|
\Ifstr{#1}{manual}{%
|
|
\ManualPar
|
|
\FamilyKeyStateProcessed
|
|
\KOMA@kav@remove{.scrjura.sty}{parnumber}{manual}%
|
|
\KOMA@kav@remove{.scrjura.sty}{parnumber}{auto}%
|
|
\KOMA@kav@add{.scrjura.sty}{parnumber}{manual}%
|
|
}{%
|
|
\KOMA@set@ifkey{parnumber}{parnumber}{#1}%
|
|
\KOMA@kav@replacebool{.scrjura.sty}{parnumber}{parnumber}%
|
|
}%
|
|
}%
|
|
}
|
|
\KOMA@kav@add{.scrjura.sty}{parnumber}{true}
|
|
\KOMA@kav@add{.scrjura.sty}{parnumber}{auto}
|
|
\newcommand*{\Clausemark}[1]{}
|
|
\KOMA@key{clausemark}{%
|
|
\begingroup
|
|
\KOMA@set@ncmdkey{clausemark}{@tempa}{%
|
|
{false}{0},{off}{0},{no}{0},%
|
|
{forceright}{1},%
|
|
{forceboth}{2},%
|
|
{right}{3},%
|
|
{both}{4}%
|
|
}{#1}%
|
|
\ifx\FamilyKeyState\FamilyKeyStateProcessed
|
|
\ifcase\number\@tempa
|
|
\endgroup
|
|
\let\Clausemark\@gobble
|
|
\or
|
|
\endgroup
|
|
\renewcommand*{\Clausemark}[1]{%
|
|
\markright{\csname MakeMarkcase\endcsname{##1}}}%
|
|
\or
|
|
\endgroup
|
|
\renewcommand*{\Clausemark}[1]{%
|
|
\markboth{\csname MakeMarkcase\endcsname{##1}}%
|
|
{\csname MakeMarkcase\endcsname{##1}}}%
|
|
\or
|
|
\endgroup
|
|
\renewcommand*{\Clausemark}[1]{%
|
|
\ifx
|
|
\@mkboth\@gobbletwo
|
|
\else
|
|
\markright{\csname MakeMarkcase\endcsname{##1}}%
|
|
\fi}%
|
|
\or
|
|
\endgroup
|
|
\renewcommand*{\Clausemark}[1]{%
|
|
\@mkboth{\csname MakeMarkcase\endcsname{##1}}%
|
|
{\csname MakeMarkcase\endcsname{##1}}}%
|
|
\else
|
|
\endgroup
|
|
\fi
|
|
\FamilyKeyStateProcessed
|
|
\else
|
|
\endgroup
|
|
\FamilyKeyStateUnknownValue
|
|
\fi
|
|
\KOMA@kav@xreplacevalue{.scrjura.sty}{clausemark}{#1}%
|
|
}
|
|
\KOMA@kav@add{.scrjura.sty}{clausemark}{false}
|
|
\KOMA@DeclareDeprecatedOption[scrjura]{markright}{clausemark=forceright}
|
|
\KOMA@DeclareDeprecatedOption[scrjura]{markboth}{clausemark=forceboth}
|
|
\KOMA@key{paragraphmark}{%
|
|
\PackageWarningNoLine{scrjura}{%
|
|
You've used obsolete option `paragraphmark'.\MessageBreak
|
|
Usage of this option is deprecated.\MessageBreak
|
|
You should simply replace `paragraphmark'\MessageBreak
|
|
by `clausemark'%
|
|
}%
|
|
\KOMAExecuteOptions[.scrjura.sty]{clausemark=#1}%
|
|
}
|
|
\newcommand*{\parcite@format}{0}
|
|
\newcommand*{\sentencecite@format}{0}
|
|
\KOMA@key{ref}{%
|
|
\begingroup
|
|
\KOMA@set@ncmdkey{ref}{@tempa}{%
|
|
{parlong}{1},{longpar}{1},{ParL}{1},%
|
|
{parshort}{2},{shortpar}{2},{ParS}{2},%
|
|
{parnumeric}{3},{numericpar}{3},{ParN}{3},%
|
|
{paroff}{4},{nopar}{4},%
|
|
{sentencelong}{10},{longsentence}{10},{SentenceL}{10},%
|
|
{sentenceshort}{20},{shortsentence}{20},{SentenceS}{20},%
|
|
{sentencenumeric}{30},{numericsentence}{30},{SentenceN}{30},%
|
|
{sentenceoff}{40},{nosentence}{40},%
|
|
{long}{11},%
|
|
{short}{22},%
|
|
{numeric}{33},%
|
|
{paragraphonly}{44},{onlyparagraph}{44},%
|
|
{ParagraphOnly}{44},{OnlyParagraph}{44}%
|
|
}{#1}%
|
|
\ifx\FamilyKeyState\FamilyKeyStateProcessed
|
|
\aftergroup\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
|
|
\else
|
|
\aftergroup\FamilyKeyStateUnknownValue
|
|
\fi
|
|
\endgroup
|
|
\ifx\FamilyKeyState\FamilyKeyStateProcessed
|
|
\KOMA@kav@removekey{.scrjura.sty}{ref}%
|
|
\ifcase\parcite@format
|
|
\KOMA@kav@add{.scrjura.sty}{ref}{parlong}%
|
|
\or
|
|
\KOMA@kav@add{.scrjura.sty}{ref}{parshort}%
|
|
\or
|
|
\KOMA@kav@add{.scrjura.sty}{ref}{parnumeric}%
|
|
\or
|
|
\KOMAQkav@add{.scrjura.sty}{ref}{paroff}%
|
|
\fi
|
|
\ifcase\sentencecite@format
|
|
\KOMA@kav@add{.scrjura.sty}{ref}{sentencelong}%
|
|
\or
|
|
\KOMA@kav@add{.scrjura.sty}{ref}{sentenceshort}%
|
|
\or
|
|
\KOMA@kav@add{.scrjura.sty}{ref}{sentencenumeric}%
|
|
\or
|
|
\KOMA@kav@add{.scrjura.sty}{ref}{sentenceoff}%
|
|
\fi
|
|
\fi
|
|
}
|
|
\KOMA@kav@add{.scrjura.sty}{ref}{parlong}%
|
|
\KOMA@kav@add{.scrjura.sty}{ref}{sentencelong}%
|
|
\KOMA@DeclareDeprecatedOption[scrjura]{parcitename}{ref=parlong}
|
|
\KOMA@DeclareDeprecatedOption[scrjura]{sentencecitename}{ref=sentencelong}
|
|
%%% From File: $Id: scrjura.dtx 3390 2019-11-18 17:09:35Z kohm $
|
|
%%% (run: postoptions)
|
|
\KOMAProcessOptions\relax
|
|
%%% From File: $Id: scrjura.dtx 3390 2019-11-18 17:09:35Z kohm $
|
|
%%% (run: body)
|
|
\providecommand*{\DeprecatedParagraph}{%
|
|
\PackageError{scrjura}{modification of old document needed}{%
|
|
It seem that this document was made for scrjura up to version
|
|
0.7a.\MessageBreak
|
|
Since scrjura version 0.9 \string\Paragraph, \string\SubParagraph, and all
|
|
depending\MessageBreak
|
|
commands, options, and counters have been renamed.\MessageBreak
|
|
You should replace the terms `Paragraph' and `paragraph` by `Clause`
|
|
and\MessageBreak
|
|
`clause` if they are part of the name of a scrjura feature, otherwise
|
|
this\MessageBreak
|
|
document may produce severall additional error messages and maybe the
|
|
wrong\MessageBreak
|
|
result. Sorry for the inconvenience.%
|
|
}%
|
|
\ParagraphCompatibilityHacks
|
|
}
|
|
\newcommand*{\ParagraphCompatibilityHacks}{%
|
|
\PackageWarning{scrjura}{compatibility hacks for `\string\Paragraph'
|
|
executed.\MessageBreak
|
|
There is no support for documents using these hacks!\MessageBreak
|
|
There is no warranty for real compatibility!\MessageBreak
|
|
Even if the LaTeX run of the document doesn't report\MessageBreak
|
|
any error, the result may be completely wrong.\MessageBreak
|
|
Therefore it is recommended to solve the problem,\MessageBreak
|
|
instead of trying to work around using the\MessageBreak
|
|
compatibility hacks%
|
|
}%
|
|
\gdef\Paragraph{\Clause}%
|
|
\gdef\SubParagraph{\SubClause}%
|
|
\gdef\c@Paragraph{\c@Clause}%
|
|
\gdef\cl@Paragraph{\cl@Clause}%
|
|
\gdef\c@SubParagraph{\c@SubClause}%
|
|
\gdef\cl@SubParagraph{\cl@SubClause}%
|
|
\gdef\theParagraph{\theClause}%
|
|
\gdef\theSubParagraph{\theSubClause}%
|
|
\gdef\refParagraph{\refClause}%
|
|
\gdef\refParagraphN{\refClauseN}%
|
|
\aliaskomafont{Paragraph}{Clause}%
|
|
\scr@ifundefinedorrelax{Paragraphmark}{}{%
|
|
\global\let\Clausemark\Paragraphmark
|
|
}%
|
|
}
|
|
\providecommand*{\Paragraph}{\DeprecatedParagraph\Paragraph}
|
|
\providecommand*{\SubParagraph}{\DeprecatedParagraph\SubParagraph}
|
|
\providecommand*{\refParagraph}{\DeprecatedParagraph\refParagraph}
|
|
\providecommand*{\refParagraphN}{\DeprecatedParagraph\refParagraphN}
|
|
\newcommand*{\scrjura@env@type}{}
|
|
\newcommand*{\ellipsispar}[1][1]{%
|
|
\begingroup
|
|
\KOMAoptions{parnumber=manual}\parellipsis\par
|
|
\addtocounter{par}{#1}%
|
|
\if@filesw
|
|
\protected@write\@auxout{}{%
|
|
\string\newmaxpar{\scrjura@env@type}%
|
|
{\csname the\scrjura@env@type
|
|
AbsoluteClause\endcsname}%
|
|
{\thepar}%
|
|
}%
|
|
\fi
|
|
\endgroup
|
|
\addtocounter{par}{-1}\refstepcounter{par}%
|
|
\ignorespaces
|
|
}
|
|
\newcommand*{\parellipsis}{%
|
|
\scr@ifundefinedorrelax{textellipsis}{\dots}{\textellipsis}%
|
|
}
|
|
\newcommand*{\contract}{%
|
|
\ifx\scrjura@env@type\@empty
|
|
\let\@doendpe\scrjura@doendpe
|
|
\let\Clause\contract@paragraph
|
|
\let\c@Clause\c@contractClause
|
|
\edef\cl@Clause{\cl@Clause\cl@contractClause}%
|
|
\let\SubClause\contract@subparagraph
|
|
\let\c@SubClause\c@contractSubClause
|
|
\edef\cl@SubClause{\cl@SubClause\cl@contractSubClause}%
|
|
\let\Sentence\contract@sentence
|
|
\renewcommand*{\scrjura@env@type}{contract}%
|
|
\aliaskomafont{Clause}{contract.Clause}%
|
|
\else
|
|
\PackageError{scrjura}{nested `contract` detected}{%
|
|
You may not use a `contract' environment inside\MessageBreak
|
|
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
|
|
\newcounter{contractClause}
|
|
\renewcommand*{\thecontractClause}{%
|
|
{\contract@Clauseformat{\arabic{Clause}}}}
|
|
\DeclareRobustCommand*{\contract@Clauseformat}[1]{\Clauseformat{#1}}
|
|
\newcommand*{\Clauseformat}[1]{\S~#1}
|
|
\newcounter{contractSubClause}
|
|
\@addtoreset{SubClause}{Clause}
|
|
\renewcommand*{\thecontractSubClause}{%
|
|
{\theClause\alph{SubClause}}}
|
|
\newcounter{contractAbsoluteClause}
|
|
\newcommand*{\DeclareNewJuraEnvironment}[1]{%
|
|
\@ifundefined{#1}{\expandafter\let\csname #1\expandafter\endcsname
|
|
\csname end#1\endcsname}{}%
|
|
\@ifundefined{#1}{\let\reserved@defjuraenvironment\@defjuraenvironment}{%
|
|
\PackageError{scrjura}{ignorring declaration of `#1'}{%
|
|
You've tried to declare jura environment `#1', but
|
|
environment\MessageBreak
|
|
`#1' or command
|
|
\expandafter\string\csname #1\endcsname\space or
|
|
\expandafter\string\csname end#1\endcsname\MessageBreak
|
|
already exists.\MessageBreak
|
|
Declaration will be ignored}%
|
|
\long\def\reserved@defjuraenvironment##1[##2]##3##4{}%
|
|
}%
|
|
\kernel@ifnextchar [%]
|
|
{\reserved@defjuraenvironment{#1}}{\reserved@defjuraenvironment{#1}[]}%
|
|
}
|
|
\@onlypreamble\DeclareNewJuraEnvironment
|
|
\DefineFamily{KOMAarg}
|
|
\DefineFamilyMember{KOMAarg}
|
|
\newcommand{\@defjuraenvironment}{}
|
|
\long\def\@defjuraenvironment#1[#2]#3#4{%
|
|
\let\reserved@defjuraenvironment\relax
|
|
\newcounter{#1Clause}%
|
|
\newcounter{#1AbsoluteClause}%
|
|
\newcounter{#1SubClause}%
|
|
\FamilyCSKey[.scrjura.sty]{KOMAarg}{Clause}{#1@Clause}%
|
|
\FamilyCSKey[.scrjura.sty]{KOMAarg}{SubClause}{#1@SubClause}%
|
|
\FamilyCSKey[.scrjura.sty]{KOMAarg}{Sentence}{#1@Sentence}%
|
|
\DefineFamilyKey[.scrjura.sty]{KOMAarg}{ClauseNumberFormat}{%
|
|
\expandafter\def\csname #1@Clauseformat \endcsname####1{##1{####1}}%
|
|
\expandafter\edef\csname #1@Clauseformat\endcsname{%
|
|
\noexpand\protect\expandafter\noexpand\csname #1@Clauseformat \endcsname
|
|
}%
|
|
\FamilyKeyStateProcessed
|
|
}
|
|
\DefineFamilyKey[.scrjura.sty]{KOMAarg}{ClauseFont}{%
|
|
\IfExistskomafont{#1.Clause}{%
|
|
\IfIsAliaskomafont{#1.Clause}{%
|
|
\expandafter\let\csname scr@fnt@instead@#1.Clause\endcsname\relax
|
|
\newkomafont{#1.Clause}{##1}%
|
|
}{\setkomafont{#1.Clause}{##1}}%
|
|
}{%
|
|
\newkomafont{#1.Clause}{##1}%
|
|
}%
|
|
}
|
|
\FamilyExecuteOptions[.scrjura.sty]{KOMAarg}{#2}%
|
|
\RelaxFamilyKey[.scrjura.sty]{KOMAarg}{ClauseFont}%
|
|
\RelaxFamilyKey[.scrjura.sty]{KOMAarg}{ClauseNumberFormat}%
|
|
\RelaxFamilyKey[.scrjura.sty]{KOMAarg}{Sentence}%
|
|
\RelaxFamilyKey[.scrjura.sty]{KOMAarg}{SubClause}%
|
|
\RelaxFamilyKey[.scrjura.sty]{KOMAarg}{Clause}%
|
|
\@ifundefined{#1@Clauseformat}{%
|
|
\expandafter\DeclareRobustCommand\expandafter*%
|
|
\csname #1@Clauseformat\endcsname[1]{\Clauseformat{##1}}%
|
|
}{}%
|
|
\expandafter\renewcommand\expandafter*\csname the#1Clause\endcsname{%
|
|
\protect\@nameuse{#1@Clauseformat}{\arabic{#1Clause}}}%
|
|
\newenvironment{#1}{%
|
|
\par
|
|
\ifx\scrjura@env@type\@empty
|
|
\edef\scrjura@env@type{#1}%
|
|
\let\@doendpe\scrjura@doendpe
|
|
\expandafter\let\expandafter\c@Clause\csname c@#1Clause\endcsname
|
|
\edef\cl@Clause{\cl@Clause\csname cl@#1Clause\endcsname}%
|
|
\expandafter\let\expandafter\c@SubClause
|
|
\csname c@#1SubClause\endcsname
|
|
\edef\cl@SubClause{\cl@SubClause
|
|
\csname cl@#1SubClause\endcsname}%
|
|
\@ifundefined{#1@Clause}{%
|
|
\let\Clause\contract@paragraph
|
|
}{%
|
|
\expandafter\let\expandafter\Clause
|
|
\csname #1@Clause\endcsname
|
|
}%
|
|
\@ifundefined{#1@SubClause}{%
|
|
\let\SubClause\contract@subparagraph
|
|
}{%
|
|
\expandafter\let\expandafter\SubClause
|
|
\csname #1@SubClause\endcsname
|
|
}%
|
|
\@ifundefined{#1@Sentence}{%
|
|
\let\Sentence\contract@sentence
|
|
}{%
|
|
\expandafter\let\expandafter\Sentence\csname #1@Sentence\endcsname
|
|
}%
|
|
\@ifundefined{\scrjura@env@type @everypar}{%
|
|
\expandafter\let
|
|
\csname \scrjura@env@type @everypar\endcsname
|
|
\contract@everypar
|
|
}{}%
|
|
\IfExistskomafont{#1.Clause}{%
|
|
\IfIsAliaskomafont{#1.Clause}{%
|
|
\aliaskomafont{Clause}{\csname scr@fnt@instead@#1.Clause\endcsname}%
|
|
}{%
|
|
\aliaskomafont{Clause}{#1.Clause}%
|
|
}%
|
|
}{%
|
|
\aliaskomafont{Clause}{contract.Clause}%
|
|
}%
|
|
#3%
|
|
\else
|
|
\PackageError{scrjura}{nested scrjura environments detected}{%
|
|
You must not use a `#1' environment inside\MessageBreak
|
|
a `\scrjura@env@type' environment or after loading\MessageBreak
|
|
package `scrjura' with option `\scrjura@env@type'!}%
|
|
\fi
|
|
}{%
|
|
#4%
|
|
\par
|
|
}%
|
|
}
|
|
\define@key{contract}{title}{%
|
|
\def\contract@title{#1}%
|
|
\ifx\contract@entry\relax\def\contract@entry{\contract@title}\fi
|
|
\ifx\contract@head\relax\def\contract@head{\contract@title}\fi
|
|
}
|
|
\define@key{contract}{entry}{%
|
|
\PackageWarning{scrjura}{deprecated option `entry'.\MessageBreak
|
|
You should use option `tocentry' instead of\MessageBreak
|
|
option `entry'%
|
|
}%
|
|
\def\contract@entry{#1}}
|
|
\define@key{contract}{tocentry}{\def\contract@entry{#1}}
|
|
\define@key{contract}{noentry}[]{%
|
|
\PackageWarning{scrjura}{deprecated option `noentry'.\MessageBreak
|
|
You should use option `notocentry' instead of\MessageBreak
|
|
option `noentry'%
|
|
}%
|
|
\let\contract@entry\relax}
|
|
\define@key{contract}{notocentry}[]{\let\contract@entry\relax}
|
|
\define@key{contract}{head}{\def\contract@head{#1}}
|
|
\define@key{contract}{nohead}[]{\let\contract@head\relax}
|
|
\define@key{contract}{number}{\def\contract@number{#1}}
|
|
\newcommand*{\contract@preskip}{2\baselineskip}
|
|
\newcommand*{\contract@postskip}{\baselineskip}
|
|
\define@key{contract}{preskip}{\def\contract@preskip{#1}}
|
|
\define@key{contract}{postskip}{\def\contract@postskip{#1}}
|
|
\newif\ifcontract@dummy
|
|
\define@key{contract}{dummy}[true]{\csname contract@dummy#1\endcsname}
|
|
\newkomafont{contract.Clause}{\sffamily\bfseries\large}
|
|
\newcommand*{\contract@paragraph@font}{\usekomafont{Clause}%
|
|
\@hangfrom}
|
|
\newcounter{@AbsClause}
|
|
\newcommand*{\theH@AbsClause}{P-\arabic{@AbsClause}}
|
|
\newcommand*{\theHClause}{\theH@AbsClause}
|
|
\newcommand*{\theHSubClause}{\theH@AbsClause}
|
|
\newcommand*{\contract@paragraph}[1]{%
|
|
\stepcounter{\scrjura@env@type AbsoluteClause}%
|
|
\ManualPar\parnumbertrue
|
|
\let\contract@title\relax
|
|
\let\contract@entry\relax
|
|
\let\contract@head\relax
|
|
\let\contract@number\relax
|
|
\contract@dummyfalse
|
|
\ifx\relax#1\relax\else\setkeys{contract}{#1}\fi
|
|
\ifcontract@dummy\else
|
|
\par
|
|
\@afterindentfalse
|
|
\addvspace{\contract@preskip}%
|
|
\fi
|
|
\ifx\contract@number\relax
|
|
\let\p@Clause\@empty
|
|
\expandafter\let\expandafter\theClause
|
|
\csname the\scrjura@env@type Clause\endcsname
|
|
\refstepcounter{Clause}%
|
|
\else
|
|
\begingroup
|
|
\let\@elt\@stpelt
|
|
\cl@Clause
|
|
\endgroup
|
|
\protected@edef\theClause{%
|
|
\protect\@nameuse{\scrjura@env@type @Clauseformat}{\contract@number}%
|
|
}%
|
|
\protected@edef\@currentlabel{\theClause}%
|
|
\fi
|
|
\stepcounter{@AbsClause}%
|
|
\begingroup\expandafter\expandafter\expandafter\endgroup
|
|
\expandafter\ifx\csname if@skiphyperref\endcsname\relax
|
|
\else
|
|
\expandafter\let\csname if@scrjura@skiphyperref\expandafter\endcsname
|
|
\csname if@skiphyperref\endcsname
|
|
\fi
|
|
\if@scrjura@skiphyperref\else
|
|
\hyper@refstepcounter{@AbsClause}%
|
|
\typeout{absolute Nummer: \the@AbsClause^^JLabel: `\@currentHref'}%
|
|
\fi
|
|
\let\theSubClause\theClause
|
|
\ifcontract@dummy\else
|
|
\begingroup
|
|
\if@juratitlepagebreak\else\interlinepenalty\@M\fi
|
|
\contract@paragraph@font{\theClause
|
|
\ifx\contract@title\relax\else\enskip\fi}%
|
|
\contract@title
|
|
\ifx\contract@entry\relax\else
|
|
\expandafter\addxcontentsline\expandafter{\ext@toc}%
|
|
{cpar}[\theClause]\contract@entry
|
|
\addxcontentsline{cpa}{cpar}[\theClause]\contract@entry
|
|
\fi
|
|
\ifx\contract@head\relax\else
|
|
\expandafter\Clausemark\expandafter{%
|
|
\expandafter\theSubClause\expandafter\enskip\contract@head}%
|
|
\fi
|
|
\par
|
|
\endgroup\nobreak\vskip\contract@postskip
|
|
\scrjura@afterheading
|
|
\fi
|
|
}
|
|
\newcommand*{\contract@subparagraph}[1]{%
|
|
\stepcounter{\scrjura@env@type AbsoluteClause}%
|
|
\ManualPar\parnumbertrue
|
|
\let\contract@title\relax
|
|
\let\contract@entry\relax
|
|
\let\contract@head\relax
|
|
\let\contract@number\relax
|
|
\contract@dummyfalse
|
|
\ifx\relax#1\relax\else\setkeys{contract}{#1}\fi
|
|
\ifcontract@dummy\else
|
|
\par
|
|
\@afterindentfalse
|
|
\vskip\contract@preskip
|
|
\fi
|
|
\ifx\contract@number\relax
|
|
\let\p@SubClause\@empty
|
|
\let\theSubClause\thecontractSubClause
|
|
\refstepcounter{SubClause}%
|
|
\else
|
|
\begingroup
|
|
\let\@elt\@stpelt
|
|
\cl@SubClause
|
|
\endgroup
|
|
\protected@edef\theSubClause{\theClause\contract@number}%
|
|
\protected@edef\@currentlabel{\theSubClause}%
|
|
\fi
|
|
\stepcounter{@AbsClause}%
|
|
\begingroup\expandafter\expandafter\expandafter\endgroup
|
|
\expandafter\ifx\csname if@skiphyperref\endcsname\relax
|
|
\else
|
|
\expandafter\let\csname if@scrjura@skiphyperref\expandafter\endcsname
|
|
\csname if@skiphyperref\endcsname
|
|
\fi
|
|
\if@scrjura@skiphyperref\else
|
|
\hyper@refstepcounter{@AbsClause}%
|
|
\typeout{absolute Nummer: \the@AbsClause^^JLabel: `\@currentHref'}%
|
|
\fi
|
|
\ifcontract@dummy\else
|
|
\begingroup
|
|
\if@juratitlepagebreak\else\interlinepenalty\@M\fi
|
|
\contract@paragraph@font{\theSubClause
|
|
\ifx\contract@title\relax\else\enskip\fi}%
|
|
\contract@title
|
|
\ifx\contract@entry\relax\else
|
|
\expandafter\addxcontentsline\expandafter{\ext@toc}%
|
|
{cpar}[\theSubClause]\contract@entry
|
|
\addxcontentsline{cpa}{cpar}[\theSubClause]\contract@entry
|
|
\fi
|
|
\ifx\contract@head\relax\else
|
|
\expandafter\Clausemark\expandafter{%
|
|
\expandafter\theSubClause\expandafter\enskip\contract@head}%
|
|
\fi
|
|
\par
|
|
\endgroup
|
|
\nobreak\vskip\contract@postskip
|
|
\scrjura@afterheading
|
|
\fi
|
|
}
|
|
\newcommand*{\AutoPar}{%
|
|
\expandafter\let\expandafter\scrjura@everypar
|
|
\csname \scrjura@env@type @everypar\endcsname
|
|
}
|
|
\newcommand*{\ManualPar}{%
|
|
\let\scrjura@everypar\relax
|
|
}
|
|
\CheckCommand*{\@afterheading}{%
|
|
\@nobreaktrue
|
|
\everypar{%
|
|
\if@nobreak
|
|
\@nobreakfalse
|
|
\clubpenalty \@M
|
|
\if@afterindent \else
|
|
{\setbox\z@\lastbox}%
|
|
\fi
|
|
\else
|
|
\clubpenalty \@clubpenalty
|
|
\everypar{}%
|
|
\fi}%
|
|
}
|
|
\newcommand*{\scrjura@afterheading}{%
|
|
\@nobreaktrue
|
|
\everypar{%
|
|
\if@nobreak
|
|
\@nobreakfalse
|
|
\clubpenalty \@M
|
|
\if@afterindent \else
|
|
{\setbox\z@\lastbox}%
|
|
\fi
|
|
\else
|
|
\clubpenalty \@clubpenalty
|
|
\everypar{%
|
|
\scrjura@everypar
|
|
}%
|
|
\fi
|
|
\scrjura@everypar
|
|
}%
|
|
\AutoPar
|
|
}
|
|
\newcommand*{\scrjura@everypar}{}
|
|
\providecommand*{\IncludeInRelease}[3]{%
|
|
\PackageInfo{scrjura}{temporary definition of \string\IncludeInRelease}%
|
|
\Ifstr{#1}{0000/00/00}{%
|
|
\let\IncludeInRelease\@undefined
|
|
\def\EndIncludeInRelease{\let\EndIncludeInRelease\@undefined}%
|
|
}{%
|
|
\let\EndIncludeInRelease\relax
|
|
\long\def\@gobble@IncludeInRelease##1\EndIncludeInRelease{%
|
|
\let\@gobble@IncludeInRelease\@undefined
|
|
}%
|
|
\expandafter\@gobble@IncludeInRelease
|
|
}%
|
|
}
|
|
\IncludeInRelease{2015/01/01}{\@doendpe}{clubpenalty fix}
|
|
\CheckCommand*\@doendpe{\@endpetrue
|
|
\def\par{\@restorepar
|
|
\clubpenalty\@clubpenalty
|
|
\everypar{}\par\@endpefalse}\everypar
|
|
{{\setbox\z@\lastbox}%
|
|
\everypar{}\@endpefalse}}
|
|
\newcommand*{\scrjura@doendpe}{%
|
|
\@endpetrue
|
|
\def\par{%
|
|
\@restorepar
|
|
\clubpenalty\@clubpenalty
|
|
\everypar{%
|
|
\csname scrjura@everypar\endcsname
|
|
}%
|
|
\par\@endpefalse
|
|
}%
|
|
\everypar{%
|
|
{\setbox\z@\lastbox}\everypar{%
|
|
\csname scrjura@everypar\endcsname
|
|
}%
|
|
\@endpefalse
|
|
}%
|
|
}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}{\@doendpe}{clubpenalty fix}
|
|
\CheckCommand*\@doendpe{\@endpetrue
|
|
\def\par{\@restorepar\everypar{}\par\@endpefalse}\everypar
|
|
{{\setbox\z@\lastbox}\everypar{}\@endpefalse}}
|
|
\newcommand*{\scrjura@doendpe}{%
|
|
\@endpetrue
|
|
\def\par{%
|
|
\@restorepar\everypar{%
|
|
\csname scrjura@everypar\endcsname
|
|
}%
|
|
\par\@endpefalse
|
|
}%
|
|
\everypar{%
|
|
{\setbox\z@\lastbox}\everypar{%
|
|
\csname scrjura@everypar\endcsname
|
|
}%
|
|
\@endpefalse
|
|
}%
|
|
}
|
|
\EndIncludeInRelease
|
|
\DeclareRobustCommand*{\scrjura@separator}[1]{#1}
|
|
\DeclareRobustCommand*{\scrjura@usetype}[1]{\scrjura@@usetype{#1}}
|
|
\newcommand*{\scrjura@@usetype}[1]{}
|
|
\newcounter{par}
|
|
\renewcommand*{\thepar}{\arabic{par}}
|
|
\newcommand*{\theHpar}{\theH@AbsClause-\Roman{par}}
|
|
\newcommand*{\parformat}{(\thepar)}
|
|
\newcommand*{\parformatseparation}{\nobreakspace}
|
|
\newkomafont{parnumber}{}
|
|
\renewcommand*\p@par{{\scrjura@usetype{\scrjura@env@type}\theSubClause\scrjura@separator{\nobreakspace}}}
|
|
\@addtoreset{par}{Clause}
|
|
\@addtoreset{par}{SubClause}
|
|
\newcommand*{\withoutparnumber}{}
|
|
\newcommand*{\contract@everypar}{%
|
|
\ifparnumber
|
|
\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
|
|
\if@filesw
|
|
\protected@write\@auxout{%
|
|
\expandafter\let\csname \scrjura@env@type @Clauseformat\endcsname
|
|
\@firstofone
|
|
}{%
|
|
\string\newmaxpar{\scrjura@env@type}%
|
|
{\csname the\scrjura@env@type
|
|
AbsoluteClause\endcsname}%
|
|
{\thepar}%
|
|
}%
|
|
\fi
|
|
\getmaxpar\@tempa{\scrjura@env@type}%
|
|
{\csname the\scrjura@env@type AbsoluteClause\endcsname}%
|
|
\typeout{Stored max is \@tempa}%
|
|
\def\reserved@a##1\@nnil{\def\@tempa{##1}}%
|
|
\afterassignment\reserved@a\@tempcnta=0\@tempa\relax\@nnil
|
|
\ifnum \@tempcnta>\@ne
|
|
{\usekomafont{parnumber}{\parformat\parformatseparation}}%
|
|
\else
|
|
\def\reserved@a{\relax}%
|
|
\ifx\@tempa\reserved@a
|
|
\withoutparnumber
|
|
\else
|
|
{\usekomafont{parnumber}{\parformat\parformatseparation}}%
|
|
\fi
|
|
\fi
|
|
\endgroup
|
|
\else
|
|
\begingroup\withoutparnumber\endgroup
|
|
\setcounter{sentence}{-1}\refstepcounter{sentence}%
|
|
\fi
|
|
}
|
|
\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
|
|
\newcommand*{\refL}{\kernel@ifstar {\ref@L*}{\ref@L{}}}
|
|
\newcommand*{\ref@L}[2]{%
|
|
\begingroup
|
|
\def\parcite@format{0}%
|
|
\let\sentencecite@format\parcite@format
|
|
\ref#1{#2}%
|
|
\endgroup
|
|
}
|
|
\newcommand*{\refS}{\kernel@ifstar {\ref@S*}{\ref@S{}}}
|
|
\newcommand*{\ref@S}[2]{%
|
|
\begingroup
|
|
\def\parcite@format{1}%
|
|
\let\sentencecite@format\parcite@format
|
|
\ref#1{#2}%
|
|
\endgroup
|
|
}
|
|
\newcommand*{\refN}{\kernel@ifstar {\ref@N*}{\ref@N{}}}
|
|
\newcommand*{\ref@N}[2]{%
|
|
\begingroup
|
|
\def\parcite@format{2}%
|
|
\let\sentencecite@format\parcite@format
|
|
\ref#1{#2}%
|
|
\endgroup
|
|
}
|
|
\newcommand*{\refClause}{%
|
|
\kernel@ifstar {\ref@Clause*}{\ref@Clause{}}
|
|
}
|
|
\newcommand*{\ref@Clause}[2]{%
|
|
\expandafter\ifx\csname r@#2\endcsname\relax
|
|
\ref#1{#2}%
|
|
\else
|
|
\begingroup
|
|
\expandafter\expandafter\expandafter\expandafter
|
|
\expandafter\expandafter\expandafter\def
|
|
\expandafter\expandafter\expandafter\expandafter
|
|
\expandafter\expandafter\expandafter\@tempb
|
|
\expandafter\expandafter\expandafter\expandafter
|
|
\expandafter\expandafter\expandafter{%
|
|
\expandafter\expandafter\expandafter\@gobble\csname r@#2\endcsname}%
|
|
\def\@tempc##1##2\@nil{##1}%
|
|
\let\scrjura@separator\@gobble
|
|
\protected@edef\@tempa{\expandafter\expandafter\expandafter\@tempc
|
|
\csname r@#2\endcsname\noexpand\@nil}%
|
|
\protected@edef\@tempa{\expandafter\expandafter\expandafter\@tempc
|
|
\@tempa\@nil}%
|
|
\let\@@protect\protect
|
|
\let\protect\noexpand
|
|
\expandafter\edef\csname r@#2\endcsname{{\@tempa}\@tempb}%
|
|
\let\protect\@@protect
|
|
\ref#1{#2}%
|
|
\endgroup
|
|
\fi
|
|
}
|
|
\newcommand*{\refClauseN}{%
|
|
\kernel@ifstar {\ref@ClauseN*}{\ref@ClauseN{}}
|
|
}
|
|
\newcommand*{\ref@ClauseN}[2]{%
|
|
\begingroup
|
|
\let\Clauseformat\relax
|
|
\ref@Clause{#1}{#2}%
|
|
\endgroup
|
|
}
|
|
\newcommand*{\refPar}{%
|
|
\kernel@ifstar {\ref@Par*}{\ref@Par{}}
|
|
}
|
|
\newcommand*{\ref@Par}[2]{%
|
|
\expandafter\ifx\csname r@#2\endcsname\relax
|
|
\ref#1{#2}%
|
|
\else
|
|
\begingroup
|
|
\expandafter\expandafter\expandafter\expandafter
|
|
\expandafter\expandafter\expandafter\def
|
|
\expandafter\expandafter\expandafter\expandafter
|
|
\expandafter\expandafter\expandafter\@tempb
|
|
\expandafter\expandafter\expandafter\expandafter
|
|
\expandafter\expandafter\expandafter{%
|
|
\expandafter\expandafter\expandafter\@gobble\csname r@#2\endcsname}%
|
|
\def\@tempc##1##2\@nil{##1}%
|
|
\let\scrjura@separator\@gobble
|
|
\protected@edef\@tempa{\expandafter\expandafter\expandafter\@tempc
|
|
\csname r@#2\endcsname\noexpand\@nil}%
|
|
\def\@tempc##1##2##3\@nil{##2}%
|
|
\protected@edef\@tempa{\expandafter\expandafter\expandafter\@tempc
|
|
\@tempa{%
|
|
\protect\G@refundefinedtrue
|
|
\nfss@text{\reset@font\bfseries ??}%
|
|
\@latex@warning{Reference `#2' on page \thepage \space
|
|
with undefined par number}%
|
|
}\noexpand\@nil}%
|
|
\let\@@protect\protect
|
|
\let\protect\noexpand
|
|
\expandafter\edef\csname r@#2\endcsname{{\@tempa}\@tempb}%
|
|
\let\protect\@@protect
|
|
\ref#1{#2}%
|
|
\endgroup
|
|
\fi
|
|
}
|
|
\newcommand*{\refParL}{%
|
|
\kernel@ifstar {\ref@ParX0*}{\ref@ParX0{}}
|
|
}
|
|
\newcommand*{\ref@ParX}[3]{%
|
|
\begingroup
|
|
\def\parcite@format{#1}%
|
|
\let\sentencecite@format\parcite@format
|
|
\ref@Par{#2}{#3}%
|
|
\endgroup
|
|
}
|
|
\newcommand*{\refParS}{%
|
|
\kernel@ifstar {\ref@ParX1*}{\ref@ParX1{}}
|
|
}
|
|
\newcommand*{\refParN}{%
|
|
\kernel@ifstar {\ref@ParN2*}{\ref@ParN2{}}
|
|
}
|
|
\newcommand*{\ref@ParN}[2]{%
|
|
\kernel@ifnextchar [%]
|
|
{\ref@@ParN{#1}{#2}}%
|
|
{\ref@ParX{#1}{#2}}%
|
|
}
|
|
\newcommand*{\ref@@ParN}{}
|
|
\def\ref@@ParN#1#2[#3]#4{%
|
|
\begingroup
|
|
\renewcommand*{\parnumericformat}[1]{%
|
|
\csname @#3\endcsname{\number ##1\relax}%
|
|
}%
|
|
\ref@ParX{#1}{#2}{#4}%
|
|
\endgroup
|
|
}
|
|
\newcommand*{\refSentence}{%
|
|
\kernel@ifstar {\ref@Sentence*}{\ref@Sentence{}}
|
|
}
|
|
\newcommand*{\ref@Sentence}[2]{%
|
|
\expandafter\ifx\csname r@#2\endcsname\relax
|
|
\ref#1{#2}%
|
|
\else
|
|
\begingroup
|
|
\expandafter\expandafter\expandafter\expandafter
|
|
\expandafter\expandafter\expandafter\def
|
|
\expandafter\expandafter\expandafter\expandafter
|
|
\expandafter\expandafter\expandafter\@tempb
|
|
\expandafter\expandafter\expandafter\expandafter
|
|
\expandafter\expandafter\expandafter{%
|
|
\expandafter\expandafter\expandafter\@gobble\csname r@#2\endcsname}%
|
|
\def\@tempc##1##2\@nil{##1}%
|
|
\let\scrjura@separator\@gobble
|
|
\protected@edef\@tempa{\expandafter\expandafter\expandafter\@tempc
|
|
\csname r@#2\endcsname\noexpand\@nil}%
|
|
\def\@tempc##1##2##3##4\@nil{##3}%
|
|
\protected@edef\@tempa{\expandafter\expandafter\expandafter\@tempc
|
|
\@tempa{}{%
|
|
\protect\G@refundefinedtrue
|
|
\nfss@text{\reset@font\bfseries ??}%
|
|
\@latex@warning{Reference `#2' on page \thepage \space
|
|
with undefined sentence number}%
|
|
}\noexpand\@nil}%
|
|
\let\@@protect\protect
|
|
\let\protect\noexpand
|
|
\expandafter\edef\csname r@#2\endcsname{{\@tempa}\@tempb}%
|
|
\let\protect\@@protect
|
|
\ref#1{#2}%
|
|
\endgroup
|
|
\fi
|
|
}
|
|
\newcommand*{\refSentenceL}{%
|
|
\kernel@ifstar {\ref@SentenceX0*}{\ref@SentenceX0{}}
|
|
}
|
|
\newcommand*{\ref@SentenceX}[3]{%
|
|
\begingroup
|
|
\def\parcite@format{#1}%
|
|
\let\sentencecite@format\parcite@format
|
|
\ref@Sentence{#2}{#3}%
|
|
\endgroup
|
|
}
|
|
\newcommand*{\refSentenceS}{%
|
|
\kernel@ifstar {\ref@SentenceX1*}{\ref@SentenceX1{}}
|
|
}
|
|
\newcommand*{\refSentenceN}{%
|
|
\kernel@ifstar {\ref@SentenceX2*}{\ref@SentenceX2{}}
|
|
}
|
|
\newcounter{sentence}[par]
|
|
\renewcommand*{\thesentence}{\arabic{sentence}}
|
|
\newcommand*{\theHsentence}{\theHpar-\arabic{sentence}}
|
|
\scr@ifundefinedorrelax{labelformat}{%
|
|
\renewcommand*{\p@sentence}{\expandafter\p@@sentence}
|
|
\newcommand*{\p@@sentence}[1]{\p@par{{\par@cite{\thepar}}%
|
|
\scrjura@separator{\nobreakspace}}{\sentence@cite{#1}}}%
|
|
}{%
|
|
\labelformat{sentence}{\p@par{{\par@cite{\thepar}}%
|
|
\scrjura@separator{\nobreakspace}}{\sentence@cite{#1}}}%
|
|
}
|
|
\newcommand*{\contract@sentence}{%
|
|
\ifvmode
|
|
\if@endpe
|
|
\refstepcounter{sentence}%
|
|
\else
|
|
\leavevmode
|
|
\fi
|
|
\else
|
|
\refstepcounter{sentence}%
|
|
\fi
|
|
{\usekomafont{sentencenumber}{\sentencenumberformat}}%
|
|
\nobreak\hskip\z@
|
|
}
|
|
\newkomafont{sentencenumber}{}
|
|
\newcommand*{\sentencenumberformat}{\textsuperscript{\thesentence}}
|
|
\DeclareRobustCommand*{\par@cite}[1]{\parciteformat{#1}}
|
|
\newcommand*{\parciteformat}[1]{%
|
|
\ifcase \parcite@format
|
|
\expandafter\parlongformat
|
|
\or
|
|
\expandafter\parshortformat
|
|
\or
|
|
\expandafter\parnumericformat
|
|
\else
|
|
\unskip\expandafter\@gobble
|
|
\fi
|
|
{#1}%
|
|
}
|
|
\DeclareRobustCommand*{\sentence@cite}[1]{\sentenceciteformat{#1}}
|
|
\newcommand*{\sentenceciteformat}[1]{%
|
|
\ifcase \sentencecite@format
|
|
\expandafter\sentencelongformat
|
|
\or
|
|
\expandafter\sentenceshortformat
|
|
\or
|
|
\expandafter\sentencenumericformat
|
|
\else
|
|
\unskip\expandafter\@gobble
|
|
\fi
|
|
{#1}%
|
|
}
|
|
\newcommand*{\parlongformat}[1]{\parname~#1}
|
|
\newcommand*{\parshortformat}[1]{\parshortname~#1}
|
|
\newcommand*{\parnumericformat}[1]{\@Roman{\number #1\relax}}
|
|
\newcommand*{\sentencelongformat}[1]{\sentencename~#1}
|
|
\newcommand*{\sentenceshortformat}[1]{\sentenceshortname~#1}
|
|
\newcommand*{\sentencenumericformat}[1]{\@arabic{\number #1\relax}.}
|
|
\newcommand*{\parname}{Paragraph}
|
|
\AtBeginDocument{%
|
|
\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,usenglish,ukenglish}\parname{paragraph}%
|
|
\providecaptionname{english,american,british,canadian,%
|
|
USenglish,UKenglish,usenglish,ukenglish}\parshortname{par.}%
|
|
\providecaptionname{english,american,british,canadian,%
|
|
USenglish,UKenglish,usenglish,ukenglish}\sentencename{sentence}%
|
|
\providecaptionname{english,american,british,canadian,%
|
|
USenglish,UKenglish,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]{%
|
|
\PackageError{scrjura}{%
|
|
current language not supported%
|
|
}{%
|
|
Currently scrjura only supports languages `german', `ngerman',
|
|
`austrian',\MessageBreak
|
|
`naustrian', `english', `american', `british', `canadian',
|
|
`USenglish',\MessageBreak
|
|
`UKenglish', `usenglish`, and `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{??}%
|
|
}
|
|
\newcommand*{\newmaxpar}[3]{%
|
|
\begingroup
|
|
\expandafter\let\csname #1@Clauseformat\endcsname\@firstofone
|
|
\protected@edef\@tempa{#2}\@onelevel@sanitize\@tempa
|
|
\expandafter\xdef\csname max@#1@\@tempa\endcsname{#3}%
|
|
\endgroup
|
|
}
|
|
\newcommand*{\getmaxpar}[3]{%
|
|
\begingroup
|
|
\expandafter\let\csname #2@Clauseformat\endcsname\@firstofone
|
|
\protected@edef\@tempa{#3}%
|
|
\@onelevel@sanitize\@tempa
|
|
\expandafter\ifx \csname max@#2@\@tempa\endcsname\relax
|
|
\edef\@tempa{\endgroup\edef\noexpand#1{\expandafter\the\value{par}}}%
|
|
\else
|
|
\edef\@tempa{\endgroup
|
|
\edef\noexpand#1{\csname max@#2@\@tempa\endcsname}}%
|
|
\fi
|
|
\@tempa
|
|
}
|
|
\AtBeginDocument{%
|
|
\if@filesw
|
|
\immediate\write\@auxout{%
|
|
\string\providecommand*\string\newmaxpar[3]{}
|
|
}%
|
|
\fi
|
|
}
|
|
%%% From File: $Id: scrjura.dtx 3390 2019-11-18 17:09:35Z kohm $
|
|
%%% (run: final)
|
|
%%% From File: $Id: scrlogo.dtx 2640 2017-05-08 09:36:55Z kohm $
|
|
\@ifundefined{KOMAScript}{%
|
|
\DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em%
|
|
M\kern.05em A\kern.1em-\kern.1em Script}}}{}
|
|
\endinput
|
|
%%
|
|
%% End of file `scrjura.sty'.
|
|
|