diff options
author | Norbert Preining <norbert@preining.info> | 2020-04-07 03:02:57 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2020-04-07 03:02:57 +0000 |
commit | 1d7a1c697696d66a97b64894f8553a61717928d9 (patch) | |
tree | b50205ab031614b7d3393e85e42f35a207014219 /macros/latex/contrib/tkz/pgfornament/latex/tikzrput.sty | |
parent | 937315c7f95870724a86e99576effd7945092dae (diff) |
CTAN sync 202004070302
Diffstat (limited to 'macros/latex/contrib/tkz/pgfornament/latex/tikzrput.sty')
-rw-r--r-- | macros/latex/contrib/tkz/pgfornament/latex/tikzrput.sty | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/macros/latex/contrib/tkz/pgfornament/latex/tikzrput.sty b/macros/latex/contrib/tkz/pgfornament/latex/tikzrput.sty new file mode 100644 index 0000000000..b3cb0165a2 --- /dev/null +++ b/macros/latex/contrib/tkz/pgfornament/latex/tikzrput.sty @@ -0,0 +1,113 @@ +% pgflibraryam.code.tex (utf8 encoding) +% Copyright 2020 Alain Matthes +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status “maintained”. +% +% The Current Maintainer of this work is Alain Matthes. + +\typeout{2020/04/06 1.1 pgflibraryam.code.tex} +\NeedsTeXFormat{LaTeX2e}% +\RequirePackage{tikz,iftex}% +\ProvidesPackage{tikzrput}[2020/04/04 v1.1 rput for tikz]% +\edef\tikzrputPtVirCode{\the\catcode`\;} +\edef\tikzrputAtCode{\the\catcode`\@} +\edef\tikzrputTwoPtCode{\the\catcode`\:} +\catcode`\;=12\relax +\catcode`\:=12\relax +\catcode`\@=11\relax + +\newif\ifrput@polar\rput@polarfalse +\def\rput@empty{} + +\def\rput@parsecoordinate#1{% +\rput@getseparator#1,\@nil +\ifrput@polar + \rput@getfrompolar#1\@nil +\fi +}% +\def\rput@getseparator#1,#2\@nil{% +\ifx\rput@empty#2\rput@empty% + \rput@polartrue +\else + \rput@polarfalse +\fi +}% +\def\rput@getfrompolar#1;#2\@nil{% + \def\pos@rput{#1:#2}% +}% + +\def\rput@pos@ {\def\rput@anchor{center}} +\def\rput@pos@B {\def\rput@anchor{base}} +\def\rput@pos@Br {\def\rput@anchor{base east}} +\def\rput@pos@Bl {\def\rput@anchor{base west}} +\def\rput@pos@tr {\def\rput@anchor{north east}} +\def\rput@pos@tl {\def\rput@anchor{north west}} +\def\rput@pos@br {\def\rput@anchor{south east}} +\def\rput@pos@bl {\def\rput@anchor{south west}} +\def\rput@pos@t {\def\rput@anchor{north}} +\def\rput@pos@b {\def\rput@anchor{south}} +\def\rput@pos@r {\def\rput@anchor{east}} +\def\rput@pos@l {\def\rput@anchor{west}} +\let\rput@pos@mc\rput@pos@ +\let\rput@pos@rB\rput@pos@Br +\let\rput@pos@lB\rput@pos@Bl +\let\rput@pos@rt\rput@pos@tr +\let\rput@pos@lt\rput@pos@tl +\let\rput@pos@rb\rput@pos@br +\let\rput@pos@lb\rput@pos@bl +\newbox\mybox +\ifpdf% Pablo 04/2020 +\pgfutil@ifundefined{rput}{% + \tikzset{rput style/.style={}} + \def\rput{\pgfutil@ifnextchar[{\rput@i}{% + \global\edef\opt@rput{}\rput@ii}}% + \def\rput@i[#1]{\global\edef\opt@rput{#1}\rput@ii}% + \def\rput@ii{\pgfutil@ifnextchar({% + \def\angle@rput{0}\rput@iv}{\rput@iii}}% + \def\rput@iii#1{% + \ifx\rput@empty#1\rput@empty\def\angle@rput{0}\else% + \def\angle@rput{#1}\fi% + \pgfutil@ifnextchar({\rput@iv}{\rput@iv(0,0)}}%, + \def\rput@iv(#1){\def\pos@rput{#1}% + \rput@parsecoordinate{#1}% + \rput@v}% + \def\rput@v#1{% + \sbox\mybox{% + \pgfinterruptpicture#1\endpgfinterruptpicture}% + \begingroup + \tikzifinpicture{% + \let\begin@my@tikz@env\scope + \let\end@my@tikz@env\endscope + }{% + \let\begin@my@tikz@env\tikzpicture + \let\end@my@tikz@env\endtikzpicture + }% + \@nameuse{rput@pos@\opt@rput}% + \begin{pgfinterruptboundingbox}% + \begin@my@tikz@env[overlay] + \path (0,0)--(\pos@rput); + \protected@edef\rput@temp{% + \noexpand\node[inner sep = 0pt, + anchor = \rput@anchor, + rotate = \angle@rput, + rput style]}% + \rput@temp at (\pos@rput){\box\mybox}; + \end@my@tikz@env + \end{pgfinterruptboundingbox}% + \endgroup + \ignorespaces + }% + }{% + }% +\fi +\catcode`\;=\tikzrputPtVirCode\relax +\catcode`\@=\tikzrputAtCode\relax +\catcode`\:=\tikzrputTwoPtCode\relax +\endinput |