diff options
author | Karl Berry <karl@freefriends.org> | 2007-04-11 23:00:26 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2007-04-11 23:00:26 +0000 |
commit | 8f31805c4ce61cf93939e49037d89b690948c840 (patch) | |
tree | 87b028baf99a593eaac5ad243eacd0a7dd77d240 | |
parent | 4b9b1bcdd965d2220397723d248a8c0e7a4cdd32 (diff) |
new package pst-qtree (11apr07)
git-svn-id: svn://tug.org/texlive/trunk@4147 c570f23f-e606-0410-a88d-b1316a301751
-rwxr-xr-x | Build/cdbuild/ctan2tds.pl | 1 | ||||
-rwxr-xr-x | Build/tools/tpm-ctan-check | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-qtree/CHANGES | 10 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-qtree/LICENSE | 280 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-qtree/pst-qtree-manual.pdf | bin | 0 -> 20425 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-qtree/pst-qtree-manual.tex | 268 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/pst-qtree/pst-qtree.tex | 153 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/pst-qtree/pst-qtree.sty | 23 | ||||
-rw-r--r-- | Master/texmf-dist/tpm/pst-qtree.tpm | 29 | ||||
-rw-r--r-- | Master/texmf/lists/pst-qtree | 10 | ||||
-rw-r--r-- | Master/texmf/tpm/collection-pstricks.tpm | 1 |
11 files changed, 776 insertions, 1 deletions
diff --git a/Build/cdbuild/ctan2tds.pl b/Build/cdbuild/ctan2tds.pl index 31d82670435..6158359afb9 100755 --- a/Build/cdbuild/ctan2tds.pl +++ b/Build/cdbuild/ctan2tds.pl @@ -272,6 +272,7 @@ chdir $startdir || die "chdir($startdir) failed: $!"; 'pst-pdf', "&MAKEpst", 'pst-pdgr', "&MAKEpst", 'pst-poly', "&MAKEpst", + 'pst-qtree', "&MAKEpst", 'pst-slpe', "&MAKEpst", 'pst-text', "&MAKEpst", 'pst-uml', "&MAKEpst", diff --git a/Build/tools/tpm-ctan-check b/Build/tools/tpm-ctan-check index a40588d2c43..0c6716f56a8 100755 --- a/Build/tools/tpm-ctan-check +++ b/Build/tools/tpm-ctan-check @@ -89,7 +89,7 @@ my @WorkingTPM = qw( pst-barcode pst-blur pst-dbicons pst-eps pst-eucl pst-fill pst-fr3d pst-fractal pst-func pst-geo pst-grad pst-infixplot pst-labo - pst-lens pst-math pst-optic pst-osci pst-pdf pst-pdgr + pst-lens pst-math pst-optic pst-osci pst-pdf pst-pdgr pst-qtree pst-slpe pst-uml pst-vue3d pstricks pstricks-add qcm qstest qtree diff --git a/Master/texmf-dist/doc/generic/pst-qtree/CHANGES b/Master/texmf-dist/doc/generic/pst-qtree/CHANGES new file mode 100644 index 00000000000..a7d6c618ee9 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-qtree/CHANGES @@ -0,0 +1,10 @@ +2007-03-14 Dan Gildea + +- Trees can be made to grow sideways, or upside down, using + \psset{treemode=R} for right, L for left, or U for up. + +- each node surrounded by tabular env to allow use of \\ inside + node label + +- added example of drawing arrows between nodes and + example of sideways tree to manual diff --git a/Master/texmf-dist/doc/generic/pst-qtree/LICENSE b/Master/texmf-dist/doc/generic/pst-qtree/LICENSE new file mode 100644 index 00000000000..e37680cf138 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-qtree/LICENSE @@ -0,0 +1,280 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS diff --git a/Master/texmf-dist/doc/generic/pst-qtree/pst-qtree-manual.pdf b/Master/texmf-dist/doc/generic/pst-qtree/pst-qtree-manual.pdf Binary files differnew file mode 100644 index 00000000000..f7e6ba1227d --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-qtree/pst-qtree-manual.pdf diff --git a/Master/texmf-dist/doc/generic/pst-qtree/pst-qtree-manual.tex b/Master/texmf-dist/doc/generic/pst-qtree/pst-qtree-manual.tex new file mode 100644 index 00000000000..692f91d20aa --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-qtree/pst-qtree-manual.tex @@ -0,0 +1,268 @@ +\documentclass[11pt]{article} + +\usepackage{txfonts} +\usepackage{fullpage} + +\usepackage{pstricks} +\usepackage{pst-qtree} + +\usepackage{graphicx} + +\newcommand{\1}{\ensuremath{'}} +\usepackage{comment} + +\title{\texttt{pst-qtree}: a Qtree-like front end for \texttt{pst-tree}} +\author{David Chiang} + +\begin{document} + +\maketitle + +Basic trees are specified exactly as in Qtree: +\begin{verbatim} +\Tree [.S [.NP [.D the ] [.N cat ] ] + [.VP [.V sat ] + [.PP [.P on ] + [.NP [.D the ] [.N mat ] ] ] ] ] +\end{verbatim} +\begin{center} +\Tree [.S [.NP [.D the ] [.N cat ] ] [.VP [.V sat ] [.PP [.P on ] [.NP [.D the ] [.N mat ] ] ] ] ] +\end{center} + +If a node label starts with \verb|!|, then the node is not +automatically wrapped inside a \verb|\psnode| for you. You may use a +different node macro, and can pass options to it: + +\begin{verbatim} +\newcommand{\dottededge}{\ncdiag[arm=0,angleA=-90,angleB=90,linestyle=dotted]} + +\Tree [.S [.NP [.D the ] [.N cat ] ] + [.VP [.V sat ] + [.!\TR[edge=\dottededge]{PP} [.P on ] + [.NP [.D the ] [.N mat ] ] ] ] ] +\end{verbatim} + +\newcommand{\dottededge}{\ncdiag[arm=0,angleA=-90,angleB=90,linestyle=dotted]} + +\begin{center} +\Tree [.S [.NP [.D the ] [.N cat ] ] [.VP [.V sat ] [.!\TR[edge=\dottededge]{PP} [.P on ] [.NP [.D the ] [.N mat ] ] ] ] ] +\end{center} + +One special type of (large) node defined by \verb|pst-qtree| is +\verb|\Troof|, which is similar to Qtree's +\verb|\qroof| but not identical in use. +\begin{verbatim} +\Tree [.S [.NP !\Troof{the cat} ] + [.VP [.V sat ] + [.PP [.P on ] + [.NP !\Troof{the mat } ] ] ] ] +\end{verbatim} +\begin{center} +\Tree [.S [.NP !\Troof{the cat} ] + [.VP [.V sat ] + [.PP [.P on ] + [.NP !\Troof{the mat } ] ] ] ] +\end{center} + + + + +\pagebreak +Arrows can be drawn between nodes using commands from +{\tt pstricks}: assign a label to each node using \verb|\rnode|, +then connect them using node connection commands such as +\verb|\nccurve| or \verb|\ncangle|. + +{\small +\begin{verbatim} +\Tree +[.TP [.NP \rnode{subj1}subj$_i$ ] + [.T\1 [.T T+v$_n$+\rnode{V}V$_j$+Apl$_k$ ] + [.{\it v}P \rnode{io}{ }IO$_l$ + [.{\it v}\1 \rnode{subj2}t$_i$ + [.AplP \rnode{v1}t$_n$ + [.Apl\1 \rnode{do}DO$_m$ + [.{\it v}\1 \rnode{io1}t$_l$ + [.Apl\1 \rnode{apl1}t$_k$ + [.VP [.V \rnode{V1}t$_j$ ] + \rnode{do1}t$_m$ ] ] ] ] ] ] ] ] ] +\psset{linewidth=0.3pt,arrowsize=4pt} +\psset{angleA=180,angleB=-90} +\nccurve{->}{subj2}{subj1} +\nccurve{->}{do1}{do} +\nccurve[linestyle=dashed]{->}{io1}{io} +\nccurve{->}{V1}{apl1} +\nccurve{->}{apl1}{v1} +\nccurve{->}{v1}{V} +\end{verbatim} +} + +\resizebox{4in}{!}{ +\Tree +[.TP [.NP \rnode{subj1}subj$_i$ ] + [.T\1 [.T T+v$_n$+\rnode{V}V$_j$+Apl$_k$ ] + [.{\it v}P \rnode{io}{ }IO$_l$ + [.{\it v}\1 \rnode{subj2}t$_i$ + [.AplP \rnode{v1}t$_n$ + [.Apl\1 \rnode{do}DO$_m$ + [.{\it v}\1 \rnode{io1}t$_l$ + [.Apl\1 \rnode{apl1}t$_k$ + [.VP [.V \rnode{V1}t$_j$ ] + \rnode{do1}t$_m$ ] ] ] ] ] ] ] ] ] +\psset{linewidth=0.3pt,arrowsize=4pt} +\psset{angleA=180,angleB=-90} +\nccurve{->}{subj2}{subj1} +\nccurve{->}{do1}{do} +\nccurve[linestyle=dashed]{->}{io1}{io} +\nccurve{->}{V1}{apl1} +\nccurve{->}{apl1}{v1} +\nccurve{->}{v1}{V} +} + +\pagebreak +Arrows can be +labeled using \verb|\lput{:U}| (on top of the arrow), +or \verb|\taput| \verb|\tbput| \verb|\tlput| or \verb|\trput| +(above, below, left of, or right of the arrow) +after the \verb|\nccurve| or \verb|\ncangle| +command. + +{\small +\begin{verbatim} +\Tree +[.TP [.NP \rnode{subj1}subj$_i$ ] + [.T\1 [.T T+v$_n$+\rnode{V}V$_j$+Apl$_k$ ] + [.{\it v}P \rnode{io}{ }IO$_l$ + [.{\it v}\1 \rnode{subj2}t$_i$ + [.AplP \rnode{v1}t$_n$ + [.Apl\1 \rnode{do}DO$_m$ + [.{\it v}\1 \rnode{io1}t$_l$ + [.Apl\1 \rnode{apl1}t$_k$ + [.VP [.V \rnode{V1}t$_j$ ] + \rnode{do1}t$_m$ ] ] ] ] ] ] ] ] ] +\psset{linewidth=0.3pt,arrowsize=4pt} +\psset{angleA=180,angleB=-90} +\nccurve{->}{subj2}{subj1}\lput{:U}{X} +\nccurve{->}{v1}{V}\tbput{below} +\end{verbatim} +} + +\resizebox{4in}{!}{ +\Tree +[.TP [.NP \rnode{subj1}subj$_i$ ] + [.T\1 [.T T+v$_n$+\rnode{V}V$_j$+Apl$_k$ ] + [.{\it v}P \rnode{io}{ }IO$_l$ + [.{\it v}\1 \rnode{subj2}t$_i$ + [.AplP \rnode{v1}t$_n$ + [.Apl\1 \rnode{do}DO$_m$ + [.{\it v}\1 \rnode{io1}t$_l$ + [.Apl\1 \rnode{apl1}t$_k$ + [.VP [.V \rnode{V1}t$_j$ ] + \rnode{do1}t$_m$ ] ] ] ] ] ] ] ] ] +\psset{linewidth=0.3pt,arrowsize=4pt} +\psset{angleA=180,angleB=-90} +\nccurve{->}{subj2}{subj1}\lput{:U}{X} +\nccurve{->}{v1}{V}\tbput{below} +} + + +\begin{comment} +\pagebreak +Arrows can also be drawn using the {\tt tree-dvips} +package from Emma Pease: + +{\small +\begin{verbatim} +\Tree +[.TP [.NP \node{subj1}subj$_i$ ] + [.T\1 [.T T+v$_n$+\node{V}V$_j$+Apl$_k$ ] + [.{\it v}P \node{io}{ }IO$_l$ + [.{\it v}\1 \node{subj2}t$_i$ + [.AplP \node{v1}t$_n$ + [.Apl\1 \node{do}DO$_m$ + [.{\it v}\1 \node{io1}t$_l$ + [.Apl\1 \node{apl1}t$_k$ + [.VP [.V \node{V1}t$_j$ ] + \node{do1}t$_m$ ] ] ] ] ] ] ] ] ] + +\anodecurve[bl]{subj2}[bl]{subj1}{0.4in} +\anodecurve[bl]{do1}[bl]{do}{0.4in} +{\makedash{4pt}\anodecurve[t]{io1}[r]{io}{.5in}} +\anodecurve[bl]{V1}[bl]{apl1}{0.6in} +\anodecurve[bl]{apl1}[bl]{v1}{1in} +\anodecurve[bl]{v1}[bl]{V}{0.9in} +\end{verbatim} + +\resizebox{4in}{!}{ +\Tree +[.TP [.NP \node{subj1}subj$_i$ ] + [.T\1 [.T T+v$_n$+\node{V}V$_j$+Apl$_k$ ] + [.{\it v}P \node{io}{ }IO$_l$ + [.{\it v}\1 \node{subj2}t$_i$ + [.AplP \node{v1}t$_n$ + [.Apl\1 \node{do}DO$_m$ + [.{\it v}\1 \node{io1}t$_l$ + [.Apl\1 \node{apl1}t$_k$ + [.VP [.V \node{V1}t$_j$ ] + \node{do1}t$_m$ ] ] ] ] ] ] ] ] ] + +\anodecurve[bl]{subj2}[bl]{subj1}{0.4in} +\anodecurve[bl]{do1}[bl]{do}{0.4in} +{\makedash{4pt}\anodecurve[t]{io1}[r]{io}{.5in}} +\anodecurve[bl]{V1}[bl]{apl1}{0.6in} +\anodecurve[bl]{apl1}[bl]{v1}{1in} +\anodecurve[bl]{v1}[bl]{V}{0.9in} +} +\end{comment} + +\begin{comment} +\resizebox{\textwidth}{!}{ +\begin{tabular}{c} +\Large +\psset{levelsep=48pt,treesep=10pt,treefit=tight} +\Tree [.IP [.NP [.NP [.NR \rnode{Zhongguo}{Zhongguo} ] ] [.QP [.CD \rnode{shisi}{shisi} ] [.CLP [.M \rnode{ge}{ge} ] ] ] [.NP [.NN \rnode{bianjing}{bianjing} ] [.NN \rnode{kaifang}{kaifang} ] [.NN \rnode{chengshi}{chengshi} ] ] ] [.NP [.NN \rnode{jingji}{jingji} ] [.NN \rnode{jianshe}{jianshe} ] [.NN \rnode{chengjiu}{chengjiu} ] ] [.{VP} [.VV \rnode{xianzhu}{xianzhu} ] ] ]\\ + \psset{treemode=U} %make tree grow upward +\Tree [.S [.NP [.CD \rnode{fourteen}{14} ] [.NNP \rnode{Chinese}{Chinese} ][.JJ \rnode{open}{open} ] [.NN \rnode{border}{border} ] [.NNS \rnode{cities}{cities} ] ] [.VP [.VBP \rnode{make}{make} ] [.NP [.NP [.JJ \rnode{significant}{significant} ] [.NNS \rnode{achievements}{achievements} ] ] [.PP [.IN \rnode{in}{in} ] [.NP [.JJ \rnode{economic}{economic} ] [.NN \rnode{construction}{construction} ] ] ] ] ] ] +\end{tabular} +} +\psset{linewidth=0.3pt,arrowsize=4pt} +\nccurve[angleA=-90,angleB=90]{->}{Zhongguo}{Chinese} +\nccurve[angleA=-90,angleB=90]{->}{shisi}{fourteen} +\nccurve[angleA=-90,angleB=90]{->}{bianjing}{border} +\nccurve[angleA=-90,angleB=90]{->}{kaifang}{open} +\nccurve[angleA=-90,angleB=90]{->}{chengshi}{cities} +\nccurve[angleA=-90,angleB=90]{->}{jingji}{economic} +\nccurve[angleA=-90,angleB=90]{->}{jianshe}{construction} +\nccurve[angleA=-90,angleB=90]{->}{chengjiu}{achievements} +\nccurve[angleA=-90,angleB=90]{->}{xianzhu}{significant} +\end{comment} + +\pagebreak +Trees can be made to grow sideways, or upside down, using +\verb|\psset{treemode=R}| for right, L for left, or U for up. +Other useful layout parameters inherited from {\tt pstricks} +include {\tt levelsep}, {\tt ltreesep}, {\tt ltreefit} and {\tt nodesep}. + +\begin{verbatim} +\psset{treemode=R} +\Tree [.{VV}:xianzhu [.NN:chengshi NR:Zhongguo [.CD:shisi M:ge ] + NN:bianjing NN:kaifang ] + [.NN:chengjiu NN:jingji NN:jianshe ] ] +\end{verbatim} + + + +\psset{treemode=R} +\psset{levelsep=148pt,treesep=12pt,treefit=tight} +\Tree [.{VV}:xianzhu [.NN:chengshi NR:Zhongguo [.CD:shisi M:ge ] NN:bianjing NN:kaifang ] [.NN:chengjiu NN:jingji NN:jianshe ] ] + +\begin{comment} +\psset{treemode=L} +\psset{levelsep=148pt,treesep=12pt,treefit=tight} +\Tree [.VV:make [.NNS:cities [.CD:14 ] NNP:Chinese [.JJ:open ] [.NN:border ] ] [.NNS:achievements [.JJ:significant ] [.IN:in [.NN:construction [.JJ:economic ] ] ] ] ] } +\end{comment} + + + + +\end{document} diff --git a/Master/texmf-dist/tex/generic/pst-qtree/pst-qtree.tex b/Master/texmf-dist/tex/generic/pst-qtree/pst-qtree.tex new file mode 100644 index 00000000000..8dd7ff5771b --- /dev/null +++ b/Master/texmf-dist/tex/generic/pst-qtree/pst-qtree.tex @@ -0,0 +1,153 @@ +% pst-qtree.tex +% Copyright (C) 2002 by David Chiang + +% This program is free software; you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation; either version 2 of the License, or +% (at your option) any later version. + +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. + +% You should have received a copy of the GNU General Public License along +% with this program; if not, write to the Free Software Foundation, Inc., +% 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + +\psset{nodesep=2pt,levelsep=36pt,treesep=24pt} +%\def\psedge{\ncdiag[arm=0,angleA=-90,angleB=90]} +\def\psnode#1{\TR{#1}} + +\edef\TheAtCode{\the\catcode`\@} +\catcode`\@=11 + +\newtoks\result + +%% These macros facilitate building up an object recursively before +%% putting it into the input stream. + +\def\call#1#2{\let\@cont=#2\bgroup\result={}#1} +\def\return{% +\global\result=\result +\egroup\@cont +} + +\def\ifeq#1#2{\edef\testa{#1}\edef\testb{#2}% +\ifx\testa\testb} + +%% scan a tree: this just scans a subtree and then puts it onto the +%% input stream + +\def\Tree{% +\ifeq{\psk@treemode}{0}% + \def\psedge{\ncdiag[arm=0,angleA=-90,angleB=90]} +\fi +\ifeq{\psk@treemode}{2}% if \psset{treemode=U} + \def\psedge{\ncdiag[arm=0,angleA=90,angleB=-90]} +\fi +\ifeq{\psk@treemode}{1}% if \psset{treemode=R} + \def\psedge{\ncdiag[arm=0,angleA=0,angleB=180]} +\fi +\ifeq{\psk@treemode}{3}% if \psset{treemode=L} + \def\psedge{\ncdiag[arm=0,angleA=180,angleB=0]} +\fi +\call\@subtree\@Tree} +\def\@Tree{\the\result} + +%% scan a subtree + +\def\@subtree[{% +\toks0={\@nil}% +\@ifnextchar.{\call\@dotlabel\@@subtree}{\@@@subtree}} + +\def\@@subtree{% +\toks0=\result +\@@@subtree +} + +\def\@@@subtree{% +\call\@children\@@@@subtree +} + +\def\@@@@subtree]{% +\toks2=\result +\@ifnextchar.{\call\@dotlabel\@@@@@subtree}{\@@@@@@subtree}} + +\def\@@@@@subtree{% +%%% Check for mismatch. +\ifeq{\the\toks0}{\noexpand\@nil}% + \toks0=\result +\fi +\ifeq{\the\toks0}{\the\result}\else + \message{Warning: mismatched labels, \the\toks0{} and \the\result.}% +\fi +\@@@@@@subtree +} + +\def\@@@@@@subtree{% +\ifeq{\the\toks0}{\noexpand\@nil}% + \edef\act{\noexpand\result={\noexpand\pstree{\noexpand\psnode{}}{\the\toks2}}}% +\else + \edef\act{\noexpand\result={\noexpand\pstree{\the\toks0}{\the\toks2}}}% +\fi +\act +\return} + +%% scan a sequence of subtrees or leaves + +\def\@children{% +\@ifnextchar]{\return}{% +\@ifnextchar[{\call\@subtree\@@children}{\call\@label\@@children}}} + +\def\@@children{% +\toks0=\result +\call\@children\@@@children +} + +\def\@@@children{% +\ifeq{\the\toks0}{}% +\else + \toks2=\result + \edef\act{\noexpand\result={\the\toks0 \the\toks2}}% + \act +\fi +\return +} + +%% scan an interior label + +\def\@dotlabel.{% +\@label +} + +%% scan a leaf node + +\def\@label{% +\@ifnextchar!{\@litlabel}{\@@label}} + +\def\@@label#1 {% +\result={\psnode{\hbox{\begin{tabular}{c} #1 \end{tabular}}}}% +\return +} + +\def\@litlabel!#1 {% +\result={#1}% +\return +} + +\def\roofedge#1#2{% +\ncdiag[arm=0pt,angleA=-90,angleB=90]{#1}{#2l} +\ncdiag[arm=0pt,angleA=-90,angleB=90]{#1}{#2r} +\ncdiag[arm=0pt,angleA=90,angleB=90]{#2l}{#2r}} + +\def\Troof#1{% +\TR[edge=\roofedge]{% +\Rnode[href=-1]{\pspred-\the\psnodecnt l} +{\Rnode[href=1]{\pspred-\the\psnodecnt r}{#1}}}% +} + +\catcode`\@=\TheAtCode\relax +\endinput + diff --git a/Master/texmf-dist/tex/latex/pst-qtree/pst-qtree.sty b/Master/texmf-dist/tex/latex/pst-qtree/pst-qtree.sty new file mode 100644 index 00000000000..de77803ae3d --- /dev/null +++ b/Master/texmf-dist/tex/latex/pst-qtree/pst-qtree.sty @@ -0,0 +1,23 @@ +% pst-qtree.sty +% Copyright (C) 2002 by David Chiang + +% This program is free software; you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation; either version 2 of the License, or +% (at your option) any later version. + +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. + +% You should have received a copy of the GNU General Public License along +% with this program; if not, write to the Free Software Foundation, Inc., +% 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +\ProvidesPackage{pst-qtree} +\usepackage{pst-node} +\usepackage{pst-tree} +\input pst-qtree.tex +\endinput + diff --git a/Master/texmf-dist/tpm/pst-qtree.tpm b/Master/texmf-dist/tpm/pst-qtree.tpm new file mode 100644 index 00000000000..409ac3b64ca --- /dev/null +++ b/Master/texmf-dist/tpm/pst-qtree.tpm @@ -0,0 +1,29 @@ +<!DOCTYPE rdf:RDF SYSTEM "../../support/tpm.dtd"> +<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:TPM="http://texlive.dante.de/"> + <rdf:Description about="http://texlive.dante.de/texlive/Package/pst-qtree.zip"> + <TPM:Name>pst-qtree</TPM:Name> + <TPM:Type>Package</TPM:Type> + <TPM:Date>2007/04/09 18:10:00</TPM:Date> + <TPM:Version></TPM:Version> + <TPM:Creator>karl</TPM:Creator> + <TPM:Title>The pst-qtree package.</TPM:Title> + <TPM:Description></TPM:Description> + <TPM:Author></TPM:Author> + <TPM:Size>49609</TPM:Size> + <TPM:License></TPM:License> + <TPM:Build/> + <TPM:RunFiles size="5492"> +texmf-dist/tex/generic/pst-qtree/pst-qtree.tex +texmf-dist/tex/latex/pst-qtree/pst-qtree.sty +texmf-dist/tpm/pst-qtree.tpm + </TPM:RunFiles> + <TPM:DocFiles size="45200"> +texmf-dist/doc/generic/pst-qtree/CHANGES +texmf-dist/doc/generic/pst-qtree/LICENSE +texmf-dist/doc/generic/pst-qtree/pst-qtree-manual.pdf +texmf-dist/doc/generic/pst-qtree/pst-qtree-manual.tex + </TPM:DocFiles> + <TPM:Provides>Package/pst-qtree</TPM:Provides> + </rdf:Description> +</rdf:RDF> + diff --git a/Master/texmf/lists/pst-qtree b/Master/texmf/lists/pst-qtree new file mode 100644 index 00000000000..27309ef72d5 --- /dev/null +++ b/Master/texmf/lists/pst-qtree @@ -0,0 +1,10 @@ +texmf-dist/doc/generic/pst-qtree/CHANGES +texmf-dist/doc/generic/pst-qtree/LICENSE +texmf-dist/doc/generic/pst-qtree/pst-qtree-manual.pdf +texmf-dist/doc/generic/pst-qtree/pst-qtree-manual.tex + +texmf-dist/tex/generic/pst-qtree/pst-qtree.tex +texmf-dist/tex/latex/pst-qtree/pst-qtree.sty +texmf-dist/tpm/pst-qtree.tpm + +texmf/lists/pst-qtree diff --git a/Master/texmf/tpm/collection-pstricks.tpm b/Master/texmf/tpm/collection-pstricks.tpm index 4a990ea647e..826bdb2ef45 100644 --- a/Master/texmf/tpm/collection-pstricks.tpm +++ b/Master/texmf/tpm/collection-pstricks.tpm @@ -48,6 +48,7 @@ <TPM:Package name="pst-osci"/> <TPM:Package name="pst-pdgr"/> <TPM:Package name="pst-poly"/> + <TPM:Package name="pst-qtree"/> <TPM:Package name="pst-slpe"/> <TPM:Package name="pst-text"/> <TPM:Package name="pst-uml"/> |