diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/pgfornament-han/pgfornament-han.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/pgfornament-han/pgfornament-han.sty | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/pgfornament-han/pgfornament-han.sty b/Master/texmf-dist/tex/latex/pgfornament-han/pgfornament-han.sty new file mode 100644 index 00000000000..f1171aa7e96 --- /dev/null +++ b/Master/texmf-dist/tex/latex/pgfornament-han/pgfornament-han.sty @@ -0,0 +1,71 @@ +% pgfornamenthan.sty v0.2 2018/02/11 +% Authors: pgf and LaTeX code by LIM LianTze +% based on CAD drawing by ZHANG Chennan + +\ProvidesPackage{pgfornamenthan} +\RequirePackage{xpatch} +\RequirePackage{pgfornament} + +\def\pgfornamenthan{\pgfutil@ifnextchar[{\pgf@ornamenthan}{\pgf@ornamenthan[]}}% +\let\pgf@ornamenthan\pgf@ornament +\xpatchcmd{\pgf@ornamenthan}{\@pgfornamentDim}{\@pgfornamenthanDim}{}{} +\xpatchcmd{\pgf@ornamenthan}{\@pgfornamentDim}{\@pgfornamenthanDim}{}{} +\xpatchcmd{\pgf@ornamenthan}{\pgf@@ornament}{\pgf@@ornamenthan}{}{} + +\def\pgfOrnamentsHanObject{pgflibraryhan.code.tex} +\input{\pgfOrnamentsHanObject}% + +\let\pgf@@ornamenthan\pgf@@ornament +% \patchcmd{\pgf@@ornamenthan}{\OrnamentsFamily}{han}{}{} +\pretocmd{\pgf@@ornamenthan}{% + \def\OrnamentsFamily{han} +}{}{} + +\patchcmd{\pgf@@ornamenthan} + {\OrnamentsFamily#1.pgf} + {\OrnamentsFamily/\OrnamentsFamily#1.pgf}{}{} + +\tikzset{ + ornamenthan/.style={% + to path={% + \pgfextra{% + \tikz@scan@one@point\pgfutil@firstofone(\tikztostart)\relax + \pgf@xa=\pgf@x + \pgf@ya=\pgf@y + \tikz@scan@one@point\pgfutil@firstofone(\tikztotarget)\relax + \pgf@xb=\pgf@x + \pgf@yb=\pgf@y + \advance\pgf@xa by-\pgf@xb + \advance\pgf@ya by-\pgf@yb + \pgfmathveclen{\pgf@xa}{\pgf@ya}% + \global\let\ornamentlen\pgfmathresult} + -- node [pos=\ornamenttopos,options, + anchor=\ornamenttoanchor]{% + \pgfornamenthan[width = \ornamentlen, + symmetry=\ornamenttosymmetry]{#1}} + (\tikztotarget)\tikztonodes %end pgfextra + }% end to path + }% end style +} + +\patchcmd{\pgf@@ornamenthan} + {\begingroup} + {\begingroup\def\ubb{\pgfusepath{use as bounding box}}} + {}{} + +% \def\pgf@@ornamenthan#1{% +% \begingroup +% \def\i{\pgfusepath{clip}}% +% \def\k{\pgfusepath{stroke}}% +% \let\o\pgfpathclose +% \let\s\pgfusepathqfillstroke +% \def\p ##1##2{\pgfqpoint{##1bp}{##2bp}}% +% \def\m ##1 ##2 {\pgfpathmoveto{\p{##1}{##2}}}% +% \def\l ##1 ##2 {\pgfpathlineto{\p{##1}{##2}}}% +% \def\r ##1 ##2 ##3 ##4 {\pgfpathrectangle{\p{##1}{##2}}{\p{##3}{##4}}}% +% \def\c ##1 ##2 ##3 ##4 ##5 ##6 {% +% \pgfpathcurveto{\p{##1}{##2}}{\p{##3}{##4}}{\p{##5}{##6}}}% +% \@@input han#1.pgf +% %\@nameuse{pgf@@am@#1}% +% \endgroup}% +\endinput |