summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/schule/syntaxdi.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-08-23 23:12:12 +0000
committerKarl Berry <karl@freefriends.org>2018-08-23 23:12:12 +0000
commit3562d0088e82c4d4c9086f03b6d0284a9af2f8f9 (patch)
treee1677d059d3bbb81d949159a778776709743a716 /Master/texmf-dist/tex/latex/schule/syntaxdi.sty
parentaca434905fcf7943059a6c07ec141bf7de7e7ac4 (diff)
schule (23aug18)
git-svn-id: svn://tug.org/texlive/trunk@48471 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/schule/syntaxdi.sty')
-rw-r--r--Master/texmf-dist/tex/latex/schule/syntaxdi.sty119
1 files changed, 119 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/schule/syntaxdi.sty b/Master/texmf-dist/tex/latex/schule/syntaxdi.sty
new file mode 100644
index 00000000000..8a7c3a3b4a6
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/schule/syntaxdi.sty
@@ -0,0 +1,119 @@
+% \subsection{Das Paket \texttt{syntaxdi}}
+% Die ausführliche Beschreibung des Pakets ist in der
+% Paketbeschreibung (\ref{paket:syntaxdi}) zu finden.
+%
+% Beginn der Definition, Voraussetzung der \LaTeXe{} Version und die
+% eigene Identifizierung
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{syntaxdi}[2014/11/18 v0.5 %
+ Syntaxdiagramme mit TikZ]
+% \end{macrocode}
+% Einbinden der benötigten Pakete
+% \begin{macrocode}
+\RequirePackage{tikz}
+\usetikzlibrary{chains}
+\usetikzlibrary{arrows,shadows,shapes.misc,scopes}
+% \end{macrocode}
+%
+% \subsubsection{TikZ-Definitionen}
+%
+% Definition für nicht terminale Symbole für Syntaxdiagramme in TikZ
+% \begin{macrocode}
+\tikzset{
+ fnonterminal/.style={
+ rectangle,
+ minimum size=6mm,
+ text height=1.5ex,text depth=.25ex,
+ very thick,
+ draw=red!50!black!50, % 50% red und 50% black,
+ top color=white, % oben: weisser Schatten ...
+ bottom color=red!50!black!20, % unten: anderer Schatten
+ font=\itshape
+ }
+}
+\tikzset{
+ nonterminal/.style={
+ % Die Form:
+ rectangle,
+ % Die Größe:
+ minimum size=6mm,
+ text height=1.5ex,text depth=.25ex,
+ % Der Rand:
+ very thick,
+ draw=red!50!black!50, % 50% red und 50% black,
+ % gemischt mit 50% white
+ % Füllfarbe:
+ top color=white, % oben: weisser Schatten ...
+ bottom color=red!50!black!20, % unten: anderer Schatten
+ % Font
+ font=\itshape
+ }
+}
+% \end{macrocode}
+%
+% Definitionen für terminale Symbole im Syntaxdiagramm in TikZ
+% \begin{macrocode}
+\tikzset{
+ fterminal/.style={
+ rounded rectangle,
+ minimum size=6mm,
+ very thick,draw=black!50,
+ text height=1.5ex,text depth=.25ex,
+ top color=white,bottom color=black!20,
+ font=\ttfamily
+ }
+}
+\tikzset{
+ terminal/.style={
+ % Die Form:
+ rounded rectangle,
+ minimum size=6mm,
+ % Der Rest ...
+ very thick,draw=black!50,
+ text height=1.5ex,text depth=.25ex,
+ top color=white,bottom color=black!20,
+ font=\ttfamily
+ }
+}
+% \end{macrocode}
+%
+% Definitionen eines Punktes für das Syntaxdiagramm in TikZ
+% \begin{macrocode}
+\tikzset{
+ point/.style={
+ circle,
+ inner sep=0pt,
+ minimum size=0pt
+ }
+}
+% \end{macrocode}
+%
+% Definition eines Endpunktes für das Syntaxdiagramm in TikZ
+% \begin{macrocode}
+\tikzset{
+ endpoint/.style={
+ circle,
+ inner sep=0pt,
+ minimum size=0pt
+ }
+}
+% \end{macrocode}
+%
+% Definition der Syntaxdiagramme in TikZ
+% \begin{macrocode}
+\tikzset{
+ syntaxdiagramm/.style={
+ start chain,
+ node distance=7mm and 5mm,
+ every node/.style={on chain},
+ nonterminal/.append style={join=by ->},
+ terminal/.append style={join=by ->},
+ endpoint/.append style={join=by ->},
+ point/.append style={join=by -},
+ skip loop/.style={to path={-- ++(0,-.5) -| (\tikztotarget)}}
+ }
+}
+% \end{macrocode}
+%
+% Ende des Pakets \texttt{syntaxdi}