From d03702f81186c2d16c3baeaac49654dc54151ab8 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 29 Jan 2013 23:20:36 +0000 Subject: forest (29jan13) git-svn-id: svn://tug.org/texlive/trunk@28979 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/forest/forest.sty | 36 ++++++++++++++++++--------- 1 file changed, 24 insertions(+), 12 deletions(-) (limited to 'Master/texmf-dist/tex/latex/forest') diff --git a/Master/texmf-dist/tex/latex/forest/forest.sty b/Master/texmf-dist/tex/latex/forest/forest.sty index a0d9b958013..b34bca54e6d 100644 --- a/Master/texmf-dist/tex/latex/forest/forest.sty +++ b/Master/texmf-dist/tex/latex/forest/forest.sty @@ -29,7 +29,7 @@ %% This work consists of the files forest.dtx and forest.ins %% and the derived file forest.sty. %% -\ProvidesPackage{forest}[2013/01/20 v1.02 Drawing (linguistic) trees] +\ProvidesPackage{forest}[2013/01/28 v1.03 Drawing (linguistic) trees] \RequirePackage{tikz}[2010/10/13] \usetikzlibrary{shapes} @@ -321,12 +321,12 @@ \newcount\forest@temp@global@count \def\apptotoks#1#2{\expandafter#1\expandafter{\the#1#2}} \long\def\lapptotoks#1#2{\expandafter#1\expandafter{\the#1#2}} -\def\eapptotoks#1#2{\edef\pot@temp{#2}\expandafter\expandafter\expandafter#1\expandafter\expandafter\expandafter{\expandafter\expandafter\the\expandafter#1\pot@temp}} -\def\pretotoks#1#2{\toks@={#2}\expandafter\expandafter\expandafter#1\expandafter\expandafter\expandafter{\expandafter\expandafter\the\expandafter\toks@\the#1}} +\def\eapptotoks#1#2{\edef\pot@temp{#2}\expandafter\expandafter\expandafter#1\expandafter\expandafter\expandafter{\expandafter\the\expandafter#1\pot@temp}} +\def\pretotoks#1#2{\toks@={#2}\expandafter\expandafter\expandafter#1\expandafter\expandafter\expandafter{\expandafter\the\expandafter\toks@\the#1}} \def\epretotoks#1#2{\edef\pot@temp{#2}\expandafter\expandafter\expandafter#1\expandafter\expandafter\expandafter{\expandafter\pot@temp\the#1}} \def\gapptotoks#1#2{\expandafter\global\expandafter#1\expandafter{\the#1#2}} -\def\xapptotoks#1#2{\edef\pot@temp{#2}\expandafter\expandafter\expandafter\global\expandafter\expandafter\expandafter#1\expandafter\expandafter\expandafter{\expandafter\expandafter\the\expandafter#1\pot@temp}} -\def\gpretotoks#1#2{\toks@={#2}\expandafter\expandafter\expandafter\global\expandafter\expandafter\expandafter#1\expandafter\expandafter\expandafter{\expandafter\expandafter\the\expandafter\toks@\the#1}} +\def\xapptotoks#1#2{\edef\pot@temp{#2}\expandafter\expandafter\expandafter\global\expandafter\expandafter\expandafter#1\expandafter\expandafter\expandafter{\expandafter\the\expandafter#1\pot@temp}} +\def\gpretotoks#1#2{\toks@={#2}\expandafter\expandafter\expandafter\global\expandafter\expandafter\expandafter#1\expandafter\expandafter\expandafter{\expandafter\the\expandafter\toks@\the#1}} \def\xpretotoks#1#2{\edef\pot@temp{#2}\expandafter\expandafter\expandafter\global\expandafter\expandafter\expandafter#1\expandafter\expandafter\expandafter{\expandafter\pot@temp\the#1}} \def\expandnumberarg#1#2{\expandafter#1\expandafter{\number#2}} \def\expandtwonumberargs#1#2#3{% @@ -701,6 +701,7 @@ \bracket@Parse } \def\bracket@Parse@appendGroup#1{% + \bracket@Parse@appendSpace \ifcase\bracket@state\relax \apptotoks\bracket@content{{#1}}% \or @@ -1839,6 +1840,10 @@ \forest@node@setname{#1}% }, alias/.code={\forest@node@setalias{#1}}, + begin draw/.code={\begin{tikzpicture}}, + end draw/.code={\end{tikzpicture}}, + begin forest/.code={}, + end forest/.code={}, declare autowrapped toks={content}{}, declare count={grow}{270}, TeX={% a hack for grow-reversed connection, and compass-based grow specification @@ -1915,12 +1920,12 @@ declare keylist={node options}{}, declare toks={tikz}{}, afterthought/.style={tikz+={#1}}, - declare toks={tikz preamble}{}, label/.style={tikz={\path[late options={% name=\forestoption{name},label={#1}}];}}, pin/.style={tikz={\path[late options={% name=\forestoption{name},pin={#1}}];}}, declare toks={content format}{\forestoption{content}}, + math content/.style={content format={\ensuremath{\forestoption{content}}}}, declare toks={node format}{% \noexpand\node [\forestoption{node options},anchor=\forestoption{anchor}]% @@ -2136,6 +2141,13 @@ \forestOset{\forest@last@node}{given options}{}% \forestOeappto{\forest@last@node}{delay}{,\unexpanded{#1}}% } +\def\forest@create@collectafterthought#1\forest@end@create@node{% + \forest@node@Foreach{\forest@last@node}{% + \forestoleto{delay}{given options}% + \forestoset{given options}{}% + }% + \forestOeappto{\forest@last@node}{delay}{,\unexpanded{#1}}% +} \def\forest@remove@node#1{% \forest@node@Remove{#1}% } @@ -3495,10 +3507,9 @@ \let\tikz@parse@node\forest@tikz@parse@node \fi \forest@drawtree@beginbox - \tikz{% - \forestove{tikz preamble}% - \forest@node@drawtree@ - }% + \pgfkeysalso{/forest/begin draw}% + \forest@node@drawtree@ + \pgfkeysalso{/forest/end draw}% \forest@drawtree@endbox \ifforesttikzcshack \let\tikz@parse@node\forest@original@tikz@parse@node @@ -4413,8 +4424,8 @@ }% }% \fi -\newenvironment{forest}{\Collect@Body\forest@env}{} -\long\def\Forest{\@ifnextchar*{\forest@nogroup}{\forest@group}} +\newenvironment{forest}{\pgfkeysalso{/forest/begin forest}\Collect@Body\forest@env}{} +\long\def\Forest{\pgfkeysalso{/forest/begin forest}\@ifnextchar*{\forest@nogroup}{\forest@group}} \def\forest@group#1{{\forest@env{#1}}} \def\forest@nogroup*#1{\forest@env{#1}} \newif\ifforest@externalize@tree@ @@ -4567,6 +4578,7 @@ \forest@node@Compute@numeric@ts@info{\forest@root}% \forestset{process keylist=given options}% \forestset{stages}% + \pgfkeysalso{/forest/end forest}% \ifforest@was@tikzexternalwasenable \tikzexternalenable \fi -- cgit v1.2.3