% \iffalse ********************************************* METACOMMENT % % TeX this file with LaTeX2e ! % % The following files will be written: % % ==> journal.dvi Documentation (read this first) % % --> journal.cls class file % %% Copyright : Kai-Uwe Bux %% --------- Norderneystraße 26 %% D-26419 Schortens/Heidmühle (Germany) %% %% ***************************************************************** % >>>>>>>>> !! Proliferation of UNCHANGED versions of !! <<<<<<<<< % !! this file is permitted !! % % >>>>>>>>> !! Don't change this file without changing !! <<<<<<<<< % !! it's name !! % ****************************************************************** % % \begin{macrocode} \def\FileVersion{0.8} \def\FileDate{1999/08/25} \def\FileDescription{eine Dokumentenklasse für Zeitungen} % \end{macrocode} % % ********************************************** END METACOMMENT \fi % % \CheckSum{700} % \StopEventually{} % % \iffalse ********************************************* METACOMMENT % \begin{macrocode} %<*driver> \NeedsTeXFormat{LaTeX2e}[1995/12/01] \let\ThisVersion\FileVersion \let\ThisDate\FileDate % % \end{macrocode} % ********************************************** END METACOMMENT \fi % % \iffalse ******************************************** METATCOMMENT % % Dieser Abschnitt erscheint nicht in der Dokumentation % % \Section{Installation} % Der folgende Kode ist etwas trickreich. % \begin{macrocode} %<*installation> \ifx\undefined\batchfile\begingroup\fi \makeatletter \def\batchfile{journal.dtx} \def\g{\generateFile{journal.cls}{f}{\from{journal.dtx}{journal}}\let\g\relax} \def\s{\endinput\let\s\relax} \let\@@end=\relax \input docstrip.tex \g\s \endgroup % \end{macrocode} % Jetzt ist die Paket-Datei \file{journal.cls} auf der Platte. % Die geh"ort in ein Verzeichnis, wo \TeX\ nach Paketen sucht. % % Kommen wir nun zum Inhaltsverzeichnis und der Hilfsdatei: % \begin{macrocode} \begin{filecontents}{journal.toc} \select@language {german} \contentsline {section}{\numberline {1}Einleitung}{2} \contentsline {section}{\numberline {2}Die Benutzerschnittstelle}{3} \contentsline {subsection}{\numberline {2.1}Die Einbindung der Dokumentenklasse}{3} \contentsline {subsection}{\numberline {2.2}Die Titelseite}{3} \contentsline {subsection}{\numberline {2.3}"Ubersichten}{3} \contentsline {subsubsection}{\numberline {2.3.1}Inhaltsverzeichnisse}{3} \contentsline {subsubsection}{\numberline {2.3.2}Impressum}{4} \contentsline {subsubsection}{\numberline {2.3.3}Das Editorial}{5} \contentsline {subsection}{\numberline {2.4}Rubriken}{5} \contentsline {subsection}{\numberline {2.5}Das {\tt article}-environment}{5} \contentsline {subsection}{\numberline {2.6}Bilder}{6} \contentsline {section}{\numberline {3}Implementierung}{7} \contentsline {subsection}{\numberline {3.1}Identifikation und Grundlegung}{7} \contentsline {subsection}{\numberline {3.2}Das Impressum}{7} \contentsline {subsection}{\numberline {3.3}Die Titelseite}{8} \contentsline {subsection}{\numberline {3.4}Inhaltsverzeichnisse}{9} \contentsline {subsection}{\numberline {3.5}Ein Editorial-environment}{11} \contentsline {subsection}{\numberline {3.6}Das \texttt {article}-environment}{12} \contentsline {subsection}{\numberline {3.7}Bilder}{14} \contentsline {subsection}{\numberline {3.8}"Uberschriften}{14} \contentsline {subsection}{\numberline {3.9}Zusammenfassungen}{16} \end{filecontents} \begin{filecontents}{journal.aux} \relax \select@language{german} \@writefile{toc}{\select@language{german}} \@writefile{lof}{\select@language{german}} \@writefile{lot}{\select@language{german}} \@writefile{toc}{\contentsline {section}{\numberline {1}Einleitung}{2}} \@writefile{toc}{\contentsline {section}{\numberline {2}Die Benutzerschnittstelle}{3}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Die Einbindung der Dokumentenklasse}{3}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Die Titelseite}{3}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.3}"Ubersichten}{3}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.1}Inhaltsverzeichnisse}{3}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.2}Impressum}{4}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.3}Das Editorial}{5}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.4}Rubriken}{5}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.5}Das {\tt article}-environment}{5}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.6}Bilder}{6}} \@writefile{toc}{\contentsline {section}{\numberline {3}Implementierung}{7}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Identifikation und Grundlegung}{7}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Das Impressum}{7}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Die Titelseite}{8}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.4}Inhaltsverzeichnisse}{9}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Ein Editorial-environment}{11}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.6}Das \texttt {article}-environment}{12}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.7}Bilder}{14}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.8}"Uberschriften}{14}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.9}Zusammenfassungen}{16}} \end{filecontents} % % \end{macrocode} % % ********************************************** END METACOMMENT \fi % % \iffalse ********************************************* METACOMMENT % % Dieser Abschnitt erscheint nicht in der Dokumentation % % \Section{Die Erzeugung der Dokumentation} % \begin{macrocode} %<*driver> \documentclass[12pt]{ltxdoc} \IfFileExists{babel.sty}{% \usepackage[german]{babel} }{% \usepackage{german} } \newcommand{\pkg}[1]{\textsf{#1}} \newcommand{\cls}[1]{\textsf{#1}} \newcommand{\file}[1]{\texttt{#1}} \newcommand{\env}[1]{\texttt{#1}} \newcommand{\opt}[1]{\textsf{#1}} \newcommand{\sect}[1]{{#1}} \newcommand{\sty}[1]{\emph{#1}} \newcommand{\ARG}[1]{\emph{#1}} \newcommand{\GobbleOne}[1]{} \newcommand{\Section}{\newpage\section} \newcommand{\finalnopagebreak}{\nopagebreak} \newcommand{\finalpagebreak}{\pagebreak} \title{Eine Journal-Class unter \LaTeX} \author{Kai-Uwe Bux} \date{\begin{tabular}{ll} Datum: & \ThisDate\\ Version: & \ThisVersion \end{tabular}} \begin{document} \maketitle\thispagestyle{empty}\newpage \setcounter{page}{1}\tableofcontents \DocInput{journal.dtx} \end{document} % % \end{macrocode} % % ********************************************** END METACOMMENT \fi % % \Section{Einleitung} % In Zeitungen werden Artikel zusammen abgedruckt. \LaTeXe\ unterst"utzt % das Schreiben eines einzelenen Artikels geradezu vorbildlich, aber % wer mehrere davon in einem Druckerzeugnis zusammenfassen will, wird % Schwierigkeiten haben. Die Idee der folgenen L"osung ist, eine % Dokumentenklasse \cls{journal} zu definieren, die auf der % \cls{article}-Class auf"|sitzt. Sie erweitert diese um folgende % Punkte: % \begin{enumerate} % \item % Es wird ein \env{article}-environment definiert. Innerhalb dieser % Umgebung stehen fast alle M"oglichkeiten des artcile-styles % zur Verf"ugung. Allerdings ist es an dieser Stelle % nicht m"oglich, weitere Pakete, und die Pr"aambel eines % eigenst"andigen Schriftst"uckes entf"allt ebenfalls. % \item % F"ur die Titelseite wird die \env{titlepage}-Umgebung umdefiniert. % \item % Unterst"utzt werden ferner: % \begin{itemize} % \item % ein kommentiertes und ein unkommentiertes Inhaltsverzeichis % \item % das Impressum % \end{itemize} % \item % Das konkrete Layout der Zeitung mu"s in weiteren Paketen % definiert werden, die einige Macros der Dokumentenklasse % umdefinieren werden. Die \cls{journal}-Class bestimmt % lediglich die "`Logik"'. % \end{enumerate} % % \Section{Die Benutzerschnittstelle} % \subsection{Die Einbindung der Dokumentenklasse} % Der normale |\documentclass|-Befehl wir benutzt. % \begin{quote} % |\documentclass[...]{|\cls{journal}|}| % \end{quote} % Alle Optionen, die die \cls{article}-Klasse unterst"utzt, und nur % diese sind erlaubt. % % \subsection{Die Titelseite} % Die Titelseite gestalten Sie am besten mit Hilfe der % \env{titlepage}-Umgebung. Sie k"onnte zum Beispiel so % aussehen: % \begin{quote} % \begin{verbatim} % \begin{titlepage} % \uncommentedcontents % \end{titlepage} % \end{verbatim} % \end{quote} % % Wenn Sie sich jetzt wundern, da"s der Titel gar nicht erw"ahnt wird, % so findet das seine Erkl"arung in folgendem: % Der |\begin{titlepage}|-Befehl ruft automatisch das % Macro |\@begin@titelpage| auf, und analog wird % |\@end@titlepage| von |\end{titlepage}| aufgerufen. % Diese Macros sind so vordefiniert, da"s sie zu nichts expandieren; % sie k"onnen aber durch zus"atzliche Style-Optionen ver"andert werden, % so da"s dadurch die unver"anderlichen Teile der Titelseite % realisiert werden k"onnen. % % \subsection{\protect"Ubersichten} % \subsubsection{Inhaltsverzeichnisse} % Jeder Artikel hat % \begin{itemize} % \item % Nummer, % \item % Titel, % \item % Untertitel, % \item % Autor, % \item % Datum, % \item % einen kleinen Kommentar, % \item % und einen Kopfzeileneintrag, falls der Titel zu lang ist. % \end{itemize} % All diese Angaben stehen zur Gestalltung von Inhaltsverzeichnissen, % Kopf- und Fu"szeilen % zur Verf"ugung. Auch Rubrikwechsel erzeugen Eintr"age im {\tt toc}-file, % die in den Inhaltsverzeichnissen verarbeitet werden k"onnen. % % \subsubsection{Impressum} % Das Impressum wird mit |\makeimpressum| erzeugt. Die % notwendigen Angaben sind in der Pr"aambel zu machen, dazu % ein Beispiel: % \begin{quote} % \begin{verbatim} % \documentclass{journal} % \usepackage{DasBlatt} % \editor{Das Herausgeberkollektiv} % \address{Zeitungsstra"se 23\andline % 9999 Musterdorf} % \layout{S.~Dali} % \circulation{314} % \staff{Das Redaktionskollektiv} % \email{blatt\@journal.de} % % \begin{document} % \begin{titlepage} % \makeimpressum % \end{titlepage} % ... % \end{document} % \end{verbatim} % \end{quote} % Der |\makeimpressum|-Befehl kann nat"urlich von Optionen % eigenst"andig umdefiniert werden. % % \subsubsection{Das Editorial} % Hierf"ur steht eine {\tt editorial}-Umgebung zur Verf"ugung. % Ihr konkretes Aussehen sollte von weiteren Optionen bestimmt % werden, da die vordefinierte L"osung nicht sehr ansprechend ist. % % \subsection{Rubriken} % Mit |\rubrik{|{\em name}|}| wird eine neue Rubrik % er"ofnet. Das zeigt sich aber nicht im Text, solange nicht % weitere Style-Optionen daf"ur sorgen. Ein Eintrag im % {\tt toc}-file erfolgt ebenfalls. % % \subsection{Das {\tt article}-environment} % Sie starten einen Artikel mit % \begin{quote} % |\begin{article}|\\ % | | % | \maketitle| oder |\suppresstitle| % \end{quote} % oder % \begin{quote} % |\begin{article}|\\ % | \begin{preamble}|\\ % | ...|\\ % | \end{preamble}| % \end{quote} % Dabei sollten in der Pr"aambel folgende Angaben enthalten sein: % \begin{itemize} % \item |\title{...}| % \item Optional gibt es auch |\subtitle{...}| % \item |\author{...}| % \item Ebenfalls nicht zwingend vorgeschrieben ist % |\date{...}|, was auf |\today| voreingestellt ist. % \item |\shortabstract{...}| dient der Angabe eines Eintrages % f"ur ein kommentiertes Inhaltsverzeichnis. Die Angaben werden % nicht an Ort und Stelle gedruck! % \item |\headline{...}|. dient der Angabe eines Kopfzeileneintrages. % \item |\thanks| und |\and| stehen wie "ublich zur Verf"ugung. % \end{itemize} % Die Angaben zu Titel, Autor und Datum stehen ebenfalls f"ur diverse % Inhaltsverzeichnisse zur Verf"ugung. % % Das Ende eines Artikels wird durch % \begin{quote} % |\end{article}| % \end{quote} % markiert. % % Innerhalb der Umgebung ist alles so wie im article-style: % Es steht ein |abstract|-environment % zur Verf"ugung und mit |\tableofcontents| kann % ein lokales Inhaltsverzeichnis erstellt werden. % % Der Titel des Artikels wird wie "ublich mit |\maketitle| % an der Stelle erzeugt, an der Sie es f"ur richtig halten. % \begin{quote} % \textbf{Warnung:} Ein Figurenverzeichnis, Tabellenverzeichnis, etc.\ % werden noch nicht unterst"utzt: % \end{quote} % % Als ein weiteres Schmankerl gibt es noch ein paar Hooks. % Mit |\AtBeginArticle| und |\AtEndArticle| kann man Code zur % regelm"a"sigen Ausf"uhrung zu Beginn und Ende eines Artikels % bestimmen. Mit |\AfterPreamble| kann man Code im unmittelbaren % Anschlu"s an die Pr"aambel ausf"uhren lassen. % % \subsection{Bilder} % Es steht eine {\tt photo}-Umgebung zur Verf"ugung. Die Verwendung % ist folgendem Beispiel zu entnehmen: % \begin{quote} % \begin{verbatim} % \begin{photo}[5cm,3cm]{Kanzler} % Der Kanzler in der Riege seiner Minister. % \end{photo} % \end{verbatim} % \end{quote} % % Dies erzeugt einen Rahmen von 5cm~Breite und 3cm~H"ohe, in dem % das Wort Kanzler anzeigt, welches Photo noch einzukleben ist. % Innerhalb der Umgebung wird der Text f"ur die Unterzeile des % Photos angegeben. % % \begin{quote} % \textbf{Hinweis:} Photos sind Floats. % \end{quote} % % \Section{Implementierung} % \subsection{Identifikation und Grundlegung} % Eine jede Dokumentenklasse sollte sich identifizieren: % \begin{macrocode} \NeedsTeXFormat{LaTeX2e}[1994/06/01] \ProvidesClass{journal}[\FileDate\space Version: \FileVersion\space Local LaTeX Class] % \end{macrocode} % Die \cls{journal}-Klasse ist eine Erweiterung von \cls{article} % und leitet Optionen einfach weiter. % \begin{macrocode} \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} \ProcessOptions \LoadClass{article} % \end{macrocode} % % \subsection{Das Impressum} % Folgende Macros dienen der "Ubergabe von Informationen: % \begin{macrocode} \newcommand{\editor}[1]{\long\gdef\@editor{#1}} \newcommand{\address}[1]{\long\gdef\@address{#1}} \newcommand{\layout}[1]{\long\gdef\@layout{#1}} \newcommand{\circulation}[1]{\gdef\@circulation{#1}} \newcommand{\staff}[1]{\long\gdef\@staff{#1}} \newcommand{\email}[1]{\long\gdef\@email{#1}} % \end{macrocode} % Vordefiniert ist: % \begin{macrocode} \editor{} \address{} \layout{} \circulation{} \staff{} \email{} % \end{macrocode} % Die konkrete Gestalt des Impressums legen wir vorl"aufig fest. % Bessere Ideen sollte ein Paket f"ur jede Zeitung eigenst"andig % implementieren. % \begin{macrocode} \newcommand{\andline}{\\ &} \newcommand{\editorname}{Herausgeber} \newcommand{\staffname}{Redaktion} \newcommand{\addressname}{Anschrift} \newcommand{\circulationname}{Auf\kern0pt lage} \newcommand{\layoutname}{Layout} \newcommand{\emailname}{Email} \newcommand{\makeimpressum}{\par\noindent \framebox[\columnwidth][c]{\begin{tabular}{ll} \editorname : & \@editor\\[0.1em] \staffname : & \@staff\\[0.1em] \addressname : & \@address\\[0.1em] \circulationname : & \@circulation \end{tabular}}\par} % \end{macrocode} % % \subsection{Die Titelseite} % Auch hier nur ein Vorschlag: % \begin{macrocode} \renewenvironment{titlepage}{% \begingroup \let\help@@=\relax \if@twocolumn \onecolumn \let\help@@=\twocolumn \fi \setcounter{page}{1}% \thispagestyle{empty}% \hbox to \textwidth\bgroup \vbox to \textheight\bgroup \@begin@titlepage }{% \@end@titlepage \egroup \egroup \newpage \help@@ \endgroup \setcounter{page}{2}% } % \end{macrocode} % mit den langweiligen Voreinstellungen: % \begin{macrocode} \newcommand{\@begin@titlepage}{\relax} \newcommand{\@end@titlepage}{\relax} % \end{macrocode} % % \subsection{Inhaltsverzeichnisse} % Zun"achst die Counter. Wir f"uhren Rubriken ein: % \begin{macrocode} \newcounter{rubrik} \renewcommand{\therubrik}{\@Roman\c@rubrik} \newcommand{\rubrik}[1]{\refstepcounter{rubrik}% \addcontentsline{toc}{rubric}{\protect\number@{\therubrik}{#1}}% \def\@rubrik{#1}} % \end{macrocode} % Damit steht die aktuelle Rubrik stets mit |\@rubrik| zur % Verf"ugung. % Au"serdem z"ahlen wir die einzelnen Artikel. Daf"ur beginnt % dann in jedem Artikel die Abschnittsz"ahlung von vorn. % \begin{macrocode} \newcounter{article} \renewcommand{\thearticle}{\@arabic\c@article} \newcounter{@article} \@newctr{part}[article] \@newctr{section}[article] % \end{macrocode} % Interna: % \begin{macrocode} \renewcommand{\@pnumwidth}{1.55em} \renewcommand{\@tocrmarg}{2.55em} \renewcommand{\@dotsep}{4.5} \setcounter{tocdepth}{2} % \end{macrocode} % Lokale Inhaltsverzeichnisse sehen bei uns so aus: % \begin{macrocode} \renewcommand{\contentsname}{Inhaltsverzeichnis} % <---------- \renewcommand{\tableofcontents}{\section*{\contentsname} \setcounter{@article}{0} \@starttoc{toc} \vskip 1em} % \end{macrocode} % Daf"ur ein paar Hilfsmittel: % \begin{macrocode} \newcommand{\l@article}[2]{\stepcounter{@article}} \renewcommand{\l@part}[2]{\ifnum\c@article=\c@@article \addpenalty{\@secpenalty} \addvspace{2.25em plus 1pt} \begingroup \@tempdima 3em \parindent \z@ \rightskip \@pnumwidth \parfillskip -\@pnumwidth {\large \bf \leavevmode #1\hfil \hbox to\@pnumwidth{\hss #2}}\par \nobreak \endgroup \fi} \renewcommand{\l@section}[2]{\ifnum\c@article=\c@@article \addpenalty{\@secpenalty} \addvspace{1.0em plus 1pt} \@tempdima 1.5em \begingroup \parindent \z@ \rightskip \@pnumwidth \parfillskip -\@pnumwidth \bf \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip #1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss #2}\par \endgroup \fi} % \end{macrocode} % F"ur die kleineren Einheiten: % \begin{macrocode} \renewcommand{\l@subsection}[2]{\ifnum\c@article=\c@@article \@dottedtocline{2}{1.5em}{2.3em}{#1}{#2}\fi} \renewcommand{\l@subsubsection}[2]{\ifnum\c@article=\c@@article \@dottedtocline{3}{3.8em}{3.2em}{#1}{#2}\fi} \renewcommand{\l@paragraph}[2]{\ifnum\c@article=\c@@article \@dottedtocline{4}{7.0em}{4.1em}{#1}{#2}\fi} \renewcommand{\l@subparagraph}[2]{\ifnum\c@article=\c@@article \@dottedtocline{5}{10em}{5em}{#1}{#2}\fi} % \end{macrocode} % Und die Rubriken: % \begin{macrocode} \newcommand{\l@rubrik}[2]{} % \end{macrocode} % F"ur die gro"sen Inhaltsverzeichnisse nur zwei Vorschl"age: % Ein unkommentiertes Inhaltsverzeichnis: % \begin{macrocode} \newcommand{\uncommentedcontentsfont}{\titlefont} \newcommand{\uncommentedname}{Inhalt} % <------------------------- \newcommand{\uncommentedcontents}{\begingroup \def\number@##1{} \def\title@##1{\textbf{##1}} \def\subtitle@##1{} \def\author@##1{} \def\date@##1{} \def\headline@##1{} \long\def\shortabstract@##1{} \def\l@rubrik##1##2{} \long\def\l@article##1##2{\noindent{##1}~\hfill{##2}\@@par} \def\l@part##1##2{} \def\l@section##1##2{} \def\l@subsection##1##2{} \def\l@subsubsection##1##2{} \def\l@paragraph##1##2{} \def\l@subparagraph##1##2{} \noindent{\uncommentedcontentsfont \uncommentedname}\par\vskip 0.5em \@starttoc{toc} \vspace{1em} \endgroup} % \end{macrocode} % Und hier ein kommentiertes Inhaltsverzeichnis: % \begin{macrocode} \newcommand\commentedcontentsfont{\titlefont} \newcommand\commentedname{Inhalt} % <-------------------------- \newcommand\commentedcontents{\begingroup \parindent 0pt \parskip 2pt \def\number@##1{} \def\title@##1{\textbf{##1}\ignorespaces} \def\subtitle@##1{\ignorespaces} \def\author@##1{{\def\@@help{##1}% \if\@@help\@empty\else , von {\sc ##1}.\ \ \fi}} \def\date@##1{} \def\headline@##1{} \long\def\shortabstract@##1{{\long\def\@@help{##1}% \if\@@help\@empty\else\@@par{##1}\ignorespaces\fi}} \def\l@rubrik##1##2{} \long\def\l@article##1##2{\noindent{##1}~% {\parfillskip=0pt\hfill{##2}\@@par}\medskip} \def\l@part##1##2{} \def\l@section##1##2{} \def\l@subsection##1##2{} \def\l@subsubsection##1##2{} \def\l@paragraph##1##2{} \def\l@subparagraph##1##2{} \noindent{\commentedcontentsfont \commentedname}\vskip 0.5em \@starttoc{toc} \vspace{1em} \endgroup} % \end{macrocode} % % \subsection{Ein Editorial-environment} % Kein Kommentar: % \begin{macrocode} \newcommand{\editorialname}{Vorwort} \newenvironment{editorial}{% \begingroup \begin{center}\Large \textbf{\editorialname}\end{center}\par\noindent \begin{quote} }{% \end{quote} \endgroup} % \end{macrocode} % % \subsection{Das \env{article}-environment} % Abst"ande vor und hinter Artikeln. Einzelne Style-Optionen % k"onnen kompliziertere Formatierungen definieren. % \begin{macrocode} \newcommand{\@begin@article}{\vspace{1.5em}} \newcommand{\@end@article}{\par} % \end{macrocode} % Ganz analog unsere Hooks. % \begin{macrocode} \newcommand{\at@begin@article}{} \newcommand{\at@end@article}{} \newcommand{\after@preamble}{} \newcommand{\AtBeginArticle}{\g@addto@macro\at@begin@article} \newcommand{\AtEndArticle}{\g@addto@macro\at@end@article} \newcommand{\AfterPreamble}{\g@addto@macro\after@preamble} % \end{macrocode} % Zum "Ubergeben eines kurzen Kommentars an das Inhaltsverzeichnis: % \begin{macrocode} \newcommand*{\shortabstract}[2][]{% \long\def\@tempa{#1}% \long\def\@tempb{}% \ifx\@tempa\@tempb \long\gdef\@@shortabstract{#2}% \long\gdef\@shortabstract{#2}% \else \long\gdef\@@shortabstract{#1}% \long\gdef\@shortabstract{#2}% \fi } % \end{macrocode} % Jetzt endlich der Vorspann f"ur jeden Artikel: % \begin{macrocode} \newcommand{\@gdeftwo}[4]{% \def\@tempa{#3}% \def\@tempb{}% \ifx\@tempa\@tempb \gdef#1{#4}\gdef#2{#4}% \else \gdef#1{#3}\gdef#2{#4}% \fi } \renewcommand{\title}[2][]{% \@gdeftwo\@@title\@title{#1}{#2}% } \renewcommand{\author}[2][]{% \@gdeftwo\@@author\@author{#1}{#2}% } \renewcommand{\date}[2][]{% \@gdeftwo\@@date\@date{#1}{#2}% } \newcommand{\subtitle}[2][]{% \@gdeftwo\@@subtitle\@subtitle{#1}{#2}% } \newcommand{\headline}[2][]{% \@gdeftwo\@@headline\@headline{#1}{#2}% } \newcommand{\@article}{\@begin@article \title{}% \subtitle{}% \author{}% \shortabstract{}% \headline{}% \gdef\@thanks{}% \date{}% } \newenvironment{article}{% \refstepcounter{article} \begingroup \global\@preamblefalse \@article \at@begin@article }{% \at@end@article \@end@article \endgroup} % \end{macrocode} % Die Preambel: % \begin{macrocode} \newcommand{\article@write}{% \begingroup \addcontentsline{toc}{article}{\protect\number@{\thearticle}% \protect\title@{\@@title}\protect\subtitle@{\@@subtitle}% \protect\author@{\@@author}\protect\date@{\@@date}% \protect\shortabstract@{\@@shortabstract}% \protect\headline@{\@@headline}}% \endgroup } \newif\if@preamble \newenvironment{preamble}{% }{% \suppresstitle } \newcommand{\suppresstitle}{% \if@preamble \def\next{\relax}% \else \def\next{% \global\@preambletrue \article@write \after@preamble }% \fi \next } % \end{macrocode} % % \subsection{Bilder} % Wir f"uhren nach vorgeschriebener Art eine Float-Umgebung ein: % \begin{macrocode} \def\fps@photo{htb} \def\ftype@photo{7} \def\ext@photo{top} \def\fnum@photo{} \def\photo[#1,#2]#3{\@float{photo}\fbox{% \hbox to #1{% \hfill \vbox to #2{% \vfill #3 \vfill} \hfill}} \begin{tabular}{p{#1}}} \def\endphoto{\end{tabular}\end@float} % \end{macrocode} % % \subsection{\protect"Uberschriften} % \begin{macrocode} \newcommand{\articlemark}[1]{\relax} \renewcommand{\maketitle}{% \suppresstitle \begingroup \setcounter{footnote}{0}% \def\thefootnote{\fnsymbol{footnote}}% \def\@makefnmark{\hbox to 0pt{$^{\@thefnmark}$\hss}}% \ifx\@empty\@headline \articlemark{\@title}% \else \articlemark{\@headline}% \fi \@maketitle\@thanks \endgroup \setcounter{footnote}{0}% \let\maketitle\relax \let\@maketitle\relax \gdef\@thanks{}\let\thanks\relax \nopagebreak\noindent } % \end{macrocode} % Au"serdem % \begin{macrocode} \renewcommand{\@maketitle}{% \vbox{% \begin{center}% \noindent {\titlefont\@title\par}% {\ifx\@empty\@subtitle \else \vskip 0.4em \noindent {\subtitlefont\@subtitle\par}% \fi}% {\ifx\@empty\@author \else \vskip 0.4em \noindent {\authorfont\begin{tabular}[t]{@{}c@{}}\@author\end{tabular}\par}% \fi}% {\ifx\@empty\@date \else \vskip 0.4em \noindent {\datefont\begin{tabular}[t]{c}\@date\end{tabular}\par}% \fi}% \end{center}% }% \clubpenalty \@M \ignorespaces \noindent } % \end{macrocode} % Dabei haben wir die folgenden Optionen zu initialisieren: % \begin{macrocode} \newcommand{\titlefont}{\Large\bfseries} \newcommand{\subtitlefont}{\large} \newcommand{\authorfont}{\large} \newcommand{\datefont}{\large} % \end{macrocode} % Und weil wir einiges ge"andert haben, m"ussen wir auch |\and| % neu definieren: % \begin{macrocode} \renewcommand{\and}{\protect\quad\protect\&\protect\quad} % \end{macrocode} % \subsection{Zusammenfassungen} % \begin{macrocode} \renewcommand{\abstractname}{Zusammenfassung} % <---------- \renewenvironment{abstract}{% \if@twocolumn \section*{\abstractname} \else \small \begin{center} \textbf{\abstractname\vspace{-.5em}\vspace{0pt}} \end{center} \quotation \fi }{% \if@twocolumn\else \endquotation \fi} % \end{macrocode} % % % \iffalse ********************************************* METACOMMENT % Die folgende Section erscheint nicht in der Dokumentation! % ------------------------------------------------------------------ % \Section{Die CharacterTable} % Das hier dient nur dazu, die CharacterTable aus den generierten % Dateien rauszuhalten. % \begin{macrocode} %<*installation> \endinput % % \end{macrocode} % |\endinput| veranla"st |\generateFile| zum Abbruch der % Bearbeitung. % ------------------------------------------------------------------ % Ab jetzt wieder im Ausdruck! % ********************************************** END METACOMMENT \fi % %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z %% Digits \0\1\2\3\4\5\6\7\8\9 %% Exclamation \! Double quote \" Hash (number) \# %% Dollar \$ Percent \% Ampersand \& %% Acute accent \' Left paren \( Right paren \) %% Asterisk \* Plus \+ Comma \, %% Minus \- Point \. Solidus \/ %% Colon \: Semicolon \; Less than \< %% Equals \= Greater than \> Question mark \? %% Commercial at \@ Left bracket \[ Backslash \\ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} %% % \Finale