summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-07-14 22:14:58 +0000
committerKarl Berry <karl@freefriends.org>2017-07-14 22:14:58 +0000
commit44af1a53bf28c922f525bd635c417b22f3b99b39 (patch)
tree8321fbec505941bc5df303d701e3d2fb7a8872dd
parent491daa094bcac761ea736ebf058ae5e73696b439 (diff)
forest (14jul17)
git-svn-id: svn://tug.org/texlive/trunk@44797 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/forest/README2
-rw-r--r--Master/texmf-dist/doc/latex/forest/forest-doc.pdfbin1212416 -> 1318520 bytes
-rw-r--r--Master/texmf-dist/doc/latex/forest/forest-doc.tex19
-rw-r--r--Master/texmf-dist/doc/latex/forest/forest.pdfbin498559 -> 498670 bytes
-rw-r--r--Master/texmf-dist/source/latex/forest/forest-libs.dtx11
-rw-r--r--Master/texmf-dist/source/latex/forest/forest.dtx64
-rw-r--r--Master/texmf-dist/tex/latex/forest/forest-lib-linguistics.sty9
-rw-r--r--Master/texmf-dist/tex/latex/forest/forest.sty58
8 files changed, 105 insertions, 58 deletions
diff --git a/Master/texmf-dist/doc/latex/forest/README b/Master/texmf-dist/doc/latex/forest/README
index df173068679..75702e750ec 100644
--- a/Master/texmf-dist/doc/latex/forest/README
+++ b/Master/texmf-dist/doc/latex/forest/README
@@ -1,4 +1,4 @@
-LaTeX package: forest [2017/02/02 v2.1.4 Drawing (linguistic) trees]
+LaTeX package: forest [2017/07/14 v2.1.5 Drawing (linguistic) trees]
Copyright (c) 2012-2017 Saso Zivanovic
(Sa\v{s}o \v{Z}ivanovi\'{c})
diff --git a/Master/texmf-dist/doc/latex/forest/forest-doc.pdf b/Master/texmf-dist/doc/latex/forest/forest-doc.pdf
index 53f21b9e28b..e9651a7fa3c 100644
--- a/Master/texmf-dist/doc/latex/forest/forest-doc.pdf
+++ b/Master/texmf-dist/doc/latex/forest/forest-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/forest/forest-doc.tex b/Master/texmf-dist/doc/latex/forest/forest-doc.tex
index a4c73212316..53410b697ff 100644
--- a/Master/texmf-dist/doc/latex/forest/forest-doc.tex
+++ b/Master/texmf-dist/doc/latex/forest/forest-doc.tex
@@ -1838,7 +1838,7 @@ preamble or in the document body. Its effect is local to the current \TeX\ scope
For example, the |linguistics| library defines c-command related nodewalks, changes the default
parent--child edges to south--north (the main package default is border--border) and sets the
-baseline to the root node. Thus, if you write |\usepackage[linguistics]{forest}| in your preamble,
+baseline to the root\footnote{For details, see \S\ref{sec:library-linguistics}.} node. Thus, if you write |\usepackage[linguistics]{forest}| in your preamble,
or use macro \cmdname{forestapplylibrarydefaults} like below, you get the following:
\begin{forestexample}[tree bin=minipage,index={for step,c-commanded}]
@@ -2016,6 +2016,15 @@ To customize the bracket parser, call
\indexitem(none){bracket key>action character}|=|\meta{character}
\end{syntax}
+\begin{advise}
+\item Careful when setting the \index{opening bracket} to |(|, %)
+ as an initial |(| %)
+ is understood as the delimiter of the optional \meta{config} argument of the
+ \index{environment>forest} environment or \index{macro>Forest} macro. The workaround is to either
+ provide an empty \meta{config} argument |()|, or put some whitespace (e.g.\ a newline) before the
+ tree specification.
+\end{advise}
+
By redefining the following two keys, the bracket parser can be used outside \foRest;.
\begin{syntax}
\indexitem{bracket key>new node}|=|\meta{preamble}\meta{node specification}\meta{csname}.
@@ -6409,6 +6418,14 @@ in |-all| styles.
\subsubsection{v2.1}
\begin{description}
+\item[v2.1.5 (2017/07/14)] \mbox{}
+ Minor improvements:
+ \begin{itemize}
+ \item Smarter \index{baseline} defaults for the \reflibrary{linguistics} library.
+ \item Yield warning when the \index{baseline} is set to a node that is not drawn (e.g.\ a
+ \index{phantom} node).
+ \end{itemize}
+
\item[v2.1.4 (2017/02/02)] \mbox{}
Performance:
diff --git a/Master/texmf-dist/doc/latex/forest/forest.pdf b/Master/texmf-dist/doc/latex/forest/forest.pdf
index d8d7cacbf42..34a1a3df390 100644
--- a/Master/texmf-dist/doc/latex/forest/forest.pdf
+++ b/Master/texmf-dist/doc/latex/forest/forest.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/forest/forest-libs.dtx b/Master/texmf-dist/source/latex/forest/forest-libs.dtx
index 90816b44b55..9873abfa54a 100644
--- a/Master/texmf-dist/source/latex/forest/forest-libs.dtx
+++ b/Master/texmf-dist/source/latex/forest/forest-libs.dtx
@@ -45,12 +45,15 @@
%\fi
% \librarysection{linguistics}
% \begin{macrocode}
-\ProvidesForestLibrary{linguistics}[2017/01/27 v0.1.1]
+\ProvidesForestLibrary{linguistics}[2017/07/14 v0.1.2]
% \end{macrocode}
%
% Defaults:
% \begin{macrocode}
\forestset{
+ linguistics@set@baseline/.style={
+ if phantom={for next node=linguistics@set@baseline}{baseline}
+ },
libraries/linguistics/defaults/.style={
default preamble={
% \end{macrocode}
@@ -59,8 +62,12 @@
sn edges,
% \end{macrocode}
% The root of the tree will be aligned with the text \dots\ or, more commonly, the example number.
+% More precisely, we actually align the first (in linear order) non-phantom node. This covers the
+% common case of side-by-side trees joined with a phantom root.
% \begin{macrocode}
- baseline,
+ before drawing tree={
+ if nodewalk valid={name=forest@baseline@node}{}{linguistics@set@baseline},
+ },
% \end{macrocode}
% Enable (centered) multi-line nodes.
% \begin{macrocode}
diff --git a/Master/texmf-dist/source/latex/forest/forest.dtx b/Master/texmf-dist/source/latex/forest/forest.dtx
index 6f0f6bfae1a..4b136615dbc 100644
--- a/Master/texmf-dist/source/latex/forest/forest.dtx
+++ b/Master/texmf-dist/source/latex/forest/forest.dtx
@@ -1,4 +1,4 @@
-% \CheckSum{16623}
+% \CheckSum{16651}
% \iffalse meta-comment
% forest.dtx
%% `forest' is a `pgf/tikz'-based package for drawing (linguistic) trees.
@@ -83,7 +83,7 @@
%
% \section{Identification}
% \begin{macrocode}
-\ProvidesPackage{forest}[2017/02/02 v2.1.4 Drawing (linguistic) trees]
+\ProvidesPackage{forest}[2017/07/14 v2.1.5 Drawing (linguistic) trees]
\RequirePackage{tikz}[2013/12/13]
\usetikzlibrary{shapes}
@@ -4079,7 +4079,7 @@
\pgfkeyssetvalue{#1'/option@name}{#3}%
\forest@copycommandkey{#1+}{#1}%
\pgfkeysalso{#1-/.code={%
- \forest@fornode{register}{%
+ \forest@fornode{}{%
\forest@node@removekeysfromkeylist{##1}{#3}%
}}}%
\pgfkeyssetvalue{#1-/option@name}{#3}%
@@ -5178,7 +5178,7 @@
#4%
\let\forest@temp@pgfmathpostparse\pgfmathpostparse
\let\pgfmathpostparse\forest@aggregate@pgfmathpostparse
- \forestmath@convert@to\forestmathtype@dimen{\forestmathresult}
+ \forestmath@convert@to\forestmathtype@dimen{\forestmathresult}%
\pgfmathqparse{\forestmathresult}%
\let\pgfmathpostparse\forest@temp@pgfmathpostparse
\forestrlet{aggregate result}\pgfmathresult
@@ -5359,7 +5359,7 @@
\ifx\forest@nodewalk@config@oninvalid\forest@nodewalk@oninvalid@inherited@text
\edef\forest@nodewalk@config@oninvalid{\forest@nodewalk@oninvalid}%
\fi
- \edef\forest@marshal{%
+ \edef\forest@nw@marshal{%
\noexpand\pgfqkeys{/forest/nodewalk}{\unexpanded{#1}}%
\csname forest@nodewalk@config@everystep@\forest@nodewalk@config@everystep@method @after\endcsname
\csname forest@nodewalk@config@history@\forest@nodewalk@config@history@method @after\endcsname
@@ -5368,8 +5368,10 @@
\csname forest@nodewalk@config@everystep@\forest@nodewalk@config@everystep@method @before\endcsname{#2}%
\csname forest@nodewalk@config@history@\forest@nodewalk@config@history@method @before\endcsname
\edef\forest@nodewalk@oninvalid{\forest@nodewalk@config@oninvalid}%
- \forest@nodewalk@fakefalse
- \forest@marshal
+ \forest@saveandrestoreifcs{forest@nodewalk@fake}{%
+ \forest@nodewalk@fakefalse
+ \forest@nw@marshal
+ }%
}
\pgfmathdeclarefunction{valid}{1}{%
\forest@forthis{%
@@ -5488,15 +5490,15 @@
\expandafter\forest@temp@toks\expandafter{\expandafter\forest@saveandrestoremacro\expandafter\forest@nodewalk@currentstepname\expandafter{\the\forest@temp@toks}}%
\ifforestdebugnodewalks
\epretotoks\forest@temp@toks{\noexpand\typeout{Starting step "#1" from id=\noexpand\forest@cn
- \ifnum\forest@nodewalkstephandler@nargs>0 \space with args ####1\fi
- \ifnum\forest@nodewalkstephandler@nargs>1 ,####2\fi
- \ifnum\forest@nodewalkstephandler@nargs>2 ,####3\fi
- \ifnum\forest@nodewalkstephandler@nargs>3 ,####4\fi
- \ifnum\forest@nodewalkstephandler@nargs>4 ,####5\fi
- \ifnum\forest@nodewalkstephandler@nargs>5 ,####6\fi
- \ifnum\forest@nodewalkstephandler@nargs>6 ,####7\fi
- \ifnum\forest@nodewalkstephandler@nargs>7 ,####8\fi
- \ifnum\forest@nodewalkstephandler@nargs>8 ,####9\fi
+ \ifnum\forest@nodewalkstephandler@nargs>0 \space with args \noexpand\unexpanded{####1}\fi
+ \ifnum\forest@nodewalkstephandler@nargs>1 ,\noexpand\unexpanded{####2}\fi
+ \ifnum\forest@nodewalkstephandler@nargs>2 ,\noexpand\unexpanded{####3}\fi
+ \ifnum\forest@nodewalkstephandler@nargs>3 ,\noexpand\unexpanded{####4}\fi
+ \ifnum\forest@nodewalkstephandler@nargs>4 ,\noexpand\unexpanded{####5}\fi
+ \ifnum\forest@nodewalkstephandler@nargs>5 ,\noexpand\unexpanded{####6}\fi
+ \ifnum\forest@nodewalkstephandler@nargs>6 ,\noexpand\unexpanded{####7}\fi
+ \ifnum\forest@nodewalkstephandler@nargs>7 ,\noexpand\unexpanded{####8}\fi
+ \ifnum\forest@nodewalkstephandler@nargs>8 ,\noexpand\unexpanded{####9}\fi
}}%
\fi
\def\forest@temp{/forest/nodewalk/#1/.code}%
@@ -8642,16 +8644,21 @@
}%
\forest@node@Ifnamedefined{forest@baseline@node}{%
\edef\forest@baseline@id{\forest@node@Nametoid{forest@baseline@node}}%
- \ifcsdef{forest@drawn@\forest@baseline@id}{%
- \edef\forest@marshal{%
- \noexpand\pgfsetbaselinepointlater{%
- \noexpand\pgfpointanchor
- {\forestOve{\forest@baseline@id}{name}}%
- {\forestOve{\forest@baseline@id}{anchor}}%
- }%
- }\forest@marshal
- }{}%
- }{}%
+ \ifnum\forest@baseline@id=0
+ \else
+ \ifcsdef{forest@drawn@\forest@baseline@id}{%
+ \edef\forest@marshal{%
+ \noexpand\pgfsetbaselinepointlater{%
+ \noexpand\pgfpointanchor
+ {\forestOve{\forest@baseline@id}{name}}%
+ {\forestOve{\forest@baseline@id}{anchor}}%
+ }%
+ }\forest@marshal
+ }{%
+ \PackageWarning{forest}{Baseline node (id=\forest@cn) was not drawn (most likely it's a phantom node)}%
+ }%
+ \fi
+ }%
\forest@clear@drawn
}
\def\forest@draw@node{%
@@ -10885,7 +10892,10 @@
\forest@global@marshal
}
% \end{macrocode}
-%
+% Fill in the values of the invalid node. (It's now easy to test for |id=0|.)
+% \begin{macrocode}
+\forest@node@init
+% \end{macrocode}
% \section{Compatibility with previous versions}
% \begin{macrocode}
\ifdefempty{\forest@compat}{}{%
diff --git a/Master/texmf-dist/tex/latex/forest/forest-lib-linguistics.sty b/Master/texmf-dist/tex/latex/forest/forest-lib-linguistics.sty
index 74c883ba3f9..81eaa7a5461 100644
--- a/Master/texmf-dist/tex/latex/forest/forest-lib-linguistics.sty
+++ b/Master/texmf-dist/tex/latex/forest/forest-lib-linguistics.sty
@@ -29,12 +29,17 @@
%% `forest.dtx', or the derived `forest.sty'.
%%
\RequirePackage{forest}
-\ProvidesForestLibrary{linguistics}[2017/01/27 v0.1.1]
+\ProvidesForestLibrary{linguistics}[2017/07/14 v0.1.2]
\forestset{
+ linguistics@set@baseline/.style={
+ if phantom={for next node=linguistics@set@baseline}{baseline}
+ },
libraries/linguistics/defaults/.style={
default preamble={
sn edges,
- baseline,
+ before drawing tree={
+ if nodewalk valid={name=forest@baseline@node}{}{linguistics@set@baseline},
+ },
for tree={align=center},
},
},
diff --git a/Master/texmf-dist/tex/latex/forest/forest.sty b/Master/texmf-dist/tex/latex/forest/forest.sty
index 0c6c43ba005..100e8aa90d5 100644
--- a/Master/texmf-dist/tex/latex/forest/forest.sty
+++ b/Master/texmf-dist/tex/latex/forest/forest.sty
@@ -44,7 +44,7 @@
%% - LICENCE
%% To use the package, only the files marked with + need to be installed.
%%
-\ProvidesPackage{forest}[2017/02/02 v2.1.4 Drawing (linguistic) trees]
+\ProvidesPackage{forest}[2017/07/14 v2.1.5 Drawing (linguistic) trees]
\RequirePackage{tikz}[2013/12/13]
\usetikzlibrary{shapes}
@@ -3346,7 +3346,7 @@
\pgfkeyssetvalue{#1'/option@name}{#3}%
\forest@copycommandkey{#1+}{#1}%
\pgfkeysalso{#1-/.code={%
- \forest@fornode{register}{%
+ \forest@fornode{}{%
\forest@node@removekeysfromkeylist{##1}{#3}%
}}}%
\pgfkeyssetvalue{#1-/option@name}{#3}%
@@ -4419,7 +4419,7 @@
#4%
\let\forest@temp@pgfmathpostparse\pgfmathpostparse
\let\pgfmathpostparse\forest@aggregate@pgfmathpostparse
- \forestmath@convert@to\forestmathtype@dimen{\forestmathresult}
+ \forestmath@convert@to\forestmathtype@dimen{\forestmathresult}%
\pgfmathqparse{\forestmathresult}%
\let\pgfmathpostparse\forest@temp@pgfmathpostparse
\forestrlet{aggregate result}\pgfmathresult
@@ -4589,7 +4589,7 @@
\ifx\forest@nodewalk@config@oninvalid\forest@nodewalk@oninvalid@inherited@text
\edef\forest@nodewalk@config@oninvalid{\forest@nodewalk@oninvalid}%
\fi
- \edef\forest@marshal{%
+ \edef\forest@nw@marshal{%
\noexpand\pgfqkeys{/forest/nodewalk}{\unexpanded{#1}}%
\csname forest@nodewalk@config@everystep@\forest@nodewalk@config@everystep@method @after\endcsname
\csname forest@nodewalk@config@history@\forest@nodewalk@config@history@method @after\endcsname
@@ -4598,8 +4598,10 @@
\csname forest@nodewalk@config@everystep@\forest@nodewalk@config@everystep@method @before\endcsname{#2}%
\csname forest@nodewalk@config@history@\forest@nodewalk@config@history@method @before\endcsname
\edef\forest@nodewalk@oninvalid{\forest@nodewalk@config@oninvalid}%
- \forest@nodewalk@fakefalse
- \forest@marshal
+ \forest@saveandrestoreifcs{forest@nodewalk@fake}{%
+ \forest@nodewalk@fakefalse
+ \forest@nw@marshal
+ }%
}
\pgfmathdeclarefunction{valid}{1}{%
\forest@forthis{%
@@ -4718,15 +4720,15 @@
\expandafter\forest@temp@toks\expandafter{\expandafter\forest@saveandrestoremacro\expandafter\forest@nodewalk@currentstepname\expandafter{\the\forest@temp@toks}}%
\ifforestdebugnodewalks
\epretotoks\forest@temp@toks{\noexpand\typeout{Starting step "#1" from id=\noexpand\forest@cn
- \ifnum\forest@nodewalkstephandler@nargs>0 \space with args ####1\fi
- \ifnum\forest@nodewalkstephandler@nargs>1 ,####2\fi
- \ifnum\forest@nodewalkstephandler@nargs>2 ,####3\fi
- \ifnum\forest@nodewalkstephandler@nargs>3 ,####4\fi
- \ifnum\forest@nodewalkstephandler@nargs>4 ,####5\fi
- \ifnum\forest@nodewalkstephandler@nargs>5 ,####6\fi
- \ifnum\forest@nodewalkstephandler@nargs>6 ,####7\fi
- \ifnum\forest@nodewalkstephandler@nargs>7 ,####8\fi
- \ifnum\forest@nodewalkstephandler@nargs>8 ,####9\fi
+ \ifnum\forest@nodewalkstephandler@nargs>0 \space with args \noexpand\unexpanded{####1}\fi
+ \ifnum\forest@nodewalkstephandler@nargs>1 ,\noexpand\unexpanded{####2}\fi
+ \ifnum\forest@nodewalkstephandler@nargs>2 ,\noexpand\unexpanded{####3}\fi
+ \ifnum\forest@nodewalkstephandler@nargs>3 ,\noexpand\unexpanded{####4}\fi
+ \ifnum\forest@nodewalkstephandler@nargs>4 ,\noexpand\unexpanded{####5}\fi
+ \ifnum\forest@nodewalkstephandler@nargs>5 ,\noexpand\unexpanded{####6}\fi
+ \ifnum\forest@nodewalkstephandler@nargs>6 ,\noexpand\unexpanded{####7}\fi
+ \ifnum\forest@nodewalkstephandler@nargs>7 ,\noexpand\unexpanded{####8}\fi
+ \ifnum\forest@nodewalkstephandler@nargs>8 ,\noexpand\unexpanded{####9}\fi
}}%
\fi
\def\forest@temp{/forest/nodewalk/#1/.code}%
@@ -7606,16 +7608,21 @@
}%
\forest@node@Ifnamedefined{forest@baseline@node}{%
\edef\forest@baseline@id{\forest@node@Nametoid{forest@baseline@node}}%
- \ifcsdef{forest@drawn@\forest@baseline@id}{%
- \edef\forest@marshal{%
- \noexpand\pgfsetbaselinepointlater{%
- \noexpand\pgfpointanchor
- {\forestOve{\forest@baseline@id}{name}}%
- {\forestOve{\forest@baseline@id}{anchor}}%
- }%
- }\forest@marshal
- }{}%
- }{}%
+ \ifnum\forest@baseline@id=0
+ \else
+ \ifcsdef{forest@drawn@\forest@baseline@id}{%
+ \edef\forest@marshal{%
+ \noexpand\pgfsetbaselinepointlater{%
+ \noexpand\pgfpointanchor
+ {\forestOve{\forest@baseline@id}{name}}%
+ {\forestOve{\forest@baseline@id}{anchor}}%
+ }%
+ }\forest@marshal
+ }{%
+ \PackageWarning{forest}{Baseline node (id=\forest@cn) was not drawn (most likely it's a phantom node)}%
+ }%
+ \fi
+ }%
\forest@clear@drawn
}
\def\forest@draw@node{%
@@ -9243,6 +9250,7 @@
}%
\forest@global@marshal
}
+\forest@node@init
\ifdefempty{\forest@compat}{}{%
\RequirePackage{forest-compat}
}