summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/syntaxdi
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-10-17 21:01:27 +0000
committerKarl Berry <karl@freefriends.org>2020-10-17 21:01:27 +0000
commit0e5e2f0d8a0472c17785e552e27fa41b0930c74c (patch)
tree74cc3b9c5fba575cb5f2252b08ee07dbaa7cf71f /Master/texmf-dist/doc/latex/syntaxdi
parentcb284828fadb6a1c28889b823132099c337ceea6 (diff)
syntaxdi (17oct20)
git-svn-id: svn://tug.org/texlive/trunk@56685 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/syntaxdi')
-rw-r--r--Master/texmf-dist/doc/latex/syntaxdi/README46
-rw-r--r--Master/texmf-dist/doc/latex/syntaxdi/syntaxdi.pdfbin0 -> 187370 bytes
-rw-r--r--Master/texmf-dist/doc/latex/syntaxdi/syntaxdi.tex89
3 files changed, 135 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/syntaxdi/README b/Master/texmf-dist/doc/latex/syntaxdi/README
new file mode 100644
index 00000000000..349c0191084
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/syntaxdi/README
@@ -0,0 +1,46 @@
+PACKAGE `syntaxdi'
+========================================================================
+The 'syntaxdi' package provides styles for TikZ to create special syntax
+diagrams. These are known as railroad diagrams. The package was
+originally part of the 'schule' package.
+Cf. pgfmanual.pdf
+5 Tutorial: Diagrams as Simple Graphs (pp.66-74)
+------------------------------------------------------------------------
+Version: 0.8.2
+Last change: 2020/10/16
+
+The package is still a work in progress. Open development steps are
+shown in the documentation.
+------------------------------------------------------------------------
+
+LICENCE
+========================================================================
+Copyright (C)
+2010, 2011, 2012, 2013, 2014, 2018, 2020
+Johannes Pieper, André Hilbig, Johannes Kuhaupt, André Hilbig,
+Daniel Spittank, Ludger Humbert, Adrian Salamon
+
+(schulepaket@johpie.de)
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2005/12/01 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainer of this work is Johannes Pieper.
+--------------------------------------------------------------------------
+The main code file of the package syntaxdi is:
+ syntaxdi.sty
+--------------------------------------------------------------------------
+The package syntaxdi consists of the documentation files:
+ README
+ syntaxdi.tex, syntaxdi.pdf
+--------------------------------------------------------------------------
+If you have any ideas, questions, suggestions or bugs to report, please
+feel free to contact me.
+--------------------------------------------------------------------------
diff --git a/Master/texmf-dist/doc/latex/syntaxdi/syntaxdi.pdf b/Master/texmf-dist/doc/latex/syntaxdi/syntaxdi.pdf
new file mode 100644
index 00000000000..495c09e362b
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/syntaxdi/syntaxdi.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/syntaxdi/syntaxdi.tex b/Master/texmf-dist/doc/latex/syntaxdi/syntaxdi.tex
new file mode 100644
index 00000000000..1adbbd6cbc2
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/syntaxdi/syntaxdi.tex
@@ -0,0 +1,89 @@
+\documentclass[a4paper,add-index]{cnltx-doc}
+
+\usepackage{syntaxdi}
+
+\usepackage{hyperref}
+
+\setcnltx{
+ name = syntaxdi ,
+ title = syntaxdi ,
+ version = 0.8.2 ,
+ date = 2020-10-16 ,
+ subtitle = {\LaTeX-Paket zum Setzen von Syntaxdiagrammen in Form von Railroaddiagrammen},
+ info = Paketdokumentation ,
+ authors = {Johannes Pieper, Johannes Kuhaupt, Ludger Humbert, Andr\'e Hilbig, Adrian Salamon, Daniel Spittank} ,
+ email = schulepaket@johpie.de ,
+ url = https://ddi.uni-wuppertal.de/material/schulepaket.html ,
+ abstract = {%
+ Mit diesem Paket werden Styles für TikZ bereit gestellt, um spezielle Syntaxdiagramme erstellen zu können. Diese sind auch als Railroaddiagramme bekannt und wurden von Niklaus Wirth zur Dokumentation der Syntax von Pascal eingeführt. In der Dokumentation des Pakets \pkg{pgf} wird die Erstellung in dem Tutorium \textbf{Diagrams as Simple Graphs} (S.~66--74) Schritt für Schritt beschrieben. Das Paket war vormals Teil des Schulepakets.
+ } ,
+ index-setup = { othercode=\footnotesize,level=\section},
+ add-listings-options= {
+ morekeywords={
+ }
+ },
+}
+
+\begin{document}
+
+\section{Syntaxdiagramme}
+\label{paket:syntaxdi}
+
+Mit den Paketen \pkg{syntaxdi} und \pkg{tikz} ist es möglich, spezielle Syntaxdiagramme als Railroaddiagramme zu erstellen. Dazu sind Elemente definiert worden, die automatisch durch Pfeile miteinander verbunden werden.
+
+Hierzu definiert das Paket \pkg{syntaxdi} einige TikZ-Stile, die einfach genutzt werden können.
+
+\subsection{TikZ-Stile}
+\begin{options}
+ \opt{nonterminal} definiert ein Non-Terminal.
+ \opt{terminal} definiert ein Terminal.
+ \opt{fnonterminal} definiert ein Non-Terminal ohne automatische Verzweigung.
+ \opt{fterminal} definiert ein Terminal ohne automatische Verzweigung.
+ \opt{point} definiert einen Punkt, der ohne ankommenden Pfeil gezeichnet wird.
+ \opt{endpoint} definiert einen Punkt, der mit ankommenden Pfeil gezeichnet wird.
+\end{options}
+
+\subsection{Beispiel}
+
+Damit kann z.\,B. das Syntaxdiagramm für eine Mehrfachverzweigung in der Programmiersprache Python in Form eines Railroaddiagramms dargestellt werden.
+
+\begin{example}[gobble=0]
+\begin{tikzpicture}[syntaxdiagramm]
+ \node [] {};
+ \node [terminal] {if};
+ \node [nonterminal] {Bedingung};
+ \node [terminal] {:};
+ \node [nonterminal] {Anweisungsblock};
+ \node (ersteReiheEnde) [point] {};
+ \node (ersteReiheEndeUnten) [point, below=of ersteReiheEnde] {};
+ \node (zweiteReiheStartOben) [point, left=of ersteReiheEndeUnten,
+ xshift=-75mm] {};
+ \node (zweiteReiheStart) [point, below=of zweiteReiheStartOben] {};
+ {
+ [start chain=elif going right]
+ \chainin (zweiteReiheStart);
+ \node [terminal] {elif};
+ \node [nonterminal] {Bedingung};
+ \node [terminal] {:};
+ \node [nonterminal] {Anweisungsblock};
+ \node (elifEnde) [point] {};
+ \node (elifEndeOben) [point, above=of elifEnde] {};
+ \draw[->,left] (elifEndeOben) -- (ersteReiheEndeUnten);
+ }
+ \node (dritteReiheStart) [point, below=of zweiteReiheStart,
+ yshift=-5mm] {};
+ \node (vierteReiheStart) [point, below=of dritteReiheStart,
+ yshift=-5mm] {};
+ \node (vierteReiheEnde) [point, xshift=84mm] {};
+ {
+ [start chain=else going right]
+ \chainin (dritteReiheStart);
+ \node [terminal] {else};
+ \node [terminal] {:};
+ \node (elseEnde) [nonterminal] {Anweisungsblock};
+ \draw[->] (elseEnde) -| (vierteReiheEnde);
+ }
+ \node (ende) [endpoint] {};
+\end{tikzpicture}
+\end{example}
+\end{document}