diff options
author | Karl Berry <karl@freefriends.org> | 2019-12-19 22:11:59 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-12-19 22:11:59 +0000 |
commit | 8876a8021514f190d676e4e5261f1084a66754d3 (patch) | |
tree | 9a496107a312a1acbbdb06ea0e1657c285109729 /Master/texmf-dist/tex/generic/pgf/frontendlayer | |
parent | 693eacf895c01285e2992460bb489142ead8ae8a (diff) |
pgf (19dec19)
git-svn-id: svn://tug.org/texlive/trunk@53187 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/pgf/frontendlayer')
10 files changed, 131 insertions, 70 deletions
diff --git a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.code.tex b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.code.tex index 7f26cc00177..c56b29baae5 100644 --- a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.code.tex +++ b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.code.tex @@ -887,9 +887,9 @@ \let\tikz@dv@at@list\pgfutil@empty% \let\tikz@dv@style@at@list\pgfutil@empty% \pgfkeysgetvalue{#2/scaling mapper}\tikz@lib@dv@mapper - \expandafter\tikzdatavisualizationset\expandafter{\tikz@lib@dv@settings}% \scope[/tikz/data visualization/.cd,every ticks/.try,every #1 ticks/.try,#3]% % Setup options + \expandafter\tikzdatavisualizationset\expandafter{\tikz@lib@dv@settings}% \pgfkeysgetvalue{/tikz/data visualization/common}\tikz@temp \expandafter\tikzdatavisualizationset\expandafter{\tikz@temp} \pgfkeysgetvalue{/tikz/data visualization/#1}\tikz@temp @@ -1080,7 +1080,7 @@ \let\tikz@dv@style@at@list\pgfutil@empty \pgfkeysgetvalue{#2/scaling mapper}\tikz@lib@dv@mapper \let\tikz@lib@dv@ticks@default@at\pgfutil@empty% - \scope[data visualization/grid layer,/tikz/data visualization/.cd,every grid,every #1 grid/.try,#3] + \scope[data visualization/grid layer,/tikz/data visualization/.cd,every #1 grid/.try,every grid,#3] % Setup options \pgfkeysgetvalue{#2/ticks at}\tikz@lib@dv@ticks@at% \expandafter\tikzdatavisualizationset\expandafter{\tikz@lib@dv@settings}% diff --git a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/graphs/tikzlibrarygraphs.standard.code.tex b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/graphs/tikzlibrarygraphs.standard.code.tex index bfceb3769a5..c7f2daf7443 100644 --- a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/graphs/tikzlibrarygraphs.standard.code.tex +++ b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/graphs/tikzlibrarygraphs.standard.code.tex @@ -10,6 +10,7 @@ \ProvidesFileRCS{tikzlibrarygraphs.standard.code.tex} +\usetikzlibrary{graphs}% % % Basic graphs diff --git a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzexternalshared.code.tex b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzexternalshared.code.tex index 55b387f13c6..08fd794319b 100644 --- a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzexternalshared.code.tex +++ b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzexternalshared.code.tex @@ -749,6 +749,13 @@ \fi } +% amsmath signals the first pass of aligned environments with measuring@true. +% This is just \measuring@false in case \ifmeasuring@ is not defined +\def\pgf@marshal{\let\ifmeasuring@\iffalse} +\ifdefined\ifmeasuring@\else + \expandafter\pgf@marshal +\fi + % Fills #1 with a filename for the current picture. % % The filename will be generated automatically by appending '-figure<number>' to the real jobname. @@ -779,8 +786,10 @@ }{}% \t@tikzexternal@tmpb=\expandafter{\tikzexternal@figurename}% \xdef\pgf@tempa{\the\t@tikzexternal@tmpa\the\t@tikzexternal@tmpb\csname c@tikzext@no@\tikzexternal@figurename\endcsname}% - % advance the counter for 'figure name': - \tikzexternal@getnextfilename@advancecount + \ifmeasuring@\else + % advance the counter for 'figure name': + \tikzexternal@getnextfilename@advancecount + \fi \fi \else \t@tikzexternal@tmpb=\expandafter{\tikzexternal@nextfile}% @@ -798,7 +807,9 @@ \def\tikzexternal@getnextfilename@resetglobals{% % Reset global flags: - \global\let\tikzexternal@nextfile=\pgfutil@empty + \ifmeasuring@\else + \global\let\tikzexternal@nextfile=\pgfutil@empty + \fi \global\tikzexternalexportnexttrue }% diff --git a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalc.code.tex b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalc.code.tex index 594ccc6c49a..b6fc75aeef9 100644 --- a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalc.code.tex +++ b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalc.code.tex @@ -39,10 +39,6 @@ \let\x=\tikz@cc@dox% \let\y=\tikz@cc@doy% \let\n=\tikz@cc@don% - \let\rawx=\tikz@cc@dotempx% - \let\rawy=\tikz@cc@dotempy% - \let\rawz=\tikz@cc@dotempz% - \let\coord=\tikz@cc@docoord% \pgfutil@ifnextchar i{\tikz@cc@stop@let}{\tikz@cc@handle@line}% }% \def\tikz@cc@handle@line{% @@ -74,17 +70,6 @@ \expandafter\edef\csname tikz@cc@p@\tikz@cc@coord@name\endcsname{\the\pgf@x,\the\pgf@y}% \expandafter\edef\csname tikz@cc@x@\tikz@cc@coord@name\endcsname{\the\pgf@x}% \expandafter\edef\csname tikz@cc@y@\tikz@cc@coord@name\endcsname{\the\pgf@y}% - \pgfutil@letfirst\pgfutil@next{#1}% - \ifx\pgfutil@next\pgfpointxyz - \expandafter\edef\csname tikz@cc@tempx@\tikz@cc@coord@name\endcsname{\pgftemp@x}% - \expandafter\edef\csname tikz@cc@tempy@\tikz@cc@coord@name\endcsname{\pgftemp@y}% - \expandafter\edef\csname tikz@cc@tempz@\tikz@cc@coord@name\endcsname{\pgftemp@z}% - \else - \expandafter\edef\csname tikz@cc@tempx@\tikz@cc@coord@name\endcsname{}% - \expandafter\edef\csname tikz@cc@tempy@\tikz@cc@coord@name\endcsname{}% - \expandafter\edef\csname tikz@cc@tempz@\tikz@cc@coord@name\endcsname{}% - \fi - \expandafter\edef\csname tikz@cc@coord@\tikz@cc@coord@name\endcsname{\csname tikz@declared@coordinate\endcsname}% \pgfutil@ifnextchar,{\tikz@cc@handle@nextline}{\tikz@cc@stop@let}% }% \def\tikz@cc@handle@nextline,{% @@ -98,10 +83,6 @@ \def\tikz@cc@dox#1{\csname tikz@cc@x@#1\endcsname}% \def\tikz@cc@doy#1{\csname tikz@cc@y@#1\endcsname}% \def\tikz@cc@don#1{\csname tikz@cc@n@#1\endcsname}% -\def\tikz@cc@dotempx#1{\csname tikz@cc@tempx@#1\endcsname}% -\def\tikz@cc@dotempy#1{\csname tikz@cc@tempy@#1\endcsname}% -\def\tikz@cc@dotempz#1{\csname tikz@cc@tempz@#1\endcsname}% -\def\tikz@cc@docoord#1{\csname tikz@cc@coord@#1\endcsname}% diff --git a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryintersections.code.tex b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryintersections.code.tex index 5b0e83d5ee1..f7ff81b7e2a 100644 --- a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryintersections.code.tex +++ b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryintersections.code.tex @@ -72,6 +72,10 @@ \let\tikz@intersect@total=\pgfutil@empty \tikzset{ + every scope/.append style={ + execute at begin scope={\let\tikz@intersect@namedpaths@outside\tikz@intersect@namedpaths}, + execute at end scope={\global\let\tikz@intersect@namedpaths\tikz@intersect@namedpaths@outside}, + }, name intersections/.code={% \tikzset{/tikz/intersection/.cd, by=, diff --git a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryspy.code.tex b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryspy.code.tex index b23cf08caf2..c9ac86f17ee 100644 --- a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryspy.code.tex +++ b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryspy.code.tex @@ -97,8 +97,20 @@ \pgftransformcm{\pgf@lib@svg@a}{\pgf@lib@svg@b}{\pgf@lib@svg@c}{\pgf@lib@svg@d}{\pgfpointorigin}% } }]{}; + \expandafter\pgfutil@switch\expandafter{\tikz@anchor}{% + {north} {\def\tikz@spy@anchor{south}}% + {north east}{\def\tikz@spy@anchor{south west}}% + {east} {\def\tikz@spy@anchor{west}}% + {south east}{\def\tikz@spy@anchor{north west}}% + {south} {\def\tikz@spy@anchor{north}}% + {south west}{\def\tikz@spy@anchor{north east}}% + {west} {\def\tikz@spy@anchor{east}}% + {north west}{\def\tikz@spy@anchor{south east}}% + % default to center + {default} {\def\tikz@spy@anchor{center}}% + } \node [alias=tikzspyinnode,inner sep=0pt,outer sep=0pt,at={#2},every spy in node/.try, - path picture={\node[anchor=center,tikz@lib@reset@gs]{\nullfont% + path picture={\node[anchor=\tikz@spy@anchor,tikz@lib@reset@gs]{\nullfont% \pgfpicture\relax\pgfsetbaseline{default}\pgfsettrimleft{default}\pgfsettrimright{default}% \pgftransformreset% \let\tikz@transform=\relax% diff --git a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex index 2051fce8fd6..121a570f4b5 100644 --- a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex +++ b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex @@ -163,7 +163,7 @@ \fi% \tikz@to@start@compute% \tikz@to@end@compute% - \edef\tikz@computed@path{.. controls \tikz@computed@start and \tikz@computed@end .. (\tikz@toto)} + \edef\tikz@computed@path{.. controls \tikz@computed@start and \tikz@computed@end .. (\tikztotarget)} } \def\tikz@to@compute@distance{\tikz@scan@one@point\tikz@@to@compute@distance(\tikz@tofrom)} diff --git a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytrees.code.tex b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytrees.code.tex index 830435a029b..8ff54a03123 100644 --- a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytrees.code.tex +++ b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytrees.code.tex @@ -59,7 +59,12 @@ % Circle grow % -\tikzset{grow cyclic/.style={growth function=\tikz@grow@circle}}% +\tikzset{ + grow cyclic/.style={ + edge from parent/.append style={reset cm}, + growth function=\tikz@grow@circle, + } +}% \tikzset{sibling angle/.initial=20}% diff --git a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryturtle.code.tex b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryturtle.code.tex index 009a309e311..76272f1a6cf 100644 --- a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryturtle.code.tex +++ b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryturtle.code.tex @@ -28,7 +28,7 @@ % given, by turtle distance \tikzset{ turtle/forward/.default=\pgfkeysvalueof{/tikz/turtle/distance}, - turtle/forward/.style={/tikz/insert path={to[/tikz/turtle/how]++(\tikz@lib@turtle@dir:#1)}} + turtle/forward/.style={/tikz/insert path={to[/tikz/turtle/how]++({\tikz@lib@turtle@dir}:{#1})}} }% @@ -46,7 +46,7 @@ \tikzset{ turtle/left/.default=90, turtle/left/.code={% - \pgfmathparse{#1+\tikz@lib@turtle@dir}% + \pgfmathparse{(#1)+(\tikz@lib@turtle@dir)}% \ifdim\pgfmathresult pt>360pt\relax% \pgfmathparse{\pgfmathresult-360}% \fi% @@ -60,7 +60,7 @@ turtle/right/.default=90, turtle/right/.code={% \pgfmathparse{#1} - \pgfmathparse{\tikz@lib@turtle@dir-\pgfmathresult}% + \pgfmathparse{(\tikz@lib@turtle@dir)-\pgfmathresult}% \ifdim\pgfmathresult pt<0pt\relax% \pgfmathparse{\pgfmathresult+360}% \fi% diff --git a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex index 5f67167ad37..2d428f666f6 100644 --- a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex +++ b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex @@ -283,7 +283,18 @@ % Radii and arc options \tikzset{x radius/.initial=0pt}% \tikzset{y radius/.initial=0pt}% -\tikzset{radius/.style={/tikz/x radius=#1,/tikz/y radius=#1}}% +\tikzset{% + radius/.code={% + \pgfmathparse{#1}% + \ifpgfmathunitsdeclared + \pgfkeyssetevalue{/tikz/x radius}{\pgfmathresult pt}% + \pgfkeyssetevalue{/tikz/y radius}{\pgfmathresult pt}% + \else + \pgfkeyssetevalue{/tikz/x radius}{\pgfmathresult}% + \pgfkeyssetevalue{/tikz/y radius}{\pgfmathresult}% + \fi + }% +}% \tikzset{start angle/.initial=}% \tikzset{end angle/.initial=}% \tikzset{delta angle/.initial=}% @@ -696,9 +707,9 @@ \bgroup [current point is local = true] \pgfextra{\let\tikz@save@last@node=\tikzlastnode\tikz@node@is@a@labelfalse}% - node [every pin, - tikz@label@angle = #2, + node [tikz@label@angle = #2, anchor=@auto, + every pin, #1, append after command = {% (\tikz@save@last@node) @@ -726,9 +737,9 @@ \bgroup [current point is local = true] \pgfextra{\let\tikz@save@last@node=\tikzlastnode\tikz@node@is@a@labelfalse}% - node [every pin, - tikz@label@angle = #2, + node [tikz@label@angle = #2, anchor=@auto, + every pin, #1, append after command = {% (\tikz@save@last@node) @@ -857,9 +868,9 @@ \bgroup [current point is local=true] \pgfextra{\let\tikz@save@last@fig@name=\tikz@last@fig@name\tikz@node@is@a@labelfalse} - node [every label, - tikz@label@angle = #2, + node [tikz@label@angle = #2, anchor=@auto, + every label, #1, tikz@label@post = \tikz@label@distance] {\iftikz@handle@active@nodes\expandafter\scantokens\else\expandafter\pgfutil@firstofone\fi{#3\noexpand}} \pgfextra{\global\let\tikz@last@fig@name=\tikz@save@last@fig@name} @@ -887,9 +898,9 @@ \bgroup [current point is local=true] \pgfextra{\let\tikz@save@last@fig@name=\tikz@last@fig@name\tikz@node@is@a@labelfalse} - node [every label, - tikz@label@angle = #2, + node [tikz@label@angle = #2, anchor=@auto, + every label, #1, tikz@label@post = \tikz@label@distance] {\iftikz@handle@active@nodes\expandafter\scantokens\else\expandafter\pgfutil@firstofone\fi{#3\noexpand}} \pgfextra{\global\let\tikz@last@fig@name=\tikz@save@last@fig@name} @@ -1030,7 +1041,7 @@ \tikz@addtransform{% \expandafter\tikz@extract@node@dist\tikz@node@distance and\pgf@stop% \pgftransformshift{\pgfpointpolar{#2}{\tikz@extracted@node@distance}}}% - \def\tikz@node@at{\pgfpointanchor{#1}{center}}}% + \def\tikz@node@at{\pgfpointanchor{\tikz@pp@name{#1}}{center}}}% \def\tikz@extract@node@dist#1and#2\pgf@stop{% \def\tikz@extracted@node@distance{#1}}% @@ -1147,15 +1158,17 @@ \tikzset{badness warnings for centered text/.is if=tikz@warn@for@narrow@centered}% \newif\iftikz@warn@for@narrow@centered -\let\tikz@text@width=\pgfutil@empty -\let\tikz@text@height=\pgfutil@empty -\let\tikz@text@depth=\pgfutil@empty -\let\tikz@textcolor=\pgfutil@empty -\let\tikz@textfont=\pgfutil@empty -\let\tikz@textopacity=\pgfutil@empty -\let\tikz@node@textfont=\pgfutil@empty - -\def\tikz@text@action{\pgfutil@raggedright\rightskip0pt plus2em \spaceskip.3333em \xspaceskip.5em\relax}% +\def\tikz@text@reset{% + \let\tikz@text@width=\pgfutil@empty + \let\tikz@text@height=\pgfutil@empty + \let\tikz@text@depth=\pgfutil@empty + \let\tikz@textcolor=\pgfutil@empty + \let\tikz@textfont=\pgfutil@empty + \let\tikz@textopacity=\pgfutil@empty + \let\tikz@node@textfont=\pgfutil@empty + \def\tikz@text@action{\pgfutil@raggedright\rightskip0pt plus2em \spaceskip.3333em \xspaceskip.5em\relax}% +} +\tikz@text@reset % Alignment @@ -2058,7 +2071,6 @@ % settings. \def\tikz@command@path{% - \global\let\tikz@intersect@namedpaths=\pgfutil@empty% clear intersections \let\tikz@signal@path=\tikz@signal@path% for detection at begin of matrix cell \pgfutil@ifnextchar[{\tikz@check@earg}%] {\pgfutil@ifnextchar<{\tikz@doopt}{\tikz@@command@path}}}% @@ -3615,7 +3627,7 @@ \tikzset{every circle/.try,#1}% \pgftransformshift{\tikz@node@at}% \tikz@transform% - \tikz@do@circle{\pgfkeysvalueof{/tikz/x radius}}{\pgfkeysvalueof{/tikz/y radius}} + \tikz@do@ellipse{\pgfkeysvalueof{/tikz/x radius}}{\pgfkeysvalueof{/tikz/y radius}} }% \tikz@scan@next@command% }% @@ -3627,15 +3639,28 @@ \ifpgfutil@in@% \tikz@@ellipseB(#1)% \else% - \tikz@do@circle{#1}{#1}% + \tikz@do@circle{#1}% \fi% }% \tikz@scan@next@command% }% \def\tikz@@ellipseB(#1 and #2){% - \tikz@do@circle{#1}{#2} + \tikz@do@ellipse{#1}{#2}% }% -\def\tikz@do@circle#1#2{ +\def\tikz@do@circle#1{% + \pgfmathparse{#1}% + \let\tikz@ellipse@x=\pgfmathresult + \ifpgfmathunitsdeclared + \pgfpathellipse{\pgfpointorigin}% + {\pgfqpoint{\tikz@ellipse@x pt}{0pt}}% + {\pgfpoint{0pt}{\tikz@ellipse@x pt}}% + \else + \pgfpathellipse{\pgfpointorigin}% + {\pgfpointxy{\tikz@ellipse@x}{0}}% + {\pgfpointxy{0}{\tikz@ellipse@x}}% + \fi +} +\def\tikz@do@ellipse#1#2{ \pgfmathparse{#1}% \let\tikz@ellipse@x=\pgfmathresult% \ifpgfmathunitsdeclared% @@ -3801,9 +3826,11 @@ \tikz@scan@one@point\tikz@@coordinate@at@math(% }% \def\tikz@@coordinate@at@math#1{% - \pgf@process{#1}% - \edef\tikz@temp{(\the\pgf@x,\the\pgf@y)}% - \expandafter\tikz@coordinate@caller\tikz@temp{}% + \pgfutil@ifundefined{tikz@scan@point@coordinate}% + {\pgf@process{#1}% + \edef\tikz@temp{(\the\pgf@x,\the\pgf@y)}% + \expandafter\tikz@coordinate@caller\tikz@temp{}} + {\expandafter\tikz@coordinate@caller\tikz@scan@point@coordinate{}}% }% @@ -3935,10 +3962,8 @@ \ifx\tikz@textcolor\pgfutil@empty% \else% \pgfutil@colorlet{.}{\tikz@textcolor}% + \pgfutil@color{\tikz@textcolor}% \fi% - % FIXME : this here is the proposed solution for <https://sourceforge.net/p/pgf/bugs/362/> - % but it caused <https://sourceforge.net/p/pgf/bugs/503/>. - % \pgfutil@color{.}% \setbox\tikz@figbox=\box\pgfutil@voidb@x% \setbox\tikz@figbox@bg=\box\pgfutil@voidb@x% \tikz@uninstallcommands% @@ -3950,6 +3975,8 @@ \ifnum\the\catcode`\:=\active\relax\expandafter\let\tikz@activecolon=\tikz@origcolon\fi% \ifnum\the\catcode`\|=\active\relax\expandafter\let\tikz@activebar=\tikz@origbar\fi% \aftergroup\tikz@fig@collectresetcolor% + \tikz@signal@halign@check% + \tikz@text@reset% \tikz@halign@check% \ignorespaces% }% @@ -4004,6 +4031,7 @@ \def\tikz@matrix@shift{\pgfpointorigin}% \fi% \let\tikz@transform=\relax% + \pgfmatrixbeforeassemblenode{\tikzset{every outer matrix/.try}}% \pgfmatrix% {\tikz@shape}% {\tikz@m@anchor}% @@ -4214,7 +4242,7 @@ \newif\iftikz@do@align % Alignment handling -\def\tikz@halign@check{% +\def\tikz@signal@halign@check{% \tikz@do@alignfalse \ifx\tikz@text@width\pgfutil@empty% \pgfkeysgetvalue{/tikz/node halign header}\tikz@align@header% @@ -4223,6 +4251,8 @@ \tikz@do@aligntrue% \fi% \fi% +} +\def\tikz@halign@check{% \iftikz@do@align% % Bingo \setbox\tikz@align@aligned@box=\box\pgfutil@voidb@x% void @@ -4341,6 +4371,8 @@ \ifnum\the\catcode`\|=\active\relax\expandafter\let\tikz@activebar=\tikz@origbar\fi% \tikz@atbegin@node% \aftergroup\tikz@fig@collectresetcolor% + \tikz@signal@halign@check% + \tikz@text@reset% \tikz@halign@check% \ignorespaces% }% @@ -4379,9 +4411,17 @@ {\pgfutil@ifnextchar\bgroup{\tikz@nodes@main}% {\tikzerror{Nodes must have a (possibly empty) label text}% \tikz@fig@main{}}}}}}%}}% -\def\tikz@nodes@at at#1){% + +% Look ahead whether the next character is a (. If that is the case, we scan +% until ), otherwise we grab a single token and append. +\def\tikz@nodes@at at{\pgfutil@ifnextchar({\tikz@nodes@at@}{\tikz@nodes@at@@}}% +\def\tikz@nodes@at@#1){% \expandafter\def\expandafter\tikz@nodes@collect\expandafter{\tikz@nodes@collect at#1)}% \tikz@nodes@scan}% +\def\tikz@nodes@at@@#1{% + \expandafter\def\expandafter\tikz@nodes@collect\expandafter{\tikz@nodes@collect at#1}% + \tikz@nodes@scan}% + \def\tikz@nodes@name#1){% \expandafter\def\expandafter\tikz@nodes@collect\expandafter{\tikz@nodes@collect#1)}% \tikz@nodes@scan}% @@ -4786,7 +4826,7 @@ \let\tikz@picmode\tikz@mode% \tikzset{name prefix ../.style/.expanded={/tikz/name prefix=\pgfkeysvalueof{/tikz/name prefix}}}% \ifx\tikz@fig@name\pgfutil@empty\else% - \tikzset{name prefix/.prefix/.expanded=\tikz@fig@name}% + \tikzset{name prefix/.expanded=\tikz@fig@name}% \fi% \pgfkeysvalueof{/tikz/pics/setup code}% \pgfkeysgetvalue{/tikz/pics/code}{\tikz@pic@code} @@ -5387,19 +5427,26 @@ \else% \tikz@calc@anchor#2.center\tikz@stop% to be on the save side, in % case iftikz@shapeborder is ignored... - \expandafter\ifx\csname pgf@sh@ns@\tikz@pp@name{#2}\endcsname\tikz@coordinate@text% - \else - \tikz@shapebordertrue% - \def\tikz@shapeborder@name{\tikz@pp@name{#2}}% - \fi% + \ifcsname pgf@sh@ns@\tikz@pp@name{#2}\endcsname + \expandafter\ifx\csname pgf@sh@ns@\tikz@pp@name{#2}\endcsname\tikz@coordinate@text% + \else + \tikz@shapebordertrue% + \def\tikz@shapeborder@name{\tikz@pp@name{#2}}% + \fi% + \fi \fi% - \expandafter\let\expandafter\tikz@declared@coordinate\csname tikz@dcl@coord@\tikz@pp@name{#2}\endcsname \edef\tikz@marshal{\noexpand#1{\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}}}% \tikz@marshal% }% \def\tikz@calc@anchor#1.#2\tikz@stop{% - \pgfpointanchor{\tikz@pp@name{#1}}{#2}% + % Check if a shape with name prefix exists, otherwise try the global name + % without prefix. + \ifcsname pgf@sh@ns@\tikz@pp@name{#1}\endcsname% + \pgfpointanchor{\tikz@pp@name{#1}}{#2}% + \else + \pgfpointanchor{#1}{#2}% + \fi }% |