From e43672ef61c88845b65eb341464d38d7289c50b2 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 22 Feb 2010 00:08:36 +0000 Subject: pst-node update (20feb10) git-svn-id: svn://tug.org/texlive/trunk@17128 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/generic/pst-node/Changes | 12 +- Master/texmf-dist/doc/generic/pst-node/README | 3 + Master/texmf-dist/doc/generic/pst-node/index.phtml | 61 -- .../generic/pst-node/more_docs/psmatrix-docDE.bib | 35 + .../generic/pst-node/more_docs/psmatrix-docDE.pdf | Bin 0 -> 221969 bytes .../generic/pst-node/more_docs/psmatrix-docDE.tex | 1154 ++++++++++++++++++++ .../doc/generic/pst-node/pst-node-doc.pdf | Bin 416702 -> 339694 bytes .../doc/generic/pst-node/pst-node-doc.tex | 8 +- 8 files changed, 1201 insertions(+), 72 deletions(-) delete mode 100644 Master/texmf-dist/doc/generic/pst-node/index.phtml create mode 100644 Master/texmf-dist/doc/generic/pst-node/more_docs/psmatrix-docDE.bib create mode 100644 Master/texmf-dist/doc/generic/pst-node/more_docs/psmatrix-docDE.pdf create mode 100644 Master/texmf-dist/doc/generic/pst-node/more_docs/psmatrix-docDE.tex (limited to 'Master/texmf-dist/doc/generic') diff --git a/Master/texmf-dist/doc/generic/pst-node/Changes b/Master/texmf-dist/doc/generic/pst-node/Changes index 7013b2d5897..525e39b8dd4 100644 --- a/Master/texmf-dist/doc/generic/pst-node/Changes +++ b/Master/texmf-dist/doc/generic/pst-node/Changes @@ -1,14 +1,6 @@ ----- pst-node.tex -1.10 2010-01-22 - first version with pst-xkey and an own - documentation (hv) -1.02 2009-12-09 - fixed bug with \hskip and fnode in psmatrix - which now uses \pshspace#1 for \hskip -1.01 2008-11-26 - bugfix for \fnode -1.00 2007-08-18 - new option pcRef for the first node (hv) - - new option Circle for psmatrix (hv) - - fix bug with pst-node and \\[name=...]. It now uses - \ps@ifnextchar for scanning the next token (defined - in pstricks.tex) +1.10 2010-01-22 - first version with pst-xkey and an own + documentation (hv) ----- pst-node.sty 2008-12-12 first version (hv) diff --git a/Master/texmf-dist/doc/generic/pst-node/README b/Master/texmf-dist/doc/generic/pst-node/README index 621345ddfeb..653298dfb5c 100644 --- a/Master/texmf-dist/doc/generic/pst-node/README +++ b/Master/texmf-dist/doc/generic/pst-node/README @@ -13,3 +13,6 @@ pst-node needs pstricks, which should be part of your local TeX installation, otherwise get it from a CTAN server, f.ex. http://www.dante.de/CTAN/graphics/pstricks/ +The documentation was build with a temporary file to +insert the pages from the original documentation via +the command \includepdf[pages=..]{pst-docfull}. diff --git a/Master/texmf-dist/doc/generic/pst-node/index.phtml b/Master/texmf-dist/doc/generic/pst-node/index.phtml deleted file mode 100644 index 3c72dd01044..00000000000 --- a/Master/texmf-dist/doc/generic/pst-node/index.phtml +++ /dev/null @@ -1,61 +0,0 @@ - - - - The PSTricks web page (Herbert Voß) - - -
-

pstricks by Timothy Van Zandt, Denis Girou and Herbert Voß

-

All the files have a Beta-Status! For a stable - version look at here

- -
-
-read()) - $entries[] = $entry; - -echo "Files in this directory:"; -echo "
"; -echo ""; - -asort($entries); -reset($entries); - -//foreach($entries as $entry) { -while (list(, $entry) = each($entries)) { -// if (!is_dir($entry) && ($entry != "index.phtml") && ($entry != ".htaccess")) { - if (($entry != ".") && ($entry != "index.phtml") && ($entry != ".htaccess")) { - echo ""; - echo ""; - if (is_dir($entry)) - echo ""; - else - echo ""; - echo ""; - echo ""; - echo ""; - } -} -echo "
$entry<Dir> ".filesize($entry)." Byte  ".date("D, j F Y, H:i:s",filemtime($entry))." 
"; - -?> -
-Page last updated on -

-
-
-"; - } - fclose($fp); -} -?> - - diff --git a/Master/texmf-dist/doc/generic/pst-node/more_docs/psmatrix-docDE.bib b/Master/texmf-dist/doc/generic/pst-node/more_docs/psmatrix-docDE.bib new file mode 100644 index 00000000000..f2a5d82e847 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-node/more_docs/psmatrix-docDE.bib @@ -0,0 +1,35 @@ +@Manual{pstricks2007, + Title = {PSTricks - {\PS} macros for Generic TeX. Version 1.5}, + Author = {Timothy Van Zandt}, + Organization = {}, + Address = + {\url{http://www.tug.org/tex-archive/graphics/pstricks/base/doc/pst-user.pdf}}, + Note = {}, + year = 2007, +} + + +@Manual{siart, + Title = {Befehls\"ubersicht f\"ur \texttt{PSTricks} (Version + 0.93}, + Author = {Uwe Siart}, + Organization = {}, + Address = + {\url{http://www.siart.de/typografie/pstricks-referenz.pdf}}, + Note = {}, + year = 2009, +} + + + + +@Book{PSTricks2, + author = {Herbert Vo\ss}, + title = {\texttt{PSTricks} -- {G}rafik f\"ur \TeX{} und \LaTeX}, + edition = {fünfte}, + publisher = {DANTE -- Lehmanns}, + year = {2008}, + address = {Heidelberg/Hamburg} +} + + diff --git a/Master/texmf-dist/doc/generic/pst-node/more_docs/psmatrix-docDE.pdf b/Master/texmf-dist/doc/generic/pst-node/more_docs/psmatrix-docDE.pdf new file mode 100644 index 00000000000..0c45acff4ae Binary files /dev/null and b/Master/texmf-dist/doc/generic/pst-node/more_docs/psmatrix-docDE.pdf differ diff --git a/Master/texmf-dist/doc/generic/pst-node/more_docs/psmatrix-docDE.tex b/Master/texmf-dist/doc/generic/pst-node/more_docs/psmatrix-docDE.tex new file mode 100644 index 00000000000..0f74e8be6b1 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-node/more_docs/psmatrix-docDE.tex @@ -0,0 +1,1154 @@ +%% $Id: pstmatrix-doc.tex ch. roemer $ +\listfiles +\documentclass[11pt,ngerman,a4paper,BCOR10mm,DIV12,bibliography=totoc,parskip,smallheadings + headexclude,footexclude,oneside]{pst-doc} +\usepackage[utf8]{inputenc} +\usepackage{babel} + +%\setlength{\parindent}{0pt} +%\setlength{\parskip}{1ex plus 0.2ex minus 0.1ex} + +\usepackage{pst-node,pst-grad,pstricks-add,pst-blur,float} +\def\tab#1{\tabular{@{}l@{}}#1\endtabular} +\def\OptEinh{\psframebox[framesep=2pt,fillstyle=solid,fillcolor=black!20,linecolor=black!20]{\texttt{[Einheit]}}\kern1pt} + +\let\myFV\fileversion + +\usepackage{tabularx} +\usepackage{longtable} + +\lstset{explpreset={pos=l,rframe=},frame=,backgroundcolor=\color{white},literate={ä}{{\"a}}1 {ö}{{\"o}}1 {ü}{{\"u}}1 + {Ä}{{\"A}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1 + {ß}{\ss}1} + + +\usepackage{bibgerm} + +%\psset{subgriddiv=0,gridlabels=7pt,gridcolor=black!15} +%\hypersetup{pdfauthor={Christine Roemer},pdftitle={psmatrix}} +% +\def\bgImage{\hspace*{1cm}% +\begin{psmatrix}[colsep=0.8cm,rowsep=0.4cm,mcol=c,emnode=r] + & & semantische Ebene & & + \psshadowbox[framearc=0.25]{Bedeutung}\\ + & & morphologische Ebene & & \\ +[name=A]\tab{pragmatische\\Ebene} & [name=B]& & & \\ + & & syntaktische Ebene & & \\ + & & \tab{phonetisch-phonologische Ebene\\graphische Ebene} + & & \psshadowbox[framearc=0.25]{Formativ} +\end{psmatrix} +\psset{nodesep=3pt,arrowscale=1.5,arrows=->, + armA=6mm,angleB=180} +\ncline{A}{B} +\ncangles{A}{1,3} \ncangles{A}{2,3} +\ncangles{A}{4,3} \ncangles{A}{5,3} +\ncline{1,3}{1,5} \ncline{5,3}{5,5} +\ncline{<->}{1,5}{5,5}% +} + +\lstset{basicstyle=\ttfamily\footnotesize} + +\begin{document} +\author{Timothy van Zandt} +\docauthor{Christine R\"omer} +\date{\today} +\title{Schematische \"Ubersichten mit \texttt{psmatrix}} + +\maketitle% + +\tableofcontents + +\clearpage +\begin{abstract} +Mit der +\texttt{psmatrix}-Umgebung\index{psmatrix@\texttt{psmatrix}-Umgebung} k\"onnen au{\ss}erhalb +einer mathematischen +Umgebung vielfältige schematische \"Ubersichten gesetzt werden. Das Makro \texttt{psmatrix} +wird nicht extra geladen. Es ist in verschiedene Pakete des +PSTricks-Verbundes\index{PSTricks-Verbund} +(\texttt{pstricks,\\pst-node,pst-grad})\index{pstricks@\texttt{pstricks}} +\index{pst-node@\texttt{pst-node}} \index{pst-grad@\texttt{pst-grad}} integriert + und wird mit ihnen aufgerufen. + +\vfill\noindent +Danke f\"ur die Unterst\"utzung bei der Erstellung dieser Dokumentation an Herbert Vo\ss. +\end{abstract} + + +\section{Einf\"uhrung} + +Mit der +\texttt{psmatrix}-Umgebung\index{psmatrix@\texttt{psmatrix}-Umgebung} k\"onnen +au{\ss}erhalb einer mathematischen +Umgebung schematische \"Ubersichten gesetzt werden. Sie basiert auf dem +Tabellenmakro \texttt{array}\index{array@\texttt{array}} und gleicht ihm deshalb in der +Syntax. Es hat jedoch nicht dessen +Einschr\"ankungen bez\"uglich Verbindungen über die Zellen und Zeilen hinweg. Das Makro +\texttt{psmatrix} +wird nicht extra geladen. Es ist in verschiedene Pakete des +PSTricks-Verbundes\index{PSTricks-Verbund} +(\texttt{pstricks,\\pst-node,pst-grad})\index{pstricks@\texttt{pstricks}} +\index{pst-node@\texttt{pst-node}} \index{pst-grad@\texttt{pst-grad}} integriert und +wird mit ihnen aufgerufen. + +\section{Erstellen einer Matrix} +\subsection{Einordnung} + +Das Makro \bs{\texttt{psmatrix}} arbeitet sowohl in einer \TeX - als auch +\LaTeX-Umgebung: + +\begin{BDef} +\Lcs{psmatrix}\OptArgs \ldots\ \Lcs{endpsmatrix} & \% TeX-Version\\ +\LBEG{psmatrix}\OptArgs \ldots \ \LEND{psmatrix} & \% LaTeX-Version +\end{BDef} + +Da mit der \TeX-Version einige Einschr\"ankungen verbunden sind, wird nur auf +die \LaTeX-Variante eingegangen. Das Grundprinzip des Strukturaufbaus +stellt eine Knoten- und Knotenverbindungszuordnung dar. Diese kann mehrfach +geschachtelt und sowohl bei der Knotenbelegung als auch +Verbindungsdarstellung in verschiedener Weise ausgestalltet werden. Dazu +stellt der PSTricksverbund zahlreiche Makros bereit. + +\subsection{Matrixgrundstruktur}\index{Matrixgrundstruktur} + +Die Knoten werden in der Art einer Tabelle innerhalb der +\texttt{psmatrix}-Umgebung\index{psmatrix@\texttt{psmatrix}-Umgebung} angeordnet. + +\begin{LTXexample}[width=.3\linewidth] +\begin{psmatrix}[rowsep=0.2cm] +1 & 2 & 3 \\ +X & Y & Z +\end{psmatrix} +\end{LTXexample} + + +\section{Zuordnung Knoten zu Verbindungen} + +Die Matrix entsteht durch die Zuordnung von Knoten zu Verbindungen. Die +Knoten werden in die Zellen in der \texttt{psmatrix}-Umgebung eingetragen +(siehe obiges Beispiel). Nach \bs{\texttt{end}}\{\texttt{psmatrix}\} werden die gew\"unschten +Linien definiert. Grunds\"atzlich geschieht dies nach dem Schema + +\psframebox{\bs +nc\psframebox[framesep=2pt,fillstyle=solid,fillcolor=black!20,linecolor=black!20]{\texttt{Verbindung}} +[\psframebox[framesep=2pt,fillstyle=solid,fillcolor=black!20,linecolor=black!20]{\texttt{Optionen}}] +\{Koordinaten ZelleA\}\{Koordinaten ZelleB\}} + +Die Koordinaten\index{Zellen-Koordinaten} werden, wenn den Zellen keine +Namen gegeben werden (siehe +Parameter \texttt{name}), +durch abz\"ahlen gewonnen: jeweils erst die Zeile und danach durch Komma abgetrennt +die Zelle. + +\vspace{4mm} +\begin{LTXexample}[width=.3\linewidth] +\begin{psmatrix}[rowsep=0.2cm] +1 & 2 & 3 \\ +X & Y & Z +\end{psmatrix} +\ncline[linecolor=red]{1,1}{2,2} +\ncline[linecolor=green]{1,3}{2,2} +\ncline[linestyle=dotted]{<-}{1,2}{2,1} +\ncline[linestyle=dashed]{->}{1,2}{2,3} +\end{LTXexample} + + +\section{Knotenparameter} +\subsection{mnode}\index{mnode@\texttt{mnode}} + +Der Parameter \texttt{mnode=} legt die Knotenart fest. Das kann lokal für +einzelne Knoten oder global für die ganze Matrix erfolgen (siehe folgende +Beispiele). Dazu muss neben +dem Paket \texttt{pstricks}\index{pstricks@\texttt{pstricks}} auch +\texttt{pst-node}\index{pst-node@\texttt{pst-node}} geladen werden. + +\begin{LTXexample}[width=.2\linewidth] +\begin{psmatrix}[mnode=circle,rowsep=0.2cm,colsep=1cm] +1 & 2 \\ +X & Y +\end{psmatrix} +\end{LTXexample} + +\begin{LTXexample}[width=.2\linewidth] +\begin{psmatrix}[mnode=circle,rowsep=0.2cm,colsep=1cm] +1 & 2 \\ +[mnode=dia] X & Y +\end{psmatrix} +\end{LTXexample} + +Folgende \textbf{Knotenarten}\index{Knotenarten} stehen zur Verf\"ugung. Ihr Aufruf erfolgt mit +\texttt{mnode=} über die in Klammern angegebenen K\"urzel. + +\begin{compactitem} + \item \texttt{Rnode} (R):\index{Rnode@\texttt{Rnode} (R)} + Es wird damit das Eingetragene zur Basislinie + positioniert. Mittels Optionen kann dies variiert werden. +\vspace{2mm} +\begin{LTXexample}[width=.2\linewidth] +\begin{psmatrix}[rowsep=0.2cm,linecolor=blue,radius=0.5] +X & [mnode=R,vref=0pt] Y +\end{psmatrix} +\ncline{1,1}{1,2} +\end{LTXexample} + +\item \texttt{Cnode} (C):\index{Cnode@\texttt{Cnode} (C)} Ungef\"ullte Kreise werden gesetzt. +Deren Radius mit dem Parameter \texttt{radius}\index{radius@\texttt{radius}} modifiziert +werden kann. Es muss irgendetwas eingetragen werden, was dann aber nicht erscheint. +\vspace{2mm} +\begin{LTXexample}[width=.3\linewidth] +\begin{psmatrix}[mnode=C,rowsep=0.2cm,linecolor=blue,radius=0.5] + X & Y +\end{psmatrix} +\end{LTXexample} +\vspace{2mm} + +\item \texttt{pnode} (p):\index{pnode@\texttt{pnode} (p)} Ein Knoten mit dem Radius Null, ein +leerer Knoten (siehe folgendes Beispiel, wo der Knoten 1 leer gesetzt wird). + +\item \texttt{Circlenode} +(Circle):\index{Circlenode@\texttt{Circlenode} (Circle)} Ein Knoten, der von einem Kreis +umschlossen +wird, dessen Umfang richtet sich nach dem Inhalt. Er kann mit der Option +\texttt{radius} modifiziert werden (siehe obiges Beispiel). + +\vspace{2mm} +\begin{LTXexample}[width=.42\linewidth] +\begin{psmatrix}[mnode=Circle,radius=1cm,rowsep=0.2cm] + X & Y \\ +[mnode=p] 1 & 2 +\end{psmatrix} +\end{LTXexample} +\vspace{2mm} + +\item \texttt{dianode} (dia):\index{dianode@\texttt{dianode} (dia)} Ein Knoten, der von +einer Raute umschlossen +wird, deren Umfang richtet sich nach dem Inhalt + +\vspace{2mm} +\begin{LTXexample}[width=.2\linewidth] +\begin{psmatrix}[mnode=dia,rowsep=0.2cm,colsep=0.7cm] + X & Y \\ + 1 & 2 +\end{psmatrix} +\end{LTXexample} +\vspace{2mm} + +\item \texttt{dotnode} (dot):\index{Rnode@\texttt{dotnode} (dot)} Es wird im unmarkierten +Fall ein gef\"ullter Kreisknoten gesetzt, der +u.\,a. \"uber den Parameter \texttt{dotscale} gesteuert +werden kann. + +\vspace{2mm} +\begin{LTXexample}[width=.2\linewidth] +\begin{psmatrix}[mnode=dot,rowsep=0.2cm] +[mnode=dot,dotscale=3] X & Y \\ +[mnode=dot,dotscale=2,dotstyle=triangle]1&2 +\end{psmatrix} +\end{LTXexample} +\vspace{2mm} + +\item \texttt{rnode} (r):\index{Rnode@\texttt{rnode} (r)} +Unterscheidet sich von \bs{rnode} (R) in der +Festlegung des Knotenzentrums, das ohne optionale Parameter das Zentrum +der umgebenden Box ist. Eingesetzter "`Text"' erscheint pur. + +\vspace{2mm} +\begin{LTXexample}[width=.2\linewidth] +\begin{psmatrix}[mnode=r,rowsep=0.2cm] + X & Y \\ + 1 & 2 +\end{psmatrix} +\end{LTXexample} +\vspace{2mm} + + + +\item \texttt{fnode} (f):\index{fnode@\texttt{fnode} (f)} Ein leerer +Rahmen, dessen Gr\"o{"s}e \"uber +\texttt{framesize=} und +Koordinatenfestlegungen beeinflusst werden kann.%\footnote{Diese Funktion +%ist bisher nur eingeschr\"ankt nutzbar, die K\"astchen einer Zeile werden nicht getrennt. +%Mit "`Text"' gef\"ullte K\"astchen k\"onnen einfach mit \bs{\texttt{fbox}\{ +%\}} oder \bs{\texttt{psframebox}\{ \}} gesetzt werden.} + +\vspace{2mm} +\begin{LTXexample}[width=.2\linewidth] +\begin{psmatrix}[mnode=f,rowsep=0.2cm] + X & Y \\ + 1 & 2 +\end{psmatrix} +\end{LTXexample} +\vspace{2mm} + + +\item \texttt{circlenode} +(circle):\index{circlenode@\texttt{circlenode} (circle)} Entspricht +weitgehend \texttt{Circlenode}. Es +kann aber nicht der Radius ge\"andert werden. + +\vspace{2mm} +\begin{LTXexample}[width=.2\linewidth] +\begin{psmatrix}[mnode=circle,rowsep=0.2cm,colsep=1cm] + X & Y \\ + 1 & 2 +\end{psmatrix} +\end{LTXexample} +\vspace{2mm} + +\item \texttt{ovalnode} (oval):\index{ovalnode@\texttt{ovalnode} (oval)} Ovaler Knoten, +dessen Gr\"o"se aus dem Inhalt resultiert. + +\vspace{2mm} +\begin{LTXexample}[width=.2\linewidth] +\begin{psmatrix}[mnode=oval,rowsep=0.2cm,colsep=0.7cm] + XX & YY \\ + 1 & 2 +\end{psmatrix} +\end{LTXexample} +\vspace{2mm} + + +\item \texttt{trinode} (tri):\index{trinode@\texttt{trinode} (tri)} +Dreieck, dessen Gr\"o"se aus dem Inhalt resultiert. + +\vspace{2mm} +\begin{LTXexample}[width=.2\linewidth] +\begin{psmatrix}[mnode=tri,rowsep=0.2cm,colsep=0.7cm] + X & Y \\ + 1 & 2 +\end{psmatrix} +\end{LTXexample} +\vspace{2mm} + +Mit der Option \texttt{trimode}\index{trimode@\texttt{trimode}} kann die Lage der Dreiecke verändert +werden. Die Sternversion verkleinert die Basis und erzeugt aus +stumpfwinkligen (Winkel zwischen 90 und 180 Grad) spitzwinkelige (kleiner +als 90 Grad) Dreiecke. +\vspace{2mm} +\begin{table}[H] +\centering +\caption{Ver\"anderung der Dreieckslage} +\begin{tabular}{@{}ll@{}} +Befehl & Lage des Dreiecks \\ \hline +\texttt{trimode=U} & Spitze oben \\ +\texttt{trimode=D} & Spitze unten \\ +\texttt{trimode=R} & Spitze rechts \\ +\texttt{trimode=L} & Spitze links +\end{tabular} +\end{table} + +\vspace{2mm} +\begin{LTXexample}[width=.25\linewidth] +\begin{pspicture}(0,-2)(3,2) +\begin{psmatrix}[mnode=tri,rowsep=0.2cm,colsep=0.7cm] + [trimode=U] Dreieck \\ + [trimode=*D]Dreieck +\end{psmatrix} +\end{pspicture} +\end{LTXexample} +\vspace{2mm} + + + \item \texttt{no node} (none):\index{no node@\texttt{no node} (none)} Ohne Knoten, was für das + Einf\"ugen von Verbindungslinien sinnvoll sein kann. + + +\end{compactitem} + + + +\subsection{emnode}\index{emnode@\texttt{emnode}} + +Mit \texttt{emnode} k\"onnen verschiedene Arten (Parameter wie bei +\texttt{mnode} von Knoten für "`leere"' Zellen gesetzt +werden. Es muss also nichts in die Zellen eingetragen werden. Wie +nachfolgendes Beispiel auch belegt, kann es dabei auf der rechten Seite zu +fehlerhaften Ausgaben kommen, weil +\bs{pst-node}\index{pst-node@\texttt{pst-node}} da noch nicht v\"ollig korrekt +arbeitet. + + +\vspace{2mm} +\begin{LTXexample}[width=.2\linewidth] +\begin{psmatrix}[emnode=circle,rowsep=0.2cm,colsep=2cm] + & \\ + & +\end{psmatrix} +\end{LTXexample} +\vspace{2mm} + +\subsection{nodealign}\index{nodealign@\texttt{nodealign}} + +Der Parameter \texttt{nodealign} kann in [\texttt{nodealign=true}] +abge\"andert werden, um das Zentrum des Knotens auf die Basisebene zu +verschieben (vgl. \cite[S.\,259]{PSTricks2}). + +\section{Parameter zu Zellen und Zeilen} + +\subsection{name}\index{name@\texttt{name}} + +Der Parameter \texttt{name} erm\"oglicht es, jeder Zelle einen +selbstgew\"ahlten Namen zu geben, der am Anfang einer Zelle eingef\"ugt werden +muss. Dies kann beim Setzen von Linien die +Arbeit erleichtern, man muss dann nicht die Positionen ausz\"ahlen. + +\vspace{2mm} +\begin{LTXexample}[width=.4\linewidth] +\begin{psmatrix}[emnode=r,colsep=0.4cm, + rowsep=0.4cm] + & [name=A] Buch & \\ +[name=B]Fachbuch & [name=C]Lehrbuch & [name=D]Roman +\end{psmatrix} +\psset{nodesep=3pt,arrows=->} +\ncline{A}{B} \ncline{A}{C} \ncline{A}{D} +\end{LTXexample} +\vspace{2mm} + + +Au"serdem ist es \"uber diese Zellenfestlegung m\"oglich, auch \Lcs{pcline} und +\Lcs{psline} in einer Matrixumgebung zu benutzen. Diese nehmen die +Koordinatenargumente (hier gleich Zellennamen) aber in runden Klammern, wie +in dem folgenden Beispiel zu sehen ist. + +\vspace{2mm} +\begin{LTXexample}[width=.45\linewidth] +\begin{psmatrix}[emnode=r,colsep=1cm, + rowsep=0.4cm] +[name=A]Buch \psspan{3} & \\[1cm] +[name=B]Fachbuch & [name=C]Lehrbuch & +[name=D]Roman +\end{psmatrix} +\psset{nodesep=3pt,arrows=->,linecolor=red} +\psline(A)(C) +\pcline(A)(B) +\nbput*[nrot=:D]{\footnotesize \texttt{pcline}} +\ncline{A}{D} +\naput*[nrot=:U]{\footnotesize \texttt{ncline}} +\end{LTXexample} + +\Lcs{pcline} geht immer vom Zentrum aus und kann nicht an einer +Umgebungsbox beginnen oder aufh\"oren. Sie kann deshalb von +\texttt{nodesep} nicht beeinflusst werden. Andere Parameter -- +beispielsweise \texttt{offset=},\index{offset@\texttt{offset}} der eine vertikale Verschiebung +erm\"oglicht, -- k\"onnen das aber schon. \Lcs{psline} +reagiert wiederum darauf nicht. + +\vspace{2mm} +\begin{LTXexample}[width=.3\linewidth] +\begin{psmatrix}[emnode=r,colsep=1cm,rowsep=0.4cm] +[name=A]Fachbuch & \\[1cm] + & [name=C]Roman +\end{psmatrix} +\psset{nodesep=3pt,arrows=<-,linecolor=red,offset=0.3cm} +\pcline(A)(C) +\pcline(C)(A) +\end{LTXexample} + +\begin{LTXexample}[width=.3\linewidth] +\begin{psmatrix}[emnode=r,colsep=1cm,rowsep=0.4cm] + [name=A] Fachbuch & \\[1cm] + & [name=C] Roman +\end{psmatrix} +\psset{nodesep=3pt,arrows=->,linecolor=red,offset=1cm} +\psline(A)(C) +\psline(C)(A) +\end{LTXexample} + + + +\subsection{mcol}\index{mcol@\texttt{mcol}} + +Mit \texttt{mcol} kann lokal und global der horizontale +Zellenabstand\index{Zellenabstand!horizontal} +mit den Optionen \texttt{l,r,c} modifiziert werden. + +\vspace{2mm} +\begin{LTXexample}[width=.4\linewidth] +\begin{psmatrix}[emnode=r,colsep=0.4cm, + rowsep=0.4cm,mcol=r] + & [name=A] Buch & \\ +[name=B]Fachbuch & [name=C]Lehrbuch & [name=D]Roman +\end{psmatrix} +\psset{nodesep=3pt,arrows=->} +\ncline{A}{B} \ncline{A}{C} \ncline{A}{D} +\end{LTXexample} +\vspace{2mm} + +\begin{LTXexample}[width=.4\linewidth] +\begin{psmatrix}[emnode=r,colsep=0.4cm, + rowsep=0.4cm,mcol=l] + & [name=A]Buch & \\ +[name=B]Fachbuch & [name=C]Lehrbuch & [name=D]Roman +\end{psmatrix} +\psset{nodesep=3pt,arrows=->} +\ncline{A}{B} \ncline{A}{C} \ncline{A}{D} +\end{LTXexample} + +\subsection{rowsep und colsep}\index{Abstand!Zellen und Zeilen} + +Mit \texttt{rowsep}\index{rowsep@\texttt{rowsep}} kann man den +vertikalen und mit \texttt{colsep}\index{colsep@\texttt{colsep}} +den horizontalen Abstand zwischen +den Zeilen bzw. Zellen regulieren; welchen hinzuf\"ugen oder mit einem +negativen Wert reduzieren (siehe Beispiele bei \texttt{name}). + +\subsection{mnodesize}\index{mnodesize@\texttt{mnodesize}} + +Im Defaultfall wird die Breite der Zellen\index{Zelle!Breite} von deren Inhalt bestimmt; +innerhalb einer Zellenspalte von der mit dem gr\"o"sten Umfang. Mit +\texttt{mnodesize=} kann allen Spalten dieselbe Breite gegeben werden. +Dabei ist zu beachten, dass kein automatischen +Zeilenumbruch\index{Zelle!Zeilenumbruch} in den Zellen +erfolgt. Man kann in eine Zelle jedoch mehrere Zeilen über eine Tabelle +einbringen. + +\begin{LTXexample}[width=.52\linewidth] +\begin{psmatrix}[emnode=r, +colsep=-0.4cm,rowsep=0.6cm, +mnodesize=3cm] +& [name=A] + \begin{tabular}{c}Grafische\\Grundelemente\end{tabular} & \\ +[name=B]Linien & [name=C]Polygone & +[name=D]Rahmen +\end{psmatrix} +\psset{nodesep=3pt,arrows=->} +\ncline{A}{B} \ncline{A}{C} +\ncline{A}{D} +\end{LTXexample} + +Wenn der von \texttt{mnodesize=} festgelegte Raum nicht ausreichend ist +erweitert sich einfach die Zelle. + +\subsection{psspan}\index{psspan@\texttt{psspan}} + +Mit \texttt{psspan\{n\}} k\"onnen Zellen analog zu +\bs{multicolumn}\index{multicolumn@\texttt{\textbackslash{multicolumn}}} mehrere +Zellen\index{Zellen!zusammenfassen} zusammengefasst werden. + +\begin{LTXexample}[width=.4\linewidth] +\begin{psmatrix}[emnode=r,colsep=0.4cm, +rowsep=0.4cm] +[name=A]Buch \psspan{3} & \\ +[name=B]Fachbuch & [name=C]Lehrbuch & [name=D]Roman +\end{psmatrix} +\psset{nodesep=3pt,arrows=->} +\ncline{A}{B} \ncline{A}{C} \ncline{A}{D} +\end{LTXexample} + + +\section{Knotenverbindungen}\index{Knotenverbindung} + +Die Knotenverbindungen beginnen in der Regel mit \texttt{nc} und haben die Syntax: + +\begin{BDef} +\bs{Knotenverbindung}\OptArgs\{Pfeile\}\{KnotenA\}\{KnotenB\} +\end{BDef} + +Sie gehen von einem Knoten zu einem anderen, wenn es nicht anders festgelegt +wurde, ist die Zielorientierung die Knotenmitte. + +Die Knotenverbindungen können über eine Reihe von Parametern geändert +werden (vgl. \cite[S.\,43\,f]{PSTricks2} und \cite{siart}). Einige, die für das Zeichnen von +Strukturen besonders relevant sind, werden in der nachfolgenden Tabelle +aufgelistet:\index{Knotenverbindung!Parameter} + +\begin{table}[H] +\centering +\caption{Parameter f\"ur Knotenverbindungen} +\begin{tabular}{@{}lll@{}} +Name & Werte & Vorgabe \\ \hline +\texttt{linewidth} & \OptEinh\ & 0.8pt \\ +\texttt{linecolor} & & black \\ +\texttt{linestyle} & none|solid|dotted|dashed & solid \\ +\texttt{shadow} & & false \\ +\texttt{shadowsize} & \OptEinh\ & 3pt \\ +\texttt{shadowangle} & & $-$45 \\ +\texttt{shadowcolor} & & darkgray \\ +\texttt{arrows} & & -- \\ +\texttt{doubleline} & & false +\end{tabular} +\end{table} + +\subsection{ncline} + +Mit \Lcs{ncline} wird eine direkte Linie von einem Knoten zum anderen +gezogen\footnote{Wenn Sie das nächste Beispiel mit den +folgenden Beispielen vergleichen, können Sie auch sehen, dass eine bessere +Positionierung in einer einfachen Box über die Umgebung +\bs{\texttt{pspicture}} +m\"oglich ist. Zumal ohne diese Umgebung die Kurvenlinien \"uber die Box +hinausragen w\"urden, wie dies im ersten Beispiel zu \texttt{ncdiag} der +Fall ist.}. + +\begin{LTXexample}[width=.35\linewidth] +\begin{psmatrix}[emnode=r,colsep=2cm] + KnotenX & KnotenY +\end{psmatrix} +\ncline[linecolor=red]{1,1}{1,2} +\end{LTXexample} + + +\subsection{ncarc}\xLcs{ncarc} + +Eine Kurve verbindet die Knoten. + +\begin{LTXexample}[width=.35\linewidth] +\begin{pspicture}(0,-0.5)(4,1) +\begin{psmatrix}[emnode=r,colsep=2cm] + KnotenX & KnotenY +\end{psmatrix} +\ncarc[linecolor=red]{<->}{1,1}{1,2} +\end{pspicture} +\end{LTXexample} + +Mit der Option \texttt{arcangle=}\index{arcangle@\texttt{arcangle}} kann der +Steigungswinkel\index{Steigungswinkel} erh\"oht werden. + +\begin{LTXexample}[width=.35\linewidth] +\begin{pspicture}(0,-0.5)(4,1) +\begin{psmatrix}[emnode=r,colsep=2cm] + KnotenX & KnotenY +\end{psmatrix} +\ncarc[arcangle=60,linecolor=red]{<->}{1,1}{1,2} +\end{pspicture} +\end{LTXexample} + +In der Sternchenversion wird der von der Kurve eingeschlossenen Raum mit +der Linienfarbe ausgefüllt. + +\begin{LTXexample}[width=.4\linewidth] +\begin{pspicture}(0,-0.5)(4,1) +\begin{psmatrix}[emnode=r,colsep=2cm] + KnotenX & KnotenY +\end{psmatrix} +\ncarc*[arcangle=60,linecolor=red]{<->}{1,1}{1,2} +\end{pspicture} +\end{LTXexample} + + +\subsection{ncdiag} + +Mit \Lcs{ncdiag} wird eine Linie in drei Segmente "`zerlegt"'. Man kann +diese Zerlegung über die Winkelfestlegungen (siehe folgendes Beispiel) +steuern. + +\begin{LTXexample}[width=.4\linewidth] +\begin{psmatrix}[emnode=r,colsep=2cm] + KnotenX & KnotenY +\end{psmatrix} +\ncdiag[angleA=90,angleB=-90,linecolor=red]{<->}{1,1}{1,2} +\end{LTXexample} + +Die Angabe \texttt{arm=0}\index{arm@\texttt{arm}} erzwingt eine gerade Linie. + +\begin{LTXexample}[width=.4\linewidth] +\begin{psmatrix}[emnode=r,colsep=2cm] + KnotenX & KnotenY +\end{psmatrix} +\ncdiag[angleA=-90,angleB=90,arm=0,linecolor=red]{<->}{1,1}{1,2} +\end{LTXexample} + +\subsection{ncdiagg} + +\Lcs{ncdiagg} ist \Lcs{ncdiag} \"ahnlich. Für den Ausgangsknoten wird aber +nur eine Verbindung gezeichnet. + +\begin{LTXexample}[width=.3\linewidth] +\usepackage{pstricks-add} +\begin{pspicture}(-1,-1)(4,6) + \circlenode{A}{A}\quad\circlenode{C}{C} + \rput(0,4){\circlenode{B}{B}} + \rput(1,5){\circlenode{D}{D}} + {\psset{arrowscale=2,linearc=0.2, + linecolor=red,armA=0.5,angleA=90} + \ncdiagg[lineAngle=-160]{->}{A}{B} + \ncput*[nrot=:U]{Linie I} + \ncdiagg[lineAngle=-160]{->}{C}{D} + \ncput*[nrot=:U]{Linie II}} +\end{pspicture} +\end{LTXexample} + +\subsection{ncbar} + +\Lcs{ncbar} arbeitet ähnlich wie \Lcs{ncdiag}. Zwei Knoten werden +durch drei Linienteile verbunden. + +\begin{LTXexample}[width=.4\linewidth] +\begin{pspicture}(0,1)(4,-2) +\begin{psmatrix}[emnode=r] +\psset{arrowscale=2} +Verbinde {\rnode{A}{KnotenX}} mit +{\rnode{B}{KnotenY}}! +\end{psmatrix} +\ncbar[nodesep=3pt,angleA=-90,angleB=90,linecolor=red,arrows=<->,arrowscale=2, +arm=0.8]{A}{B} +\end{pspicture} +\end{LTXexample} + + +\subsection{ncbarr} + +\Lcs{ncbarr} verwendet f\"unf Liniensegmente und erstellt damit eine +S-f\"ormige Verbindung. + +\begin{LTXexample}[width=.3\linewidth] +\begin{psmatrix} + & \circlenode{X}{X}\\[1cm] + & \circlenode{Y}{Y} +\end{psmatrix} +\ncbarr[angleA=0,linecolor=red]{X}{Y} +\end{LTXexample} + + +\subsection{ncangle} + +\Lcs{ncangle} erm\"oglich genauer berechnete dreiteilige Linien. Es +arbeitet analog zu \Lcs{ncdiag}. + +\begin{LTXexample}[width=.37\linewidth] +\begin{pspicture}(0,1)(4,-1) +\begin{psmatrix}[emnode=r,colsep=2cm, + rowsep=0.5cm] +KnotenX & KnotenY \\ +\end{psmatrix} +\ncdiag[angleA=-90,angleB=135,armA=1cm,armB=1cm, +linearc=.5,linecolor=red]{->}{1,1}{1,2} +\end{pspicture} +\end{LTXexample} + +\subsection{ncangles} + +\Lcs{ncangles} produziert viergliedrige Linien. + +\begin{LTXexample}[width=.4\linewidth] +\begin{pspicture}(0,1)(4,-2.3) +\begin{psmatrix}[emnode=r,colsep=2cm, + rowsep=0.5cm] +\psframebox{\emph{KnotenX}} & +\psframebox{\emph{KnotenY}} +\end{psmatrix} +\ncangles[angleA=-90,angleB=135,armA=1cm, + armB=1cm, +linearc=.15,linecolor=red]{->}{1,1}{1,2} +\rput[bl](-5,-0.7){armA} +\rput[rB](-0.4,0.5){armB} +\end{pspicture} +\end{LTXexample} + +\subsection{ncloop} + +\Lcs{ncloop} setzt f\"unfgliedrige Linien. Gegenüber \Lcs{ncangles} +kommt noch die Option \texttt{loopsize}\index{loopsize@\texttt{loopsize}} hinzu, die die +H\"ohe für einen Loop (eine Schlinge) vorgibt. + + +\begin{LTXexample}[width=.45\linewidth] +\begin{pspicture}(-1.5,-1)(4,2) +\rnode[lB]{A}{\psframebox{Knoten mit Schlinge}} +\ncloop[angleB=180,loopsize=1,arm=.5, + linearc=.2,linecolor=red]{->}{A}{A} +\ncput[npos=3.5,nrot=:U]{\psline{|<->|}% + (0.5,-0.2)(-0.5,-0.2)} +\nbput[npos=3.5,nrot=:D,labelsep=.35cm]{% + {\small\texttt{loopsize}}} +\end{pspicture} +\end{LTXexample} + +\subsection{nccurve} + +\Lcs{nccurve} setzt eine B\`ezierkurve zwischen zwei Knoten, die über +die Winkel \texttt{angleA} und \texttt{angleB} sowie den +Kurvenparameter\index{Kurvenparameter} +\texttt{ncurv}\index{nccurv@\texttt{nccurv}} gesteuert werden kann. + +\begin{LTXexample}[width=.4\linewidth] +\begin{psmatrix}[emnode=r,colsep=2cm, +rowsep=0.5cm] +{\rnode{A}{\psframebox{KnotenX}}} & \\ +& {\rnode{B}{\psframebox{KnotenY}}} +\end{psmatrix} +\nccurve[angleB=180,ncurv=0.9, +linecolor=red]{A}{B} +\end{LTXexample} + +\subsection{nccircle} + +\Lcs{nccircle} erzeugt \"uber einem Knoten einen ungef\"ullten oder gef\"ullten +(Sternchenversion) Kreis. + +\vspace{2mm} +\begin{LTXexample}[width=.25\linewidth] +\begin{pspicture}(-1,-1)(3,2) +\begin{psmatrix}[emnode=r] +\rnode{A}{herum} +\end{psmatrix} +\nccircle[nodesep=3pt,linecolor=red]{->}{A}{.8cm} +\kern 5pt +\end{pspicture} +\end{LTXexample} + +\vspace{2mm} +\begin{LTXexample}[width=.25\linewidth] +\begin{pspicture}(-1,-1)(3,2) +\begin{psmatrix}[emnode=r] +\rnode{A}{dar\"uber} +\end{psmatrix} +\nccircle*[nodesep=3pt,linecolor=lightgray]{->}{A}{1cm} +\kern 5pt +\end{pspicture} +\end{LTXexample} + +\subsection{offset} + +Die Option \texttt{offset}\index{offset@\texttt{offset}} verschiebt, wie +schon bei den Erl\"auterungen zu dem Parameter \texttt{name} angesprochen, +die Verbindungslinie parallel zum eigentlich festgelegten Verlauf. Dies ist +besonders bei zwei Linien sinnvoll und effektiv. +Wenn man jede Linien einzeln modifizieren m\"ochte, kann dies mit +\texttt{offsetA}\index{offsetA@\texttt{offsetA}} und +\texttt{offsetB}\index{offsetB@\texttt{offsetB}} +geschehen. Beispielsweise, wenn von +einem Knoten zwei Verbindungen ausgehen sollen. + +\vspace{2mm} +\begin{LTXexample}[width=.2\linewidth] +\begin{psmatrix}[emnode=r,colsep=1cm,rowsep=0.4cm] +[name=A]Buch \\ +[name=B]Fachbuch \\ +[name=C]\LaTeX buch +\end{psmatrix} +\psset{nodesep=3pt,arrows=->,linecolor=red,offset=0.3cm} +\pcline[offsetA=0.3cm](A)(B) +\pcline[offsetB=-0.3cm](A)(C) +\end{LTXexample} + + +\section{Linien beschriften}\index{Linienbeschriftung} + +\subsection{Beschriftung einf\"ugen} + +\psframebox{\parbox{0.65\textwidth}{ +\bs ncput\psframebox[framesep=2pt,fillstyle=solid,fillcolor=black!20,linecolor=black!20]{*} +[\psframebox[framesep=2pt,fillstyle=solid,fillcolor=black!20,linecolor=black!20]{\texttt{Optionen}}] +\{Beschriftung auf der Linie\}\\ +\bs naput\psframebox[framesep=2pt,fillstyle=solid,fillcolor=black!20,linecolor=black!20]{*} +[\psframebox[framesep=2pt,fillstyle=solid,fillcolor=black!20,linecolor=black!20]{\texttt{Optionen}}] +\{Beschriftung \"uber der Linie\}\\ +\bs nbput\psframebox[framesep=2pt,fillstyle=solid,fillcolor=black!20,linecolor=black!20]{*} +[\psframebox[framesep=2pt,fillstyle=solid,fillcolor=black!20,linecolor=black!20]{\texttt{Optionen}}] +\{Beschriftung unter der Linie\} +}} + +\begin{LTXexample}[width=.4\linewidth] +\begin{pspicture}(0,1)(4,-2) +\begin{psmatrix}[emnode=r] +\psset{arrowscale=2} +Verbinde {\rnode{A}{KnotenX}} mit +{\rnode{B}{KnotenY}}! +\end{psmatrix} +\ncbar[nodesep=3pt,angleA=-90,angleB=90, +linecolor=red,arrows=<->,arrowscale=2,arm=0.8] +{A}{B} +\ncput*{auf} +\naput*{\"uber} +\nbput*{unter} +\end{pspicture} +\end{LTXexample} + +Die angegebene Sternchenversion ist besser geeignet, da sie die Linien +überschreibt und damit die Beschriftungen besser sichtbar sind (vgl. mit +der nachfolgenden Beispielversion ohne Sternchen). Das betrifft besonders +die \texttt{naput}-Version. + +\begin{LTXexample}[width=.4\linewidth] +\begin{pspicture}(0,1)(4,-2) +\begin{psmatrix}[emnode=r] +\psset{arrowscale=2} +Verbinde {\rnode{A}{KnotenX}} mit +{\rnode{B}{KnotenY}}! +\end{psmatrix} +\ncbar[nodesep=3pt,angleA=-90,angleB=90, +linecolor=red,arrows=<->,arrowscale=2,arm=0.8] +{A}{B} +\ncput{auf} +\naput{\"uber} +\nbput{unter} +\end{pspicture} +\end{LTXexample} + +Ohne die Angabe von Optionen wird die Beschriftung auf den sichtbaren +Linienteil geschrieben. Sie orientiert sich dabei an der Linienmitte. +Mit \texttt{npos=}\index{npos@\texttt{npos}} und +\text{nrot=}\index{nrot@\texttt{nrot}} kann diese Orientierung ge\"andert werden. + +Mit \Lcs{psset}\{labelset=\} kann der Abstand zwischen Label und Linie +reguliert werden. Wenn der Wert auf 0pt gesetzt wird (also direkt über oder +unter der Linie, sollte f\"ur \Lcs{naput} bzw. \Lcs{nbput} nicht die +Sternchenversion gew\"ahlt werden, die wahrscheinlich ohnehin nur f\"ur +\Lcs{ncput} sinnvoll scheint. Die Nullversion ist immer dann zu nehmen, +wenn es Probleme mit dem Sichtbarmachen des Labels gibt. + +\subsection{npos} + +\texttt{npos} ermöglicht die Platzierung der Beschriftung auf den +verschiedenen Segmenten des entsprechenden Linientyps. Die Zahl gibt vor +dem Punkt die Segmentnummer (0,1,2,\ldots) und nach dem Punkt den Abstand +zum Segmentanfang an. Im folgenden Beispiel bekommt die Beschriftung den +Wert 1.2 und steht damit auf dem zweiten Liniensegment 20\% vom +Segmentanfang. + +\begin{table}[H] +\centering +\caption{Zusammenstellung der Kurzformen für die Drehwinkel}\label{tab:wind} + \begin{tabular}{@{}l|*{8}{>{\ttfamily}c}@{}} + \emph{Buchstabe} & U & L & D & R & N & W & S & E \\\hline + \emph{Bedeutung} & Up& Left&Down&Right&North&West&South&East\\ + \emph{Enstprechung} &0&90&180&270&*0&*90&*180&*270 +% +% \begin{tabular}{@{}>{\ttfamily}llr@{}} +% \textrm{Buchstabe} & Bedeutung & Winkel\\\hline +% U & Up & 0\\ +% L & Left & 90\\ +% D & Down & 180\\ +% R & Right & 270\\ +% N & North & *0\\ +% W & West & *90\\ +% S & South & *180\\ +% E & East & *270 + \end{tabular} +\end{table} + +\begin{LTXexample}[width=.4\linewidth] +\begin{pspicture}(0,1)(4,-2) +\begin{psmatrix}[emnode=r] +\psset{arrowscale=2} +Verbinde {\rnode{A}{KnotenX}} mit +{\rnode{B}{KnotenY}}! +\end{psmatrix} +\ncbar[nodesep=3pt,angleA=-90,angleB=90, +linecolor=red,arrows=<->,arrowscale=2,arm=0.8] +{A}{B} +\ncput*[npos=1.2]{auf} +\end{pspicture} +\end{LTXexample} + + +\subsection{nrot} + +\texttt{nrot=:Winkel/K\"urzel} erm\"oglicht es die Beschriftung zu +drehen: + +\begin{table}[htb] +\centering\tabcolsep=3pt +\caption{Vergleich der verschiedenen Knotenverbindungen bez\"uglich ihrer +Segmentanzahl}\label{tab:segmente} +\hspace*{-1em} +\begin{tabular}{@{} lccc | lccc @{}} +\emph{Verbindung} & \emph{Segm.} & \emph{Bereich} & \emph{Vorgabe} & +\emph{Verbindung} & \emph{Segm.} & \emph{Bereich} & \emph{Vorgabe}\\\hline + \Lcs{ncline} & $1$ & $0\leq npos\leq 1$ & $0.5$ & + \Lcs{nccurve} & $1$ & $0\leq npos\leq 1$ & $0.5$\\ + \Lcs{ncarc} & $1$ & $0\leq npos\leq 1$ & $0.5$ & + \Lcs{ncbar} & $3$ & $0\leq npos\leq 3$ & $1.5$\\ + \Lcs{ncdiag} & $3$ & $0\leq npos\leq 3$ & $1.5$ & + \Lcs{ncdiagg} & $2$ & $0\leq npos\leq 2$ & $0.5$\\ + \Lcs{ncangle} & $3$ & $0\leq npos\leq 3$ & $1.5$ & + \Lcs{ncangles} & $4$ & $0\leq npos\leq 4$ & $1.5$\\ + \Lcs{ncloop} & $5$ & $0\leq npos\leq 5$ & $2.5$ & + \Lcs{nccircle} & $1$ & $0\leq npos\leq 1$ & $0.5$\\ +\end{tabular} +\end{table} + + +\begin{LTXexample}[width=.4\linewidth] +\begin{pspicture}(0,1)(4,-2) +\begin{psmatrix}[emnode=r] +\psset{arrowscale=2} +Verbinde {\rnode{A}{KnotenX}} mit +{\rnode{B}{KnotenY}}! +\end{psmatrix} +\ncbar[nodesep=3pt,angleA=-90,angleB=90, +linecolor=red,arrows=<->,arrowscale=2,arm=0.8] +{A}{B} +\ncput*[nrot=:L]{auf} +\end{pspicture} +\end{LTXexample} + +\section{Strukturbeispiele} + + + +Jetzt sollen noch einige wenige Beispiele von Struktur\"ubersichten +vorgestellt werden, die von mir in der \texttt{pstmatrix}-Umgebung gesetzt wurden. + +\begin{figure}[H]\centering +\begin{psmatrix}[colsep=0.8,rowsep=0.8] +\psframebox[fillcolor=red!40,fillstyle=solid,doubleline=true] +{$\left[\tabular{c}GF: /Pinguin/\\ WA: +N\endtabular\right]$} + & \psframebox[fillcolor=yellow!40,fillstyle=solid]{Vogel} \\ +\psframebox[fillcolor=blue!40,fillstyle=solid,doubleline=true]{\tabular{l}aufrecht\\ gehend\endtabular} + & \psshadowbox[fillcolor=red,fillstyle=solid,shadow=true,blur=true,shadowsize=5pt]{\textbf{Pinguin}} & + \psframebox[fillcolor=blue!40,fillstyle=solid,doubleline=true]{flugunfähig}\\ + & \psframebox[fillcolor=green!40,fillstyle=solid]{Felsenpinguin} +\end{psmatrix} +\ncline{1,1}{2,2} \naput{s} +\ncline{1,2}{2,2} \naput{ob} +\ncline{2,1}{2,2} \naput{a} +\ncline{2,2}{2,3} \naput{a} +\ncline{2,2}{3,2} \naput{ub} +\caption{Ein Frame} +\end{figure} + +\begin{lstlisting}[language={[LaTeX]TeX},basicstyle=\rmfamily\small,backgroundcolor={\color{yellow!20}},frame=single] +\usepackage{pst-node,pst-blur} +\begin{psmatrix}[colsep=0.8,rowsep=0.8] +\psframebox[fillcolor=red!40,fillstyle=solid,doubleline=true] +{$\left[\tabular{c}GF: /Pinguin/\\ WA: +N\endtabular\right]$} + & \psframebox[fillcolor=yellow!40,fillstyle=solid]{Vogel} \\ +\psframebox[fillcolor=blue!40,fillstyle=solid,doubleline=true]{\tabular{l}aufrecht\\ gehend\endtabular} + & \psshadowbox[fillcolor=red,fillstyle=solid,shadow=true,blur=true,shadowsize=5pt]{\textbf{Pinguin}} & + \psframebox[fillcolor=blue!40,fillstyle=solid,doubleline=true]{flugunfähig}\\ + & \psframebox[fillcolor=green!40,fillstyle=solid]{Felsenpinguin} +\end{psmatrix} +\ncline{1,1}{2,2} \naput{s} +\ncline{1,2}{2,2} \naput{ob} +\ncline{2,1}{2,2} \naput{a} +\ncline{2,2}{2,3} \naput{a} +\ncline{2,2}{3,2} \naput{ub} +\end{lstlisting} + + +\begin{figure}[H]\centering +\begin{psmatrix}[colsep=0.8,rowsep=0.8] +\psset{shortput=nab,framesep=10pt} + \psshadowbox[framearc=0.25,fillcolor=blue!20,fillstyle=solid,doubleline=true]{Lebewesen} & + \psframebox[fillcolor=yellow!40,fillstyle=solid]{allgemeine Kategorisierung}\\ + \psshadowbox[framearc=0.25,fillcolor=red!40,fillstyle=solid,doubleline=true]{\textbf{Löwe}} +& \psframebox[fillcolor=red!40,fillstyle=solid,doubleline=true]{Basisebene}\\ + \psshadowbox[framearc=0.25,fillcolor=blue!20,fillstyle=solid,doubleline=true]{Höhlenlöwe} +& \psframebox[fillcolor=green!30,fillstyle=solid]{spezielle Kategorisierung} +\end{psmatrix} +\psset{nodesep=2pt,arrows=->} +\ncline[arrowscale=2]{1,1}{2,1} +\ncline[arrowscale=2]{2,1}{3,1} +\caption{Eine konzeptuelle Kategorisierung} +\end{figure} + +\begin{lstlisting}[language={[LaTeX]TeX},basicstyle=\rmfamily\small,backgroundcolor={\color{yellow!20}},frame=single] +\begin{psmatrix}[colsep=0.8,rowsep=0.8] +\psset{shortput=nab,framesep=10pt} + \psshadowbox[framearc=0.25,fillcolor=blue!20,fillstyle=solid,doubleline=true]{Lebewesen} & + \psframebox[fillcolor=yellow!40,fillstyle=solid]{allgemeine Kategorisierung}\\ + \psshadowbox[framearc=0.25,fillcolor=red!40,fillstyle=solid,doubleline=true]{\textbf{Löwe}} +& \psframebox[fillcolor=red!40,fillstyle=solid,doubleline=true]{Basisebene}\\ + \psshadowbox[framearc=0.25,fillcolor=blue!20,fillstyle=solid,doubleline=true]{Höhlenlöwe} +& \psframebox[fillcolor=green!30,fillstyle=solid]{spezielle Kategorisierung} +\end{psmatrix} +\psset{nodesep=2pt,arrows=->} +\ncline[arrowscale=2]{1,1}{2,1} +\ncline[arrowscale=2]{2,1}{3,1} +\end{lstlisting} + +\begin{figure}[H]\centering +\psset{framearc=0.2,shadow=true,fillstyle=solid,shadowcolor=black!55} +\begin{psmatrix}[colsep=0,rowsep=0.9] + & & \psframebox[fillcolor=blue!30]{Synchronie}\\ + & \psframebox[fillcolor=red!30]{Sprache} & \\ + & & \psframebox[fillcolor=blue!30]{Diachronie} \\ +\psframebox[fillcolor=red!30]{Menschliche Rede} & & \\ + & \psframebox[fillcolor=red!30]{Sprechen} & + \end{psmatrix} + \psset{shadow=false} +\ncline[arrows=->,arrowscale=2]{2,2}{1,3} +\ncline[arrows=->,arrowscale=2]{2,2}{3,3} +\ncline[arrows=->,arrowscale=2]{4,1}{2,2} +\ncline[arrows=->,arrowscale=2]{4,1}{5,2} +\caption{F. de Saussure zu Sprache} +\end{figure} + +\begin{lstlisting}[language={[LaTeX]TeX},basicstyle=\rmfamily\small,backgroundcolor={\color{yellow!20}},frame=single] +\psset{framearc=0.2,shadow=true,fillstyle=solid,shadowcolor=black!55} +\begin{psmatrix}[colsep=0,rowsep=0.9] + & & \psframebox[fillcolor=blue!30]{Synchronie}\\ + & \psframebox[fillcolor=red!30]{Sprache} & \\ + & & \psframebox[fillcolor=blue!30]{Diachronie} \\ +\psframebox[fillcolor=red!30]{Menschliche Rede} & & \\ + & \psframebox[fillcolor=red!30]{Sprechen} & + \end{psmatrix} + \psset{shadow=false} +\ncline[arrows=->,arrowscale=2]{2,2}{1,3} +\ncline[arrows=->,arrowscale=2]{2,2}{3,3} +\ncline[arrows=->,arrowscale=2]{4,1}{2,2} +\ncline[arrows=->,arrowscale=2]{4,1}{5,2} +\end{lstlisting} + +\begin{figure}[H] \centering +\begin{psmatrix}[emnode=r,colsep=0.5cm,rowsep=0.5cm,mcol=c] + & & & & & \\ + & & & [mnode=oval] 18 & &\\ + & & & & & \\ + & & & &[mnode=tri] 12 &\\ + & & & & & \\ + & & [mnode=C,linestyle=dashed,radius=0.5,mcol=l] & & &\\ + \fbox{12} & & & \fbox{51} & & \\ + & \fbox{36} & & & &\\ + & & & & & +\end{psmatrix} +\psset{arrowscale=2,labelsep=0pt} +\ncline{->}{1,5}{2,4} +\ncarc{->}{4,5}{2,4}\naput[npos=0.4]{OBJ} +\ncarc{->}{6,3}{4,5}\naput[npos=0.4]{INSTR} +\ncline{<->}{6,3}{3,1} +\ncarc{->}{6,3}{7,1}\naput[npos=0.4]{UB} +\ncarc{->}{6,3}{7,4}\naput[npos=0.4]{UB} +\ncarc{->}{6,3}{8,2}\naput[npos=0.4]{UB} +\ncarc{->}{9,1}{7,1} \ncarc{->}{9,3}{8,2} +\ncarc{->}{8,5}{7,4} \ncline{->}{5,6}{4,5} +\caption{Begriffliches Merkmalsnetz nach Hoffmann} +\end{figure} + +\begin{lstlisting}[language={[LaTeX]TeX},basicstyle=\rmfamily\small,backgroundcolor={\color{yellow!20}},frame=single] +\begin{psmatrix}[emnode=r,colsep=0.5cm,rowsep=0.5cm,mcol=c] + & & & & & \\ + & & & [mnode=oval] 18 & &\\ + & & & & & \\ + & & & &[mnode=tri] 12 &\\ + & & & & & \\ + & & [mnode=C,linestyle=dashed,radius=0.5,mcol=l] & & &\\ + \fbox{12} & & & \fbox{51} & & \\ + & \fbox{36} & & & &\\ + & & & & & +\end{psmatrix} +\psset{arrowscale=2,labelsep=0pt} +\ncline{->}{1,5}{2,4} +\ncarc{->}{4,5}{2,4}\naput[npos=0.4]{OBJ} +\ncarc{->}{6,3}{4,5}\naput[npos=0.4]{INSTR} +\ncline{<->}{6,3}{3,1} +\ncarc{->}{6,3}{7,1}\naput[npos=0.4]{UB} +\ncarc{->}{6,3}{7,4}\naput[npos=0.4]{UB} +\ncarc{->}{6,3}{8,2}\naput[npos=0.4]{UB} +\ncarc{->}{9,1}{7,1} \ncarc{->}{9,3}{8,2} +\ncarc{->}{8,5}{7,4} \ncline{->}{5,6}{4,5} +\end{lstlisting} + +\newpage +\bgroup +\appendix + +%\addcontentsline{toc}{section}{Literaturverzeichnis} + +\nocite{PSTricks2} +\nocite{pstricks2007} +\raggedright +\bibliographystyle{gerplain} + +\bibliography{psmatrix-docDE} +\egroup +\clearpage +\addcontentsline{toc}{section}{Index} +\printindex + + +\end{document} + + diff --git a/Master/texmf-dist/doc/generic/pst-node/pst-node-doc.pdf b/Master/texmf-dist/doc/generic/pst-node/pst-node-doc.pdf index 6c2be6391a7..3d93947a5e7 100644 Binary files a/Master/texmf-dist/doc/generic/pst-node/pst-node-doc.pdf and b/Master/texmf-dist/doc/generic/pst-node/pst-node-doc.pdf differ diff --git a/Master/texmf-dist/doc/generic/pst-node/pst-node-doc.tex b/Master/texmf-dist/doc/generic/pst-node/pst-node-doc.tex index 71e00c1f319..dcb3ed4cdf1 100644 --- a/Master/texmf-dist/doc/generic/pst-node/pst-node-doc.tex +++ b/Master/texmf-dist/doc/generic/pst-node/pst-node-doc.tex @@ -66,8 +66,14 @@ Thanks to: Denis Girou; Rolf Niepraschk; Sebastian Rahtz; \clearpage \part{Basic commands, connections and labels} +The following pages are from the original documentation of +\PST. This documentation file \LFile{pst-docfull} should be part of any +\TeX\ distribution and was inserted here with the following command: + +\verb+\includepdf[pages=6-32]{pst-docfull}+ + \clearpage -\setcounter{page}{31} +\setcounter{page}{33} \part{New commands} %-------------------------------------------------------------------------------------- \section{Relative nodes with \nxLcs{psGetNodeCenter}} -- cgit v1.2.3