aboutsummaryrefslogtreecommitdiff
path: root/latex_pgfornament/texmf/tex/latex/pgfornament/tikzrput.sty
diff options
context:
space:
mode:
Diffstat (limited to 'latex_pgfornament/texmf/tex/latex/pgfornament/tikzrput.sty')
-rw-r--r--latex_pgfornament/texmf/tex/latex/pgfornament/tikzrput.sty108
1 files changed, 108 insertions, 0 deletions
diff --git a/latex_pgfornament/texmf/tex/latex/pgfornament/tikzrput.sty b/latex_pgfornament/texmf/tex/latex/pgfornament/tikzrput.sty
new file mode 100644
index 0000000..c2f7c8f
--- /dev/null
+++ b/latex_pgfornament/texmf/tex/latex/pgfornament/tikzrput.sty
@@ -0,0 +1,108 @@
+% utf8
+% tikzrput.sty 0.2 du 05/03/2012 inspired from rput (pstricks)
+% ------------------------------------------------
+% Créé par Alain Matthes le 2012-02-22.
+% Copyright (c) 2012 __AlterMundus__.
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License , either version 1.3
+% of this license or (at your option) any later version and/or
+% 2. under the GNU Public License.
+% ------------------------------------------------
+% Options are the same of /rput in pstricks
+%
+\NeedsTeXFormat{LaTeX2e}%
+\RequirePackage{tikz,ifpdf}%
+\ProvidesPackage{tikzrput}[2012/03/02 v0.2 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@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
+\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};%{#1};%
+ \end@my@tikz@env
+ \end{pgfinterruptboundingbox}%
+ \endgroup
+ \ignorespaces
+ }%
+ }{%
+ }%
+\fi
+\catcode`\;=\tikzrputPtVirCode\relax
+\catcode`\@=\tikzrputAtCode\relax
+\catcode`\:=\tikzrputTwoPtCode\relax
+\endinput