summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/expex/source/13_PSTricks.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/generic/expex/source/13_PSTricks.tex')
-rw-r--r--Master/texmf-dist/doc/generic/expex/source/13_PSTricks.tex94
1 files changed, 94 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/expex/source/13_PSTricks.tex b/Master/texmf-dist/doc/generic/expex/source/13_PSTricks.tex
new file mode 100644
index 00000000000..3562e9f5cf0
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/expex/source/13_PSTricks.tex
@@ -0,0 +1,94 @@
+
+\everymath={}%
+
+\section ExPex and PSTricks
+
+\begininventory
+\macros* \idx{|\Lingset|}\endmc
+\endinventory
+Several features of \ExPex\relax, listed in (\nextx), come into
+play only if {\sl pstricks.tex\/} has been loaded at the point
+that {\sl expex.tex\/} is loaded. They are intended to make it
+easier to use {\sl PSTricks\/} in examples.
+
+\pex[labeltype=numeric]
+\a |\Lingset| is activated. It works like |\lingset|, but if
+there are parameters which are not in the family {\sl ling}, they are
+passed to |\psset|.
+\a The family {\sl ling\/} is added to the set of parameter families
+which |\psset| can set.
+\a The optional argument of |\ex|, |\pex|, and |\exdisplay| is
+passed to |\Lingset|.
+\xe
+
+\noindent |\Lingset| first scans its argument from left to right
+and sets all the parameters from the family {\sl ling}. The
+remaining keys are then passed to |\psset|. If {\sl PSTricks\/}
+has not been loaded, |\Lingset| is defined, but its meaning is
+the meaning of |\lingset|.
+
+This is illustrated by (\nextx).
+
+\medskip
+\framedisplay%[exclude]
+\ex[angle=-90,nodesep=0pt,arrows=->,labelsep=.25ex,linearc=.7ex,
+ dima=.2em]
+\def\\#1(#2){\rnode{#2}{\strut #1}}%
+%
+\vrule height0pt depth5.3ex width0pt
+\\Whom(A) did John persuade \\t(B) [ PRO to visit \\whom(C) ]
+\ncbar[armA=3.5ex,offsetB=\lingdima]{B}{A}
+\bput{0}{$M_{sp}=2$}
+\ncbar[armA=4.5ex,offsetB=-\lingdima]{C}{A}
+\bput{0}(1.2){$M_{sp}=6$}
+\xe
+\endframedisplay
+
+\noindent (The example is from Juan Uriagereka, in {\sl The Role
+of Economy Principles in Linguistic Theory}.)
+
+In the code below, note that the optional argument of |\ex| is
+used to set the \PSTricks\ parameters |angle|, |arrows|,
+|nodesep|, |labelsep|, and |linearc|, and the \ExPex\ parameter
+|dima|. Note also that the \ExPex\ scratch dimension
+|\lingdima| is used seamlessly by the {\sl PST-Node\/} macros.
+
+\CLnum
+\ex[angle=-90,nodesep=0pt,arrows=->,dima=.2em, labelsep=.25ex,
+ linearc=.7ex]
+\def\\#1(#2){\rnode{#2}{\strut #1}}%
+%
+\vrule height0pt depth5.3ex width0pt
+\\Whom(A) did John persuade \\t(B) [ PRO to visit \\whom(C) ]
+\ncbar[armA=3.5ex,offsetB=\lingdima]{B}{A}
+\bput{0}{$M_{sp}=2$}
+\ncbar[armA=4.5ex,offsetB=-\lingdima]{C}{A}
+\bput{0}(1.2){$M_{sp}=6$}
+\xe |endCLnum
+
+\noindent Since the connections which \PSTricks\ draws are
+dimensionless, a zero width |\vrule| is used to give correct
+spacing. (The width can first be made nonzero so it is visible,
+and the depth adjusted.)
+
+The following gives the same result.\exbreak
+
+\CLnum
+\ex
+\psset{angle=-90,nodesep=0pt,arrows=->,dima=.2em,labelsep=.25ex,
+ linearc=.7ex}|endCLnum
+\removelastskip
+\hskip.7in $\vdots$
+\vskip1em
+
+|\Lingset| and |\psset| are not entirely equivalent, even when
+\PSTricks\ is active. If a key name in the family {\sl ling\/}
+is the same as a key name in another family which has also been
+added as part of the \PSTricks\ extended family, |\Lingset| will
+treat it unambiguously as in the {\sl ling\/} family. |\psset|,
+on the other hand, does not give priority to keys in the {\sl
+ling\/} family. Exactly how |\psset| establishes priority is a
+complex matter, depending on the history of the formation of the
+\PSTricks\ extended family.
+
+