diff options
author | Karl Berry <karl@freefriends.org> | 2010-06-18 00:16:31 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-06-18 00:16:31 +0000 |
commit | d9bd4cc7bc00bbe2637957dc1a44d9c949a6dbdc (patch) | |
tree | 0c8c9198b304f16b1b46962eef236c6bd290815a /Master/texmf-dist/source/latex/koma-script/scrjura.dtx | |
parent | 643866a0f27297875ee40ee641aa090114b87e51 (diff) |
koma-script update (17jun10)
git-svn-id: svn://tug.org/texlive/trunk@19027 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 | 312 |
1 files changed, 223 insertions, 89 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrjura.dtx b/Master/texmf-dist/source/latex/koma-script/scrjura.dtx index c05c2c83112..cc53cdc07db 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrjura.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrjura.dtx @@ -1,4 +1,4 @@ -% \CheckSum{1229} +% \CheckSum{1298} % \iffalse meta-comment % ====================================================================== % scrjura.dtx @@ -74,7 +74,7 @@ %<driver>\ProvidesFile{scrjura.drv} %<package>\ProvidesPackage{scrjura} %<*dtx|package|driver> - [2009/03/24 v0.5a beta + [2010/06/07 v0.5d KOMA-Script for jurists %</dtx|package|driver> %<driver> (driver)% %<package> (package)% @@ -94,6 +94,8 @@ \providecommand*{\DescribeCounter}{\DescribeMacro} \usepackage[latin1]{inputenc} \usepackage[ngerman]{babel} +\usepackage[T1]{fontenc} +\usepackage{lmodern} \IfFileExists{scrjura.sty}{% \usepackage{scrjura} }{} @@ -314,8 +316,9 @@ standard classes created by The LaTeX3 Project 1994-1996. % Nummerierung der Paragraphen erfolgt automatisch, kann aber auch manuell % vorgenommen werden. % -% Nahezu alle vom Anwender anzugebenden Daten folgen dem \textit{key=value}"=Schema, -% wie bereits an dem eben genannten Titel eines Paragraphen zu sehen war. +% Nahezu alle vom Anwender anzugebenden Daten folgen dem +% \textit{key=value}"=Schema, wie bereits an dem eben genannten Titel eines +% Paragraphen zu sehen war. % % Enthält ein Paragraph mehr als einen Absatz, werden alle Absätze automatisch % nummeriert. Die Nummerierung kann fallweise abgeschaltet werden. Es ist @@ -340,11 +343,19 @@ standard classes created by The LaTeX3 Project 1994-1996. % indem unmittelbar nach |\begin{document}| eine \texttt{contract}-Umgebung % begonnen und unmittelbar vor |\end{document}| wieder beendet wird. % +% \DescribeOption{juratitlepagebreak}% +% Normalerweise sind Seitenumbrüche innerhalb der Überschriften von Paragraphen +% nicht erlaubt. Einige Juristen verwenden aber so lange Überschriften, dass +% selbst Seitenumbrüche darin sinnvoll sein können. Mit der Option +% \texttt{juratitlepagebreak} wird dies ermöglicht. Diese Option kann +% jederzeit mit Hilfe von |\KOMAoptions{juratitlepagebreak}| ein- oder mit +% |\KOMAoptions{juratitlepagebreak=false}| wieder ausgeschaltet werden. +% % \DescribeOption{juratotoc}% % \DescribeCounter{juratoclevel}% % Die Option \texttt{juratotoc} sorgt dafür, dass die Paragraphen in das % Inhaltsverzeichnis eingetragen werden. Dabei wird in der Voreinstellung die -% Gliederungstiefe 2 für diese Einträge verwendet. Über den Zähler +% Gliederungstiefe~2 für diese Einträge verwendet. Über den Zähler % |juratoclevel| kann auch eine andere Gliederungstiefe vorgegeben werden. Das % Paket greift hier auf die Routinen von \LaTeX{} zur Erstellung eines % Inhaltsverzeichnisses zurück. Bei dreistelligen Paragraphennummern kann im @@ -352,10 +363,10 @@ standard classes created by The LaTeX3 Project 1994-1996. % % Die einfachste Abhilfe gegen diesen Fehler besteht darin, die Box mit der % Gliederungsnummer zu verbreitern, beispielsweise mit -% -% |\renewcommand{\numberline}[1]{\makebox[6em][l]{#1}}|. -% -% Die Breite der Box lässt den jeweiligen Gegebenheiten anpassen. +% \begin{verbatim} +% \renewcommand{\numberline}[1]{\makebox[6em][l]{#1}} +% \end{verbatim}\vskip-2\parskip +% die Breite der Box den jeweiligen Gegebenheiten anzupassen. % % Eine andere Abhilfe bei der Verwendung einer \KOMAScript"=Klasse besteht % darin, die Option |tocleft| zu verwenden. Zuletzt kann man @@ -365,11 +376,12 @@ standard classes created by The LaTeX3 Project 1994-1996. % auftreten. % % -% Ein für den Autor der Anleitung entscheidender Vorteil von \textsf{scrjura} +% Ein für den Autor der Anleitung entscheidender Vorteil von \textsf{scrjura} % liegt in dem umfassenden System, auf andere Klauseln des Vertrages verweisen -% zu können. Beim Laden des Paktes kann per Option entschieden werden, -% wie die Verweise formatiert werden sollen: lang (Bsp: »§ 314 Absatz 2 Satz 2«), -% kurz (»§ 314 Abs. 2 S. 2«) und numerisch (»§ 314 II 2«). Die Optionen hierzu lauten: +% zu können. Beim Laden des Paktes kann per Option entschieden werden, wie die +% Verweise formatiert werden sollen: lang (Bsp: »§ 314 Absatz 2 Satz 2«), kurz +% (»§ 314 Abs. 2 S. 2«) und numerisch (»§ 314 II 2«). Die Optionen hierzu +% lauten: % \begin{itemize} % \item ref=numeric % \item ref=long @@ -378,19 +390,21 @@ standard classes created by The LaTeX3 Project 1994-1996. % % Wird nichts angegeben, ist |ref=long| voreingestellt. % -% Wer hier spezifische Wünsche hat, kann die Zitierweise von Absätzen und Sätzen -% bereits bei den Optionen hiervon abweichend festlegen. Es sind beliebige Kombinationen -% von |parlong, parshort, parnumeric| mit |sentenceslong, sentenceshort, sentencesnumeric| -% möglich. Beispiel: |\usepackage[ref=parlong, ref=sentenceshort]{scrjura}|. -% Wir haben allerdings diese Kombinationen nicht alle getestet. +% Wer hier spezifische Wünsche hat, kann die Zitierweise von Absätzen und +% Sätzen bereits bei den Optionen hiervon abweichend festlegen. Es sind +% beliebige Kombinationen von |parlong, parshort, parnumeric, nopar| mit +% |sentenceslong, sentenceshort, sentencesnumeric, nosentence| +% möglich. Beispiel: |\usepackage[ref=parlong,ref=sentenceshort]{scrjura}|. +% Wir haben allerdings diese Kombinationen nicht alle getestet. % % \subsection{Optionen betreffend Kolumnentitel} % % Bei langen Verträgen können automatische Kolumnentitel hilfreich % sein. Allerdings hängt die Ausgabe hier davon ab, wie die diese erzeugt -% werden. \DescribeOption{paragraphmark}% -% \textsf{scrjura} unterstützt lebende Kolumnentitel. Die Option \texttt{paragraphmark} kann -% auf folgende Werte gesetzt werden: +% werden. +% \DescribeOption{paragraphmark}% +% \textsf{scrjura} unterstützt lebende Kolumnentitel. Die Option +% \texttt{paragraphmark} kann auf folgende Werte gesetzt werden: % \begin{itemize} % \item false, off, no % \item right @@ -403,8 +417,8 @@ standard classes created by The LaTeX3 Project 1994-1996. % würde auf den ungeraden Seiten die Abschnittsüberschriften und auf den % geraden Seiten der Titel des aktuellen Paragraphen angegeben werden. % -% Im übrigen können die zur Gestaltung von Kopfzeilen üblichen Pakete (z.B. scrpage2) -% verwendet werden. +% Im übrigen können die zur Gestaltung von Kopfzeilen üblichen Pakete +% (z.B. scrpage2) verwendet werden. % % % @@ -479,20 +493,23 @@ standard classes created by The LaTeX3 Project 1994-1996. % \subsection{Verweise} % \label{sec:referenzierung} % -% Verlässlich funktionierende Verweise sind eine große Erleichterung -% beim Abfassen von Verträgen. Wenn in einem ersten Entwurf eines Gesellschaftsvertrags -% die Abfindungsregelungen in §§~28 ff. enthalten sind, diese aber nach einigen Umbauten -% sich irgendwann in §§~19 ff. wiederfinden, dann müssen alle Verweise auf die unterschiedlichen -% Abfindungsregelungen für kündigende Gesellschafter, für solche, die in Rente gehen und für -% 'rausgeworfene diese Änderungen nachvollzogen haben. +% Verlässlich funktionierende Verweise sind eine große Erleichterung beim +% Abfassen von Verträgen. Wenn in einem ersten Entwurf eines +% Gesellschaftsvertrags die Abfindungsregelungen in §§~28 ff. enthalten sind, +% diese aber nach einigen Umbauten sich irgendwann in §§~19 ff. wiederfinden, +% dann müssen alle Verweise auf die unterschiedlichen Abfindungsregelungen für +% kündigende Gesellschafter, für solche, die in Rente gehen und für +% 'rausgeworfene diese Änderungen nachvollzogen haben. % -% In der Grundeinstellung führt der Verweis |\ref{testA}| auf ein |\label{testA}|, das in einem Absatz -% platziert wurde, zur Ausgabe eines Vollverweises einschließlich der Satzangabe. +% In der Grundeinstellung führt der Verweis |\ref{testA}| auf ein +% |\label{testA}|, das in einem Absatz platziert wurde, zur Ausgabe eines +% Vollverweises einschließlich der Satzangabe. % -% Nun will man häufig nicht den Paragraph, Absatz \textit{und} Satz, -% sondern nur Paragraph und Absatznummer referenzieren. Die folgende Tabelle -% enthält eine systematische Darstellung aller Verweismöglicheiten. Ein »L« kennzeichnet die -% Langform, ein »S« die Kurzform und ein »N« die nummerische Darstellung des Verweises. +% Nun will man häufig nicht den Paragraph, Absatz \textit{und} Satz, sondern +% nur Paragraph und Absatznummer referenzieren. Die folgende Tabelle enthält +% eine systematische Darstellung aller Verweismöglicheiten. Ein »L« +% kennzeichnet die Langform, ein »S« die Kurzform und ein »N« die nummerische +% Darstellung des Verweises. % % Zunächst das Beispiel, auf das sich die Tabelle bezieht: % @@ -520,8 +537,6 @@ standard classes created by The LaTeX3 Project 1994-1996. % % Folgende Verweise auf diesen § 1 Absatz 1 Satz 1 sind möglich: % -% \bigskip -% % \begin{tabular}{ll} % Code & Ergebnis \\ % \hline @@ -541,6 +556,45 @@ standard classes created by The LaTeX3 Project 1994-1996. % \verb|\refSentenceS{testA}| & \refSentenceS{testA} \\ % \verb|\refSentenceN{testA}| & \refSentenceN{testA} \\ % \end{tabular} +% +% Dabei hängt die Ausgabe von |\ref|, |\refPar| und |\refSentence| von den +% Einstellungen der Option |ref| ab. Hier zum Vergleich mit der Einstellung +% |\KOMAoptions{ref=nopar}|: +% +% \begingroup\KOMAoptions{ref=nopar} +% \begin{tabular}{ll} +% Code & Ergebnis \\ +% \hline +% \verb|\ref{testA}| & \ref{testA} \\ +% \verb|\refPar{testA}| & \refPar{testA} \\ +% \verb|\refSentence{testA}| & \refSentence{testA} \\ +% \end{tabular} +% \endgroup +% +% Das gleiche mit |\KOMAoptions{ref=nosentence}|: +% +% \begingroup\KOMAoptions{ref=nosentence} +% \begin{tabular}{ll} +% Code & Ergebnis \\ +% \hline +% \verb|\ref{testA}| & \ref{testA} \\ +% \verb|\refPar{testA}| & \refPar{testA} \\ +% \verb|\refSentence{testA}| & \refSentence{testA} \\ +% \end{tabular} +% \endgroup +% +% Das gleiche mit |\KOMAoption{ref}{nopar,nosentence}|: +% +% \begingroup\KOMAoption{ref}{nopar,nosentence} +% \begin{tabular}{ll} +% Code & Ergebnis \\ +% \hline +% \verb|\ref{testA}| & \ref{testA} \\ +% \verb|\refPar{testA}| & \refPar{testA} \\ +% \verb|\refSentence{testA}| & \refSentence{testA} \\ +% \end{tabular} +% \endgroup +% % % Zu jeder existiert noch eine Stern"=Version, also z.B. % |\ref*{testA}|. Wenn das Paket |hyperref| geladen ist, erzeugt @@ -717,6 +771,19 @@ standard classes created by The LaTeX3 Project 1994-1996. % \end{macro} % \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. +% \begin{macrocode} +\KOMA@ifkey{juratitlepagebreak}{@juratitlepagebreak} +% \end{macrocode} +% \end{macro} +% \end{option} +% % \begin{option}{paragraphmark} % \begin{option}{markright} % \begin{option}{markboth} @@ -765,6 +832,8 @@ standard classes created by The LaTeX3 Project 1994-1996. % \end{option} % % \begin{option}{ref} +% \changes{v0.5d}{2010/06/07}{neue Einstellungen \texttt{nopar}, +% \texttt{nosentence}, \texttt{OnlyParagraph}} % \begin{option}{parcitename} % \begin{option}{sentencecitename} % Die Form, in der Absätze und Sätze referenziert werden. Es gibt eine lange, @@ -772,7 +841,8 @@ standard classes created by The LaTeX3 Project 1994-1996. % % \begin{macro}{\parcite@fromat} % \begin{macro}{\sentencecite@fromat} -% In der Voreinstellung wird das lange Format verwendet. +% In der Voreinstellung wird das lange Format verwendet. Es gilt: +% 0 = lang, 1 = kurz, 2 = numerisch, -1 = gar nicht % \begin{macrocode} \newcommand*{\parcite@format}{0} \newcommand*{\sentencecite@format}{0} @@ -788,12 +858,15 @@ standard classes created by The LaTeX3 Project 1994-1996. {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}% + {numeric}{33},% + {paragraphonly}{44},{ParagraphOnly}{44},{OnlyParagraph}{44}% }{#1}% \@tempcnta=\@tempa\relax \@tempcntb=\z@ @@ -811,6 +884,9 @@ standard classes created by The LaTeX3 Project 1994-1996. \or \aftergroup\def\aftergroup\parcite@format \aftergroup{\aftergroup2\aftergroup}% + \or + \aftergroup\def\aftergroup\parcite@format + \aftergroup{\aftergroup-\aftergroup1\aftergroup}% \fi \ifcase \@tempcntb \or @@ -822,6 +898,9 @@ standard classes created by The LaTeX3 Project 1994-1996. \or \aftergroup\def\aftergroup\sentencecite@format \aftergroup{\aftergroup2\aftergroup}% + \or + \aftergroup\def\aftergroup\sentencecite@format + \aftergroup{\aftergroup-\aftergroup1\aftergroup}% \fi \endgroup } @@ -837,8 +916,20 @@ standard classes created by The LaTeX3 Project 1994-1996. \KOMAProcessOptions\relax % \end{macrocode} % +% \begin{macro}{\jura@env@type} +% \changes{v0.5d}{2010/04/28}{neu (intern)} +% Dieses Makro wird in Abhängigkeit der gerade aktiven +% \textsf{scrjura}-Umgebung definiert. +% \begin{macrocode} +\newcommand*{\jura@env@type}{} +% \end{macrocode} +% \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} % 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! @@ -848,18 +939,23 @@ standard classes created by The LaTeX3 Project 1994-1996. % Unterbrechung. % \begin{macrocode} \newcommand*{\contract}{% - \renewcommand*{\contract}{% - \contract@nest@error{contract}% - }% - \let\@doendpe\contract@doendpe - \let\Paragraph\contract@paragraph - \let\c@Paragraph\c@contractParagraph - \edef\cl@Paragraph{\cl@Paragraph\cl@contractParagraph}% - \let\SubParagraph\contract@subparagraph - \let\c@SubParagraph\c@contractSubParagraph - \edef\cl@SubParagraph{\cl@SubParagraph\cl@contractSubParagraph}% - \let\Par\contract@everypar - \let\Sentence\contract@sentence + \ifx\jura@env@type\@empty + \let\@doendpe\contract@doendpe + \let\Paragraph\contract@paragraph + \let\c@Paragraph\c@contractParagraph + \edef\cl@Paragraph{\cl@Paragraph\cl@contractParagraph}% + \let\SubParagraph\contract@subparagraph + \let\c@SubParagraph\c@contractSubParagraph + \edef\cl@SubParagraph{\cl@SubParagraph\cl@contractSubParagraph}% + \let\Par\contract@everypar + \let\Sentence\contract@sentence + \renewcommand*{\jura@env@type}{contract}% + \else + \PackageError{contract}{nested `contract' detected}{% + You may not use a `contract' environment inside\MessageBreak + a `\jura@env@type' environment or after loading\MessageBreak + package `scrjura' with option `\jura@env@type'!}% + \fi } \let\if@jura@skiphyperref\iftrue \let\cl@Paragraph\@empty @@ -1028,22 +1124,23 @@ standard classes created by The LaTeX3 Project 1994-1996. % \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 - \endgroup - \ifx\contract@entry\relax\else - \addcontentsline{toc}{cpar}{% - \protect\numberline{\theParagraph}\contract@entry - }% - \addcontentsline{cpa}{cpar}{% - \protect\numberline{\theParagraph}\contract@entry - }% - \fi - \ifx\contract@head\relax\else - \expandafter\Paragraphmark\expandafter{% - \expandafter\theSubParagraph\expandafter\enskip\contract@head}% - \fi - \par\nobreak\vskip\contract@postskip + \ifx\contract@entry\relax\else + \addcontentsline{toc}{cpar}{% + \protect\numberline{\theParagraph}\contract@entry + }% + \addcontentsline{cpa}{cpar}{% + \protect\numberline{\theParagraph}\contract@entry + }% + \fi + \ifx\contract@head\relax\else + \expandafter\Paragraphmark\expandafter{% + \expandafter\theSubParagraph\expandafter\enskip\contract@head}% + \fi + \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. @@ -1095,22 +1192,24 @@ standard classes created by The LaTeX3 Project 1994-1996. \fi \ifcontract@dummy\else \begingroup + \if@juratitlepagebreak\else\interlinepenalty\@M\fi \contract@paragraph@font \theSubParagraph \ifx\contract@title\relax\else\enskip\contract@title\fi + \ifx\contract@entry\relax\else + \addcontentsline{toc}{cpar}{% + \protect\numberline{\theSubParagraph}\contract@entry + }% + \addcontentsline{cpa}{cpar}{% + \protect\numberline{\theSubParagraph}\contract@entry + }% + \fi + \ifx\contract@head\relax\else + \expandafter\Paragraphmark\expandafter{% + \expandafter\theSubParagraph\expandafter\enskip\contract@head}% + \fi + \par \endgroup - \ifx\contract@entry\relax\else - \addcontentsline{toc}{cpar}{% - \protect\numberline{\theSubParagraph}\contract@entry - }% - \addcontentsline{cpa}{cpar}{% - \protect\numberline{\theSubParagraph}\contract@entry - }% - \fi - \ifx\contract@head\relax\else - \expandafter\Paragraphmark\expandafter{% - \expandafter\theSubParagraph\expandafter\enskip\contract@head}% - \fi - \par\nobreak\vskip\contract@postskip + \nobreak\vskip\contract@postskip \jura@afterheading{contract}% \fi } @@ -1218,6 +1317,22 @@ standard classes created by The LaTeX3 Project 1994-1996. % \end{macrocode} % \end{macro} % +% \begin{macro}{\jura@usetype} +% \changes{v0.5d}{2010/04/28}{neu (intern)} +% In der Voreinstellung macht das erst einmal gar nichts, außer dass es robust +% ist und \cs{jura@@usetype} aufruft. +% \begin{macro}{\jura@@usetype} +% \changes{v0.5d}{2010/04/28}{neu (intern)} +% 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{macrocode} +\DeclareRobustCommand*{\jura@usetype}[1]{\jura@@usetype{#1}} +\newcommand*{\jura@@usetype}[1]{} +% \end{macrocode} +% \end{macro} +% \end{macro} +% % \begin{macro}{\contract@everypar} % |\jura@everpar| für Verträge. % \begin{macro}{\ifparnumber} @@ -1225,6 +1340,8 @@ standard classes created by The LaTeX3 Project 1994-1996. % \begin{macro}{\thepar} % \begin{macro}{\theHpar} % \begin{macro}{\p@par} +% \changes{v0.5d}{2010/04/28}{\cs{jura@usetype} mit Argument +% \cs{jura@env@type} eingefügt} % 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 @@ -1238,7 +1355,7 @@ standard classes created by The LaTeX3 Project 1994-1996. \renewcommand*{\thepar}{\arabic{par}} \newcommand*{\theHpar}{\theH@AbsParagraph-\Roman{par}} \newcommand*{\parformat}{(\thepar)} -\renewcommand*\p@par{{\theSubParagraph\jura@separator{\nobreakspace}}} +\renewcommand*\p@par{{\jura@usetype{\jura@env@type}\theSubParagraph\jura@separator{\nobreakspace}}} \@addtoreset{par}{Paragraph} \@addtoreset{par}{SubParagraph} % \end{macrocode} @@ -1247,15 +1364,20 @@ standard classes created by The LaTeX3 Project 1994-1996. % \end{macro} % \end{Counter} % \end{macro} +% \changes{0.5c}{2010/04/26}{erstes Argument von \cs{newmaxpar} und zweites +% Argument von \cs{getmaxpar} ist \texttt{contract} nicht +% \texttt{contractpars}} +% \changes{0.5c}{2010/04/26}{\cs{contract@Paragraphformat} expandiert beim +% Schreiben zu seinem Argument} % \begin{macrocode} \newcommand*{\contract@everypar}{% \ifparnumber \refstepcounter{par}% \refstepcounter{sentence}% \begingroup - \protected@write\@auxout{}{% - \string\newmaxpar{contractpars}{\theSubParagraph}{\arabic{par}}}% - \getmaxpar\@tempa{contractpars}{\theSubParagraph}% + \protected@write\@auxout{\let\contract@Paragraphformat\@firstofone}{% + \string\newmaxpar{contract}{\theSubParagraph}{\arabic{par}}}% + \getmaxpar\@tempa{contract}{\theSubParagraph}% \typeout{Stored max is \@tempa}% \ifnum \@tempa>\@ne \parformat\nobreakspace @@ -1605,33 +1727,41 @@ standard classes created by The LaTeX3 Project 1994-1996. % \end{macro} % % \begin{macro}{\parciteformat} +% \changes{v0.5d}{2010/04/28}{Argument verschoben} % Zitierstil für Absätze. % \begin{macrocode} \DeclareRobustCommand*{\par@cite}[1]{\parciteformat{#1}} \newcommand*{\parciteformat}[1]{% \ifcase \parcite@format - \parlongformat{#1}% + \expandafter\parlongformat \or - \parshortformat{#1}% + \expandafter\parshortformat \or - \parnumericformat{#1}% + \expandafter\parnumericformat + \else + \unskip\expandafter\@gobble \fi + {#1}% } % \end{macrocode} % \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{macrocode} \DeclareRobustCommand*{\sentence@cite}[1]{\sentenceciteformat{#1}} \newcommand*{\sentenceciteformat}[1]{% \ifcase \sentencecite@format - \sentencelongformat{#1}% + \expandafter\sentencelongformat \or - \sentenceshortformat{#1}% + \expandafter\sentenceshortformat \or - \sentencenumericformat{#1}% + \expandafter\sentencenumericformat + \else + \unskip\expandafter\@gobble \fi + {#1}% } % \end{macrocode} % \end{macro} @@ -1703,6 +1833,9 @@ standard classes created by The LaTeX3 Project 1994-1996. % % \begin{macro}{\newmaxpar} % \begin{macro}{\getmaxpar} +% \changes{v0.5c}{2010/04/26}{\cs{protected@edef} durch \cs{edef} ersetzt} +% \changes{v0.5c}{2010/04/26}{\cs{\#2@Paragraphformat} expandiert zu seinem +% Argument} % 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{macrocode} @@ -1714,7 +1847,8 @@ standard classes created by The LaTeX3 Project 1994-1996. } \newcommand*{\getmaxpar}[3]{% \begingroup - \protected@edef\@tempa{#3}% + \expandafter\let\csname #2@Paragraphformat\endcsname\@firstofone + \edef\@tempa{#3}% \@onelevel@sanitize\@tempa \expandafter\ifx \csname max@#2@\@tempa\endcsname\relax \edef\@tempa{\endgroup\edef\noexpand#1{\expandafter\the\value{par}}}% |