diff options
author | Karl Berry <karl@freefriends.org> | 2016-04-27 22:56:01 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-04-27 22:56:01 +0000 |
commit | 10b12106d8ae2296611d43f2dfd622f86da2e615 (patch) | |
tree | 222a4864ce0ffb796457da4b95f4543266f568af /Master/texmf-dist/tex/latex/tcolorbox/tcbvignette.code.tex | |
parent | 48b3038496bf03bf75673179dae38809fb3d8caf (diff) |
tcolorbox (27apr16)
git-svn-id: svn://tug.org/texlive/trunk@40792 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/tcolorbox/tcbvignette.code.tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/tcolorbox/tcbvignette.code.tex | 313 |
1 files changed, 313 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbvignette.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbvignette.code.tex new file mode 100644 index 00000000000..18b92028d32 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbvignette.code.tex @@ -0,0 +1,313 @@ +%% The LaTeX package tcolorbox - version 3.91 (2016/04/27) +%% tcbvignette.code.tex: Code for ornamental frames +%% +%% ------------------------------------------------------------------------------------------- +%% Copyright (c) 2006-2016 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de> +%% ------------------------------------------------------------------------------------------- +%% +%% 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 `author-maintained'. +%% +%% This work consists of all files listed in README +%% +\tcb@set@library@version{3.91} + +\tcbuselibrary{skins} + +\usetikzlibrary{fadings} + +\pgfdeclarehorizontalshading{tcb@fade@east}{100bp} +{color(0bp)=(pgftransparent!50); color(25bp)=(pgftransparent!50); + color(75bp)=(pgftransparent!100); color(100bp)=(pgftransparent!100)} + +\pgfdeclarehorizontalshading{tcb@fade@west}{100bp} +{color(0bp)=(pgftransparent!100); color(25bp)=(pgftransparent!100); + color(75bp)=(pgftransparent!50); color(100bp)=(pgftransparent!50)} + +\pgfdeclareverticalshading{tcb@fade@north}{100bp} +{color(0bp)=(pgftransparent!50); color(25bp)=(pgftransparent!50); + color(75bp)=(pgftransparent!100); color(100bp)=(pgftransparent!100)} + +\pgfdeclareverticalshading{tcb@fade@south}{100bp} +{color(0bp)=(pgftransparent!100); color(25bp)=(pgftransparent!100); + color(75bp)=(pgftransparent!50); color(100bp)=(pgftransparent!50)} + +\pgfdeclarefading{semi east}{\pgfuseshading{tcb@fade@east}} +\pgfdeclarefading{semi west}{\pgfuseshading{tcb@fade@west}} +\pgfdeclarefading{semi north}{\pgfuseshading{tcb@fade@north}} +\pgfdeclarefading{semi south}{\pgfuseshading{tcb@fade@south}} + +\def\tcb@vig@draw@north#1{\path[#1]\pgfextra{% + \pgfpathmoveto{\pgfqpoint{\tcb@vig@xA}{\tcb@vig@yB}}% + \pgfpathlineto{\pgfqpoint{\tcb@vig@xB}{\tcb@vig@yB}}% + \pgfpathlineto{\pgfqpoint{\tcb@vig@xb}{\tcb@vig@yb}}% + \pgfpathlineto{\pgfqpoint{\tcb@vig@xa}{\tcb@vig@yb}}% + \pgfpathclose};} + +\def\tcb@vig@draw@east#1{\path[#1]\pgfextra{% + \pgfpathmoveto{\pgfqpoint{\tcb@vig@xB}{\tcb@vig@yB}}% + \pgfpathlineto{\pgfqpoint{\tcb@vig@xB}{\tcb@vig@yA}}% + \pgfpathlineto{\pgfqpoint{\tcb@vig@xb}{\tcb@vig@ya}}% + \pgfpathlineto{\pgfqpoint{\tcb@vig@xb}{\tcb@vig@yb}}% + \pgfpathclose};} + +\def\tcb@vig@draw@south#1{\path[#1]\pgfextra{% + \pgfpathmoveto{\pgfqpoint{\tcb@vig@xB}{\tcb@vig@yA}}% + \pgfpathlineto{\pgfqpoint{\tcb@vig@xA}{\tcb@vig@yA}}% + \pgfpathlineto{\pgfqpoint{\tcb@vig@xa}{\tcb@vig@ya}}% + \pgfpathlineto{\pgfqpoint{\tcb@vig@xb}{\tcb@vig@ya}}% + \pgfpathclose};} + +\def\tcb@vig@draw@west#1{\path[#1]\pgfextra{% + \pgfpathmoveto{\pgfqpoint{\tcb@vig@xA}{\tcb@vig@yA}}% + \pgfpathlineto{\pgfqpoint{\tcb@vig@xA}{\tcb@vig@yB}}% + \pgfpathlineto{\pgfqpoint{\tcb@vig@xa}{\tcb@vig@yb}}% + \pgfpathlineto{\pgfqpoint{\tcb@vig@xa}{\tcb@vig@ya}}% + \pgfpathclose};} + +\def\tcb@vig@draw@direct{% + \ifdim\tcb@vig@yB>\tcb@vig@yb\relax% + \begingroup\edef\x{\endgroup\noexpand\tcb@vig@draw@north{fill,draw=none,\expandonce\tcb@vig@style@north}}\x% + \fi% + \ifdim\tcb@vig@xB>\tcb@vig@xb\relax% + \begingroup\edef\x{\endgroup\noexpand\tcb@vig@draw@east{fill,draw=none,\expandonce\tcb@vig@style@east}}\x% + \fi% + \ifdim\tcb@vig@yA<\tcb@vig@ya\relax% + \begingroup\edef\x{\endgroup\noexpand\tcb@vig@draw@south{fill,draw=none,\expandonce\tcb@vig@style@south}}\x% + \fi% + \ifdim\tcb@vig@xA<\tcb@vig@xa\relax% + \begingroup\edef\x{\endgroup\noexpand\tcb@vig@draw@west{fill,draw=none,\expandonce\tcb@vig@style@west}}\x% + \fi% +} + +\def\tcb@vig@draw@clipped{% + \ifdim\tcb@vig@yB>\tcb@vig@yb\relax% + \begin{scope} + \tcb@vig@draw@north{clip}% + \begingroup\edef\x{\endgroup\noexpand\path[fill,\expandonce\tcb@vig@style@north]}% + \x\pgfextra{\pgfpathrectanglecorners{\pgfpoint{\tcb@vig@xA-1mm}{\tcb@vig@yb}}% + {\pgfpoint{\tcb@vig@xB+1mm}{\tcb@vig@yB}}}; + \end{scope} + \fi% + \ifdim\tcb@vig@xB>\tcb@vig@xb\relax% + \begin{scope} + \tcb@vig@draw@east{clip}% + \begingroup\edef\x{\endgroup\noexpand\path[fill,\expandonce\tcb@vig@style@east]}% + \x\pgfextra{\pgfpathrectanglecorners{\pgfpoint{\tcb@vig@xb}{\tcb@vig@yA-1mm}}% + {\pgfpoint{\tcb@vig@xB}{\tcb@vig@yB+1mm}}}; + \end{scope} + \fi% + \ifdim\tcb@vig@yA<\tcb@vig@ya\relax% + \begin{scope} + \tcb@vig@draw@south{clip}% + \begingroup\edef\x{\endgroup\noexpand\path[fill,\expandonce\tcb@vig@style@south]}% + \x\pgfextra{\pgfpathrectanglecorners{\pgfpoint{\tcb@vig@xA-1mm}{\tcb@vig@yA}}% + {\pgfpoint{\tcb@vig@xB+1mm}{\tcb@vig@ya}}}; + \end{scope} + \fi% + \ifdim\tcb@vig@xA<\tcb@vig@xa\relax% + \begin{scope} + \tcb@vig@draw@west{clip}% + \begingroup\edef\x{\endgroup\noexpand\path[fill,\expandonce\tcb@vig@style@west]}% + \x\pgfextra{% + \pgfpathrectanglecorners{\pgfpoint{\tcb@vig@xA}{\tcb@vig@yA-1mm}}% + {\pgfpoint{\tcb@vig@xa}{\tcb@vig@yB+1mm}}}; + \end{scope} + \fi% +} + +\newcommand{\tcbvignette}[1]{% + \ifdefined\pgfpictureid% + \tcbset{vig/.cd,#1}% + \tcbdimto\tcb@vig@xA{\tcb@vig@xmin}% + \tcbdimto\tcb@vig@xB{\tcb@vig@xmax}% + \tcbdimto\tcb@vig@yA{\tcb@vig@ymin}% + \tcbdimto\tcb@vig@yB{\tcb@vig@ymax}% + \tcbdimto\tcb@vig@xa{\tcb@vig@xA+\tcb@vig@size@west}% + \tcbdimto\tcb@vig@xb{\tcb@vig@xB-(\tcb@vig@size@east)}% + \tcbdimto\tcb@vig@ya{\tcb@vig@yA+\tcb@vig@size@south}% + \tcbdimto\tcb@vig@yb{\tcb@vig@yB-(\tcb@vig@size@north)}% + \tcb@vig@draw% + \else% + \tcb@warning{'tcbvignette' was found outside a 'tikzpicture' environment and is ignored}% + \fi% +} + +\tcbset{% + vig/.cd, + xmin/.store in=\tcb@vig@xmin, + xmax/.store in=\tcb@vig@xmax, + ymin/.store in=\tcb@vig@ymin, + ymax/.store in=\tcb@vig@ymax, + lower left corner/.code={\tcb@gettikzxy{(#1)}{\tcb@vig@xmin}{\tcb@vig@ymin}}, + upper right corner/.code={\tcb@gettikzxy{(#1)}{\tcb@vig@xmax}{\tcb@vig@ymax}}, + % + inside node/.style={lower left corner={#1.south west},upper right corner={#1.north east}}, + outside node/.style={lower left corner={[xshift=-\tcb@vig@size@west,yshift=-\tcb@vig@size@south]#1.south west}, + upper right corner={[xshift=\tcb@vig@size@east,yshift=\tcb@vig@size@north]#1.north east}}, + % + on node/.style={lower left corner={#1.south west},upper right corner={#1.north east}}, + over node offset/.store in=\tcb@vig@onoffset,% + over node/.style={lower left corner={[xshift=-\tcb@vig@onoffset,yshift=-\tcb@vig@onoffset]#1.south west}, + upper right corner={[xshift=\tcb@vig@onoffset,yshift=\tcb@vig@onoffset]#1.north east}}, + north size/.store in=\tcb@vig@size@north, + south size/.store in=\tcb@vig@size@south, + east size/.store in=\tcb@vig@size@east, + west size/.store in=\tcb@vig@size@west, + vertical size/.style={north size=#1,south size=#1}, + horizontal size/.style={east size=#1,west size=#1}, + size/.style={north size=#1,south size=#1,east size=#1,west size=#1}, + north style/.store in=\tcb@vig@style@north, + south style/.store in=\tcb@vig@style@south, + east style/.store in=\tcb@vig@style@east, + west style/.store in=\tcb@vig@style@west, + draw method/.is choice, + draw method/direct/.code={\let\tcb@vig@draw\tcb@vig@draw@direct},% + draw method/clipped/.code={\let\tcb@vig@draw\tcb@vig@draw@clipped},% + base color/.colorlet=tcbcol@vig@base, + raised color/.style={% + base color=#1, + north style={tcbcol@vig@base!50!white}, + east style={tcbcol@vig@base!75!black}, + south style={tcbcol@vig@base!50!black}, + west style={tcbcol@vig@base!75!white}, + }, + lowered color/.style={% + base color=#1, + north style={tcbcol@vig@base!50!black}, + east style={tcbcol@vig@base!75!white}, + south style={tcbcol@vig@base!50!white}, + west style={tcbcol@vig@base!75!black}, + }, + color from/.style args={#1 to #2}{% + north style={bottom color=#1,top color=#2}, + east style={left color=#1,right color=#2}, + south style={top color=#1,bottom color=#2}, + west style={right color=#1,left color=#2}, + }, + fade in/.style={% + north style={#1,path fading=south}, + east style={#1,path fading=west}, + south style={#1,path fading=north}, + west style={#1,path fading=east}, + }, + fade in/.default=white, + fade out/.style={% + north style={#1,path fading=north}, + east style={#1,path fading=east}, + south style={#1,path fading=south}, + west style={#1,path fading=west}, + }, + fade out/.default=white, + semi fade in/.style={% + north style={#1,path fading=semi south}, + east style={#1,path fading=semi west}, + south style={#1,path fading=semi north}, + west style={#1,path fading=semi east}, + }, + semi fade in/.default=white, + semi fade out/.style={% + north style={#1,path fading=semi north}, + east style={#1,path fading=semi east}, + south style={#1,path fading=semi south}, + west style={#1,path fading=semi west}, + }, + semi fade out/.default=white, + % + draw method=direct, + xmin=0pt, + xmax=1cm, + ymin=0pt, + ymax=1cm, + size=2mm, + over node offset=0.1mm, + raised color=red, +} + +\tcbset{% + finish@vignette/.style 2 args={finish #1={% + \begin{tcbclipframe}\tcbvignette{% + north style={white,opacity=0.25}, + east style={black!75,opacity=0.25}, + south style={black,opacity=0.25}, + west style={black!25,opacity=0.25},#2,inside node=frame + }\end{tcbclipframe}}}, + finish vignette/.style={% + finish@vignette={unbroken}{#1},% + finish@vignette={first}{#1,south size=0pt},% + finish@vignette={middle}{#1,north size=0pt,south size=0pt},% + finish@vignette={last}{#1,north size=0pt}% + }, +% + finish@raised@vignette/.style 2 args={finish #1={% + \begin{tcbclipframe}\tcbvignette{% + draw method=clipped, + north style={white,path fading=semi south}, + east style={black!75,path fading=semi west}, + south style={black,path fading=semi north}, + west style={black!25,path fading=semi east},#2,inside node=frame + }\end{tcbclipframe}}}, + finish raised fading vignette/.style={% + finish@raised@vignette={unbroken}{#1},% + finish@raised@vignette={first}{#1,south size=0pt},% + finish@raised@vignette={middle}{#1,north size=0pt,south size=0pt},% + finish@raised@vignette={last}{#1,north size=0pt}% + }, +% + finish@fading@vignette/.style 2 args={finish #1={% + \tcbvignette{% + draw method=clipped,fade in=tcbcol@vig@base,#2,over node=frame}}}, + finish fading vignette/.style={% + finish@fading@vignette={unbroken}{base color=white,#1},% + finish@fading@vignette={first}{base color=white,#1,south size=0pt},% + finish@fading@vignette={middle}{base color=white,#1,north size=0pt,south size=0pt},% + finish@fading@vignette={last}{base color=white,#1,north size=0pt}% + }, +% + underlay@vignette/.style 2 args={underlay #1={% + \begin{tcbclipframe}\tcbvignette{% + raised color=tcbcol@frame, + north size=\kvtcb@top@rule@stand, + south size=\kvtcb@bottom@rule@stand, + west size=\kvtcb@left@rule, + east size=\kvtcb@right@rule,#2,inside node=frame + }\end{tcbclipframe}}}, + underlay vignette/.style={% + underlay@vignette={unbroken}{#1},% + underlay@vignette={first}{#1,south size=0pt},% + underlay@vignette={middle}{#1,north size=0pt,south size=0pt},% + underlay@vignette={last}{#1,north size=0pt}% + }, +% + underlay@fading@vignette/.style 2 args={underlay #1={% + \begin{tcbclipframe}\tcbvignette{% + draw method=clipped, + north style={white,path fading=semi south}, + east style={black!75,path fading=semi west}, + south style={black,path fading=semi north}, + west style={black!25,path fading=semi east},#2,inside node=frame, + }\end{tcbclipframe}}}, + underlay raised fading vignette/.style={% + underlay@fading@vignette={unbroken}{#1},% + underlay@fading@vignette={first}{#1,south size=0pt},% + underlay@fading@vignette={middle}{#1,north size=0pt,south size=0pt},% + underlay@fading@vignette={last}{#1,north size=0pt}% + }, + % + underlay raised shading vignette/.style={% + underlay vignette={draw method=clipped, + north style={bottom color=tcbcol@frame,top color=tcbcol@frame!33!white}, + east style={left color=tcbcol@frame,right color=tcbcol@frame!66!black}, + south style={top color=tcbcol@frame,bottom color=tcbcol@frame!33!black}, + west style={right color=tcbcol@frame,left color=tcbcol@frame!66!white},#1}}, + % + underlay shade in vignette/.style={% + underlay vignette={draw method=clipped,color from=tcbcol@back to tcbcol@frame,#1}}, +} |