diff options
Diffstat (limited to 'graphics/pgf/contrib/callouts/callouts.sty')
-rw-r--r-- | graphics/pgf/contrib/callouts/callouts.sty | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/graphics/pgf/contrib/callouts/callouts.sty b/graphics/pgf/contrib/callouts/callouts.sty new file mode 100644 index 0000000000..27575c6053 --- /dev/null +++ b/graphics/pgf/contrib/callouts/callouts.sty @@ -0,0 +1,93 @@ +% ================================================================== +% callouts.sty +% ================================================================== +% (c) 2017 Markus Stuetz, markus.stuetz@gmail.com +% This program can be redistributed and/or modified under the terms +% of the LaTeX Project Public License Distributed from CTAN +% archives in directory macros/latex/base/lppl.txt; either +% version 1 of the License, or any later version. +% ================================================================== + +\ProvidesPackage{callouts}[2017/07/27 Callouts] +\NeedsTeXFormat{LaTeX2e} +\RequirePackage{tikz} + +\usetikzlibrary{calc} +\RequirePackage{xifthen} + +\newcommand*{\focol}{black} +\newcommand*{\bgcol}{none} +\newcommand*{\arcol}{black} + +\RequirePackage{kvoptions} +\SetupKeyvalOptions {family = callouts,prefix = callouts@}% + +\DeclareDefaultOption{\ClassWarning{callouts}{Unknown color option '\CurrentOptionKey=\CurrentOptionValue'}}% + +\DeclareVoidOption{bwr}{% +\renewcommand*{\bgcol}{white}% +\renewcommand*{\arcol}{red}% +} + +\DeclareVoidOption{wby}{% +\renewcommand*{\focol}{white}% +\renewcommand*{\bgcol}{black}% +\renewcommand*{\arcol}{yellow}% +} + +\DeclareVoidOption{bww}{% +\renewcommand*{\focol}{black}% +\renewcommand*{\bgcol}{white}% +\renewcommand*{\arcol}{white}% +} + +\define@key{callouts}{text}{% +\renewcommand*{\focol}{#1}% +} +\define@key{callouts}{background}{% +\renewcommand*{\bgcol}{#1}% +} +\define@key{callouts}{arrow}{% +\renewcommand*{\arcol}{#1}% +} + +\ProcessKeyvalOptions* % terminate option processing + +% ================================================================== + +\newenvironment{annotate}[2]%[num]% +{ \begin{tikzpicture}[scale=#2]% }% +% Annotate +\node (pic) at (0,0) {#1};% +\newdimen\xtic +\newdimen\ytic +\pgfextractx\xtic{\pgfpointanchor{pic}{east}} +\pgfmathparse{int(\xtic/1cm)} +\pgfmathsetmacro\xtic{\pgfmathresult} +\pgfextracty\ytic{\pgfpointanchor{pic}{north}} +\pgfmathparse{int(\ytic/1cm)} +\pgfmathsetmacro\ytic{\pgfmathresult} +}% +{ \end{tikzpicture} } + +% ================================================================== + +\newcommand{\helpgrid}[1][\bgcol]{% +\draw[help lines, color=#1] (pic.south west) grid (pic.north east); \fill[#1] (0,0) circle (3pt);% + \foreach \i in {-\xtic,...,\xtic} {% + \node at (\i+0.2,0.2) {\color{#1} \tiny \i};} + \foreach \i in {-\ytic,...,\ytic} {% + \node at (0.2,\i+0.2) {\color{#1} \tiny \i};} +} +\newcommand{\callout}[3]{% +\node [fill=\bgcol] (text) at (#1) {\scriptsize\color{\focol} #2}; +\draw [\arcol,thick,->] (text) -- (#3); +} +\newcommand{\note}[2]{% +\node [fill=\bgcol] at (#1) {\scriptsize\color{\focol} #2}; +} +\newcommand{\arrow}[2]{% +\draw [\arcol,thick,->] (#1) -- (#2); +} + +\endinput % === EOF ================================================ |