texlive[56685] Master: syntaxdi (17oct20)

commits+karl at tug.org commits+karl at tug.org
Sat Oct 17 23:01:27 CEST 2020


Revision: 56685
          http://tug.org/svn/texlive?view=revision&revision=56685
Author:   karl
Date:     2020-10-17 23:01:27 +0200 (Sat, 17 Oct 2020)
Log Message:
-----------
syntaxdi (17oct20)

Modified Paths:
--------------
    trunk/Master/tlpkg/bin/tlpkg-ctan-check
    trunk/Master/tlpkg/libexec/ctan2tds
    trunk/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/syntaxdi/
    trunk/Master/texmf-dist/doc/latex/syntaxdi/README
    trunk/Master/texmf-dist/doc/latex/syntaxdi/syntaxdi.pdf
    trunk/Master/texmf-dist/doc/latex/syntaxdi/syntaxdi.tex
    trunk/Master/texmf-dist/tex/latex/syntaxdi/
    trunk/Master/texmf-dist/tex/latex/syntaxdi/syntaxdi.sty
    trunk/Master/tlpkg/tlpsrc/syntaxdi.tlpsrc

Added: trunk/Master/texmf-dist/doc/latex/syntaxdi/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/syntaxdi/README	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/syntaxdi/README	2020-10-17 21:01:27 UTC (rev 56685)
@@ -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 at 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.
+--------------------------------------------------------------------------


Property changes on: trunk/Master/texmf-dist/doc/latex/syntaxdi/README
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/syntaxdi/syntaxdi.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/syntaxdi/syntaxdi.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/syntaxdi/syntaxdi.pdf	2020-10-17 21:00:09 UTC (rev 56684)
+++ trunk/Master/texmf-dist/doc/latex/syntaxdi/syntaxdi.pdf	2020-10-17 21:01:27 UTC (rev 56685)

Property changes on: trunk/Master/texmf-dist/doc/latex/syntaxdi/syntaxdi.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/syntaxdi/syntaxdi.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/syntaxdi/syntaxdi.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/syntaxdi/syntaxdi.tex	2020-10-17 21:01:27 UTC (rev 56685)
@@ -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 at 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}


Property changes on: trunk/Master/texmf-dist/doc/latex/syntaxdi/syntaxdi.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/syntaxdi/syntaxdi.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/syntaxdi/syntaxdi.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/syntaxdi/syntaxdi.sty	2020-10-17 21:01:27 UTC (rev 56685)
@@ -0,0 +1,117 @@
+% \subsection{Das Paket \texttt{syntaxdi}}
+%
+%  Beginn der Definition, Voraussetzung der \LaTeXe{} Version und die
+%  eigene Identifizierung
+%    \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{syntaxdi}[2020/10/16 v0.8.2 %
+                           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}


Property changes on: trunk/Master/texmf-dist/tex/latex/syntaxdi/syntaxdi.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/tlpkg/bin/tlpkg-ctan-check
===================================================================
--- trunk/Master/tlpkg/bin/tlpkg-ctan-check	2020-10-17 21:00:09 UTC (rev 56684)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check	2020-10-17 21:01:27 UTC (rev 56685)
@@ -704,7 +704,7 @@
     superiors supertabular susy svg svg-inkscape svgcolor
     svn svn-multi svn-prov svninfo svrsymbols
     swebib swfigure swimgraf swrule syllogism
-    symbol sympytexpackage syntax synproof syntrace synttree
+    symbol sympytexpackage syntax synproof syntaxdi syntrace synttree
     systeme
   t-angles t2
     tabfigures table-fct tableaux tablefootnote tableof tablestyles

Modified: trunk/Master/tlpkg/libexec/ctan2tds
===================================================================
--- trunk/Master/tlpkg/libexec/ctan2tds	2020-10-17 21:00:09 UTC (rev 56684)
+++ trunk/Master/tlpkg/libexec/ctan2tds	2020-10-17 21:01:27 UTC (rev 56685)
@@ -1213,6 +1213,7 @@
  'svjour',      "die 'skipping, license and packaging unclear'",
  'symbol',	"die 'skipping, part of urw-base35, frozen'",
  'symbolindex', "die 'skipping, requires binary'",
+ 'syntaxdi',	"&MAKEflatten",
  't2',          "&MAKEt2",
  'tabbing',     "die 'skipping, use Tabbing'",
  'tabto',       "die 'skipping, use tabto-generic or tabto-ltx'",

Modified: trunk/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc	2020-10-17 21:00:09 UTC (rev 56684)
+++ trunk/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc	2020-10-17 21:01:27 UTC (rev 56685)
@@ -141,6 +141,7 @@
 depend spath3
 depend spectralsequences
 depend swimgraf
+depend syntaxdi
 depend table-fct
 depend texdraw
 depend ticollege

Added: trunk/Master/tlpkg/tlpsrc/syntaxdi.tlpsrc
===================================================================


More information about the tex-live-commits mailing list.