From cbc5d15025eacd6c76506330508257731ed94b35 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 4 Apr 2013 22:47:58 +0000 Subject: smartdiagram *.code.tex in runtime git-svn-id: svn://tug.org/texlive/trunk@29642 c570f23f-e606-0410-a88d-b1316a301751 --- .../smartdiagramlibraryadditions.code.tex | 161 +++++++ .../smartdiagramlibrarycore.commands.code.tex | 511 +++++++++++++++++++++ .../smartdiagramlibrarycore.definitions.code.tex | 319 +++++++++++++ .../smartdiagramlibrarycore.styles.code.tex | 183 ++++++++ 4 files changed, 1174 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/smartdiagram/smartdiagramlibraryadditions.code.tex create mode 100644 Master/texmf-dist/tex/latex/smartdiagram/smartdiagramlibrarycore.commands.code.tex create mode 100644 Master/texmf-dist/tex/latex/smartdiagram/smartdiagramlibrarycore.definitions.code.tex create mode 100644 Master/texmf-dist/tex/latex/smartdiagram/smartdiagramlibrarycore.styles.code.tex (limited to 'Master/texmf-dist/tex/latex/smartdiagram') diff --git a/Master/texmf-dist/tex/latex/smartdiagram/smartdiagramlibraryadditions.code.tex b/Master/texmf-dist/tex/latex/smartdiagram/smartdiagramlibraryadditions.code.tex new file mode 100644 index 00000000000..7be7ddca814 --- /dev/null +++ b/Master/texmf-dist/tex/latex/smartdiagram/smartdiagramlibraryadditions.code.tex @@ -0,0 +1,161 @@ +%% +%% This is file `smartdiagramlibraryadditions.code.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% smartdiagram.dtx (with options: `additions') +%% * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +%% smartdiagram --- Automatic creation of smart diagrams from lists of items. +%% +%% E-mail: claudio fiandrino gmail com +%% +%% Released under the LaTeX Project Public License v1.3c or later +%% See http://www.latex-project.org/lppl.txt +%% * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +%% + +\usetikzlibrary{positioning} +\pgfkeys{/smart diagram/additions/.cd, + additional item shape/.initial=\pgfkeysvalueof{/smart diagram/module shape}, + additional item shape/.get=\sm@additions@additionalitemshape, + additional item shape/.store in=\sm@additions@additionalitemshape, + additional item border color/.initial=none, + additional item border color/.get=\sm@additions@additionalitembordercolor, + additional item border color/.store in=\sm@additions@additionalitembordercolor, + additional item bottom color/.initial=white, + additional item bottom color/.get=\sm@additions@additionalitembottomcolor, + additional item bottom color/.store in=\sm@additions@additionalitembottomcolor, + additional item fill color/.initial=none, + additional item fill color/.get=\sm@additions@additionalitemfillcolor, + additional item fill color/.store in=\sm@additions@additionalitemfillcolor, + additional item text width/.initial=1.75cm, + additional item text width/.get=\sm@additions@additionalitemtextwidth, + additional item text width/.store in=\sm@additions@additionalitemtextwidth, + additional item width/.initial=2cm, + additional item width/.get=\sm@additions@additionalitemwidth, + additional item width/.store in=\sm@additions@additionalitemwidth, + additional item height/.initial=1cm, + additional item height/.get=\sm@additions@additionalitemheight, + additional item height/.store in=\sm@additions@additionalitemheight, + additional item font/.initial=\normalfont, + additional item font/.get=\sm@additions@additionalitemfont, + additional item font/.store in=\sm@additions@additionalitemfont, + additional item border decoration/.initial={}, + additional item border decoration/.get=\sm@additions@additionalitemdecoration, + additional item border decoration/.store in=\sm@additions@additionalitemdecoration, + additional item offset/.initial={0.25cm}, + additional item offset/.get=\sm@additions@additionalitemoffset, + additional item offset/.store in=\sm@additions@additionalitemoffset, + additional item fill opacity/.initial={1}, + additional item fill opacity/.get=\sm@additions@additionalitemfillopacity, + additional item fill opacity/.store in=\sm@additions@additionalitemfillopacity, + additional item text opacity/.initial={1}, + additional item text opacity/.get=\sm@additions@additionalitemtextopacity, + additional item text opacity/.store in=\sm@additions@additionalitemtextopacity, + additional arrow tip/.initial={stealth}, + additional arrow tip/.get=\sm@additions@additionalarrowtip, + additional arrow tip/.store in=\sm@additions@additionalarrowtip, + additional arrow line width/.initial={0.1cm}, + additional arrow line width/.get=\sm@additions@additionalarrowlinewidth, + additional arrow line width/.store in=\sm@additions@additionalarrowlinewidth, + additional arrow color/.initial={gray}, + additional arrow color/.get=\sm@additions@additionalarrowcolor, + additional arrow color/.store in=\sm@additions@additionalarrowcolor, + additional arrow style/.initial={->}, + additional arrow style/.get=\sm@additions@additionalarrowstyle, + additional arrow style/.store in=\sm@additions@additionalarrowstyle, + additional item shadow/.initial={}, + additional item shadow/.get=\sm@additions@additionalitemshadow, + additional item shadow/.store in=\sm@additions@additionalitemshadow, +} + +\newif\ifconnectionsdisabled +\pgfkeys{/smart diagram/additions/.cd, + additional connections disabled/.is if=connectionsdisabled, + additional connections disabled=true, +} + +\pgfkeys{/smart diagram/.cd, + additions/.style={/smart diagram/additions/.cd,#1}% +} +\tikzset{additional item/.style={ + align=center, + \sm@additions@additionalitemshape, + thick, + draw=\sm@additions@additionalitembordercolor, + top color=white, + bottom color=\sm@additions@additionalitembottomcolor, + postaction={fill=\sm@additions@additionalitemfillcolor}, + text width=\sm@additions@additionalitemtextwidth, + minimum width=\sm@additions@additionalitemwidth, + minimum height=\sm@additions@additionalitemheight, + font=\sm@additions@additionalitemfont, + fill opacity=\sm@additions@additionalitemfillopacity, + text opacity=\sm@additions@additionalitemtextopacity, + \sm@additions@additionalitemshadow, + \sm@additions@additionalitemdecoration + }, + additional item arrow type/.style={ + \sm@additions@additionalarrowstyle, + >=\sm@additions@additionalarrowtip, + line width=\sm@additions@additionalarrowlinewidth, + \sm@additions@additionalarrowcolor + }, +} +\NewDocumentCommand{\smartdiagramadd}{r[] m m}{ +\tikzstyle{every picture}+=[remember picture] +\smartdiagram[#1]{#2} +\begin{tikzpicture}[remember picture,overlay, + every node/.style={align=center,let hypenation}] +\foreach \smitem [count=\xi] in {#2} {\global\let\numitems\xi} +\foreach \smitem[count=\xi] in {#3}{ +\StrCut{\smitem}{/}\pos\textitem +\StrCut{\pos}{\space of\space}\point\modulenum + \node[additional item, + \point=\sm@additions@additionalitemoffset of \modulenum] + (additional-module\xi) {\textitem}; + \ifconnectionsdisabled + \relax + \else + \begin{pgfonlayer}{smart diagram arrow back} + \draw[additional item arrow type] + (additional-module\xi) -- (\modulenum); + \end{pgfonlayer} + \fi +} +\end{tikzpicture} +} +\NewDocumentCommand{\smartdiagramconnect}{m m}{% + \begin{tikzpicture}[remember picture,overlay] + \foreach \start/\end in {#2} + \draw[additional item arrow type,#1] + (\start) -- (\end); + \end{tikzpicture} +} + +%% +%% Copyright (C) 2012-2013 by Claudio Fiandrino +%% E-mail: fiandrino gmail com> +%% +%% 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 +%% Claudio Fiandrino. +%% +%% This work consists of the file smartdiagram.dtx +%% and the derived files smartdiagram.ins, +%% smartdiagram.pdf, +%% smartdiagramlibrarycore.definitions.code.tex, +%% smartdiagramlibrarycore.styles.code.tex, +%% smartdiagramlibrarycore.commands.code.tex +%% smartdiagramlibraryadditions.code.tex and +%% smartdiagram.sty. +%% +%% +%% End of file `smartdiagramlibraryadditions.code.tex'. diff --git a/Master/texmf-dist/tex/latex/smartdiagram/smartdiagramlibrarycore.commands.code.tex b/Master/texmf-dist/tex/latex/smartdiagram/smartdiagramlibrarycore.commands.code.tex new file mode 100644 index 00000000000..5069921936a --- /dev/null +++ b/Master/texmf-dist/tex/latex/smartdiagram/smartdiagramlibrarycore.commands.code.tex @@ -0,0 +1,511 @@ +%% +%% This is file `smartdiagramlibrarycore.commands.code.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% smartdiagram.dtx (with options: `commands') +%% * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +%% smartdiagram --- Automatic creation of smart diagrams from lists of items. +%% +%% E-mail: claudio fiandrino gmail com +%% +%% Released under the LaTeX Project Public License v1.3c or later +%% See http://www.latex-project.org/lppl.txt +%% * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +%% + +\NewDocumentCommand{\smartdiagram}{r[] m}{% + \StrCut{#1}{:}\diagramtype\option + \IfNoValueTF{#1}{% true-no value 1 + \PackageError{smartdiagram}% + {Type of the diagram not inserted. Please insert it}% + {Example: \protect\smartdiagram[flow diagram]}} + {%false-no value 1 + \IfStrEq{\diagramtype}{}{% + \PackageError{smartdiagram}{Type of the diagram not inserted. Please insert it} + {Example: \protect\smartdiagram[flow diagram]} + }{} + \IfStrEq{\diagramtype}{circular diagram}{% true-circular diagram + \begin{tikzpicture}[every node/.style={align=center,let hypenation}] + + \foreach \smitem [count=\xi] in {#2} {\global\let\maxsmitem\xi} + + \foreach \smitem [count=\xi] in {#2}{% + \IfStrEq{\option}{clockwise}{% true-clockwise-circular diagram + \pgfmathtruncatemacro{\angle}{180+360/\maxsmitem*\xi} + }{% false-clockwise-circular diagram + \pgfmathtruncatemacro{\angle}{360/\maxsmitem*\xi} + } + \edef\col{\@nameuse{color@\xi}} + \IfStrEq{\option}{clockwise}{% true-clockwise-circular diagram + \node[module,drop shadow] (module\xi) + at (-\angle:\sm@core@circulardistance) {\smitem }; + }{% false-clockwise-circular diagram + \node[module,drop shadow] (module\xi) + at (\angle:\sm@core@circulardistance) {\smitem }; + } + }% + \foreach \smitem [count=\xi] in {#2}{% + \ifnum\xi=\maxsmitem + \ifcircularfinalarrowdisabled + \relax + \else + \pgfmathtruncatemacro{\xj}{mod(\xi, \maxsmitem) + 1)} + \edef\col{\@nameuse{color@\xj}} + \IfStrEq{\option}{clockwise}{% true-clockwise-circular diagram + \draw[diagram arrow type,shorten <=0.3cm,shorten >=0.3cm] + (module\xj) to[bend right] (module\xi); + }{% false-clockwise-circular diagram + \draw[diagram arrow type,shorten <=0.3cm,shorten >=0.3cm] + (module\xj) to[bend left] (module\xi); + } + \fi + \else + \pgfmathtruncatemacro{\xj}{mod(\xi, \maxsmitem) + 1)} + \edef\col{\@nameuse{color@\xj}} + \IfStrEq{\option}{clockwise}{% true-clockwise-circular diagram + \draw[diagram arrow type,shorten <=0.3cm,shorten >=0.3cm] + (module\xj) to[bend right] (module\xi); + }{% false-clockwise-circular diagram + \draw[diagram arrow type,shorten <=0.3cm,shorten >=0.3cm] + (module\xj) to[bend left] (module\xi); + } + + \fi + }% + \end{tikzpicture} + }{}% end-circular diagram + \IfStrEq{\diagramtype}{flow diagram}{% true-flow diagram + \begin{tikzpicture}[every node/.style={align=center,let hypenation}] + + \foreach \smitem [count=\xi] in {#2} {\global\let\maxsmitem\xi} + + \foreach \smitem [count=\xi] in {#2}{% + \edef\col{\@nameuse{color@\xi}} + \IfStrEq{\option}{horizontal}{% true-horizontal-flow diagram + \path let \n1 = {int(0-\xi)}, \n2={0+\xi*\sm@core@modulexsep} in + node[module,drop shadow] (module\xi) at +(\n2,0) {\smitem}; + }{% false-horizontal-flow diagram + \path let \n1 = {int(0-\xi)}, \n2={0-\xi*\sm@core@moduleysep} in + node[module,drop shadow] (module\xi) at +(0,\n2) {\smitem}; + } + }% + + \foreach \smitem [count=\xi] in {#2}{% + \pgfmathtruncatemacro{\xj}{mod(\xi, \maxsmitem) + 1)} + \edef\col{\@nameuse{color@\xj}} + \ifnum\xi<\maxsmitem + \begin{pgfonlayer}{smart diagram arrow back} + \draw[diagram arrow type] (module\xj) -- (module\xi); + \end{pgfonlayer} + \fi + % last arrow - not display it in background - check if disabled + \ifbackarrowdisabled + \relax + \else + \ifnum\xi=\maxsmitem + \IfStrEq{\option}{horizontal}{% true-horizontal-flow diagram + \tikzset{square arrow/.style={ + to path={-- ++(0,0.5) -| (\tikztotarget)} + } + } + \draw[diagram arrow type, square arrow] + (module\xj.north) to (module\xi.north); + }{% false-horizontal-flow diagram + \tikzset{square arrow/.style={ + to path={-- ++(0.5,0) |- (\tikztotarget)} + } + } + \draw[diagram arrow type,square arrow] + (module\xj.east) to (module\xi); + } + \fi + \fi + }% + \end{tikzpicture} + }{}% end-flow diagram + \IfStrEq{\diagramtype}{descriptive diagram}{% true-descr. diagram + \begin{tikzpicture}[every node/.style={align=center,let hypenation}] + \foreach \smitem [count=\xi] in {#2}{% + \edef\col{\@nameuse{color@\xi}} + \foreach \subitem [count=\xii] in \smitem{% + \ifnumequal{\xii}{1}{% true + \node[description title,drop shadow] + (module-title\xi) at (0,0-\xi*\sm@core@descriptiveitemsysep) {\subitem}; + }{} + \ifnumequal{\xii}{2}{% true + \node[description,drop shadow](module\xi) + at (0,0-\xi*\sm@core@descriptiveitemsysep) {\subitem}; + }{} + }% + }% + \end{tikzpicture} + }{}% end-descr. diagram + \IfStrEq{\diagramtype}{bubble diagram}{% true-bubble diagram + \begin{tikzpicture}[every node/.style={align=center,let hypenation}] + \foreach \smitem [count=\xi] in {#2}{\global\let\maxsmitem\xi} + \pgfmathtruncatemacro\actualnumitem{\maxsmitem-1} + \foreach \smitem [count=\xi] in {#2}{% + \ifnumequal{\xi}{1}{ %true + \node[bubble center node](center bubble){\smitem}; + }{%false + \pgfmathtruncatemacro{\xj}{\xi-1} + \pgfmathtruncatemacro{\angle}{360/\actualnumitem*\xj} + \edef\col{\@nameuse{color@\xj}} + \node[bubble node] (module\xi) + at (center bubble.\angle) {\smitem }; + }% + }% + \end{tikzpicture} + }{}%end-bubble diagram + \IfStrEq{\diagramtype}{constellation diagram}{% true-const diagram + \begin{tikzpicture}[every node/.style={align=center,let hypenation}] + \foreach \smitem [count=\xi] in {#2}{\global\let\maxsmitem\xi} + \pgfmathtruncatemacro\actualnumitem{\maxsmitem-1} + \foreach \smitem [count=\xi] in {#2}{% + \ifnumequal{\xi}{1}{ %true + \node[planet](planet){\smitem}; + }{%false + \pgfmathtruncatemacro{\xj}{\xi-1} + \pgfmathtruncatemacro{\angle}{360/\actualnumitem*\xj} + \edef\col{\@nameuse{color@\xj}} + \node[satellite] (satellite\xi) + at (\angle:\sm@core@distanceplanetsatellite) {\smitem }; + \draw[connection planet satellite] (planet) -- (satellite\xi); + }% + }% + \end{tikzpicture} + }{}%end-const diagram + \IfStrEq{\diagramtype}{connected constellation diagram}{% true-conn const diagram + \begin{tikzpicture}[every node/.style={align=center,let hypenation}] + \foreach \smitem [count=\xi] in {#2}{\global\let\maxsmitem\xi} + \pgfmathtruncatemacro\actualnumitem{\maxsmitem-1} + \foreach \smitem [count=\xi] in {#2}{% + \ifnumequal{\xi}{1}{ %true + \node[planet](planet){\smitem}; + }{%false + \pgfmathtruncatemacro{\xj}{\xi-1} + \pgfmathtruncatemacro{\angle}{360/\actualnumitem*\xj} + \edef\col{\@nameuse{color@\xj}} + \node[satellite] (satellite\xj) + at (\angle:\sm@core@distanceplanetsatellite) {\smitem }; + }% + }% + \foreach \smitem [count=\xi] in {#2}{% + \ifnumgreater{\xi}{1}{ %true + \pgfmathtruncatemacro{\xj}{\xi-1} + \edef\col{\@nameuse{color@\xj}} + \pgfmathtruncatemacro{\xk}{mod(\xj,\actualnumitem) +1} + \path[connection planet satellite,-] + (satellite\xj) edge[bend right] (satellite\xk); + }{} + }% + \end{tikzpicture} + }{}%end-connected constellation diagram + \IfStrEq{\diagramtype}{priority descriptive diagram}{% true-priority descriptive diagram + \pgfmathparse{subtract(\sm@core@priorityarrowwidth,\sm@core@priorityarrowheadextend)} + \pgfmathsetmacro\sm@core@priorityticksize{\pgfmathresult/2} + \pgfmathsetmacro\arrowtickxshift{(\sm@core@priorityarrowwidth-\sm@core@priorityticksize)/2} + \begin{tikzpicture}[every node/.style={align=center,let hypenation}] + \foreach \smitem [count=\xi] in {#2}{\global\let\maxsmitem\xi} + \foreach \smitem [count=\xi] in {#2}{% + \edef\col{\@nameuse{color@\xi}} + \node[description,drop shadow](module\xi) + at (0,0+\xi*\sm@core@descriptiveitemsysep) {\smitem}; +\draw[line width=\sm@core@prioritytick,\col] + ([xshift=-\arrowtickxshift pt]module\xi.base west)-- + ($([xshift=-\arrowtickxshift pt]module\xi.base west)-(\sm@core@priorityticksize pt,0)$); + }% + \coordinate (A) at (module1); + \coordinate (B) at (module\maxsmitem); + \CalcHeight(A,B){heightmodules} + \pgfmathadd{\heightmodules}{\sm@core@priorityarrowheightadvance} + \pgfmathsetmacro{\distancemodules}{\pgfmathresult} + \pgfmathsetmacro\arrowxshift{\sm@core@priorityarrowwidth/2} + \begin{pgfonlayer}{background} + \node[priority arrow] at ([xshift=-\arrowxshift pt]module1.south west){}; + \end{pgfonlayer} + \end{tikzpicture} + }{}% end-priority descriptive diagram + \IfStrEq{\diagramtype}{sequence diagram}{% true-sequence diagram + \begin{tikzpicture}[every node/.style={align=center,let hypenation}] + \foreach \x[count=\xi, count=\prevx from 0] in {#2}{% + \edef\col{\@nameuse{color@\xi}} + \ifnum\xi=1 + \node[sequence item] (sequence-item\xi) {\x}; + \else + \node[sequence item,anchor=west] (sequence-item\xi) at (sequence-item\prevx.east) {\x}; + \fi + } + \end{tikzpicture} + }{}% end-sequence diagram +}% end-no value 1 +}% end-command +\NewDocumentCommand{\smartdiagramanimated}{r[] m}{% + \StrCut{#1}{:}\diagramtype\option + \IfNoValueTF{#1}{% true-no value 1 + \PackageError{smartdiagram}{Type of the diagram not inserted. Please insert it} + {Example: \protect\smartdiagram[flow diagram]}} + {%false-no value 1 + \IfStrEq{\diagramtype}{}{% + \PackageError{smartdiagram}{Type of the diagram not inserted. Please insert it} + {Example: \protect\smartdiagram[flow diagram]} + }{} + \IfStrEq{\diagramtype}{circular diagram}{% true-circular diagram + \begin{tikzpicture}[every node/.style={align=center,let hypenation}] + \foreach \smitem [count=\xi] in {#2} {\global\let\maxsmitem\xi} + \foreach \smitem [count=\xi] in {#2}{% + \IfStrEq{\option}{clockwise}{% true-clockwise-circular diagram + \pgfmathtruncatemacro{\angle}{180+360/\maxsmitem*\xi} + }{% false-clockwise-circular diagram + \pgfmathtruncatemacro{\angle}{360/\maxsmitem*\xi} + } + \edef\col{\@nameuse{color@\xi}} + \IfStrEq{\option}{clockwise}{% true-clockwise-circular diagram + \node[module, + drop shadow={smvisible on=<\xi->}, + smvisible on=<\xi->] (module\xi) + at (-\angle:\sm@core@circulardistance) {\smitem}; + }{% false-clockwise-circular diagram + \node[module, + drop shadow={smvisible on=<\xi->}, + smvisible on=<\xi->] (module\xi) + at (\angle:\sm@core@circulardistance) {\smitem}; + } + }% + \foreach \smitem [count=\xi] in {#2}{% + \ifnum\xi=\maxsmitem + \ifcircularfinalarrowdisabled + \relax + \else + \pgfmathtruncatemacro{\xj}{mod(\xi, \maxsmitem) + 1)} + \pgfmathtruncatemacro{\adv}{\xi + 1)} + \edef\col{\@nameuse{color@\xj}} + \IfStrEq{\option}{clockwise}{% true-clockwise-circular diagram + \draw[diagram arrow type,shorten <=0.3cm,shorten >=0.3cm] + (module\xj) to[bend right] (module\xi); + }{% false-clockwise-circular diagram + \draw[diagram arrow type,shorten <=0.3cm,shorten >=0.3cm] + (module\xj) to[bend left] (module\xi); + } + \fi + \else + \pgfmathtruncatemacro{\xj}{mod(\xi, \maxsmitem) + 1)} + \pgfmathtruncatemacro{\adv}{\xi + 1)} + \edef\col{\@nameuse{color@\xj}} + \IfStrEq{\option}{clockwise}{% true-clockwise-circular diagram + \draw[diagram arrow type,shorten <=0.3cm,shorten >=0.3cm, + smvisible on=<\adv->] + (module\xj) to[bend right] (module\xi); + }{% false-clockwise-circular diagram + \draw[diagram arrow type,shorten <=0.3cm,shorten >=0.3cm, + smvisible on=<\adv->] + (module\xj) to[bend left] (module\xi); + } + + \fi + }% + \end{tikzpicture} + }{}% end-circular diagram + \IfStrEq{\diagramtype}{flow diagram}{% true-flow diagram + \begin{tikzpicture}[every node/.style={align=center,let hypenation}] + + \foreach \smitem [count=\xi] in {#2} {\global\let\maxsmitem\xi} + + \foreach \smitem [count=\xi] in {#2}{% + \edef\col{\@nameuse{color@\xi}} + \IfStrEq{\option}{horizontal}{% true-horizontal-flow diagram + \path let \n1 = {int(0-\xi)}, \n2={0+\xi*\sm@core@modulexsep} + in node[module,drop shadow={smvisible on=<\xi->}, + smvisible on=<\xi->] (module\xi) at +(\n2,0) {\smitem}; + }{% false-horizontal-flow diagram + \path let \n1 = {int(0-\xi)}, \n2={0-\xi*\sm@core@moduleysep} + in node[module,drop shadow={smvisible on=<\xi->}, + smvisible on=<\xi->] (module\xi) at +(0,\n2) {\smitem}; + } + }% + + \foreach \smitem [count=\xi] in {#2}{% + \pgfmathtruncatemacro{\xj}{mod(\xi, \maxsmitem) + 1)} + \edef\col{\@nameuse{color@\xj}} + \ifnum\xi<\maxsmitem + \begin{pgfonlayer}{smart diagram arrow back} + \draw[diagram arrow type,smvisible on=<\xi->] + (module\xj) -- (module\xi); + \end{pgfonlayer} + \fi + % last arrow - not display it in background - check if disabled + \ifbackarrowdisabled + \relax + \else + \ifnum\xi=\maxsmitem + \IfStrEq{\option}{horizontal}{% true-horizontal-flow diagram + \tikzset{square arrow/.style={ + to path={-- ++(0,0.5) -| (\tikztotarget)} + } + } + \draw[diagram arrow type, square arrow,smvisible on=<\xi->] + (module\xj.north) to (module\xi.north); + }{% false-horizontal-flow diagram + \tikzset{square arrow/.style={ + to path={-- ++(0.5,0) |- (\tikztotarget)} + } + } + \draw[diagram arrow type,square arrow,smvisible on=<\xi->] + (module\xj.east) to (module\xi); + } + \fi + \fi + }% + \end{tikzpicture} + }{}% end-flow diagram + \IfStrEq{\diagramtype}{descriptive diagram}{% true-descriptive diagram + \begin{tikzpicture}[every node/.style={align=center,let hypenation}] + \foreach \smitem [count=\xi] in {#2}{% + \edef\col{\@nameuse{color@\xi}} + + \foreach \subitem [count=\xii] in \smitem{% + \pgfmathtruncatemacro\subitemvisible{\xi} + \ifnumequal{\xii}{1}{% true + \node[description title,drop shadow, smvisible on=<\subitemvisible->] + (module-title\xi) at (0,0-\xi*\sm@core@descriptiveitemsysep) {\subitem};\pause + }{} + \ifnumequal{\xii}{2}{% true + \node[description,drop shadow,smvisible on=<\subitemvisible->] + (module\xi)at (0,0-\xi*\sm@core@descriptiveitemsysep) {\subitem};\pause + }{} + }% + }% + \end{tikzpicture} + }{}% end-descriptive diagram + \IfStrEq{\diagramtype}{bubble diagram}{% true-bubble diagram + \begin{tikzpicture}[every node/.style={align=center,let hypenation}] + \foreach \smitem [count=\xi] in {#2}{\global\let\maxsmitem\xi} + \pgfmathtruncatemacro\actualnumitem{\maxsmitem-1} + \foreach \smitem [count=\xi] in {#2}{% + \ifnumequal{\xi}{1}{ %true + \node[bubble center node, smvisible on=<\xi->](center bubble){\smitem}; + }{%false + \pgfmathtruncatemacro{\xj}{\xi-1} + \pgfmathtruncatemacro{\angle}{360/\actualnumitem*\xj} + \edef\col{\@nameuse{color@\xj}} + \node[bubble node, smvisible on=<\xi->](module\xi) + at (center bubble.\angle) {\smitem }; + }% + }% + \end{tikzpicture} + }{}%end-bubble diagram + \IfStrEq{\diagramtype}{constellation diagram}{% true-const diagram + \begin{tikzpicture}[every node/.style={align=center,let hypenation}] + \foreach \smitem [count=\xi] in {#2}{\global\let\maxsmitem\xi} + \pgfmathtruncatemacro\actualnumitem{\maxsmitem-1} + \foreach \smitem [count=\xi] in {#2}{% + \ifnumequal{\xi}{1}{ %true + \node[planet, smvisible on=<\xi->](planet){\smitem}; + }{%false + \pgfmathtruncatemacro{\xj}{\xi-1} + \pgfmathtruncatemacro{\angle}{360/\actualnumitem*\xj} + \edef\col{\@nameuse{color@\xj}} + \node[satellite, smvisible on=<\xi->] (satellite\xi) + at (\angle:\sm@core@distanceplanetsatellite) {\smitem }; + \draw[connection planet satellite, smvisible on=<\xi->] + (planet) -- (satellite\xi); + }% + }% + \end{tikzpicture} + }{}%end-constellation diagram + \IfStrEq{\diagramtype}{connected constellation diagram}{% true-conn const diagram + \begin{tikzpicture}[every node/.style={align=center,let hypenation}] + \foreach \smitem [count=\xi] in {#2}{\global\let\maxsmitem\xi} + \pgfmathtruncatemacro\actualnumitem{\maxsmitem-1} + \foreach \smitem [count=\xi] in {#2}{% + \ifnumequal{\xi}{1}{ %true + \node[planet,smvisible on=<\xi->](planet){\smitem}; + }{%false + \pgfmathtruncatemacro{\xj}{\xi-1} + \pgfmathtruncatemacro{\angle}{360/\actualnumitem*\xj} + \edef\col{\@nameuse{color@\xj}} + \node[satellite,smvisible on=<\xi->] (satellite\xj) + at (\angle:\sm@core@distanceplanetsatellite) {\smitem }; + }% + }% + \foreach \smitem [count=\xi] in {#2}{% + \ifnumgreater{\xi}{1}{ %true + \pgfmathtruncatemacro{\xj}{\xi-1} + \edef\col{\@nameuse{color@\xj}} + \pgfmathtruncatemacro{\xk}{mod(\xj,\actualnumitem) +1} + \pgfmathtruncatemacro{\smvisible}{\xi+1} + \path[connection planet satellite,-,smvisible on=<\smvisible->] + (satellite\xj) edge[bend right] (satellite\xk); + }{} + }% + \end{tikzpicture} + }{}%end-connected constellation diagram + \IfStrEq{\diagramtype}{priority descriptive diagram}{% true-priority descriptive diagram + \pgfmathparse{subtract(\sm@core@priorityarrowwidth,\sm@core@priorityarrowheadextend)} + \pgfmathsetmacro\sm@core@priorityticksize{\pgfmathresult/2} + \pgfmathsetmacro\arrowtickxshift{(\sm@core@priorityarrowwidth-\sm@core@priorityticksize)/2} + \begin{tikzpicture}[every node/.style={align=center,let hypenation}] + \foreach \smitem [count=\xi] in {#2}{\global\let\maxsmitem\xi} + \foreach \smitem [count=\xi] in {#2}{% + \edef\col{\@nameuse{color@\xi}} + \pgfmathtruncatemacro\smvisible{\xi+1} + \node[description,drop shadow={smvisible on=<\smvisible->},smvisible on=<\smvisible->] + (module\xi) at (0,0+\xi*\sm@core@descriptiveitemsysep) {\smitem}; +\draw[line width=\sm@core@prioritytick,\col,smvisible on=<\smvisible->] + ([xshift=-\arrowtickxshift pt]module\xi.base west)-- + ($([xshift=-\arrowtickxshift pt]module\xi.base west)-(\sm@core@priorityticksize pt,0)$); + }% + \coordinate (A) at (module1); + \coordinate (B) at (module\maxsmitem); + \CalcHeight(A,B){heightmodules} + \pgfmathadd{\heightmodules}{\sm@core@priorityarrowheightadvance} + \pgfmathsetmacro{\distancemodules}{\pgfmathresult} + \pgfmathsetmacro\arrowxshift{\sm@core@priorityarrowwidth/2} + \begin{pgfonlayer}{background} + \node[priority arrow] at ([xshift=-\arrowxshift pt]module1.south west){}; + \end{pgfonlayer} + \end{tikzpicture} + }{}% end-priority descriptive diagram + \IfStrEq{\diagramtype}{sequence diagram}{% true-sequence diagram + \begin{tikzpicture}[every node/.style={align=center,let hypenation}] + \foreach \x[count=\xi, count=\prevx from 0] in {#2}{% + \edef\col{\@nameuse{color@\xi}} + \ifnum\xi=1 + \node[sequence item,smvisible on=<\xi->] (sequence-item\xi) {\x}; + \else + \node[sequence item,anchor=west,smvisible on=<\xi->] + (sequence-item\xi) at (sequence-item\prevx.east) {\x}; + \fi + } + \end{tikzpicture} + }{}% end-sequence diagram + }% end-no value 1 +}% end-command + +%% +%% Copyright (C) 2012-2013 by Claudio Fiandrino +%% E-mail: fiandrino gmail com> +%% +%% 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 +%% Claudio Fiandrino. +%% +%% This work consists of the file smartdiagram.dtx +%% and the derived files smartdiagram.ins, +%% smartdiagram.pdf, +%% smartdiagramlibrarycore.definitions.code.tex, +%% smartdiagramlibrarycore.styles.code.tex, +%% smartdiagramlibrarycore.commands.code.tex +%% smartdiagramlibraryadditions.code.tex and +%% smartdiagram.sty. +%% +%% +%% End of file `smartdiagramlibrarycore.commands.code.tex'. diff --git a/Master/texmf-dist/tex/latex/smartdiagram/smartdiagramlibrarycore.definitions.code.tex b/Master/texmf-dist/tex/latex/smartdiagram/smartdiagramlibrarycore.definitions.code.tex new file mode 100644 index 00000000000..11c2f925e3b --- /dev/null +++ b/Master/texmf-dist/tex/latex/smartdiagram/smartdiagramlibrarycore.definitions.code.tex @@ -0,0 +1,319 @@ +%% +%% This is file `smartdiagramlibrarycore.definitions.code.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% smartdiagram.dtx (with options: `definitions') +%% * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +%% smartdiagram --- Automatic creation of smart diagrams from lists of items. +%% +%% E-mail: claudio fiandrino gmail com +%% +%% Released under the LaTeX Project Public License v1.3c or later +%% See http://www.latex-project.org/lppl.txt +%% * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +%% + +\@namedef{color@1}{red!40} +\@namedef{color@2}{cyan!40} +\@namedef{color@3}{blue!40} +\@namedef{color@4}{green!40} +\@namedef{color@5}{orange!40} +\@namedef{color@6}{yellow!40} +\@namedef{color@7}{magenta!40} +\@namedef{color@8}{brown!40} +\@namedef{color@9}{violet!40} +\@namedef{color@10}{teal!40} +\tikzset{rnd rectangle/.style={rectangle,rounded corners} +} + +\def\CalcHeight(#1,#2)#3{% +\pgfpointdiff{\pgfpointanchor{#1}{south west}}{\pgfpointanchor{#2}{north west}} +\pgfmathsetmacro{\myheight}{veclen(\pgf@x,\pgf@y)} +\global\expandafter\edef\csname #3\endcsname{\myheight} +} +\pgfkeys{/smart diagram/.cd, module minimum width/.initial=2cm, + module minimum height/.initial={1cm}, + module y sep/.initial={1.65}, + module x sep/.initial={2.75}, + descriptive items y sep/.initial={1.75}, + text width/.initial={1.5cm}, + description title width/.initial={1.5cm}, + description text width/.initial={5cm}, + description title text width/.initial={1.25cm}, + description title font/.initial={\small}, + description font/.initial={\small}, + description width/.initial={5.5cm}, + font/.initial={\small}, + border color/.initial={gray}, + circular distance/.initial={2.75cm}, + arrow line width/.initial={0.1cm}, + module shape/.initial={rnd rectangle}, + insert decoration/.initial={}, + arrow tip/.initial={stealth}, + arrow color/.initial={gray}, + bubble center node size/.initial={4cm}, + bubble center node font/.initial={\large}, + bubble center node color/.initial={lightgray!60}, + distance center/other bubbles/.initial=0.8cm, + distance text center bubble/.initial={0.5cm}, + bubble fill opacity/.initial={0.5}, + bubble node size/.initial={2.5cm}, + bubble text opacity/.initial={0.8}, + bubble node font/.initial={\normalfont}, + planet size/.initial={2.5cm}, + planet color/.initial={lightgray!60}, + planet font/.initial={\large}, + distance planet-connection/.initial={0.1cm}, + distance planet-text/.initial={0.5cm}, + planet text width/.initial={1.75cm}, + satellite size/.initial={1.75cm}, + satellite font/.initial={\normalfont}, + satellite fill opacity/.initial={0.5}, + satellite text opacity/.initial={0.8}, + satellite text width/.initial={1.5cm}, + distance satellite-connection/.initial={0.075cm}, + connection line width/.initial={0.1cm}, + connection color/.initial={gray}, + distance planet-satellite/.initial={3.5cm}, + priority arrow width/.initial={1.5cm}, + priority arrow head extend/.initial={0.15cm}, + priority tick size/.initial={5pt}, + priority arrow height advance/.initial={2cm}, + sequence item height/.initial={1cm}, + sequence item width/.initial={2cm}, + sequence item border color/.initial={gray}, + sequence item border size/.initial={1.75\pgflinewidth}, + sequence item font size/.initial={\normalfont}, + sequence item fill opacity/.initial={1}, + sequence item text opacity/.initial={1}, + sequence item text width/.initial={1.9cm}, + sequence item text color/.initial={black}, + sequence item uniform color/.initial={gray!60!black}, + arrow style/.initial={<-}, + text color/.initial={black}, +}% + +\pgfkeys{/smart diagram/.cd, module minimum width/.get=\sm@core@modulewidth, + module minimum height/.get=\sm@core@moduleheight, + module y sep/.get=\sm@core@moduleysep, + module x sep/.get=\sm@core@modulexsep, + descriptive items y sep/.get=\sm@core@descriptiveitemsysep, + text width/.get=\sm@core@moduletextwidth, + description title width/.get=\sm@core@descriptiontitlewidth, + description text width/.get=\sm@core@descriptiontextwidth, + description title text width/.get=\sm@core@descriptiontitletextwidth, + description title font/.get=\sm@core@descriptiontitlefontsize, + description font/.get=\sm@core@descriptionfontsize, + description width/.get=\sm@core@descriptionwidth, + font/.get=\sm@core@modulefontsize, + border color/.get=\sm@core@bordercolor, + circular distance/.get=\sm@core@circulardistance, + arrow line width/.get=\sm@core@arrowlinewidth, + module shape/.get=\sm@core@moduleshape, + insert decoration/.get=\sm@core@borderdecoration, + arrow tip/.get=\sm@core@arrowtip, + arrow color/.get=\sm@core@arrowcolor, + bubble center node size/.get=\sm@core@bubblecenternodesize, + bubble center node font/.get=\sm@core@bubblecenternodefont, + bubble center node color/.get=\sm@core@bubblecenternodecolor, + distance center/other bubbles/.get=\sm@core@distancecenterotherbubbles, + distance text center bubble/.get=\sm@core@distancetextcenterbubble, + bubble fill opacity/.get=\sm@core@bubblefillopacity, + bubble node size/.get=\sm@core@bubblenodesize, + bubble text opacity/.get=\sm@core@bubbletextopacity, + bubble node font/.get=\sm@core@bubblenodefont, + planet size/.get=\sm@core@planetminimumsize, + planet color/.get=\sm@core@planetcolor, + planet font/.get=\sm@core@planetfont, + distance planet-connection/.get=\sm@core@planetoutersep, + distance planet-text/.get=\sm@core@planetinnersep, + planet text width/.get=\sm@core@planettextwidth, + satellite size/.get=\sm@core@satelliteminimumsize, + satellite font/.get=\sm@core@satellitefont, + satellite fill opacity/.get=\sm@core@satellitefillopacity, + satellite text opacity/.get=\sm@core@satellitetextopacity, + satellite text width/.get=\sm@core@satellitetextwidth, + distance satellite-connection/.get=\sm@core@satelliteoutersep, + connection line width/.get=\sm@core@connectionlinewidth, + connection color/.get=\sm@core@connectioncolor, + distance planet-satellite/.get=\sm@core@distanceplanetsatellite, + priority arrow width/.get=\sm@core@priorityarrowwidth, + priority arrow head extend/.get=\sm@core@priorityarrowheadextend, + priority tick size/.get=\sm@core@prioritytick, + priority arrow height advance/.get=\sm@core@priorityarrowheightadvance, + sequence item height/.get=\sm@core@seqitemheight, + sequence item width/.get=\sm@core@seqitemwidth, + sequence item border color/.get=\sm@core@seqitembordercolor, + sequence item border size/.get=\sm@core@seqlinewidth, + sequence item font size/.get=\sm@core@seqitemfont, + sequence item fill opacity/.get=\sm@core@seqitemfillopacity, + sequence item text opacity/.get=\sm@core@seqitemtextopacity, + sequence item text width/.get=\sm@core@seqitemtextwidth, + sequence item text color/.get=\sm@core@seqitemtextcolor, + sequence item uniform color/.get=\sm@core@seqitemuniformcol, + arrow style/.get=\sm@core@arrowstyle, + text color/.get=\sm@core@textcolor, +}% +\pgfkeys{/smart diagram/.cd, set color list/.code={ + \foreach \listitem [count=\i] in {#1}{ + \global\@namedef{color@\i\expandafter}\expandafter{\listitem} + } + } +} + +\pgfkeys{/smart diagram/.cd, uniform color list/.code args={#1 for #2 items}{ + \foreach \listitem [count=\i] in {1,...,#2}{ + \global\@namedef{color@\i\expandafter}\expandafter{#1} + } + } +} + +\pgfkeys{/smart diagram/.cd, use predefined color list/.code={ + \@namedef{color@1}{red!30} + \@namedef{color@2}{cyan!30} + \@namedef{color@3}{blue!30} + \@namedef{color@4}{green!30} + \@namedef{color@5}{orange!30} + \@namedef{color@6}{yellow!30} + \@namedef{color@7}{magenta!30} + \@namedef{color@8}{brown!30} + \@namedef{color@9}{violet!30} + \@namedef{color@10}{teal!30} + } +} +\newif\ifbackarrowdisabled +\pgfkeys{/smart diagram/.cd, + back arrow disabled/.is if=backarrowdisabled, + back arrow disabled=false, +} +\newif\ifcircularfinalarrowdisabled +\pgfkeys{/smart diagram/.cd, + circular final arrow disabled/.is if=circularfinalarrowdisabled, + circular final arrow disabled=false, +} +\NewDocumentCommand{\smartdiagramset}{m}{% + \pgfkeys{/smart diagram/.cd,#1}% + \pgfkeys{/smart diagram/.cd, module minimum width/.get=\sm@core@modulewidth, + module minimum height/.get=\sm@core@moduleheight, + module y sep/.get=\sm@core@moduleysep, + module x sep/.get=\sm@core@modulexsep, + descriptive items y sep/.get=\sm@core@descriptiveitemsysep, + text width/.get=\sm@core@moduletextwidth, + description title width/.get=\sm@core@descriptiontitlewidth, + description text width/.get=\sm@core@descriptiontextwidth, + description title text width/.get=\sm@core@descriptiontitletextwidth, + description title font/.get=\sm@core@descriptiontitlefontsize, + description font/.get=\sm@core@descriptionfontsize, + description width/.get=\sm@core@descriptionwidth, + font/.get=\sm@core@modulefontsize, + border color/.get=\sm@core@bordercolor, + circular distance/.get=\sm@core@circulardistance, + arrow line width/.get=\sm@core@arrowlinewidth, + module shape/.get=\sm@core@moduleshape, + insert decoration/.get=\sm@core@borderdecoration, + arrow tip/.get=\sm@core@arrowtip, + arrow color/.get=\sm@core@arrowcolor, + bubble center node size/.get=\sm@core@bubblecenternodesize, + bubble center node font/.get=\sm@core@bubblecenternodefont, + bubble center node color/.get=\sm@core@bubblecenternodecolor, + distance center/other bubbles/.get=\sm@core@distancecenterotherbubbles, + distance text center bubble/.get=\sm@core@distancetextcenterbubble, + bubble fill opacity/.get=\sm@core@bubblefillopacity, + bubble node size/.get=\sm@core@bubblenodesize, + bubble text opacity/.get=\sm@core@bubbletextopacity, + bubble node font/.get=\sm@core@bubblenodefont, + planet size/.get=\sm@core@planetminimumsize, + planet color/.get=\sm@core@planetcolor, + planet font/.get=\sm@core@planetfont, + distance planet-connection/.get=\sm@core@planetoutersep, + distance planet-text/.get=\sm@core@planetinnersep, + planet text width/.get=\sm@core@planettextwidth, + satellite size/.get=\sm@core@satelliteminimumsize, + satellite font/.get=\sm@core@satellitefont, + satellite fill opacity/.get=\sm@core@satellitefillopacity, + satellite text opacity/.get=\sm@core@satellitetextopacity, + satellite text width/.get=\sm@core@satellitetextwidth, + distance satellite-connection/.get=\sm@core@satelliteoutersep, + connection line width/.get=\sm@core@connectionlinewidth, + connection color/.get=\sm@core@connectioncolor, + distance planet-satellite/.get=\sm@core@distanceplanetsatellite, + priority arrow width/.get=\sm@core@priorityarrowwidth, + priority arrow head extend/.get=\sm@core@priorityarrowheadextend, + priority tick size/.get=\sm@core@prioritytick, + priority arrow height advance/.get=\sm@core@priorityarrowheightadvance, + sequence item height/.get=\sm@core@seqitemheight, + sequence item width/.get=\sm@core@seqitemwidth, + sequence item border color/.get=\sm@core@seqitembordercolor, + sequence item border size/.get=\sm@core@seqlinewidth, + sequence item font size/.get=\sm@core@seqitemfont, + sequence item fill opacity/.get=\sm@core@seqitemfillopacity, + sequence item text opacity/.get=\sm@core@seqitemtextopacity, + sequence item text width/.get=\sm@core@seqitemtextwidth, + sequence item text color/.get=\sm@core@seqitemtextcolor, + sequence item uniform color/.get=\sm@core@seqitemuniformcol, + arrow style/.get=\sm@core@arrowstyle, + text color/.get=\sm@core@textcolor, + }% +}% +\pgfkeys{/smart diagram/.cd,% + uniform sequence color/.is choice,% + uniform sequence color/true/.code={% + \tikzset{sequence item/.append style={ + fill=\sm@core@seqitemuniformcol, + }, + } + },% + uniform sequence color/false/.style={sequence item},% + uniform sequence color/.default=false, +}% +\pgfkeys{/smart diagram/.cd,% + uniform connection color/.is choice,% + uniform connection color/true/.code={% + \tikzset{connection planet satellite/.append style={ + \sm@core@connectioncolor + }, + } + },% + uniform connection color/false/.style={connection planet satellite},% + uniform connection color/.default=false, +}% +\pgfkeys{/smart diagram/.cd,% + uniform arrow color/.is choice,% + uniform arrow color/true/.code={% + \tikzset{diagram arrow type/.append style={ + \sm@core@arrowcolor + }, + } + },% + uniform arrow color/false/.style={diagram arrow type},% + uniform arrow color/.default=false, +}% + + +%% +%% Copyright (C) 2012-2013 by Claudio Fiandrino +%% E-mail: fiandrino gmail com> +%% +%% 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 +%% Claudio Fiandrino. +%% +%% This work consists of the file smartdiagram.dtx +%% and the derived files smartdiagram.ins, +%% smartdiagram.pdf, +%% smartdiagramlibrarycore.definitions.code.tex, +%% smartdiagramlibrarycore.styles.code.tex, +%% smartdiagramlibrarycore.commands.code.tex +%% smartdiagramlibraryadditions.code.tex and +%% smartdiagram.sty. +%% +%% +%% End of file `smartdiagramlibrarycore.definitions.code.tex'. diff --git a/Master/texmf-dist/tex/latex/smartdiagram/smartdiagramlibrarycore.styles.code.tex b/Master/texmf-dist/tex/latex/smartdiagram/smartdiagramlibrarycore.styles.code.tex new file mode 100644 index 00000000000..6972be4b692 --- /dev/null +++ b/Master/texmf-dist/tex/latex/smartdiagram/smartdiagramlibrarycore.styles.code.tex @@ -0,0 +1,183 @@ +%% +%% This is file `smartdiagramlibrarycore.styles.code.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% smartdiagram.dtx (with options: `styles') +%% * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +%% smartdiagram --- Automatic creation of smart diagrams from lists of items. +%% +%% E-mail: claudio fiandrino gmail com +%% +%% Released under the LaTeX Project Public License v1.3c or later +%% See http://www.latex-project.org/lppl.txt +%% * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +%% + +\tikzfading[name=priorityarrowfading, + bottom color=transparent!5, + top color=transparent!80 +] +\tikzset{priority arrow fill/.style={ + fill=gray, + path fading=priorityarrowfading + } +} + +\tikzset{module/.style={ + \pgfkeysvalueof{/smart diagram/module shape}, + thick, + draw=\sm@core@bordercolor, + top color=white, + bottom color=\col, + text=\sm@core@textcolor, + text width=\sm@core@moduletextwidth, + minimum width=\sm@core@modulewidth, + minimum height=\sm@core@moduleheight, + font=\sm@core@modulefontsize, + \sm@core@borderdecoration + }, + diagram arrow type/.style={ + \sm@core@arrowstyle, + >=\sm@core@arrowtip, + line width=\sm@core@arrowlinewidth, + \col + }, +} +\tikzset{description title/.style={ + circle, + draw=\sm@core@bordercolor, + minimum width=\sm@core@descriptiontitlewidth, + anchor=east, + bottom color=\col, + top color=white!80!\col, + font=\sm@core@descriptiontitlefontsize, + text width=\sm@core@descriptiontitletextwidth, + \sm@core@borderdecoration, + }, + description/.style={ + \pgfkeysvalueof{/smart diagram/module shape}, + text width=\sm@core@descriptiontextwidth, + draw=\sm@core@bordercolor, + anchor=west, + minimum height=\sm@core@moduleheight, + minimum width=\sm@core@descriptionwidth, + bottom color=\col, + top color=white!80!\col, + font=\sm@core@descriptionfontsize, + \sm@core@borderdecoration, + } +} +\tikzset{priority arrow/.style={ + draw=\sm@core@bordercolor, + single arrow, + minimum height=\distancemodules, + minimum width=\sm@core@priorityarrowwidth, + priority arrow fill, + rotate=90, + single arrow head extend=\sm@core@priorityarrowheadextend, + anchor=west, + } +} +\tikzset{bubble center node/.style={ + minimum size=\sm@core@bubblecenternodesize, + circle, + fill=\sm@core@bubblecenternodecolor, + font=\sm@core@bubblecenternodefont, + outer sep=\sm@core@distancecenterotherbubbles, + inner sep=\sm@core@distancetextcenterbubble, + }, + bubble node/.style={ + minimum size=\sm@core@bubblenodesize, + circle, + ultra thick, + font=\sm@core@bubblenodefont, + draw=white, + fill opacity=\sm@core@bubblefillopacity, + fill=\col, + text opacity=\sm@core@bubbletextopacity, + } +} +\tikzset{planet/.style={ + minimum size=\sm@core@planetminimumsize, + circle, + fill=\sm@core@planetcolor, + font=\sm@core@planetfont, + outer sep=\sm@core@planetoutersep, + inner sep=\sm@core@planetinnersep, + text width=\sm@core@planettextwidth, + }, + satellite/.style={ + minimum size=\sm@core@satelliteminimumsize, + circle, + font=\sm@core@satellitefont, + fill opacity=\sm@core@satellitefillopacity, + fill=\col, + text opacity=\sm@core@satellitetextopacity, + text width=\sm@core@satellitetextwidth, + outer sep=\sm@core@satelliteoutersep, + }, + connection planet satellite/.style={ + ->, + line width=\sm@core@connectionlinewidth, + >=\sm@core@arrowtip, + \col, + } +} + +\tikzset{sequence item/.style={ + minimum height=\sm@core@seqitemheight, + minimum width=\sm@core@seqitemwidth, + signal, + signal from=west, + signal to=east, + draw=\sm@core@seqitembordercolor, + line width=\sm@core@seqlinewidth, + font=\sm@core@seqitemfont, + fill opacity=\sm@core@seqitemfillopacity, + fill=\col, + text opacity=\sm@core@seqitemtextopacity, + text width=\sm@core@seqitemtextwidth, + text=\sm@core@seqitemtextcolor, + } +} +\tikzset{let hypenation/.style={ + execute at begin node={% + \hspace{0pt}% + } + } +}% +\tikzset{ + sminvisible/.style={opacity=0,text opacity=0}, + smvisible on/.style={smalt=#1{}{sminvisible}}, + smalt/.code args={<#1>#2#3}{% + \alt<#1>{\pgfkeysalso{#2}}{\pgfkeysalso{#3}} + }, +} + +%% +%% Copyright (C) 2012-2013 by Claudio Fiandrino +%% E-mail: fiandrino gmail com> +%% +%% 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 +%% Claudio Fiandrino. +%% +%% This work consists of the file smartdiagram.dtx +%% and the derived files smartdiagram.ins, +%% smartdiagram.pdf, +%% smartdiagramlibrarycore.definitions.code.tex, +%% smartdiagramlibrarycore.styles.code.tex, +%% smartdiagramlibrarycore.commands.code.tex +%% smartdiagramlibraryadditions.code.tex and +%% smartdiagram.sty. +%% +%% +%% End of file `smartdiagramlibrarycore.styles.code.tex'. -- cgit v1.2.3