diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/tikzmark/tikzlibrarytikzmark.code.tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/tikzmark/tikzlibrarytikzmark.code.tex | 222 |
1 files changed, 222 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/tikzmark/tikzlibrarytikzmark.code.tex b/Master/texmf-dist/tex/latex/tikzmark/tikzlibrarytikzmark.code.tex new file mode 100644 index 00000000000..0a0a829ec0a --- /dev/null +++ b/Master/texmf-dist/tex/latex/tikzmark/tikzlibrarytikzmark.code.tex @@ -0,0 +1,222 @@ +%% +%% This is file `tikzlibrarytikzmark.code.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% tikzmark.dtx (with options: `tikzlibrary') +%% ---------------------------------------------------------------- +%% tikzmark --- remembering absolute positioning with TikZ. +%% E-mail: stacey@math.ntnu.no +%% Released under the LaTeX Project Public License v1.3c or later +%% See http://www.latex-project.org/lppl.txt +%% ---------------------------------------------------------------- +%% +\tikzset{% + remember picture with id/.style={% + remember picture, + overlay, + save picture id=#1, + }, + every picture/.append style={% + execute at end picture={% + \ifpgfrememberpicturepositiononpage% + \edef\pgf@temp{% + \noexpand\write\noexpand\pgfutil@auxout{% + \string\savepicturepage{\pgfpictureid}{\noexpand\thepage}}}% + \pgf@temp + \fi% + }, + }, + save picture id/.code={% + \immediate\write\pgfutil@auxout{% + \string\savepointas{#1}{\pgfpictureid}}% + }, + if picture id/.code args={#1#2#3}{% + \@ifundefined{save@pt@#1}{% + \pgfkeysalso{#3}% + }{ + \pgfkeysalso{#2}% + } + }, + next page/.is choice, + next page vector/.initial={\pgfqpoint{0pt}{0pt}}, + next page/below/.style={% + next page vector={\pgfqpoint{0pt}{-\the\paperheight}}% + }, + next page/above/.style={% + next page vector={\pgfqpoint{0pt}{\the\paperheight}}% + }, + next page/left/.style={% + next page vector={\pgfqpoint{-\the\paperwidth}{0pt}}% + }, + next page/right/.style={% + next page vector={\pgfqpoint{\the\paperwidth}{0pt}}% + }, + next page/ignore/.style={% + next page vector={\pgfqpoint{0pt}{0pt}}% + }, +} +\def\savepointas#1#2{% + \expandafter\gdef\csname save@pt@#1\endcsname{#2}% +} +\def\savepicturepage#1#2{% + \expandafter\gdef\csname save@pg@#1\endcsname{#2}% +} +\def\tmk@labeldef#1,#2\@nil{% + \def\tmk@label{#1}% + \def\tmk@def{#2}% +} +\tikzdeclarecoordinatesystem{pic}{% + \pgfutil@in@,{#1}% + \ifpgfutil@in@% + \tmk@labeldef#1\@nil + \else + \tmk@labeldef#1,(0pt,0pt)\@nil + \fi + \@ifundefined{save@pt@\tmk@label}{% + \tikz@scan@one@point\pgfutil@firstofone\tmk@def + }{% + \pgfsys@getposition{\csname save@pt@\tmk@label\endcsname}\save@orig@pic% + \pgfsys@getposition{\pgfpictureid}\save@this@pic% + \pgf@process{\pgfpointorigin\save@this@pic}% + \pgf@xa=\pgf@x + \pgf@ya=\pgf@y + \pgf@process{\pgfpointorigin\save@orig@pic}% + \advance\pgf@x by -\pgf@xa + \advance\pgf@y by -\pgf@ya + \pgf@xa=\pgf@x + \pgf@ya=\pgf@y + \@ifundefined{save@pg@\csname save@pt@\tmk@label\endcsname}{}{% + \@ifundefined{save@pg@\pgfpictureid}{}{% + \pgfkeysvalueof{/tikz/next page vector}% + \advance \pgf@xa by \csname save@pg@\csname save@pt@\tmk@label\endcsname\endcsname\pgf@x\relax +\advance \pgf@ya by \csname save@pg@\csname save@pt@\tmk@label\endcsname\endcsname\pgf@y\relax + \advance \pgf@xa by -\csname save@pg@\pgfpictureid\endcsname\pgf@x\relax +\advance \pgf@ya by -\csname save@pg@\pgfpictureid\endcsname\pgf@y\relax + }% + }% + \pgf@x=\pgf@xa + \pgf@y=\pgf@ya + }% + } +\newcommand\tikzmark[2][]{% +\tikz[remember picture with id=#2] #1;} +\newcommand\pgfmark[1]{% + \bgroup + \global\advance\pgf@picture@serial@count by1\relax% + \edef\pgfpictureid{pgfid\the\pgf@picture@serial@count}% + \pgfsys@markposition{\pgfpictureid}% + \edef\pgf@temp{% + \noexpand\write\noexpand\pgfutil@auxout{% + \string\savepicturepage{\pgfpictureid}{\noexpand\thepage}}}% + \pgf@temp + \immediate\write\pgfutil@auxout{% + \string\savepointas{#1}{\pgfpictureid}}% + \egroup + } +\newcommand\iftikzmark[3]{% + \@ifundefined{save@pt@#1}{% + #3% + }{% + #2% + }% + }% +\newcommand\subnode[3][]{% + \begingroup + \pgfmark{#2}% + \setbox\pgfnodeparttextbox=\hbox\bgroup #3\egroup + \def\tikz@shape{rectangle}% + \def\tikz@anchor{center}% + \def\tikz@fig@name{#2}% + \tikzset{every subnode/.try,#1}% + \pgfpointorigin + \tikz@scan@one@point\pgfutil@firstofone(pic cs:#2)\relax + \advance\pgf@x by .5\wd\pgfnodeparttextbox + \advance\pgf@y by .5\ht\pgfnodeparttextbox + \advance\pgf@y by -.5\dp\pgfnodeparttextbox + \pgftransformshift{}% + \setbox\@tempboxa=\hbox\bgroup + \pgfutil@ifundefined{pgf@sh@s@\tikz@shape}% + {\PackageError{pgf}{Unknown shape ``\tikz@shape''}{}}% + {% + {% + \let\pgf@sh@savedmacros=\pgfutil@empty% MW + \let\pgf@sh@savedpoints=\pgfutil@empty% + \def\pgf@sm@shape@name{\tikz@shape}% CJ % TT added prefix! + \csname pgf@sh@s@\tikz@shape\endcsname% + \pgf@sh@savedpoints% + \pgf@sh@savedmacros% MW + \pgftransformshift{% + \pgf@sh@reanchor{\tikz@shape}{\tikz@anchor}% + \pgf@x=-\pgf@x% + \pgf@y=-\pgf@y% + }% + \expandafter\pgfsavepgf@process\csname pgf@sh@sa@\tikz@fig@name\endcsname{% + \pgf@sh@reanchor{\tikz@shape}{\tikz@anchor}% FIXME : this is double work! + }% + % Save the saved points and the transformation matrix + \edef\pgf@node@name{\tikz@fig@name}% + \ifx\pgf@node@name\pgfutil@empty% + \else% + \expandafter\xdef\csname pgf@sh@ns@\pgf@node@name\endcsname{\tikz@shape}% + \edef\pgf@sh@@temp{\noexpand\gdef\expandafter\noexpand\csname pgf@sh@np@\pgf@node@name\endcsname}% + \expandafter\pgf@sh@@temp\expandafter{\pgf@sh@savedpoints}% + \edef\pgf@sh@@temp{\noexpand\gdef\expandafter\noexpand\csname pgf@sh@ma@\pgf@node@name\endcsname}% MW + \expandafter\pgf@sh@@temp\expandafter{\pgf@sh@savedmacros}% MW + \pgfgettransform\pgf@temp + \expandafter\xdef\csname pgf@sh@nt@\pgf@node@name\endcsname{\pgf@temp}% + \expandafter\xdef\csname pgf@sh@pi@\pgf@node@name\endcsname{\pgfpictureid}% + \fi% + }% + }% + \egroup + \box\pgfnodeparttextbox + \endgroup +} +\def\usetikzmarklibrary{\pgfutil@ifnextchar[{\use@tikzmarklibrary}{\use@@tikzmarklibrary}}%} +\def\use@tikzmarklibrary[#1]{\use@@tikzmarklibrary{#1}} +\def\use@@tikzmarklibrary#1{% + \edef\pgf@list{#1}% + \pgfutil@for\pgf@temp:=\pgf@list\do{% + \expandafter\pgfkeys@spdef\expandafter\pgf@temp\expandafter{\pgf@temp}% + \ifx\pgf@temp\pgfutil@empty + \else + \expandafter\ifx\csname tikzmark@library@\pgf@temp @loaded\endcsname\relax% + \expandafter\global\expandafter\let\csname tikzmark@library@\pgf@temp @loaded\endcsname=\pgfutil@empty% + \expandafter\edef\csname tikzmark@library@#1@atcode\endcsname{\the\catcode`\@} + \expandafter\edef\csname tikzmark@library@#1@barcode\endcsname{\the\catcode`\|} + \catcode`\@=11 + \catcode`\|=12 + \pgfutil@InputIfFileExists{tikzmarklibrary\pgf@temp.code.tex}{}{ + \PackageError{tikzmark}{I did not find the tikzmark extras library '\pgf@temp'.}{} + }% + \catcode`\@=\csname tikzmark@library@#1@atcode\endcsname + \catcode`\|=\csname tikzmark@library@#1@barcode\endcsname + \fi% + \fi + }% +} + +%% +%% Copyright (C) 2011 by Andrew Stacey <stacey@math.ntnu.no> +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License (LPPL), either +%% version 1.3c of this license or (at your option) any later +%% version. The latest version of this license is in the file: +%% +%% http://www.latex-project.org/lppl.txt +%% +%% This work is "maintained" (as per LPPL maintenance status) by +%% Andrew Stacey. +%% +%% This work consists of the file tikzmark.dtx +%% and the derived files tikzmark.ins, +%% tikzmark.pdf, +%% tikzlibrarytikzmark.code.tex, and +%% tikzmarklibrarylistings.code.tex +%% tikzmarklibraryhighlight.code.tex +%% +%% +%% End of file `tikzlibrarytikzmark.code.tex'. |