From a15b58312c777165dfb7541171c9299206f16bad Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 21 Feb 2017 00:25:48 +0000 Subject: pst-tree (20feb17) git-svn-id: svn://tug.org/texlive/trunk@43272 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/generic/pst-tree/Changes | 1 + .../doc/generic/pst-tree/pst-tree-doc-de.pdf | Bin 215154 -> 0 bytes .../doc/generic/pst-tree/pst-tree-doc-de.tex | 910 --------------------- .../doc/generic/pst-tree/pst-tree-doc.bib | 4 +- .../doc/generic/pst-tree/pst-tree-doc.pdf | Bin 215188 -> 226901 bytes .../doc/generic/pst-tree/pst-tree-doc.tex | 30 +- Master/texmf-dist/source/generic/pst-tree/Makefile | 71 -- .../texmf-dist/tex/generic/pst-tree/pst-tree.tex | 25 +- 8 files changed, 50 insertions(+), 991 deletions(-) delete mode 100644 Master/texmf-dist/doc/generic/pst-tree/pst-tree-doc-de.pdf delete mode 100644 Master/texmf-dist/doc/generic/pst-tree/pst-tree-doc-de.tex delete mode 100644 Master/texmf-dist/source/generic/pst-tree/Makefile (limited to 'Master') diff --git a/Master/texmf-dist/doc/generic/pst-tree/Changes b/Master/texmf-dist/doc/generic/pst-tree/Changes index 4a9fd6c2851..bf578ce053b 100644 --- a/Master/texmf-dist/doc/generic/pst-tree/Changes +++ b/Master/texmf-dist/doc/generic/pst-tree/Changes @@ -1,4 +1,5 @@ ----- pst-tree.tex +1.13 2017-02-18 - use \pst@draft from pstricks.tex 1.12 2011-02-28 - renamed the nodealign to \Pst@nodealign it changed in pst-node 1.11 2009-09-17 - fix bug with bounding box diff --git a/Master/texmf-dist/doc/generic/pst-tree/pst-tree-doc-de.pdf b/Master/texmf-dist/doc/generic/pst-tree/pst-tree-doc-de.pdf deleted file mode 100644 index 4c153eab3cb..00000000000 Binary files a/Master/texmf-dist/doc/generic/pst-tree/pst-tree-doc-de.pdf and /dev/null differ diff --git a/Master/texmf-dist/doc/generic/pst-tree/pst-tree-doc-de.tex b/Master/texmf-dist/doc/generic/pst-tree/pst-tree-doc-de.tex deleted file mode 100644 index 2ab69a8451a..00000000000 --- a/Master/texmf-dist/doc/generic/pst-tree/pst-tree-doc-de.tex +++ /dev/null @@ -1,910 +0,0 @@ -%% $Id: pst-tree-doc.tex 133 2009-09-17 05:53:56Z herbert $ -\documentclass[11pt,ngerman,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings - headexclude,footexclude,oneside]{pst-doc} -\usepackage[T1] {fontenc} -\usepackage[latin1]{inputenc} -\usepackage{babel} -\usepackage{pst-tree} -\let\pstTreeFV\fileversion -\lstset{pos=t,language=PSTricks, - morekeywords={psGammaDist,psChiIIDist,psTDist,psFDist,psBetaDist,psPlotImpl}, - basicstyle=\footnotesize\ttfamily} - -\usepackage{makeidx} -\makeindex -% -\begin{document} - -\title{\texttt{pst-tree}} -\subtitle{Knoten und Bäume; v.\pstTreeFV} -\author{Timothy Van Zandt\\Herbert Vo\ss} -\docauthor{Herbert Vo\ss \\ -\textnormal{Übersetzung aus dem Englischen:} \\ -%Christine Römer (xcr@uni-jena.de),\\ -Alexander Mischke von der FSU Jena (alex.mischke@web.de)} -\date{\today} -\maketitle - -\tableofcontents - -\clearpage% - -\begin{abstract} -Knoten und Knotenverbindungen sind perfekte Werkzeuge für die Erstellung von Bäumen, -allerdings wäre die -Positionierung der Knoten mittels \Lcs{rput} ungleich aufwendiger.\footnote{% -Wenn man nicht ein Programm hat, das die Koordinaten erzeugt.} Die Datei -\nxLPack{pst-tree.tex}/\nxLPack{pstree.sty} -enthält eine fortgeschrittene Schnittstelle für die Baumerstellung. - -Es sollte angemerkt werden, dass ein korrektes Ergebnis nicht unter jedem \Lprog{dvips}-Treiber -garantiert werden kann. Dieses Paket wurde für das -\Lprog{dvips}-Programm von Rokicki\index{Rokicki} geschrieben, welches praktisch Bestandteil -jeder \TeX-Distribution ist. -%\vfill -%Thanks to: Lars Kotthoff, Geoff Mercer -\end{abstract} - -\clearpage - -% --------------------- - -\section{Überblick} - -Die Baumbefehle sind - - -\begin{BDef} -\Lcs{pstree}\Largb{}\Largb{} -\end{BDef} - -\begin{BDef} -\begin{tabular}{@{}l@{\kern30pt}l} -\TeX\ version & \LaTeX\ version\\ -\Lcs{psTree}\Largb{} & \LBEG{psTree}\Largb{root}\\ -\qquad & \qquad \\ -\Lcs{endpsTree} & \LEND{psTree} -\end{tabular} -\end{BDef} - -Diese Befehle erfüllen die gleiche Funktion und haben nur eine unterschiedliche Syntax. -\Lcs{psTree} ist die \glqq -lange\grqq{} Version. Diese Makros erstellen eine Box, die alle Knoten einschließt und deren -Grundlinie durch den Mittelpunkt des -Wurzelknotens verläuft. Die meisten der Knoten haben eine Variante für die Verwendung innerhalb -eines Baumes und werden Baumknoten genannt (Siehe Abschnitt~\ref{treenodes}). - -Bäume und Baumknoten werden \emph{\Index{Baumobjekte}} genannt. Die \Larg{Wurzel} eines Baumes -sollte ein einzelnes -Baumobjekt sein und die \Larg{Nachfolger} sollten ein oder mehrere Baum\-objekte sein. Hier ist ein -Beispiel, das nur aus Knoten besteht: - -\begin{LTXexample}[pos=l] - \pstree[radius=3pt]{\Toval{root}}{\TC* \TC* \TC* \TC*} -\end{LTXexample} - -\noindent Es gibt keinen Unterschied zwischen einem End- und einem Wurzelknoten, abgesehen von der -Position im -\Lcs{pstree}\Largb{}-Befehl. Das folgende Beispiel zeigt einen Baum, der in der Liste der Nachfolger -erscheint und so ein \Index{Unterbaum} wird: - -\begin{LTXexample}[pos=l] - \pstree[radius=3pt]{\Tp}{% - \TC* - \pstree{\TC}{\TC* \TC*} - \TC*} -\end{LTXexample} - - -\section{Baumknoten}\label{treenodes} - -Der Name des Baumknotens ergibt sich immer durch Auslassen des \glqq node \grqq{} vom Ende des -Namens und durch -Anfügen eines \glqq T \grqq{} am Anfang. Beispielsweise wird \Lcs{psovalnode} zu \Lcs{Toval}. -Hier ist eine Liste solcher Baumknoten: - -\begin{BDef} -\LcsStar{Tp}\OptArgs\\ -\LcsStar{Tc}\OptArgs\Largb{dim}\\ -\LcsStar{TC}\OptArgs\\ -\LcsStar{Tf}\OptArgs\\ -\LcsStar{Tdot}\OptArgs\\ -\LcsStar{Tr}\OptArgs\Largb{stuff}\\ -\LcsStar{TR}\OptArgs\Largb{stuff}\\ -\LcsStar{Tcircle}\OptArgs\Largb{stuff}\\ -\LcsStar{TCircle}\OptArgs\Largb{stuff}\\ -\LcsStar{Toval}\OptArgs\Largb{stuff}\\ -\LcsStar{Tdia}\OptArgs\Largb{stuff}\\ -\LcsStar{Ttri}\OptArgs\Largb{stuff} -\end{BDef} - -Die Syntax eines Baumknotens gleicht der des korrespondierenden \glqq normalen\grqq{} Knotens, -außer dass: -\begin{itemize} - \item es immer ein optionales Argument für die Einstellung von grafischen Parametern gibt, - auch wenn der ursprüngliche Knoten keines hatte; - \item es kein Argument zum Spezifizieren des Knotennamens gibt; - \item es nie ein Koordinatenargument zum Positionieren des Knotens gibt und - \item um den Referenzpunkt bei \Lcs{Tr} zu setzen, der \Lkeyword{ref}-Parameter benötigt wird. -\end{itemize} - -\noindent Abbildung~\vref{allnodes} gibt einen Überblick, wie die einzelnen Knoten aussehen. - -\begin{figure}[!htb] -\begin{LTXexample} - \small - \psset{armB=1cm, levelsep=3cm, treesep=-3mm, angleB=-90, angleA=90, nodesepA=3pt} - \def\s#1{#1~{\tt\string#1}}\def\b#1{#1{\tt\string#1}}\def\psedge#1#2{\ncangle{#2}{#1}} - \psTree[treenodesize=1cm]{\Toval{Tree nodes}} - \s\Tp\Tc{.5}~{\tt\string\Tc} \s\TC - \psTree[levelsep=4cm,armB=2cm]{\Tp[edge=\ncline]} - \b\Tcircle \s\Tdot - \TCircle[radius=1.2]{\tt\string\TCircle} - \Tn \b\Toval \b\Ttri \b\Tdia - \endpsTree - \s\Tf \b\Tr \b\TR - \endpsTree -\end{LTXexample} -\caption{Die Baumknoten.}\label{allnodes} -\end{figure} - -~\\ -\noindent Der Unterschied zwischen \Lcs{Tr} und \Lcs{TR} (jeweils Varianten von \Lcs{rnode} und -\Lcs{Rnode}) spielt in Bäumen -eine wichtige Rolle. Für gewöhnlich will man \Lcs{TR} bei vertikalen Bäumen verwenden, da die -Grundlinien des Textes bündig horizontal verlaufen. Zum Beispiel: - -\begin{LTXexample}[pos=l] - $ - \pstree[nodesepB=3pt]{\Tcircle{X}}{% - \TR{\tilde{\tilde{X}}} - \TR{x} - \TR{y}} - $ -\end{LTXexample} - -Vergleichen Sie mit diesem Beispiel, welches \Lcs{Tr} verwendet: -\begin{LTXexample}[pos=l] - $ - \pstree[nodesepB=3pt]{\Tcircle{X}}{% - \Tr{\tilde{\tilde{X}}} - \Tr{x} - \Tr{y}} - $ -\end{LTXexample} - -\newpage -Es gibt auch einen Null-Baumknoten: -\begin{BDef} -\Lcs{Tn} -\end{BDef} - -Dieser ist als Platzhalter gedacht. Sehen Sie sich den Baum in Abb. 1 auf Seite~\pageref{allnodes} an: -Bei der unteren Reihe fehlt ein Knoten in der Mitte. \Lcs{Tn}\Largb{} wurde für diesen fehlenden -Knoten verwendet. -\clearpage - -\noindent Es gibt auch einen besonderen Baumknoten, der keine \glqq normale \grqq Version aufweist -und der nicht als Wurzelknoten eines kompletten Baumes genutzt werden kann: -\begin{BDef} -\LcsStar{Tfan}\OptArgs -\end{BDef} - -Dieser Befehl zeichnet ein Dreieck, dessen Grundlinie sich aus \Lkeyword{fansize} ergibt und -dessen gegenüberliegende -Ecke (anhand der Werte von \Lkeyword{nodesepA} und \Lkeyword{offsetA} ausgerichtet) den vorhergehenden -Knoten bildet. -Zum Beispiel: - -\begin{LTXexample}[pos=l] - \pstree[dotstyle=oplus,dotsize=8pt,nodesep=2pt]{\Tcircle{11}}{% - \Tdot - \pstree{\Tfan}{\Tdot} - \pstree{\Tdot}{\Tfan[linestyle=dashed]}} -\end{LTXexample} - - -\section{Baumausrichtung} - -Bäume können nach unten, oben, rechts oder links wachsen, abhängig vom \Lkeyword{treemode=}\Lkeyval{D}, \Lkeyval{U}, \Lkeyval{R}, oder \Lkeyval{L}-Parameter. - -\noindent So sähe das vorherige Beispiel mit Rechtswachstum aus: - -\begin{LTXexample}[pos=l,width=0.4\linewidth] - \pstree[dotstyle=oplus,dotsize=8pt, - nodesep=2pt,treemode=R] - {\Tcircle{11}}{% - \Tdot - \pstree{\Tfan}{\Tdot} - \pstree{\Tdot}{\Tfan[linestyle=dashed]}} -\end{LTXexample} - - -\noindent Die Ausrichtung von \Lkeyword{treemode} kann auch mitten im Baum erfolgen. Hier ist -z.\,B. ein Baum, der nach oben -wächst und dann einen Unterbaum beinhaltet, welcher nach links wächst: - -\begin{LTXexample}[pos=l,width=0.4\linewidth] - \footnotesize - \pstree[treemode=U,dotstyle=otimes,dotsize=8pt,nodesep=2pt] - {\Tdot}{% - \pstree[treemode=L]{\Tdot}{\Tcircle{1} \Tcircle{2}} - \pstree{\Tdot}{\Tcircle{3} \Tcircle{4}}} -\end{LTXexample} - -\noindent Da man die Ausrichtung eines Baumes ändern kann, kann es sinnvoll sein, einen Baum -() als Wurzelknoten (von -) einzuschließen. Das ergibt einen einzelnen logischen Baum, dessen Wurzel die Wurzel von - ist und der -Nachfolger in verschiedenen Richtungen hat, abhängig davon, ob diese als Nachfolger von oder - erscheinen. - -\begin{LTXexample}[pos=l,width=0.4\linewidth] - \pstree{\pstree[treemode=L]{\Tcircle{root}}{\Tr{B}}}{% - \Tr{A1} - \Tr{A2}} -\end{LTXexample} - -%%DG: to do - -\noindent Beachten Sie als verwandtes Thema, dass jeder Knoten, der eine LR-Box erzeugt, einen Baum -enthalten kann. -Verschachtelte Bäume dieser Art stehen jedoch in keiner Beziehung zum Rest des Baumes. Hier ist ein -Beispiel dafür: - -\begin{LTXexample}[pos=l,width=0.4\linewidth] - \psTree{\Tcircle{% - \pstree[treesep=0.4,levelsep=0.6, - nodesepB=-6pt]{\Tdot}{% - \TR{a} \TR{b}}}} - \TC - \TC - \endpsTree -\end{LTXexample} - -\noindent Wenn der Baum nach oben oder unten wächst, werden die Nachfolger in der Reihenfolge, in der -sie in \Lcs{pstree} -erscheinen von links nach rechts aufgereiht. Wenn der Baum nach links oder -rechts wächst, werden die Nachfolger von oben -nach unten aufgereiht. Im Nachhinein könnte man die Reihenfolge der Knoten umdrehen. Der Code -\Lkeyword{treeflip}=\true/\false{} ermöglicht dies. Zum Beispiel: - -\begin{LTXexample}[pos=l,width=0.4\linewidth] -\footnotesize -\pstree[treemode=U,dotstyle=otimes,dotsize=8pt, - nodesep=2pt,treeflip=true]{\Tdot}{% - \pstree[treemode=R]{\Tdot}{\Tcircle{1} \Tcircle{2}} - \pstree{\Tdot}{\Tcircle{3} \Tcircle{4}}} -\end{LTXexample} -Beachten Sie, dass man immer noch zurückgehen und den \Lkeyword{treemode} des Unterbaums, der nach -links wuchs, ändern müsste. - - -\section{Der Abstand zwischen Nachfolgern} - -Der Abstand zwischen Nachfolgern wird durch \Lkeyword{treesep} bestimmt. Der Rest dieses Abschnitts -zeigt Wege, wie -man die Feinabstimmung für die Zwischenräume bei Nachfolgern vornimmt. Die Art und Weise wie die -Abstände zwischen Unterbäumen berechnet werden, kann durch den -Parameter \Lkeyword{treefit}=\Lkeyval{tight}/\Lkeyval{loose} geändert -werden. Hier sind zwei Methoden: - -\begin{description} -\item[\Lkeyval{tight}]Wenn \Lkeyset{treefit=tight} (Normalfall) eingestellt ist, wird -\Lkeyword{treesep} der Minimalabstand zwischen jeder der Ebenen der Unterbäume. -\item[\Lkeyval{loose}]Wenn \Lkeyset{treefit=loose} eingestellt ist, wird \Lkeyword{treesep} -der Abstand zwischen den Bounding Boxes der Unterbäume. Außer bei großen Zwischenknoten hat dies -zur Folge, dass der horizontale Abstand (oder -der vertikale Abstand bei horizontalen Bäumen) zwischen all den Endknoten der gleiche ist (auch wenn -sie sich auf verschiedenen Ebenen befinden).\footnote{% -Wenn alle Endknoten auf der gleichen Ebene liegen und die Zwischenknoten nicht breiter als die -Grundlinien ihrer -zugehörigen \Index{Unterbäume} sind, entfällt der Unterschied zwischen beiden Methoden.} -\end{description} - -\noindent Zum Vergleich: -\begin{center} -\tabcolsep=1cm -\begin{tabular}{cc} - \psset{radius=2pt} - \pstree{\TC*}{% - \TC - \pstree{\TC*}{% - \pstree{\Tc{3pt}}{\TC \TC} - \TC*}} - & - \psset{radius=2pt} - \pstree[treefit=loose]{\TC*}{% - \TC - \pstree{\TC*}{% - \pstree{\Tc{3pt}}{\TC \TC} - \TC*}} -\end{tabular} -\end{center} - -\noindent Bei \Lkeyset{treefit=loose} benötigen Bäume mehr Platz, die Struktur des Baumes wird dabei -manchmal betont. -%Another (orthogonal) way to highlight the structure of the tree is by setting -%\begin{Ex} -% \Par{xtreesep=dim} -%\end{Ex} -%to a positive value. The effect is that adjacent nodes with different parents -%are farther apart than adjacent nodes with the same parent.\footnote{% -%When \p{treefit=tight}, the minimum distance between levels other than the top -%of the subtrees is increased by \p{xtreesep}. When \p{treefit=loose}, the -%minimum distance between subtrees is increased by \p{xtreesep}}. - -%This would have no effect in the previous two examples, but compare the -%spacing between the two subtrees in -%\begin{LTXexample} -% \psTree[radius=2pt,levelsep=1.5,xtreesep=.25cm] \TC* \\ -% \pstree{\TC*}{\TC* \TC*} -% \pstree{\TC*}{\TC* \TC*} -% \endpsTree -%\end{LTXexample} -%with the spacing in -%\begin{LTXexample} -% \psTree[radius=2pt,levelsep=1.5] \TC* \\ -% \pstree{\TC*}{\TC* \TC*} -% \pstree{\TC*}{\TC* \TC*} -% \endpsTree -%\end{LTXexample} - -\noindent Manchmal will man den Abstand zwischen den Mittelpunkten der Knoten regelmäßig gestalten, -auch wenn die Knoten unterschiedlich groß sind. Wenn man \Lkeyword{treenodesize} auf einen positiven -Wert setzt, stellt PSTricks die Breite (oder -Höhe+Tiefe bei vertikalen Bäumen) auf \Lkeyword{treenodesize}, \emph{um den Abstand zwischen den -Nachfolgern zu berechnen}. - -\noindent Dreigliedrige Bäume sehen beispielsweise gut aus, wenn sie wie im folgenden Beispiel -symmetrisch sind: - -\begin{LTXexample}[pos=l,width=0.4\linewidth] - \pstree[nodesepB=-8pt,treenodesize=.85]{\Tc{3pt}}{% - \TR{$x=y$} - \TR{$x_1=y_1$} - \TR{$x_{11}=y_{11}$}}%$ -\end{LTXexample} - -\noindent Vergleichen Sie mit folgendem Beispiel, wo sich der Abstand mit der Größe der Knoten ändert: - -\begin{LTXexample}[pos=l,width=0.4\linewidth] - \pstree[nodesepB=-8pt]{\Tc{3pt}}{% - \TR{$x=y$} - \TR{$x_1=y_1$} - \TR{$x_{11}=y_{11}$}}%$ -\end{LTXexample} - -\noindent Wenn alles andere nicht funktioniert, kann man den Abstand zwischen zwei Nachfolgern durch -das Einfügen von \Lcs{tspace}\Largb{length} zwischen beiden ausrichten: - -\begin{LTXexample}[pos=l,width=0.4\linewidth] - \pstree{\Tc{3pt}}{% - \Tdia{foo} - \tspace{-0.5} - \Toval{and} - \Ttri{bar}} -\end{LTXexample} - -\section{Abstand zwischen der Wurzel und den Nachfolgern} - -Der Abstand zwischen den Mittellinien der Baumebenen ist \Lkeyword{levelsep}. Wenn man will, dass -sich der Abstand -zwischen den Ebenen mit deren Größe ändert, verwendet man die *-Konvention. \Lkeyword{levelsep} ist -dann der Abstand -zwischen dem unteren Ende der einen und dem oberen Ende der nächsten Ebene (oder zwischen den Seiten -der beiden Ebenen bei horizontalen Bäumen). - -\noindent Beachten Sie: PSTricks muss Informationen in die \Lext{aux}-Datei (unter \LaTeX) oder -\Lcs{jobname}.pst andererseits -schreiben, um den Abstand zu berechnen. Sie müssen die Eingabedatei einige Male kompilieren, bevor -PSTricks die Abstände korrekt einrichtet. -%%DG: to do -%You are most likely to want to set \p{varlevelsep} to "true" in horizontal -Vergleichen Sie das folgende Beispiel: - -\begin{LTXexample} - \def\psedge#1#2{\ncdiagg[nodesep=3pt,angleA=180,armA=0]{#2}{#1}} - \pstree[treemode=R,levelsep=*1cm]{\Tr{George Alexander Kopf VII}}{% - \pstree{\Tr{Barry Santos}}{\Tr{James Kyle} \Tr{Ann Ada}} - \pstree{\Tr{Terri Maloney}}{\Tr{Uwe Kopf} \Tr{Vera Kan}}} -\end{LTXexample} - -\noindent mit diesem Beispiel, in dem der Abstand zwischen den Ebenen unverändert ist: - -\begin{LTXexample} - \def\psedge#1#2{\ncdiagg[nodesep=3pt,angleA=180,armA=0]{#2}{#1}} - \pstree[treemode=R,levelsep=3cm]{\Tr{George Alexander Kopf VII}}{% - \pstree{\Tr{Barry Santos}}{\Tr{James Kyle} \Tr{Ann Ada}} - \pstree{\Tr{Terri Maloney}}{\Tr{Uwe Kopf} \Tr{Vera Kan}}} -\end{LTXexample} - -%The center of the root node of a tree is positioned above the midpoint between -%the centers of the two outer successors. If you want the root to be positioned -%drectly above one of the successors, put the command -% \Mac \treecenter -%right \emph{after} that successor. For example: -%\begin{LTXexample} -% \def\myfan#1{\Tfan[fillstyle=solid,fillcolor=#1]\treecenter}% -% \pstree{\Tcircle{$x_2$}}{% -% \pstree{\Tcircle{$x_1$}}{% -% \pstree{\Tcircle{$x_0$}}{\myfan{black}} -% \myfan{gray}} -% \myfan{white}} -%\end{LTXexample} - -%Here is another interesting example: -%\begin{example} -% \def\psedge{\ncangle[angleA=0,angleB=90]} -% \pstree[treesep=10pt]{\Tcircle[name=after]{$x_0$}}{% -% \Tfan[fillstyle=solid,fillcolor=black] -% \treecenter -% \pstree{\Tcircle{$x_1$}}{\Tfan[fillstyle=solid,fillcolor=darkgray]} -% \pstree{\Tcircle{$x_2$}}{\Tfan[fillstyle=solid,fillcolor=gray]} -% \pstree{\Tcircle{$x_3$}}{\Tfan[fillstyle=solid,fillcolor=lightgray]} -% \pstree{\Tcircle{$x_4$}}{\Tfan[fillstyle=solid,fillcolor=white]}} -%\end{example} - - -\section{Äste} - -Wenn man einen Baumknoten-Befehl verwendet, ist \Lcs{pssucc} gleich dem Namen des Knoten -und \Lcs{pspred} ist gleich dem Namen des Vorgängerknotens. Daher kann man eine Linie zwischen dem -Knoten und dessen Vorgänger zeichnen, -indem man beispielsweise Folgendes einfügt: - -\begin{lstlisting}[style=syntax] -\ncline{\pspred}{\pssucc} -\end{lstlisting} - -\noindent Um sich den Aufwand für jeden Knoten zu ersparen, führt jeder Knoten folgenden Befehl aus: -\begin{lstlisting}[style=syntax] - \psedge{\pspred}{\pssucc} -\end{lstlisting} -Die Standarddefiniton für \Lcs{psedge} ist \Lcs{ncline}, kann aber nach Belieben mit \Lcs{def} oder -\Lcs{renewcommand} von \LaTeX{} redefiniert werden. - -\noindent Im Folgenden wird beispielsweise \Lcs{ncdiag} mit -\Lkeyword{armA}=0 verwendet, um alle Knotenverbindungen vom selben -Punkt des Vorgängers ausgehen zu lassen. \LaTeX-User können stattdessen eingeben: -\begin{lstlisting}[style=syntax] -\renewcommand{\psedge}{\ncdiag[armA=0,angleB=180,armB=1cm]} -\end{lstlisting} - - -\begin{LTXexample}[pos=l,width=0.4\linewidth] - \def\psedge{\ncdiag[armA=0,angleB=180,armB=1cm]} - \pstree[treemode=R,levelsep=3.5cm,framesep=2pt]{\Tc{6pt}}{% - \small \Tcircle{K} \Tcircle{L} \Tcircle{M} \Tcircle{N}} -\end{LTXexample} - -\noindent Hier ist ein Beispiel mit \Lcs{ncdiagg}. Beachten Sie die Verwendung eines negativen Wertes -für \Lkeyword{armA}, damit die Ecken der Äste vertikal ausgerichtet sind, auch wenn die Knoten -verschieden groß sind: - -\begin{LTXexample} -$ -\def\psedge#1#2{\ncdiagg[angleA=180,armA=1cm,nodesep=4pt]{#2}{#1}} -% Or: \renewcommand{\psedge}[2]{ ... } -\pstree[treemode=R, levelsep=5cm]{\Tc{3pt}}{% - \Tr{z_1\leq y} \Tr{z_1, xbbl=15pt, - xbbr=15pt, levelsep=2.5cm]{\Tdia{root}}{% - $ - \TR[edge={\ncbar[angle=180]}]{x} - \TR{y} - \TR[edge=\ncbar]{z} - $} -\end{LTXexample} - -\begin{LTXexample}[pos=l,width=0.4\linewidth] - \psset{armB=1cm, levelsep=3cm, treesep=1cm, - angleB=-90, angleA=90, arrows=<-, nodesepA=3pt} - \def\psedge#1#2{\ncangle{#2}{#1}} - \pstree[radius=2pt]{\Ttri{root}}{\TC* \TC* \TC* \TC*} -\end{LTXexample} - - - -\section{Labels bei Ästen und Knoten} - -Typischerweise wird eine Linie gleich nach dem Knoten gezeichnet und man kann Labels mittels -\Lcs{ncput}, \Lcs{tlput} -usw. anhängen. Mit \Lcs{tlput}, \Lcs{trput}, \Lcs{taput} und \Lcs{tbput} können die Labels vertikal -oder horizontal -ausgerichtet werden, genau wie bei Knoten. Das mag gut aussehen, zumindest dann, wenn die Neigung der -Knotenverbindungen nicht zu verschieden ist. - -\begin{LTXexample}[pos=l,width=0.4\linewidth] - \pstree[radius=2pt]{\Tp}{% - \psset{tpos=.6} - \TC* \tlput{k} - \pstree{\Tc{3pt} \tlput[labelsep=3pt]{r}}{% - \TC* \tlput{j} - \TC* \trput{i}} - \TC* \trput{m}} -\end{LTXexample} - -\noindent Innerhalb von Bäumen misst der Parameter \Lkeyword{tpos} die Entfernung zwischen Vorgänger -und Nachfolger, unabhängig -von der Ausrichtung des Baumes (außerhalb von Bäumen misst er die Entfernung von oben nach unten -verlaufenden bzw. von links nach rechts verlaufenden Knoten). - -Weiterhin setzt PSTricks \Lkeyset{shortput=tab} innerhalb von Bäumen. Dabei handelt es sich um eine -spezielle Option -von \Lkeyword{shortput}, die nicht außerhalb von Bäumen verwendet werden sollte. Sie implementiert -die folgenden Kürzel, die von der Ausrichtung des Baumes abhängen: - -\begin{center} -\begin{tabular}{ccc} - & \multicolumn{2}{c}{Kurz für:}\\ - \emph{Zeichen} & \emph{Vertikale} & \emph{Horizontale}\\[2pt] - \textasciicircum & \Lcs{tlput} & \Lcs{taput} \\ - \textunderscore & \Lcs{trput} & \Lcs{tbput} -\end{tabular} -\end{center} -(Das Schema ist umgekehrt, wenn \Lkeyset{treeflip=true}). - -\begin{LTXexample}[pos=l,width=0.4\linewidth] - \psset{tpos=.6} - \pstree[treemode=R, thistreesep=1cm, - thislevelsep=3cm,radius=2pt]{\Tc{3pt}}{% - \pstree[treemode=U, xbbr=20pt]{\Tc{3pt}^{above}}{% - \TC*^{left} - \TC*_{right}} - \TC*^{above} - \TC*_{below}} -\end{LTXexample} - -\noindent Geändert werden können die Zeichenkürzel mittels - -\begin{BDef} -\Lcs{MakeShortTab}\Largb{}\Largb{} -\end{BDef} - -Die \verb+\n*put+-Befehle können auch für gute Ergebnisse sorgen: - -\begin{LTXexample}[pos=l,width=0.4\linewidth] - \psset{npos=.6,nrot=:U} - \pstree[treemode=R, thistreesep=1cm, - thislevelsep=3cm]{\Tc{3pt}}{% - \Tc{3pt}\naput{above} - \Tc*{2pt}\naput{above} - \Tc*{2pt}\nbput{below}} -\end{LTXexample} - -\noindent Mittels \Lcs{nput} kann man Knoten mit Labels versehen. Jedoch lässt \Lcs{pstree} diese -Labels außer acht, wenn es die Bounding Boxes berechnet. - -\noindent Es gibt eine spezielle Knotenlabel-Option für Bäume, die die Bounding Boxes berücksichtigt: -\begin{BDef} -\Lnotation{\texttildelow}\OptArg*{*}\OptArgs\Largb{stuff} -\end{BDef} -Nennen wir dies ein \glqq Baumknoten-Label \grqq - -\noindent Setzen Sie ein Baumknoten-Label gleich nach dem Knoten, auf den es sich beziehen soll, -bevor Sie dies für die anderen -Knotenverbindungs-Labels tun (Knotenverbindungs-Labels, inklusive der Kurzformen, können aber auf -ein Baumknoten-Label -folgen). Das Label wird in vertikalen Bäumen direkt unter dem Knoten positioniert; in anderen Bäumen -verläuft dies ähnlich. Zum Beispiel: - -\begin{LTXexample} - \pstree[radius=2pt]{\Tc{3pt}\nput{45}{\pssucc}{root}}{% - \TC*~{$h$} \TC*~{$i$} \TC*~{$j$} \TC*~{$k$}} -\end{LTXexample} - -\noindent Beachten Sie, dass es keine \glqq Langform\grqq{} für dieses Baumknoten-Label gibt. Man -kann jedoch das einzelne Zeichen für die Begrenzung des Labels folgendermaßen ändern: -\begin{BDef} -\Lcs{MakeShortTnput}\Largb{} -\end{BDef} -Wenn Sie es verwirrend finden, ein Einzelzeichen zu verwenden, können Sie auch auf eine Befehlssequenz -zurückgreifen. Zum Beispiel: -\begin{lstlisting}[style=syntax] -\MakeShortTnput{\tnput} -\end{lstlisting} - -\noindent Man kann mehrere Labels setzen, aber jedes folgende Label wird relativ zur die vorherigen -Labels beherbergenden -Bounding Box positioniert. Daher macht es einen Unterschied, in welcher Reihenfolge die Labels -platziert werden und -nicht alle Kombinationen ergeben zufriedenstellende Ergebnisse. - -\noindent Sie werden wahrscheinlich finden, dass die Baumknoten-Labels gut bei Endknoten -funktionieren, auch ohne Ihr Zutun. Wie -dem auch sei: Man kann die Baumknoten-Labels durch das Setzen verschiedener Parameter kontrollieren. - -\noindent Um das Label auf einer beliebigen Seite des Knotens zu platzieren -(\glqq l\grqq eft, \glqq r\grqq ight, \glqq a\grqq -bove oder \glqq b\grqq elow), stellt man -\Lkeyword{tnpos}=\Lkeyval{l}/\Lkeyval{r}/\Lkeyval{a}/\Lkeyval{b} ein. - -\begin{LTXexample}[pos=l,width=0.4\linewidth] -\psframebox{% - \pstree{\Tc{3pt}~[tnpos=a,tndepth=0pt,radius=4pt]{root}}{% - \TC*~[tnpos=l]{$h$} - \TC*~[tnpos=r]{$i$}}} -\end{LTXexample} - -\noindent Wenn das Argument leer gelassen wird (Normalfall), wählt PSTricks die Labelposition -automatisch. - -\noindent Um den Abstand zwischen Knoten und Label zu ändern, setzen sie \Lkeyword{tnsep} auf den -entsprechenden Wert. Wenn das -Argument leer gelassen wird (Normalfall), verwendet PSTricks den Wert von \Lkeyword{labelsep}. Bei -einem negativen Wert wird der Abstand vom Mittelpunkt des Knotens aus gemessen. - -\noindent Wenn Labels unterhalb eines Knotens positioniert werden, erhält das Label eine Minimalhöhe -von \Lkeyword{tnheight}. -Wenn man also Labels mehreren Knoten zuweist, die horizontal ausgerichtet -sind, und wenn diese Knoten entweder die -gleiche Tiefe besitzen oder \Lkeyword{tnsep} oder diese negativ ist und die Höhe jedes der Labels -nicht größer als -\Lkeyword{tnheight} ist, werden die Labels ebenfalls anhand ihrer Grundlinien ausgerichtet. Der -Normalfall ist -\nxLcs{ht}\Lcs{strutbox}, welcher in den meisten \TeX-Formaten die Höhe einer typischen Textlinie -in der -gebräuchlichen Schriftart darstellt. Beachten Sie, dass der Wert von \Lkeyword{tnheight} nicht -berechnet wird, bevor er verwendet wird. - -\noindent Die Positionierung ähnelt der von Labels, die unter einem Knoten stehen. Das Label erhält -eine \emph{Mindesttiefe} von -\Lkeyword{tndepth}. Für oberhalb oder unterhalb platzierte Labels wird der horizontale Referenzpunkt -des Labels, d.\,h. -der Punkt im Label direkt über oder unter dem Mittelpunkt des Knotens durch den -\Lkeyword{href}-Parameter gesetzt. - -\noindent Wenn Labels rechts oder links platziert werden, wird die rechte oder linke Kante des Labels -in der Entfernung -\Lkeyword{tnsep} vom Knoten positioniert. Der vertikale Punkt, der im Zentrum des Knotens ausgerichtet -wird, ergibt -sich aus \Lkeyword{tnyref}. Wenn dies leer bleibt, wird stattdessen \Lkeyword{vref} verwendet. -Behalten Sie im -Gedächtnis, dass \Lkeyword{vref} den vertikalen Abstand von der Grundlinie vorgibt. Ansonsten -funktioniert der -\Lkeyword{tnyref}-Parameter wie der \Lkeyword{yref}-Parameter, der das Stück der Distanz von der -Ober- zur Unterkante des Labels liefert. - -\section{Details} - -PSTricks ist recht zuverlässig, was die Platzierung der Knoten und das Anlegen einer Box betrifft, -deren Größe der -Bounding Box des Baumes ziemlich genau gleicht. Wie dem auch sei, PSTricks lässt die -Knotenverbindungen oder Labels -außer acht (mit Ausnahme der Baumknoten-Labels), wenn es die Bounding Boxes berechnet. - -\noindent Wenn Sie aus diesen oder anderen Gründen eine Feinabstimmung für die Bounding Boxes der -Knoten vornehmen wollen, -können Sie die folgenden Parameter auf den entsprechenden Wert setzen: - -~\\ -\begin{tabular}{@{}l l @{}} -\emph{Name} & \emph{Voreinstellung}\\\hline -\Lkeyword{bbl} & 0pt\\ -\Lkeyword{bbr}& 0pt\\ -\Lkeyword{bbh}& 0pt\\ -\Lkeyword{bbd}& 0pt\\ -\Lkeyword{xbbl}& 0pt\\ -\Lkeyword{xbbr}& 0pt\\ -\Lkeyword{xbbh}& 0pt\\ -\Lkeyword{xbbd}& 0pt -\end{tabular} - -~\\ -\noindent Die \glqq x\grqq-Versionen vergrößern die Bounding Box um den jeweiligen Wert, die anderen -setzen die Box auf den -entsprechenden Wert. Es gibt einen Parameter für jede Richtung vom Mittelpunkt des Knotens aus: -\textbf{l}eft, \textbf{r}ight, \textbf{h}eight (Höhe) und \textbf{d}epth (Tiefe). - -\noindent Diese Parameter beeinflussen Bäume und Knoten sowie Unterbäume, die ihre Richtung ändern, -jedoch keine Unterbäume, -welche in die gleiche Richtung verlaufen, wie deren übergeordneter Baum (solche Unterbäume haben ein -Profil anstelle -einer Bounding Box und sollten über die Änderung der den einzelnen Knoten zugehörigen Bounding Boxes -angepasst werden). - -\noindent Heben Sie sich die Feineinstellungen der Bounding Box für den Schluss auf, wenn sie -ansonsten mit dem Baum fertig sind. - -\noindent Sie können die Bounding Box sehen, wenn sie den Parameter -\Lkeyword{showbbox}=\true/\false{} auf \true{} setzen. Um -die Bounding Boxes aller Knoten im Baum zu sehen, muss dieser Parameter vor dem Baum gesetzt werden. - -\noindent Im folgenden Beispiel ragen die Labels aus der Bounding Box heraus: - -\begin{LTXexample}[pos=l,width=0.4\linewidth] -\psset{tpos=.6,showbbox=true} -\pstree[treemode=U]{\Tc{5pt}}{% - \TR{foo}^{left} - \TR{bar}_{right}} -\end{LTXexample} - -\newpage -\noindent So schaffen wir Abhilfe: - -\begin{LTXexample}[pos=l,width=0.4\linewidth] -\psset{tpos=.6,showbbox=true} -\pstree[treemode=U,xbbl=8pt,xbbr=14pt]{\Tc{5pt}}{% - \TR{foo}^{left} - \TR{bar}_{right}} -\end{LTXexample} - -\noindent Nun können wir den Baum umrahmen: - -\begin{LTXexample}[pos=l,width=0.4\linewidth] -\psframebox[fillstyle=solid,fillcolor=lightgray,framesep=14pt, - linearc=14pt,cornersize=absolute,linewidth=1.5pt]{% - \psset{tpos=.6,border=1pt,nodesepB=3pt} - \pstree[treemode=U,xbbl=8pt,xbbr=14pt]{% - \Tc[fillcolor=white,fillstyle=solid]{5pt}}{% - \TR*{foo}^{left} - \TR*{bar}_{right}}} -\end{LTXexample} - -\noindent Wir hätten das gleiche Ergebnis auch über das Ändern der Bounding Box der zwei -Endknoten erhalten können. - -\noindent Um Ebenen zu überspringen, verwendet man -\begin{BDef} -\LcsStar{skiplevel}\OptArgs\Largb{nodes or subtrees}\\[4pt] -\LcsStar{skiplevels}\OptArgs\Largb{int} \\ -\qquad \\ -\Lcs{endskiplevels} -\end{BDef} - -Dies sind eine Art Unterbäume, nur ohne Wurzelknoten. - -\begin{LTXexample} - \pstree[treemode=R,levelsep=1.8,radius=2pt]{\Tc{3pt}}{% - \skiplevel{\Tfan} - \pstree{\Tc{3pt}}{% - \TC* - \skiplevels{2} - \pstree{\Tc{3pt}}{\TC* \TC*} - \TC* - \endskiplevels - \pstree{\Tc{3pt}}{\TC* \TC*}}} -\end{LTXexample} - -\noindent Das Profil bei den fehlenden Ebenen ist das gleiche wie bei der ersten nicht fehlenden -Ebene. Man kann dies über die -Parameter der Bounding Box anpassen. Die maximale Kontrolle erhält man über den Einsatz verschachtelter -\Lcs{skiplevel}-Befehle anstelle von \Lcs{skiplevels}. - -\begin{LTXexample} -\large\psset{radius=6pt, dotsize=4pt} -\pstree[thislevelsep=0,edge=none,levelsep=2.5cm]{\Tn}{% - \pstree{\TR{Player 1}}{\pstree{\TR{Player 2}}{\TR{Player 3}}} - \psset{edge=\ncline} - \pstree{\pstree[treemode=R]{\TC}{\Tdot ~{(0,0,0)} ^{N}}}{% - \pstree{\TC[name=A] ^{L}}{% - \Tdot ~{(-10,10.-10)} ^{l} - \pstree{\TC[name=C] _{r}}{% - \Tdot ~{(3,8,-4)} ^{c} - \Tdot ~{(-8,3,4)} _{d}}} - \pstree{\TC[name=B] _{R}}{% - \Tdot ~{(10,-10.0)} ^{l} - \pstree{\TC[name=D]_{r}}{% - \Tdot ~{(4,8,-3)} ^{c} - \Tdot ~{(0,-5,0)} _{d}}}}} -\ncbox[linearc=.3,boxsize=.3,linestyle=dashed,nodesep=.4]{A}{B} -\ncarcbox[linearc=.3,boxsize=.3,linestyle=dashed,arcangle=25,nodesep=.4]{D}{C} -\end{LTXexample} - -\section{Der Spielraum bei Parameteränderungen} - -\Lkeyword{edge} ist der einzige Parameter, der, wenn im Parameterargument des Baumknotens gesetzt, -das Zeichnen der -Knotenverbindung beeinflusst (wenn man beispielsweise \Lkeyword{nodesep} ändern möchte, muss die -Linie die -Parameteränderung beinhalten oder man muss sie vor den Knoten setzen). - -\noindent Wie zu Beginn dieses Abschnitts angesprochen, beeinflussen mit -\Lcs{pstree} vollzogene Parameteränderungen alle -Unterbäume. Es gibt jedoch Varianten von einigen dieser Parameter, um lokale Änderungen -herbeizuführen, d.\,h. -Änderungen, die nur die aktuelle Ebene betreffen: \Lkeyword{thistreesep}, \Lkeyword{thistreenodesize}, -\Lkeyword{thistreefit}=\Lkeyval{tight}/\Lkeyval{loose} und \Lkeyword{thislevelsep}. - -Zum Beispiel: -\begin{LTXexample}[pos=l,width=0.4\linewidth] -\pstree[thislevelsep=.5cm,thistreesep=2cm, - radius=2pt]{\Tc*{3pt}}{% - \pstree{\TC*}{\TC* \TC*} - \pstree{\TC*}{\TC* \TC*}} -\end{LTXexample} - -\noindent Es gibt einige Dinge (wie \Lkeyword{levelsep}), die Sie vielleicht einheitlich für -eine Baumebene einstellen wollen. -Auf der Ebene wird der Befehl \nxLcs{pstreehook} (z.\,B. \Lcs{pstreehookii}) ausgeführt, -wenn er definiert -ist (der Wurzelknoten des gesamten Baumes ist Ebene 0, die nachfolgenden Baumobjekte und die -Knotenverbindungen vom -Wurzelknoten zu diesen Nachfolgern ist Ebene 1 usw.). Im folgenden Beispiel wird \Lkeyword{levelsep} -für Ebene 2 -geändert, ohne dabei den \Lkeyword{thislevelsep}-Parameter für jeden der drei Unterbäume der zweiten -Ebene gesondert einstellen zu müssen: - -\begin{LTXexample} -\[ -\def\pstreehookiii{\psset{thislevelsep=3cm}} -\pstree[treemode=R,levelsep=1cm,radius=2pt]{\Tc{4pt}}{% - \pstree{\TC*}{% - \pstree{\TC*}{\Tr{X_1} \Tr{X_2}} - \pstree{\TC*}{\Tr{Y_1} \Tr{Y_2}}} - \pstree{\TC*}{% - \pstree{\TC*}{\Tr{K_1} \Tr{K_2}} - \pstree{\TC*}{\Tr{J_1} \Tr{J_2}}}} -\] -\end{LTXexample} - -\clearpage -\section{Liste aller optionalen Argumente für \nxLPack{pst-tree}} - -Der Standardwert wird eingestellt, wenn ein optionales Argument ohne Wert aufgerufen wird, z.\, B. ist -\Lcs{pstree}\Largs{levelsep} das gleiche Argument wie \Lcs{pstree}\Largs{levelsep=2cm}. Alle -booleschen Argumente sind per Voreinstellung \false. - -\xkvview{family=pst-tree,columns={Option,Typ,Standardwert}} - -\nocite{*} -\bgroup -\raggedright -\bibliographystyle{plain} -%\bibliography{\jobname} -\newpage -\bibliography{pst-tree-doc} -\egroup - -\printindex - - -\end{document} diff --git a/Master/texmf-dist/doc/generic/pst-tree/pst-tree-doc.bib b/Master/texmf-dist/doc/generic/pst-tree/pst-tree-doc.bib index f252a896ce7..dcf6fa2da0a 100644 --- a/Master/texmf-dist/doc/generic/pst-tree/pst-tree-doc.bib +++ b/Master/texmf-dist/doc/generic/pst-tree/pst-tree-doc.bib @@ -52,9 +52,9 @@ @Book{PSTricks2, author = {Herbert Vo\ss{}}, title = {\texttt{PSTricks} -- {G}rafik f\"ur \TeX{} und \LaTeX}, - edition = {sixth}, + edition = {7}, publisher = {DANTE -- Lehmanns}, - year = {2010}, + year = {2016}, address = {Heidelberg/Hamburg} } diff --git a/Master/texmf-dist/doc/generic/pst-tree/pst-tree-doc.pdf b/Master/texmf-dist/doc/generic/pst-tree/pst-tree-doc.pdf index ad05e4e5d9f..c4d23aa3325 100644 Binary files a/Master/texmf-dist/doc/generic/pst-tree/pst-tree-doc.pdf and b/Master/texmf-dist/doc/generic/pst-tree/pst-tree-doc.pdf differ diff --git a/Master/texmf-dist/doc/generic/pst-tree/pst-tree-doc.tex b/Master/texmf-dist/doc/generic/pst-tree/pst-tree-doc.tex index 37e64a56081..1ff259c897b 100644 --- a/Master/texmf-dist/doc/generic/pst-tree/pst-tree-doc.tex +++ b/Master/texmf-dist/doc/generic/pst-tree/pst-tree-doc.tex @@ -32,8 +32,8 @@ This package was written for Rokicki's\index{Rokicki} \Lprog{dvips} programme, which is practically part of every \TeX{} distribution. -%\vfill -%Thanks to: Lars Kotthoff, Geoff Mercer +\vfill +Thanks to: Andreas Nolda %Lars Kotthoff, Geoff Mercer \end{abstract} \clearpage @@ -119,12 +119,12 @@ Figure~\ref{allnodes} gives a reminder of what the nodes look like. \begin{LTXexample} \small \psset{armB=1cm, levelsep=3cm, treesep=-3mm, angleB=-90, angleA=90, nodesepA=3pt} - \def\s#1{#1~{\tt\string#1}}\def\b#1{#1{\tt\string#1}}\def\psedge#1#2{\ncangle{#2}{#1}} + \def\s#1{#1~{\ttfamily\string#1}}\def\b#1{#1{\ttfamily\string#1}}\def\psedge#1#2{\ncangle{#2}{#1}} \psTree[treenodesize=1cm]{\Toval{Tree nodes}} - \s\Tp\Tc{.5}~{\tt\string\Tc} \s\TC + \s\Tp\Tc{.5}~{\ttfamily\string\Tc} \s\TC \psTree[levelsep=4cm,armB=2cm]{\Tp[edge=\ncline]} \b\Tcircle \s\Tdot - \TCircle[radius=1.2]{\tt\string\TCircle} + \TCircle[radius=1.2]{\ttfamily\string\TCircle} \Tn \b\Toval \b\Ttri \b\Tdia \endpsTree \s\Tf \b\Tr \b\TR @@ -841,6 +841,26 @@ level 2: \] \end{LTXexample} + +\section{Draft mode} +\begin{LTXexample}[pos=l,width=0.4\linewidth] + \pstree[dotstyle=oplus,dotsize=8pt, + nodesep=2pt,treemode=R] + {\Tcircle{11}}{% + \Tdot + \pstree{\Tfan}{\Tdot} + \pstree{\Tdot}{\Tfan[linestyle=dashed]}} +% + \pstree[draft,dotstyle=oplus,dotsize=8pt, + nodesep=2pt,treemode=R] + {\Tcircle{11}}{% + \Tdot + \pstree{\Tfan}{\Tdot} + \pstree{\Tdot}{\Tfan[linestyle=dashed]}} +\end{LTXexample} + + + \clearpage \section{List of all optional arguments for \nxLPack{pst-tree}} diff --git a/Master/texmf-dist/source/generic/pst-tree/Makefile b/Master/texmf-dist/source/generic/pst-tree/Makefile deleted file mode 100644 index 30303cb761c..00000000000 --- a/Master/texmf-dist/source/generic/pst-tree/Makefile +++ /dev/null @@ -1,71 +0,0 @@ - -# `Makefile' for `pst-tree.pdf', hv, 2008/12/11 - -.SUFFIXES : .tex .ltx .dvi .ps .pdf .eps - -PACKAGE = pst-tree - -MAIN = $(PACKAGE)-doc - -LATEX = latex - -ARCHNAME = $(MAIN)-$(shell date +%y%m%d) - -ARCHFILES = $(PACKAGE).sty $(PACKAGE).tex $(PACKAGE).pro $(MAIN).tex README Changes Makefile - -TDS = ~/PSTricks/PSTricks-TDS - -all : doc clean tds -# clean -doc: $(MAIN).pdf - -$(MAIN).pdf : $(MAIN).ps - GS_OPTIONS=-dAutoRotatePages=/None ps2pdf $< - -$(MAIN).ps : $(MAIN).dvi - dvips $< - -$(MAIN).dvi : $(MAIN).tex - $(LATEX) $< - $(LATEX) $< - if ! test -f $(basename $<).glo ; then touch $(basename $<).glo; fi - if ! test -f $(basename $<).idx ; then touch $(basename $<).idx; fi - makeindex -s gglo.ist -t $(basename $<).glg -o $(basename $<).gls \ - $(basename $<).glo - makeindex -s pst-doc.ist -t $(basename $<).ilg -o $(basename $<).ind \ - $(basename $<).idx - bibtex $(basename $<) - $(LATEX) $< - $(LATEX) $< - -clean : - $(RM) $(addprefix $(MAIN), .log .aux .glg .glo .gls .ilg .idx .ind .tmp .toc .out ) - $(RM) $(addprefix $(MAIN), .dvi .ps .blg .bbl) - -veryclean : clean - $(RM) $(addprefix $(MAIN), .pdf .bbl .blg) - -arch : - zip $(ARCHNAME).zip $(ARCHFILES) - -tds: - cp -u Changes $(TDS)/doc/generic/$(PACKAGE)/ - cp -u README $(TDS)/doc/generic/$(PACKAGE)/ - cp -u $(MAIN).pdf $(TDS)/doc/generic/$(PACKAGE)/ -# - cp -u Changes $(TDS)/tex/latex/$(PACKAGE)/ - cp -u $(PACKAGE).sty $(TDS)/tex/latex/$(PACKAGE)/ -# - cp -u Changes $(TDS)/tex/generic/$(PACKAGE)/ - cp -u $(PACKAGE).tex $(TDS)/tex/generic/$(PACKAGE)/ -# -# cp -u Changes $(TDS)/dvips/$(PACKAGE)/ -# cp -u $(PACKAGE).pro $(TDS)/dvips/$(PACKAGE)/ -# - cp -u Changes $(TDS)/source/$(PACKAGE)/ - cp -u $(MAIN).tex $(TDS)/source/$(PACKAGE)/ - cp -u $(MAIN).bib $(TDS)/source/$(PACKAGE)/ - cp -u Makefile $(TDS)/source/$(PACKAGE)/ - - -# EOF diff --git a/Master/texmf-dist/tex/generic/pst-tree/pst-tree.tex b/Master/texmf-dist/tex/generic/pst-tree/pst-tree.tex index 84c0aabee24..24b0fd54051 100644 --- a/Master/texmf-dist/tex/generic/pst-tree/pst-tree.tex +++ b/Master/texmf-dist/tex/generic/pst-tree/pst-tree.tex @@ -1,7 +1,7 @@ %% $Id: pst-tree.tex 466 2011-02-28 17:13:11Z herbert $ %% COPYRIGHT 1993, 1994, 1999 by Timothy Van Zandt, tvz@nwu.edu. %% COPYRIGHT 2000-2003 by Denis Girou. -%% Copyright 2004-2011 Herbert Voss +%% Copyright 2004- Herbert Voss % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 @@ -24,8 +24,8 @@ \ifx\PSTnodesLoaded\endinput\else\input pst-node.tex\fi\relax \ifx\PSTXKeyLoaded\endinput\else\input pst-xkey \fi % -\def\fileversion{1.12} -\def\filedate{2011/02/28} +\def\fileversion{1.13} +\def\filedate{2017/02/18} \message{ v\fileversion, \filedate (tvz,dg,hv)} % \edef\TheAtCode{\the\catcode`\@} @@ -422,6 +422,13 @@ \pst@dimb=\pst@cntg sp \pstree@showbbox \fi + \ifPst@draft + \pstree@max\pstree@leftprofile\pst@cntg + \pst@dima=\pst@cntg sp + \pstree@max\pstree@rightprofile\pst@cntg + \pst@dimb=\pst@cntg sp + \pstree@draft + \fi \dp\pstree@box=\z@ \ht\pstree@box=\z@ \pstree@restorevalues @@ -551,6 +558,13 @@ \pst@dimd=\pst@cntg sp \pstree@showbbox \fi + \ifPst@draft + \pstree@max\pstree@upprofile\pst@cntg + \pst@dimc=\pst@cntg sp + \pstree@max\pstree@downprofile\pst@cntg + \pst@dimd=\pst@cntg sp + \pstree@draft + \fi \pstree@restorevalues \pssubtree@horizontal \endgroup @@ -686,6 +700,11 @@ (-\pst@dima,-\pst@dimd)(\pst@dimb,\pst@dimc)% \box\pstree@box}}% % +\def\pstree@draft{% + \setbox\pstree@box=\hbox{% + \psframe[linewidth=0,linecolor=black,linestyle=solid,fillstyle=none]% + (-\pst@dima,-\pst@dimd)(\pst@dimb,\pst@dimc)}}% +% \define@key[psset]{pst-tree}{edge}[\ncline]{% \def\psedge{#1}% \ifx\psedge\@none\def\psedge##1##2{}\fi} -- cgit v1.2.3