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-tools-misc.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-tools-misc.tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/tkz-base/tkz-tools-misc.tex | 181 |
1 files changed, 181 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/tkz-base/tkz-tools-misc.tex b/Master/texmf-dist/tex/latex/tkz-base/tkz-tools-misc.tex new file mode 100644 index 00000000000..cb25c163b14 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tkz-base/tkz-tools-misc.tex @@ -0,0 +1,181 @@ +% 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} + + +%<--------------------------------------------------------------------------–> +% tkzText +%<--------------------------------------------------------------------------–> +\newif\iftkz@node\tkz@nodefalse + +\def\tkz@parsenode#1{% +\tkz@getvirg#1,\@nil +\iftkz@node +\else + \tkz@getfromcart#1\@nil +\fi +} +\def\tkz@getvirg#1,#2\@nil{% +\ifx\tkzempty#2\tkzempty% + \tkz@nodetrue +\else + \tkz@nodefalse +\fi +} + + +\def\tkzText{\pgfutil@ifnextchar[{\tkz@Text}{\tkz@Text[]}} +\def\tkz@Text[#1](#2)#3{% + \begingroup + \tkz@parsenode{#2} + \iftkz@node \node[#1] at (#2){#3}; + \else + \FPadd{\ptxa}{\tkz@absc}{-\tkz@init@xorigine} + \FPadd{\ptya}{\tkz@ord}{-\tkz@init@yorigine} + \FPdiv{\ptxa}{\ptxa}{\tkz@init@xstep} + \FPdiv{\ptya}{\ptya}{\tkz@init@ystep} + \node[#1] at (\ptxa,\ptya){#3};% + \fi +\endgroup +}% +% %<--------------------------------------------------------------------------–> +% % légende +% %<--------------------------------------------------------------------------–> +\newif\iftkz@legend@line +\pgfkeys{ +/tkzlegend/.cd, +line/.is if = tkz@legend@line, +line/.default = true, +/tkzlegend/.unknown/.code = {\let\searchname=\pgfkeyscurrentname + \pgfkeysalso{\searchname/.try=#1, + /tikz/\searchname/.retry=#1}} +} + +\def\tkzLegend{\pgfutil@ifnextchar[{\tkz@Legend}{\tkz@Legend[]}} +\def\tkz@Legend[#1](#2,#3)#4{% +\pgfkeys{/tkzlegend/.cd, +line=false} + \pgfqkeys{/tkzlegend}{#1} + \begingroup +\c@pgfmath@counta=0 % +\FPadd{\ptxa}{#2}{-\tkz@init@xorigine} +\FPadd{\ptya}{#3}{-\tkz@init@yorigine} +\FPdiv{\ptxa}{\ptxa}{\tkz@init@xstep} +\FPdiv{\ptya}{\ptya}{\tkz@init@ystep} +\node[/tkzlegend/.cd,#1] at (\ptxa,\ptya) {% +\begin{tikzpicture} + \foreach \motif/\size/\col/\mtext in {#4}{% + \iftkz@legend@line + \draw[color = \col, + line width = \size, + style = \motif, + text = \tkz@mainlinecolor]% + (0cm ,\the\c@pgfmath@counta ex)--% + (\tkz@legend@line@len,\the\c@pgfmath@counta ex) + \else + \draw plot[mark size = \size,% + mark = \motif,% + mark options = {color=\col}]% + coordinates{(0 ex,\the\c@pgfmath@counta ex)}% + \fi + node[right=1ex] {\mtext}; + \global\advance\c@pgfmath@counta by 3 % + }% + +\end{tikzpicture}% +};% +\endgroup +} + +%<--------------------------------------------------------------------------–> +% hline pb avec line +%<--------------------------------------------------------------------------–> +\def\tkzHLine{\pgfutil@ifnextchar[{\tkz@HLine}{\tkz@HLine[]}} +\def\tkz@HLine[#1]#2{% + \begingroup + \FPeval{\tkz@valy}{(#2)}% + \FPadd{\tkz@ptya}{\tkz@valy}{-\tkz@init@yorigine} + \FPdiv{\tkz@ptya}{\tkz@ptya}{\tkz@init@ystep} + \draw[#1] (\tkz@xa,\tkz@ptya)--(\tkz@xb,\tkz@ptya);% +\endgroup +} +%<--------------------------------------------------------------------------–> +% hlines pb avec line +%<--------------------------------------------------------------------------–> +\def\tkzHLines{\pgfutil@ifnextchar[{\tkz@HLines}{\tkz@HLines[]}} +\def\tkz@HLines[#1]#2{% + \begingroup + \foreach \tkz@vy in {#2}{% + \FPeval\my@tkz@vy{\tkz@vy} + \tkz@HLine[#1]{\my@tkz@vy}} +\endgroup +} +%<---------------------------------------------------------------------------> +% vline +%<---------------------------------------------------------------------------> +\def\tkzVLine{\pgfutil@ifnextchar[{\tkz@VLine}{\tkz@VLine[]}} +\def\tkz@VLine[#1]#2{% +\begingroup + \FPeval\tkz@valx{(#2)}% + \FPadd{\tkz@ptxa}{\tkz@valx}{-\tkz@init@xorigine} + \FPdiv{\tkz@ptxa}{\tkz@ptxa}{\tkz@init@xstep} + \draw[#1](\tkz@ptxa,\tkz@ya)--(\tkz@ptxa,\tkz@yb); +\endgroup +} + +%<---------------------------------------------------------------------------> +% vlines +%<---------------------------------------------------------------------------> +\def\tkzVLines{\pgfutil@ifnextchar[{\tkz@VLines}{\tkz@VLines[]}} +\def\tkz@VLines[#1]#2{% +\begingroup + \foreach \tkz@vx in {#2}{% + \FPeval\my@tkz@vx{\tkz@vx} + \tkz@VLine[#1]{\my@tkz@vx}} +\endgroup +} +%<--------------------------------------------------------------------------–> +\def\tkzHTick{\pgfutil@ifnextchar[{\tkz@HTick}{\tkz@HTick[]}} +\def\tkz@HTick[#1]#2{% + \begingroup + \FPeval\tkz@ptxa{(#2)}% + \FPround\tkz@ptxa\tkz@ptxa{5} + \FPclip\tkz@ptxa\tkz@ptxa + \FPadd\tkz@ptxa\tkz@ptxa{-\tkz@init@xorigine} + \FPdiv\tkz@ptxa\tkz@ptxa{\tkz@init@xstep} + \draw plot[mark style,#1] coordinates {(\tkz@ptxa,0)}; +\endgroup +} +\def\tkzHTicks{\pgfutil@ifnextchar[{\tkz@HTicks}{\tkz@HTicks[]}} +\def\tkz@HTicks[#1]#2{% + \begingroup +\foreach \tkz@hy in {#2} {\tkz@HTick[#1]{\tkz@hy}} +\endgroup +} +%<--------------------------------------------------------------------------–> +\def\tkzVTick{\pgfutil@ifnextchar[{\tkz@VTick}{\tkz@VTick[]}} +\def\tkz@VTick[#1]#2{% + \begingroup + \FPeval\tkz@ptya{(#2)}% + \FPround\tkz@ptya\tkz@ptya{5}% + \FPclip\tkz@ptya\tkz@ptya + \FPadd\tkz@ptya\tkz@ptya{-\tkz@init@yorigine}% + \FPdiv\tkz@ptya\tkz@ptya{\tkz@init@ystep}% + \draw plot[mark style,#1] coordinates {(0,\tkz@ptya)}; +\endgroup +} +%<--------------------------------------------------------------------------–> +\def\tkzVTicks{\pgfutil@ifnextchar[{\tkz@VTicks}{\tkz@VTicks[]}} +\def\tkz@VTicks[#1]#2{% +\begingroup +\foreach \tkz@hy in {#2} {\tkz@VTick[#1]{\tkz@hy}} +\endgroup +} +\endinput
\ No newline at end of file |