cookie170
05-05-2006, 18:15
Hallo allerseits,
ich möchte Texte schreiben, in denen es Abschnitte, Paragraphen, Absätze und Sätze gibt: Verträge eben.
Dazu definiere ich unter scrartcl die Ebene sections in Abschnitte um und subsections werden zu meinen Paragraphen. Die Paragraphenzählung läuft durch, unabhängig vom Abschnitt.
Außerdem will ich in jedem Paragraphen die Absätze (mit \abs) nummerieren, ausser, der Paragraph hat nur einen Absatz. Der Absatzzähler wird bei jedem neuen Paragraphen zurückgesetzt.
Bei Sätzen (\stz) gilt das gleiche: Hat der Absatz nur einen Zähler, gibt's keine Nummer, ansonsten führt der Befehl \stz vor jedem Satz zu einer hochgestellten Nummer. Der Satzzähler wird bei jedem neuen \abs zurückgesetzt.
Etwas ähnliches gibt es schon als "jrtxnorm.sty" von Friedrich Vosberg, zu finden über dctt. Der hat aber eine Umgebung gebaut, die bei weitem nicht die Flexibilität hat, die ich brauche. Er hat auf die Umdefinition von section und subsection verzichtet mit der Folge, das Verweise nicht so einfach funktionieren, das Inhaltsverzeichnis nicht automatisch erstellt wird, hyperref muss man auch nachhelfen, etc. Alle diese Einschränkungen will ich dadurch lösen, dass ich vorgehe wie oben beschrieben.
Also habe ich eine kleine Vorlage "jrtxnorm3" zusammengebaut, die gegenüber dem Orignal einige Unterschiede aufweist:
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{jrtxnorm3}
\RequirePackage{ifthen}
\RequirePackage{remreset} % Zum Entkoppeln des Zählers subsection von section
\InputIfFileExists{\jobname.pgf}{}{}
\newwrite\pgfnr
\immediate\openout\pgfnr=\jobname.pgf
\renewcommand\thesection{\Roman{section}. Abschnitt:}
\renewcommand\thesubsection{
\arabic{subsection}}
\newcounter{ABSATZ}[subsection]
\newcounter{SATZ}[ABSATZ]
\@removefromreset{subsection}{section} % Paragraphenzählung geht weiter auch nach neuen Abschnitten
\renewcommand\section{\@startsection
{section}{1}{0em} % LBegl. S. 32: Name, Ebene, Einzug
{\baselineskip}%Vor-Abstand - überprüfen
{0.5\baselineskip}%Nach-Abstand
{\bfseries\centering}}%Fett und Zentriert
\newcommand\ABSATZ{%
\ifnum\theABSATZ>0%
\immediate\write\pgfnr{%
\string\@namedef{hasmanyabsatz\thesubsection}{x}%
}%
\fi%
\stepcounter{ABSATZ}%
\@ifundefined{hasmanyabsatz\thesubsection}{% nur ein Absatz: keine Nummer
}{%
(\arabic{ABSATZ})~%
}%
}%
%
\def\abs{\ABSATZ}
%%
\newcommand\SATZ{%
\ifnum\theSATZ>0%
\immediate\write\pgfnr{%
\string\@namedef{hasmanysatz\theABSATZ-\thesubsection}{x}%
}%
\fi%
\stepcounter{SATZ}%
\@ifundefined{hasmanysatz\theABSATZ-\thesubsection}{% nur ein Satz: keine Nummer
}{%
\textsuperscript{\arabic{SATZ}}\hspace{.2ex}\nolin ebreak%
}%
}
\def\stz{\SATZ}
\AtEndDocument{\immediate\closeout\pgfnr}
Wenn ich jetzt einen kleinen Vertrag aufsetze (ohne Parteien, ohne Unterschriftszeilen, etc, nur ein Minimalbeispiel), funktioniert soweit alles:
\documentclass[a4paper,12pt,ngerman,smallheadings, pointlessnumbers, parskip]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage[active]{srcltx} % Bettet Quellinfo in dvi ein
\usepackage{jrtxnorm3}
%opening
\title{Vertrag}
\author{}
\date{}
\begin{document}
\maketitle
\section{Worum geht es}
gagag
\subsection{und}
\abs\stz Jetzt wirds interessant. \stz noch mehr
\abs ddddannn ee
\section{Wasnochalles}
\subsection{zweiter}
\end{document}
Das Problem:
Meine Paragraphenüberschrift soll beispielsweise lauten:
§ 1 Grundlagen
Ich schaffe es nicht, subsection so umzudefinieren, dass ein Paragraphenzeichen in die Überschrift kommt. Wenn man in der obigen Vorlage die Definition
\renewcommand\thesubsection{
\arabic{subsection}}
ergänzt zu
\renewcommand\thesubsection{\S\,
\arabic{subsection}}
dann regnet es Fehlermeldungen. Naja, so ist das wohl, wenn man sich Dinge zusammenklaut, die weit über den eigenen Horizont gehen. Aber mein Latex-Begleiter hilft mir hier nicht weiter, mein Blick in source2e ließ den Gedanken an ein Zusatzstudium aufkommen und es wäre schon nett, wenn ich die Vorlage übernächste Woche benutzen könnte.
Hat jemand eine Idee, wie man ein Paragraphenzeichen in die Überschrift kriegt? Falls jemand das ganze Ding radikal anders bauen will, nur zu.
- fragt
Alexander
ich möchte Texte schreiben, in denen es Abschnitte, Paragraphen, Absätze und Sätze gibt: Verträge eben.
Dazu definiere ich unter scrartcl die Ebene sections in Abschnitte um und subsections werden zu meinen Paragraphen. Die Paragraphenzählung läuft durch, unabhängig vom Abschnitt.
Außerdem will ich in jedem Paragraphen die Absätze (mit \abs) nummerieren, ausser, der Paragraph hat nur einen Absatz. Der Absatzzähler wird bei jedem neuen Paragraphen zurückgesetzt.
Bei Sätzen (\stz) gilt das gleiche: Hat der Absatz nur einen Zähler, gibt's keine Nummer, ansonsten führt der Befehl \stz vor jedem Satz zu einer hochgestellten Nummer. Der Satzzähler wird bei jedem neuen \abs zurückgesetzt.
Etwas ähnliches gibt es schon als "jrtxnorm.sty" von Friedrich Vosberg, zu finden über dctt. Der hat aber eine Umgebung gebaut, die bei weitem nicht die Flexibilität hat, die ich brauche. Er hat auf die Umdefinition von section und subsection verzichtet mit der Folge, das Verweise nicht so einfach funktionieren, das Inhaltsverzeichnis nicht automatisch erstellt wird, hyperref muss man auch nachhelfen, etc. Alle diese Einschränkungen will ich dadurch lösen, dass ich vorgehe wie oben beschrieben.
Also habe ich eine kleine Vorlage "jrtxnorm3" zusammengebaut, die gegenüber dem Orignal einige Unterschiede aufweist:
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{jrtxnorm3}
\RequirePackage{ifthen}
\RequirePackage{remreset} % Zum Entkoppeln des Zählers subsection von section
\InputIfFileExists{\jobname.pgf}{}{}
\newwrite\pgfnr
\immediate\openout\pgfnr=\jobname.pgf
\renewcommand\thesection{\Roman{section}. Abschnitt:}
\renewcommand\thesubsection{
\arabic{subsection}}
\newcounter{ABSATZ}[subsection]
\newcounter{SATZ}[ABSATZ]
\@removefromreset{subsection}{section} % Paragraphenzählung geht weiter auch nach neuen Abschnitten
\renewcommand\section{\@startsection
{section}{1}{0em} % LBegl. S. 32: Name, Ebene, Einzug
{\baselineskip}%Vor-Abstand - überprüfen
{0.5\baselineskip}%Nach-Abstand
{\bfseries\centering}}%Fett und Zentriert
\newcommand\ABSATZ{%
\ifnum\theABSATZ>0%
\immediate\write\pgfnr{%
\string\@namedef{hasmanyabsatz\thesubsection}{x}%
}%
\fi%
\stepcounter{ABSATZ}%
\@ifundefined{hasmanyabsatz\thesubsection}{% nur ein Absatz: keine Nummer
}{%
(\arabic{ABSATZ})~%
}%
}%
%
\def\abs{\ABSATZ}
%%
\newcommand\SATZ{%
\ifnum\theSATZ>0%
\immediate\write\pgfnr{%
\string\@namedef{hasmanysatz\theABSATZ-\thesubsection}{x}%
}%
\fi%
\stepcounter{SATZ}%
\@ifundefined{hasmanysatz\theABSATZ-\thesubsection}{% nur ein Satz: keine Nummer
}{%
\textsuperscript{\arabic{SATZ}}\hspace{.2ex}\nolin ebreak%
}%
}
\def\stz{\SATZ}
\AtEndDocument{\immediate\closeout\pgfnr}
Wenn ich jetzt einen kleinen Vertrag aufsetze (ohne Parteien, ohne Unterschriftszeilen, etc, nur ein Minimalbeispiel), funktioniert soweit alles:
\documentclass[a4paper,12pt,ngerman,smallheadings, pointlessnumbers, parskip]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage[active]{srcltx} % Bettet Quellinfo in dvi ein
\usepackage{jrtxnorm3}
%opening
\title{Vertrag}
\author{}
\date{}
\begin{document}
\maketitle
\section{Worum geht es}
gagag
\subsection{und}
\abs\stz Jetzt wirds interessant. \stz noch mehr
\abs ddddannn ee
\section{Wasnochalles}
\subsection{zweiter}
\end{document}
Das Problem:
Meine Paragraphenüberschrift soll beispielsweise lauten:
§ 1 Grundlagen
Ich schaffe es nicht, subsection so umzudefinieren, dass ein Paragraphenzeichen in die Überschrift kommt. Wenn man in der obigen Vorlage die Definition
\renewcommand\thesubsection{
\arabic{subsection}}
ergänzt zu
\renewcommand\thesubsection{\S\,
\arabic{subsection}}
dann regnet es Fehlermeldungen. Naja, so ist das wohl, wenn man sich Dinge zusammenklaut, die weit über den eigenen Horizont gehen. Aber mein Latex-Begleiter hilft mir hier nicht weiter, mein Blick in source2e ließ den Gedanken an ein Zusatzstudium aufkommen und es wäre schon nett, wenn ich die Vorlage übernächste Woche benutzen könnte.
Hat jemand eine Idee, wie man ein Paragraphenzeichen in die Überschrift kriegt? Falls jemand das ganze Ding radikal anders bauen will, nur zu.
- fragt
Alexander