~tex-sx/tex-sx/development

« back to all changes in this revision

Viewing changes to hobby.dtx

  • Committer: Andrew Stacey
  • Date: 2014-08-14 21:15:51 UTC
  • mfrom: (161.2.16 main)
  • Revision ID: stacey@math.ntnu.no-20140814211551-t0z8n39i557ylprr
Merged changes mainly to hobby

Show diffs side-by-side

added added

removed removed

Lines of Context:
6
6
----------------------------------------------------------------
7
7
hobby --- a TikZ/PGF library for drawing smooth(ish) curves using
8
8
          Hobby's algorithm (implemented in LaTeX3)
9
 
E-mail: stacey@math.ntnu.no
 
9
E-mail: loopspace@mathforge.org
10
10
Released under the LaTeX Project Public License v1.3c or later
11
11
See http://www.latex-project.org/lppl.txt
12
12
----------------------------------------------------------------
33
33
----------------------------------------------------------------
34
34
hobby --- a TikZ/PGF library for drawing smooth(ish) curves using
35
35
          Hobby's algorithm (implemented in LaTeX3)
36
 
E-mail: stacey@math.ntnu.no
 
36
E-mail: loopspace@mathforge.org
37
37
Released under the LaTeX Project Public License v1.3c or later
38
38
See http://www.latex-project.org/lppl.txt
39
39
----------------------------------------------------------------
41
41
\endpreamble
42
42
\postamble
43
43
 
44
 
Copyright (C) 2012 by Andrew Stacey <stacey@math.ntnu.no>
 
44
Copyright (C) 2012 by Andrew Stacey <loopspace@mathforge.org>
45
45
 
46
46
This file may be distributed and/or modified under the conditions
47
47
of the LaTeX Project Public License, either version 1.3 of this
110
110
%</driver>
111
111
% \fi
112
112
%
113
 
% \CheckSum{3304}
 
113
% \CheckSum{3380}
114
114
%
115
115
% \CharacterTable
116
116
%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
134
134
%
135
135
% \providecommand*{\url}{\texttt}
136
136
% \title{The \textsf{Hobby} package: code}
137
 
% \author{Andrew Stacey \\ \url{stacey@math.ntnu.no}}
 
137
% \author{Andrew Stacey \\ \url{loopspace@mathforge.org}}
138
138
% \date{\hobbyVersion\ from\ \hobbyDate}
139
139
% \maketitle
140
140
%
182
182
 
183
183
\tl_new:N \g__hobby_version
184
184
\tl_new:N \g__hobby_date
185
 
\tl_set:Nn \g__hobby_version {1.4}
186
 
\tl_set:Nn \g__hobby_date {2014-01-21}
 
185
\tl_set:Nn \g__hobby_version {1.6}
 
186
\tl_set:Nn \g__hobby_date {2014-08-11}
187
187
\DeclareDocumentCommand \hobbyVersion {}
188
188
{
189
189
  \tl_use:N \g__hobby_version
1808
1808
%    \end{macrocode}
1809
1809
% \end{macro}
1810
1810
%
1811
 
% \begin{macro}{\hobby@pgfpoint}
1812
 
% This is the start of the iterator which decides whether to continue or not.
1813
 
%    \begin{macrocode}
1814
 
\def\hobby@pgfpoint#1{%
1815
 
  \ifx#1\pgf@stop
1816
 
  \let\@next=\pgfutil@gobble
1817
 
  \else
1818
 
  \let\@next=\hobby@addpgfpoint
1819
 
  \fi
1820
 
  \@next#1
1821
 
}
1822
 
%    \end{macrocode}
1823
 
% \end{macro}
1824
 
%
1825
 
% \begin{macro}{\hobby@addpgfpoint}
1826
 
% This adds a point to the current list and returns control to the iterator.
1827
 
%    \begin{macrocode}
1828
 
\def\hobby@addpgfpoint#1#2#3{%
1829
 
  #1{#2}{#3}%
1830
 
  \pgfmathsetmacro\hobby@x{\the\pgf@x/1cm}%
1831
 
  \pgfmathsetmacro\hobby@y{\the\pgf@y/1cm}%
1832
 
  \hobbyaddpoint{x = \hobby@x, y = \hobby@y}%
1833
 
  \hobby@pgfpoint}
1834
 
%    \end{macrocode}
1835
 
% \end{macro}
1836
 
%    
1837
1811
%
1838
1812
% Plot handlers
1839
1813
%