diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /info/german/stammtisch/wuppertal/stybesch/makros |
Initial commit
Diffstat (limited to 'info/german/stammtisch/wuppertal/stybesch/makros')
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 |