summaryrefslogtreecommitdiff
path: root/info/german/stammtisch/wuppertal/stybesch/makros
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /info/german/stammtisch/wuppertal/stybesch/makros
Initial commit
Diffstat (limited to 'info/german/stammtisch/wuppertal/stybesch/makros')
-rw-r--r--info/german/stammtisch/wuppertal/stybesch/makros/baum.sty121
l---------info/german/stammtisch/wuppertal/stybesch/makros/german.MISSING1
-rw-r--r--info/german/stammtisch/wuppertal/stybesch/makros/sbmakro.tex383
3 files changed, 505 insertions, 0 deletions
diff --git a/info/german/stammtisch/wuppertal/stybesch/makros/baum.sty b/info/german/stammtisch/wuppertal/stybesch/makros/baum.sty
new file mode 100644
index 0000000000..f2f96a4b1b
--- /dev/null
+++ b/info/german/stammtisch/wuppertal/stybesch/makros/baum.sty
@@ -0,0 +1,121 @@
+\def\fileversion{1.2}
+\def\filedate{94/03/11}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% PiCTeX-Makros zum Satz von Verzeichnisb"aumen %
+% von Andreas Schrell, Wuppertal %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%% Syntax (EBNF-Derivat): %%%%%
+%%%%%%%%%%%%%%%%%%%%
+% <baum> := %
+%% %
+% \baum <name> %
+% structure %
+% <struktur> %
+% / at x y %
+%%%%%%%%%%%%%%%%%%%%
+% <struktur> := %
+%% %
+% \ordner <name> %
+% <struktur> %
+% \endordner %
+%% %
+% | %
+%% %
+% \datei <name> %
+% <struktur> %
+%% %
+% | <empty> %
+%%%%%%%%%%%%%%%%%%
+% <leer> := %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% <name> := <alles was in einer \mbox stehen kann, %
+% also z.B. kein einfacher _ \ % etc. > %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newdimen\OAx \newdimen\OAy \newbox\Obox \newdimen\GY
+\newdimen\Oleng \newdimen\GX \newdimen\Odown
+
+\newif\ifvariing \variingfalse
+\def\VariablerBaum{\variingtrue}
+\def\FesterBaum{\variingfalse}
+
+\def\Osep{0.5\unitlength}
+\def\Oright{20\unitlength}
+\def\Oinsert{15\unitlength}
+
+\def\Ostrut{\vphantom{/}}
+\def\Bfont{\footnotesize\bf\Ostrut}
+\def\Ofont{\footnotesize\bf\Ostrut}
+\def\Dfont{\footnotesize\rm\Ostrut}
+\def\Drule{.4pt}
+\def\Orule{1pt}
+\def\Brule{1pt}
+\def\Oboxsep{3pt}
+
+\def\_{\leavevmode \kern.06em \vbox{\hrule width.3em}\kern.06em}
+
+\def\baum #1 structure #2/ at #3 #4
+ {\put {\beginpicture
+ \fboxsep=\Oboxsep
+ \fboxrule=\Orule
+ \unitlength=1mm
+ \OAx=0mm \OAy=0mm
+ \setdimensionmode
+ \setbox\Obox\hbox{\fboxrule=\Brule\fbox{\Bfont#1}}%
+\ifvariing
+ \Odown=0pt
+\else
+ \Odown=\ht\Obox \advance\Odown by \dp\Obox
+\fi
+ \advance\Odown by \Osep
+ \Oleng=\Odown
+ \put {\box\Obox} [b] at 0mm 0mm
+ #2
+ \endpicture} at #3 #4
+}
+
+\def\ordner #1
+ {\GY=\OAy
+ \begingroup
+ \setbox\Obox\hbox{\fbox{\Ofont#1}}%
+ \global\GX=-\dp\Obox \global\advance\GX by -\ht\Obox
+\ifvariing
+ \Odown=-.5\GX \advance\Odown by \Osep
+ \advance\Oleng by -.5\GX
+\fi
+ \global\advance\OAy by -\Odown
+ \put {\vrule height\Oleng width\linethickness depth0pt}
+ [bl] at {\OAx} {\OAy}
+ \put {\vrule height\linethickness width\Oinsert depth0pt}
+ [lb] at {\OAx} {\OAy}
+ \put {\box\Obox}
+ <\Oinsert,0mm> [l] at {\OAx} {\OAy}
+\ifvariing
+ \global\advance\OAy by .5\GX
+\fi
+ \Oleng=\Odown
+ \advance\OAx by \Oright
+ \advance\Oleng by .5\GX
+}
+
+\catcode`\!=11
+\def\endordner{%
+ \global\!Xleft=\!xleft \global\!Xright=\!xright
+ \global\!Ybot=\!ybot \global\!Ytop=\!ytop
+ \endgroup
+ \!xleft=\!Xleft \!xright=\!Xright
+ \!ybot=\!Ybot \!ytop=\!Ytop
+ \Oleng=-\OAy \advance\Oleng by \GY
+\ifvariing
+ \advance\Oleng by .5\GX
+\fi
+}
+
+\catcode`\!=12
+
+\def\datei #1
+ {\fboxrule=\Drule
+ \ordner{\Dfont#1} \endordner
+ \fboxrule=\Orule}
+
+\endinput
diff --git a/info/german/stammtisch/wuppertal/stybesch/makros/german.MISSING b/info/german/stammtisch/wuppertal/stybesch/makros/german.MISSING
new file mode 120000
index 0000000000..895cdd7a94
--- /dev/null
+++ b/info/german/stammtisch/wuppertal/stybesch/makros/german.MISSING
@@ -0,0 +1 @@
+../../../../../../language/german/german.MISSING \ No newline at end of file
diff --git a/info/german/stammtisch/wuppertal/stybesch/makros/sbmakro.tex b/info/german/stammtisch/wuppertal/stybesch/makros/sbmakro.tex
new file mode 100644
index 0000000000..ed08331682
--- /dev/null
+++ b/info/german/stammtisch/wuppertal/stybesch/makros/sbmakro.tex
@@ -0,0 +1,383 @@
+\def\fileversion{1.2c}
+\def\filedate{94/03/24}
+
+%
+% Makrodatei f"ur die Realisierung der Stylebeschreibungsbefehle von
+% Stefan Pasche und Andreas Schrell, DANTE-\TeX-Stammtisch, Wuppertal.
+% Fehlermeldungen f"ur diese (unver"anderte) Datei an
+% Andreas.Schrell@FernUni-Hagen.de
+%
+
+%
+% Datei nur einmal einlesen!
+%
+\ifx\StyleName\undefined
+ \let\next\relax
+\else
+ \let\next\endinput
+\fi\next
+
+\message{^^JStylebeschreibungsmakrodatei Version \fileversion\space
+ vom \filedate.^^J^^J}
+
+%
+% \newif darf bei uns nicht \outer sein!
+%
+\makeatletter
+\def\newif#1{\count@\escapechar \escapechar\m@ne
+ \expandafter\expandafter\expandafter
+ \edef\@if#1{true}{\let\noexpand#1=\noexpand\iftrue}%
+ \expandafter\expandafter\expandafter
+ \edef\@if#1{false}{\let\noexpand#1=\noexpand\iffalse}%
+ \@if#1{false}\escapechar\count@} % the condition starts out false
+\makeatother
+
+%
+% Normalerweise wird nur eine SB-Datei ausgef"uhrt.
+%
+\newif\ifSingleBeschreibung
+\ifx\AlleDefined\undefined
+ \SingleBeschreibungtrue
+\else
+ \SingleBeschreibungfalse
+\fi
+
+\ifx\documentclass\undefined
+ \ifSingleBeschreibung
+ \documentstyle[german,twoside]{article}
+ \else
+ \documentstyle[german,twoside,xfinder]{article}
+ \fi
+\else
+ \documentclass[twoside]{article}
+ \usepackage{german}
+ \ifSingleBeschreibung\else
+ \usepackage{xfinder}
+ \fi
+\fi
+\ifSingleBeschreibung\else
+ \fields={[\DatenZeile:\Name\Rest]
+ }
+ \reademptylinefalse
+ \serienbrief{{%
+ \message{^^JDatei \Name wird bearbeitet...^^J^^J}%
+ \input{\Name}}}
+ \def\SBFiles#1{%
+ \begin{document}
+ \addressfile{#1}
+ \end{document}}
+\fi
+
+\makeatletter
+
+\newif\ifFuerPlain \FuerPlainfalse
+\newif\ifFuerLaTeX \FuerLaTeXfalse
+\newif\ifMitFonts \MitFontsfalse
+\newif\ifVRules \VRulesfalse
+
+\def\StyleName#1{%
+ \def\TEST{#1}%
+ \ifx\TEST\empty\else
+ \StyleNametrue
+ \fi
+ \def\@StyleName{#1}%
+ \def\@StyleNAME{\uppercase{#1}}}%
+\newif\ifStyleName
+
+\def\ifnotempty#1#2{%
+ \def\TEST{#1}%
+ \ifx\TEST\empty\else#2\fi}
+
+\def\InitialisiereIf#1{%
+ \expandafter\newif\csname if#1\endcsname
+ \csname #1false\endcsname}
+
+\def\ErstelleBefehl{\@ifstar{\ErstelleMit}{\ErstelleOhne}}
+
+\def\ErstelleOhne#1{%
+ \InitialisiereIf{#1}%
+ \expandafter\def\csname #1\endcsname##1{%
+ \ifnotempty{##1}{\csname #1true\endcsname}%
+ \expandafter\def\csname @#1\endcsname{##1}}}
+\def\ErstelleMit#1{%
+ \InitialisiereIf{#1}%
+ \expandafter\def\csname #1\endcsname##1{%
+ \ifnotempty{##1}{\csname #1true\endcsname}%
+ \expandafter\def\csname @#1\endcsname{##1}%
+ \notwendig{#1}}}
+
+\newdimen\MaxAutorName
+\newcount\AutorCount
+\def\StyleAutor#1 #2{%
+ \settowidth{\dimen0}{#1}%
+ \ifdim\dimen0>\MaxAutorName
+ \setlength\MaxAutorName{\dimen0}%
+ \fi
+ \csname StyleAutor\the\AutorCount\endcsname{#1}%
+ \csname StyleAutorAdresse\the\AutorCount\endcsname{#2}%
+ \advance\AutorCount by 1}
+
+\ErstelleBefehl{StyleVersion}
+\ErstelleBefehl{StyleDatum}
+\AutorCount=0
+\MaxAutorName=0pt
+\loop
+ \ErstelleBefehl{StyleAutor\the\AutorCount}
+ \ErstelleBefehl{StyleAutorAdresse\the\AutorCount}
+ \advance\AutorCount by 1
+\ifnum\AutorCount<6
+\repeat
+\AutorCount=0
+
+\ErstelleBefehl*{StyleBezugsQuelle}
+\ErstelleBefehl*{StyleDokumentation}
+\ErstelleBefehl*{StyleKurzBeschreibung}
+\ErstelleBefehl{StyleVoraussetzungen}
+\ErstelleBefehl*{StyleStichWorte}
+
+\def\StyleFuerPlain#1{%
+ \ifnum#1=1
+ \FuerPlaintrue
+ \fi}
+
+\def\StyleFuerLaTeX#1{%
+ \ifnum#1=1
+ \FuerLaTeXtrue
+ \fi}
+
+\def\StyleMitFonts#1{%
+ \ifnum#1=1
+ \MitFontstrue
+ \fi}
+
+\def\BoxSize{6pt}
+\def\BoxMit{\vrule height \BoxSize width \BoxSize depth 0pt}
+\def\BoxOhne{{\fboxrule=0.4pt\fboxsep=-\fboxrule
+ \fbox{\vbox to \BoxSize{\hbox to \BoxSize{\hss}\vss}}}}
+
+\def\BeschreibungAutor#1 #2{%
+ \BeschreibungAutorIntern{#1}
+ \BeschreibungAutorAdresse{#2}}
+
+\ErstelleBefehl*{BeschreibungDatum}
+\ErstelleBefehl*{BeschreibungAutorIntern}
+\ErstelleBefehl{BeschreibungAutorAdresse}
+
+\def\StyleFuerBeschreibung#1#2{%
+ \ifnotempty{#1}{%
+ \def\TEST{#2}\def\TESTX{sty}%
+ \ifx\TEST\TESTX
+ \makeatletter
+ \input #1.#2
+ \makeatother
+ \else
+ \input #1.#2
+ \fi
+ }}
+
+%
+% Layout
+%
+
+\evensidemargin=0mm
+\oddsidemargin=0mm
+
+\headheight=0pt
+\headsep=0pt
+
+\topmargin=0pt
+
+\textwidth=159.2mm
+\textheight=246.2mm
+
+\parindent=0pt
+\parskip=0.5\baselineskip
+
+\pagestyle{empty}
+
+\def\sfb{\ifx\undefined\sffamily\else\sffamily\fi
+ \ifx\undefined\bfseries\bf\else\bfseries\fi}
+
+%
+% Entnommen aus script.sty:
+%
+\def\labelinglabel#1{\sfb#1\hfil\sc@septext}
+\def\labeling{\@ifnextchar [{\@labeling}{\@labeling[]}}
+\def\@labeling[#1]#2{\def\sc@septext{#1}
+ \begin{list}{}{\settowidth{\labelwidth}{\sfb#2#1}
+ \setlength{\leftmargin}{\labelwidth}
+ \addtolength{\leftmargin}{\labelsep}
+ \let\makelabel\labelinglabel}}
+\def\endlabeling{\end{list}}
+
+\def\notwendig#1{%
+ \global\let\mynext\relax
+ \csname if#1\endcsname\else
+ \global\let\mynext\@@end
+ \@latexerr{SB-Makro: \expandafter
+ \string\csname #1\endcsname\space muss
+ eingetragen werden!^^J}
+ \fi\mynext}
+
+\def\notwendigor#1#2{%
+ \global\let\mynext\relax
+ {\count100=0
+ \csname if#1\endcsname
+ \advance\count100 by 1
+ \fi
+ \csname if#2\endcsname
+ \advance\count100 by 1
+ \fi
+ \ifnum\count100=0
+ \global\let\mynext\@@end
+ \@latexerr{SB-Makro:
+ \expandafter\string\csname #1\endcsname\space oder
+ \expandafter\string\csname #2\endcsname\space
+ muss eingetragen werden!^^J}
+ \fi}\mynext}
+
+\def\LeseDatum#1.#2.#3.{% ohne "ausruhen" machts TeX wieder nicht:
+ \day=#1\relax
+ \month=#2\relax
+ \year=#3\relax
+ \let\Today\today
+ \ifnum\day=0
+ \def\Today{\the\month.\the\year}%
+ \fi
+ \ifnum\month=0
+ \def\Today{\the\year}%
+ \fi
+ \ifnum\year=0
+ \def\Today{???????}%
+ \fi
+ \ifnum\year<82 \advance\year by 2000\relax\fi
+ % Wir benutzen ein TeX82. Alles <82 ist >2000!
+ % Damit funktionierts noch bis zum Jahr 2081 ;-)
+ \ifnum\year<100 \advance\year by 1900\relax\fi}
+
+\def\KonvertiereDatum#1{%
+ {\expandafter\LeseDatum#1.%
+ \xdef#1{\Today}}}
+
+\newwrite\StichFile
+
+\def\SchreibeStichWorte{%
+ \immediate\openout\StichFile=\jobname.stw
+ \edef\@StyleStichWorteSp{\@StyleStichWorte\space}%
+ \expandafter\SchreibeStichWort\@StyleStichWorteSp 0 }
+
+\def\StichClose{\immediate\closeout\StichFile}
+
+\def\SchreibeStichWort #1 {%
+ \def\TEST{#1}%
+ \def\RTEST{0}%
+ \ifx\TEST\RTEST
+ \let\Snext\StichClose
+ \else
+ \immediate\write\StichFile{#1\string\dotfill\space\jobname}%
+ \let\Snext\SchreibeStichWort
+ \fi
+ \Snext}
+
+\def\ps@stylebesch{%
+ \def\@evenhead{\hfil}%
+ \def\@oddhead{\hfil}%
+ \def\@evenfoot{\hfil\@StyleName\qquad -- \thepage\ --\hfil}%
+ \let\@oddfoot\@evenfoot}
+
+\pagestyle{stylebesch}
+
+\newif\ifWeiter
+
+\def\Beschreibung{%
+ \notwendig{StyleName}
+ \notwendigor{StyleVersion}{StyleDatum}
+ \notwendig{StyleAutor0}
+ \notwendig{StyleBezugsQuelle}
+ \notwendig{StyleDokumentation}
+ \notwendig{StyleStichWorte}
+ \notwendig{StyleKurzBeschreibung}
+ \notwendig{BeschreibungDatum}
+ \notwendig{BeschreibungAutorIntern}
+ \ifSingleBeschreibung
+ \begin{document}
+ \else
+ \cleardoublepage
+ \fi
+ \SchreibeStichWorte
+ \begin{flushright}
+ \Huge\sfb \@StyleNAME
+ \end{flushright}
+ \thispagestyle{empty}
+ \begin{labeling}[ :]{Kurzbeschreibung}
+ \item[Bezeichnung] \@StyleName
+ \item[Version] \ifStyleVersion\@StyleVersion
+ \ifStyleDatum\ vom \fi\fi
+ \ifStyleDatum
+ \KonvertiereDatum\@StyleDatum
+ \@StyleDatum
+ \fi
+ \item[Autor]
+ \AutorCount=0
+ \loop
+ \leavevmode\hbox to \MaxAutorName{\csname
+ @StyleAutor\the\AutorCount\endcsname\hfil}%
+ \expandafter\ifx\csname @StyleAutorAdresse\the\AutorCount
+ \endcsname\relax\else
+ \ifVRules
+ \ \vrule\
+ \else
+ \hskip 1cm
+ \fi
+ \vtop{\def\\{\egroup\hbox\bgroup\strut\ignorespaces}
+ \hbox\bgroup\strut
+ \csname @StyleAutorAdresse\the\AutorCount\endcsname
+ \egroup}
+ \fi
+ \advance\AutorCount by 1
+ {\expandafter\ifx\csname @StyleAutor\the\AutorCount\endcsname
+ \relax\global\Weiterfalse\else\global\Weitertrue\fi}
+ \ifWeiter
+ \vskip0pt
+ \repeat
+ \item[Bezugsquelle] \@StyleBezugsQuelle
+ \item[Dokumentation] \@StyleDokumentation
+ \item[Voraussetzungen]
+ {\sc Plain}-\TeX\ \ifFuerPlain\BoxMit\else\BoxOhne\fi\hskip1cm
+ \LaTeX\ \ifFuerLaTeX\BoxMit\else\BoxOhne\fi\hskip1cm
+ Mit Fonts \ifMitFonts\BoxMit\else\BoxOhne\fi
+ \ifStyleVoraussetzungen\\
+ \@StyleVoraussetzungen
+ \fi
+ \item[Stichworte] (\,\@StyleStichWorte\,)
+ \item[Kurzbeschreibung] \@StyleKurzBeschreibung
+ \vskip 7mm
+ \item[Beschreibung] \@BeschreibungAutorIntern
+ \ifBeschreibungAutorAdresse
+ \ifVRules
+ \ \vrule\
+ \else
+ \hskip 1cm
+ \fi
+ \vtop{\def\\{\egroup\hbox\bgroup\strut\ignorespaces}
+ \hbox\bgroup\strut
+ \@BeschreibungAutorAdresse
+ \egroup}
+ \fi
+ \hfill
+ \KonvertiereDatum\@BeschreibungDatum
+ \@BeschreibungDatum
+ \end{labeling}\par}
+
+\def\endBeschreibung{%
+ \ifSingleBeschreibung
+ \par\endgroup
+ \def\@currenvir{document}
+ \def\next{\end{document}}
+ \else
+ \def\next{\par\ifodd\c@page\clearpage\hbox{}\fi}
+ \fi\next}
+
+\makeatother
+
+\endinput