diff options
author | Karl Berry <karl@freefriends.org> | 2011-06-06 17:16:13 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-06-06 17:16:13 +0000 |
commit | f49b6e59b0d0a356926fdca182d060edd700cf68 (patch) | |
tree | 948f1eccc2d83b7da63c878b928cb86a5f2e7445 /Master/texmf-dist/tex/latex/tkz-base/tkz-obj-segments.tex | |
parent | e4eb16f2cc33863ebe1e13711aac7eae5f61e5de (diff) |
tkz-base (5jun11)
git-svn-id: svn://tug.org/texlive/trunk@22827 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/tkz-base/tkz-obj-segments.tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/tkz-base/tkz-obj-segments.tex | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/tkz-base/tkz-obj-segments.tex b/Master/texmf-dist/tex/latex/tkz-base/tkz-obj-segments.tex new file mode 100644 index 00000000000..f8ad21b85b9 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tkz-base/tkz-obj-segments.tex @@ -0,0 +1,142 @@ +% Copyright 2011 by Alain Matthes +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Public License. + + +\def\fileversion{1.16 c} +\def\filedate{2011/06/01} + +%<--------------------------------------------------------------------------–> +% Setup Segment +%<--------------------------------------------------------------------------–> + +%<--------------------------------------------------------------------------–> +% draw segment (s) +%<--------------------------------------------------------------------------–> +\def\tkzDrawSegment{\pgfutil@ifnextchar[{\tkz@DrawSegment}{% + \tkz@DrawSegment[]}} +\def\tkz@DrawSegment[#1](#2,#3){% +\begingroup + \draw[line style,add=0 and 0,#1] (#2) to (#3); +\endgroup +}% + +\def\tkz@multiDrawSeg#1 #2\@nil{% + \protected@edef\tkz@temp{ + \noexpand \tkzDrawSegment[\tkz@optseg](#1)}\tkz@temp% + \def\tkz@nextArg{#2}% + \ifx\tkzutil@empty\tkz@nextArg + \let\next\@gobble + \fi + \next#2\@nil +} +\def\tkzDrawSegments{\pgfutil@ifnextchar[{\tkz@DrawSegments}{% + \tkz@DrawSegments[]}} +\def\tkz@DrawSegments[#1](#2){% +\global\edef\tkz@optseg{#1} +\begingroup + \let\next\tkz@multiDrawSeg + \next#2 \@nil % +\endgroup +} +%<-------------------------------------------------------------------------–> +%<-------------------------------------------------------------------------–> +\pgfkeys{tkzmarkoptions/.cd, +pos/.code = {\global\def\tkz@mkpos{#1}}, +color/.code = {\global\def\tkz@mkcolor{#1}}, +mark/.code = {\global\def\tkz@mark{#1}}, +size/.code = {\global\def\tkz@mksize{#1}}, +/tkzmarkoptions/.unknown/.code = {\let\searchname=\pgfkeyscurrentname + \pgfkeysalso{\searchname/.try=#1, + /tikz/\searchname/.retry=#1} + } +} + +\def\tkzMarkSegment{\pgfutil@ifnextchar[{\tkz@MarkSegment}{% + \tkz@MarkSegment[]}} +\def\tkz@MarkSegment[#1](#2,#3){% +\pgfkeys{tkzmarkoptions/.cd, + size = 4pt, + color = \tkz@mk@color, + pos = .5, + mark = none} +\pgfqkeys{/tkzmarkoptions}{#1} + +\global\def\tkz@mymark{% + \pgfsetplotmarksize{\tkz@mksize} + \pgfuseplotmark{\tkz@mark} +} +\begin{scope} [decoration={ markings,mark=at position \tkz@mkpos with \tkz@mymark}] +\path [\tkz@mkcolor,postaction={decorate}] (#2) -- (#3); +\end{scope} +} +%<--------------------------------------------------------------------------–> +%<--------------------------------------------------------------------------–> +% multiple +\def\tkz@multiMS#1 #2\@nil{% + \protected@edef\tkz@temp{ + \noexpand \tkzMarkSegment[\tkz@optsg](#1)}\tkz@temp% + \def\tkz@nextArg{#2}% + \ifx\tkzutil@empty\tkz@nextArg + \let\next\@gobble + \fi + \next#2\@nil +} +%<--------------------------------------------------------------------------–> +\def\tkzMarkSegments{\pgfutil@ifnextchar[{\tkz@MarkSegments}{% + \tkz@MarkSegments[]}} +\def\tkz@MarkSegments[#1](#2){% +\global\edef\tkz@optsg{#1} + \begingroup + \let\next\tkz@multiMS + \next#2 \@nil % +\endgroup +} +%<--------------------------------------------------------------------------–> +%<------------------------- Label on segment -------------------------------–> +%<--------------------------------------------------------------------------–> +\def\tkzLabelSegment{\pgfutil@ifnextchar[{\tkz@LabelSegment}{% + \tkz@LabelSegment[]}} +\def\tkz@LabelSegment[#1](#2,#3)#4{% +\begingroup +\path (#2) to node[above,#1]{#4} (#3) ; +\endgroup +} +%<--------------------------------------------------------------------------–> +%<--------------------------------------------------------------------------–> +% multiple +\def\tkz@multiLS#1 #2\@nil{% + \protected@edef\tkz@temp{ + \noexpand \tkzLabelSegment[\tkz@optls](#1){\tkz@labelseg}}\tkz@temp% + \def\tkz@nextArg{#2}% + \ifx\tkzutil@empty\tkz@nextArg + \let\next\@gobble + \fi + \next#2\@nil +} +%<--------------------------------------------------------------------------–> +\def\tkzLabelSegments{\pgfutil@ifnextchar[{\tkz@LabelSegments}{% + \tkz@LabelSegments[]}} +\def\tkz@LabelSegments[#1](#2)#3{% +\global\edef\tkz@optls{#1} +\global\def\tkz@labelseg{#3} + \begingroup + \let\next\tkz@multiLS + \next#2 \@nil % +\endgroup +} +%<--------------------------------------------------------------------------–> +% PolySeg +%<--------------------------------------------------------------------------–> +\def\tkzDrawPolySeg{\pgfutil@ifnextchar[{\tkz@DrawPolySeg}{% + \tkz@DrawPolySeg[]}} +\def\tkz@DrawPolySeg[#1](#2,#3){% +\begingroup +\draw[#1] (#2) + \foreach \tkz@pt in {#3}{--(\tkz@pt)};% +\endgroup +} +\endinput |