% last change : 15.11.2007 18:13:18 % status : 0.17 beta % created : 2001/06/28 17:49:53 % % subject : jurabase package - basic jura commands % % to do : % % © Axel Sodtalbers \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{jurabase}[2007/11/15 V0.17 basic jura commands (AS)] % - some reworking of forwardandback environment code % - patched code of \so (= \sob) command for proper function % when soul package is used. %======================================== % % Erforderliche Pakete % %======================================== \RequirePackage{xspace} \RequirePackage{calc} \RequirePackage{ifthen} %======================================== % % Switch indent on and off % %======================================== \newlength{\oldparindent} \setlength{\oldparindent}{\parindent} \newcommand{\indentoff}{% \setlength{\parindent}{0pt}} \newcommand{\resetindent}{% \setlength{\parindent}{\oldparindent}} %======================================== % % enumeration in germin law docs % %======================================== \iffalse I. 2. c. dd. \fi \newcommand{\juraenum}{ \renewcommand{\labelenumi}{\Roman{enumi}.} \renewcommand{\labelenumii}{\arabic{enumii}.} \renewcommand{\labelenumiii}{\alph{enumiii})} \renewcommand{\labelenumiv}{\alph{enumiv}\alph{enumiv})}} %======================================== % % forwardandback environment % (maybe needs heavy reworking % %======================================== \newcounter{fabdepth} \setcounter{fabdepth}{-1} \newif\if@infablist \@infablistfalse \newif\if@boldfablabel \@boldfablabelfalse \newcommand{\@jfablabel}{} \newenvironment{@fablist}% {\begin{list}% {}% {\setlength{\leftmargin}{\z@}% \setlength{\rightmargin}{\z@}% \setlength{\itemindent}{\z@}% \setlength{\topsep}{\z@}% \setlength{\partopsep}{\z@}% \setlength{\parsep}{\z@}% \setlength{\itemsep}{\z@}% }% } {\end{list}} \newlength{\fablabelwidth} \newlength{\fablabelsep} \setlength{\fablabelsep}{\labelsep/2} \newenvironment{forwardandback}[1][III.\ ]% Begl. 464 {\setcounter{fabdepth}{\@ne}% \settowidth{\fablabelwidth}{#1}% \@boldfablabelfalse% \@infablisttrue% \begin{@fablist}% \item % } {\end{@fablist}% \@infablistfalse} \newenvironment{forwardandback*}[1][III.\ ] {\setcounter{fabdepth}{\@ne}% \settowidth{\fablabelwidth}{#1}% \@boldfablabeltrue% \@infablisttrue% \begin{@fablist}% \item % } {\end{@fablist}% \@infablistfalse} \iffalse je groesser der Wert, durch den \labelsep geteilt wird, desto enger rueckt der Text an die Marke heran: \setlength{\fablabelsep}{\labelsep/16} ist also 'dichter dran'. \fi \newcommand{\@startforwardandbacklist}[1]{% \begin{list}% {}% {\setlength{\labelwidth}{\fablabelwidth}% \setlength{\labelsep}{\fablabelsep}% \setlength{\leftmargin}{(\labelwidth+\labelsep)*\value{fabdepth}}% \setlength{\itemindent}{\z@}% \setlength{\rightmargin}{\z@}% \setlength{\topsep}{\z@}% \setlength{\parsep}{\z@}% \if@boldfablabel% \renewcommand{\@jfablabel}{{\bfseries #1}}% \else% \renewcommand{\@jfablabel}{#1}% \fi% \let\makelabel\@jfablabel% }% \item % } \newcommand{\jfrw}[1]{% \if@infablist \end{list}% \addtocounter{fabdepth}{\@ne}% \@startforwardandbacklist{#1}% \else% \PackageError{jurabase}% {\protect\jfrw\space used outside forwardandback environment}% {Use the forwardandback environment!}% \fi% } \newcommand{\jsme}[1]{% \if@infablist \end{list}% \@startforwardandbacklist{#1}% \else% \PackageError{jurabase}% {\protect\jsme\space used outside forwardandback environment}% {Use the forwardandback environment!}% \fi% } \newcommand{\jbck}[2][1]{% \if@infablist \end{list}% \addtocounter{fabdepth}{-#1}% \ifthenelse{\value{fabdepth}>0}% {\@startforwardandbacklist{#2}}% {\PackageError{jurabase}% {You are on the lowest level, \MessageBreak you cannot go back with \protect\jbck\space here.}% {Use \protect\jsme\space or rearrange your forwardandback environment!}% } \else% \PackageError{jurabase}% {\protect\jbck\space used outside forwardandback environment}% {Use the forwardandback environment!}% \fi% } \newcommand{\fabreset}{% \if@infablist \setcounter{fabdepth}{\@ne} \else% \PackageError{jurabase}% {\protect\jreset\space used outside forwardandback environment}% {Use the forwardandback environment!}% \fi% } %======================================== % % Verschiedenes % %======================================== \newcommand{\antrag}[2]{ #1% \begin{list}% {}% Standardmarke, Kopka 77 {\setlength{\topsep}{0pt}}% Listenerklaerung \item #2% \end{list}} %======================================== % bestimmte Auszeichnungen %======================================== \newcommand*{\qll}[1]{\emph{#1}}% fuer Quellen \newcommand{\code}[1]{\texttt{#1}}% fuer Computeranweisungen, tags o.ae. \newcommand*{\marke}[1]{{\scshape #1}}% Markennamen % \texttrademark (TM) oder \textregistered (R) ? \newcommand*{\firma}[1]{{\scshape #1}}% Unternehmensbezeichnung \newcommand*{\prdbez}[1]{% Produktbezeichnung {\scshape #1}% \index{#1}% } %======================================== % Abkuerzungen %======================================== \iffalse Merke: Am Anfang eines Satzes in der Regel keine Abkuerzung 'Zum Beispiel hat Goethe gesagt ...' statt: 'Z.B. hat Goethe' (Siehe Duden S. 65; Standop 173) Merke: *nachgestelltes* zB wird nicht abgekuerzt! (Standop 173) \fi \newcommand*{\abkwarning}% {\PackageWarning{jurabase}{Keine Abkuerzungen am Satzanfang! (obsoletes Kommando)}} \newcommand*{\hM}{% Abkuerzung fuer herrschende Ansicht h.\,M.\xspace} \newcommand*{\aF}{% Abkuerzung fuer alte Fassung a.\,F.\xspace} \newcommand*{\aA}{% Abkuerzung fuer andere Ansicht a.\,A.\xspace} \newcommand*{\AnA}{% Abkuerzung fuer andere Ansicht - die wird zugelassen, weil ueblich! A.\,A.\xspace} \newcommand*{\aM}{% Abkuerzung fuer andere(r) Meinung a.\,M.\xspace} \newcommand*{\aaO}{% Abkuerzung fuer am angegebenen Ort a.\,a.\,O.\xspace} \newcommand*{\aE}{% Abkuerzung fuer am Ende a.\,E.\xspace} \newcommand*{\iVm}{% Abkuerzung fuer in Verbindung mit i.\,V.\,m.\xspace} \newcommand*{\iHv}{% Abkuerzung fuer in Hoehe von i.\,H.\,v.\xspace} \newcommand*{\zB}{% Abkuerzung fuer z.B. z.\,B.\xspace} \newcommand*{\ZB}{% \abkwarning% Zum Beispiel\xspace} \newcommand*{\iS}{% Abkuerzung fuer i.S. i.\,S.\xspace} \newcommand*{\iue}{% Abkuerzung fuer im uebrigen (alte Rechtschreibung) \iflanguage{ngerman}% {\PackageWarning{jurabase}{I am using 'i."U' instead of 'i."u' (language=ngerman!)}% i.\,\"U.\xspace}% {i.\,\"u.\xspace}% } \newcommand*{\iUe}{% Abkuerzung fuer im Uebrigen (neue Rechtschreibung) \iflanguage{german}% {\PackageWarning{jurabase}{I am using 'i."u' instead of 'i."U' (language=german!)}% i.\,\"u.\xspace}% {i.\,\"U.\xspace}% } \newcommand*{\ia}{% Abkuerzung fuer im allgemeinen (alte Rechtschreibung) \iflanguage{ngerman}% {\PackageWarning{jurabase}{I am using 'i.A' instead of 'i.a' (language=ngerman!)}% i.\,A.\xspace}% {i.\,a.\xspace}% } \newcommand*{\iA}{% Abkuerzung fuer im Allgemeinen (neue Rechtschreibung) \iflanguage{german}% {\PackageWarning{jurabase}{I am using 'i.a' instead of 'i.A' (language=german!)}% i.\,a.\xspace}% {i.\,A.\xspace}% } \newcommand*{\iE}{% Abkuerzung fuer im Ergebnis i.\,Erg.\xspace} \newcommand*{\IE}{% Abkuerzung fuer Im Ergebnis \abkwarning% Im Ergebnis\xspace} \newcommand*{\iR}{% Abkuerzung fuer i.R. i.\,R.\xspace} \newcommand*{\sa}{% Abkuerzung fuer siehe auch s.\,a.\xspace} \newcommand*{\Sa}{% Abkuerzung fuer Siehe auch \abkwarning% Siehe auch\xspace} \AtBeginDocument{ \@ifundefined{so}% Abkuerzung fuer siehe oben {\newcommand*{\so}{s.\,o.\xspace}% \let\sob\so% }% {\PackageWarning{jurabase}% {Command \protect\so\space is already defined (maybe because you\MessageBreak are using the 'soul' package).\MessageBreak Please use the command \protect\sob\space to typeset\MessageBreak the abbreviation 'siehe oben'!}% \newcommand*{\sob}{s.\,o.\xspace}% } } \newcommand*{\So}{% Abkuerzung fuer Siehe oben \abkwarning% Siehe oben\xspace} \newcommand*{\su}{% Abkuerzung fuer siehe unten s.\,u.\xspace} \newcommand*{\Su}{% Abkuerzung fuer Siehe unten \abkwarning% Siehe unten\xspace} \newcommand*{\oae}{% Abkuerzung fuer o.ae. o.\,\"a.\xspace} %??? \newcommand*{\oa}{% Abkuerzung fuer oben angegeben o.\,a.\xspace} \newcommand*{\og}{% Abkuerzung fuer oben genannten o.\,g.\xspace} \newcommand*{\mE}{% Abkuerzung fuer meines Erachtens m.\,E.\xspace} \newcommand*{\maW}{% Abkuerzung fuer mit anderen Worten m.\,a.\,W.\xspace} \newcommand*{\MaW}{% Abkuerzung fuer Mit anderen Worten \abkwarning% Mit anderen Worten\xspace} \newcommand*{\mwN}{% Abkuerzung fuer m.w.N. m.\,w.\,N.\xspace} \newcommand*{\nF}{% Abkuerzung fuer neue Fassung n.\,F.\xspace} \newcommand*{\usw}{% Abkuerzung fuer u.s.w. u.\,s.\,w.\xspace} \newcommand*{\idR}{% Abkuerzung fuer in der Regel i.\,d.\,R.\xspace} \newcommand*{\ua}{% Abkuerzung fuer unter anderem u.\,a.\xspace} \newcommand*{\uae}{% Abkuerzung fuer u.ae. u.\,\"a.\xspace} %??? \newcommand*{\uU}{% Abkuerzung fuer unter Umstaenden u.\,U.\xspace} \newcommand*{\vAw}{% Abkuerzung fuer von Amts wegen v.\,A.\,w.\xspace} \newcommand*{\va}{% Abkuerzung fuer vor allem v.\,a.\xspace} \newcommand*{\zT}{% Abkuerzung fuer zum Teil z.\,T.\xspace} %======================================== % Pfeile %======================================== \newcommand*{\arr}{\(\rightarrow\)\space} \newcommand*{\arrr}{\(\longrightarrow\)\space} \newcommand*{\Arr}{\(\Rightarrow\)\space} \newcommand*{\Arrr}{\(\Longrightarrow\)\space} \newcommand*{\lrarr}{\(\leftrightarrow\)\space} \newcommand*{\larr}{\(\leftarrow\)} \newcommand*{\Larr}{\(\Leftarrow\)} \newcommand*{\darr}{\(\downarrow\)} \newcommand*{\Darr}{\(\Downarrow\)} \endinput % end of jurabase.sty