summaryrefslogtreecommitdiff
path: root/graphics/pgf/base/tex/tikzlibraryscopes.code.tex
blob: 68856d591e4b23cb53ffce466daf83a2dd9d5a52 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
% Copyright 2018 by Till Tantau
%
% This file may be distributed and/or modified
%
% 1. under the LaTeX Project Public License and/or
% 2. under the GNU Public License.
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.

\ProvidesFileRCS{tikzlibraryscopes.code.tex}

% Redefine the after command hook...

\def\tikz@lib@scope@check{%
    \pgfutil@ifnextchar\tikz@intersect@finish{%
        \tikz@intersect@finish\afterassignment\tikz@lib@scope@check\let\tikz@next%
    }{%
      \pgfutil@ifnextchar\par{%
        \afterassignment\tikz@lib@scope@check\let\tikz@next%
      }%
      {\pgfutil@ifnextchar\bgroup{%gotcha
          \afterassignment\tikz@lib@scope@gotcha\let\tikz@next%
        }%
        {}%
      }%
    }%
}%

\def\tikz@lib@scope@gotcha{%
  \pgfutil@ifnextchar[{%]
    \tikz@lib@scope@action%
  }{%
    % false alarm
    \bgroup%
  }%
}%
\def\tikz@lib@scope@action[#1]{%
  \scope[#1]\bgroup\aftergroup\endscope%
  \tikz@lib@scope@check%
}%

\endinput