X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2FLaTeX-TikZ.git;a=blobdiff_plain;f=lib%2FLaTeX%2FTikZ.pm;h=a7546719e7a89c37dc205b022a78c6ac71f6785d;hp=713aff81f2a27593e18f1d1a2370be577a8d85d0;hb=e6c6fbca8df4f8df7bbce2eb98dd260ed51d9141;hpb=e8f0879ade07eed4f58cd52c0771f4e1ecc90b09 diff --git a/lib/LaTeX/TikZ.pm b/lib/LaTeX/TikZ.pm index 713aff8..a754671 100644 --- a/lib/LaTeX/TikZ.pm +++ b/lib/LaTeX/TikZ.pm @@ -15,7 +15,45 @@ Version 0.01 our $VERSION = '0.01'; -use LaTeX::TikZ::API; +=head1 SYNOPSIS + + use LaTeX::TikZ; + + # A couple of lines + my $hline = Tikz->line(-1 => 1); + my $vline = Tikz->line([ 0, -1 ] => [ 0, -1 ]); + + # Paint them in red + $_->mod(Tikz->color('red')) for $hline, $vline; + + # An octogon + use Math::Complex; + my $octo = Tikz->closed_polyline( + map Math::Complex->emake(1, ($_ * pi)/4), 0 .. 7 + ); + + # Only keep a portion of it + $octo->clip(Tikz->rectangle(-0.5*(1+i), 2*(1+i))); + + # Fill it with dots + $octo->mod(Tikz->pattern(class => 'Dots')); + + # Create a formatter object + my $tikz = Tikz->formatter; + + # Put those objects all together and print them + my $seq = Tikz->seq($octo, $hline, $vline); + my ($head, $decl, $body) = $tikz->render($seq); + print "$_\n" for map @$_, $head, $decl, $body; + +=head1 DESCRIPTION + +This module provides an object model for TikZ, a graphical tookit for LaTeX. +It allows you to build structures representing geometrical figures, apply a wide set of modifiers on them, transform them globally with functors, and print them in the context of an existing TeX document. + +=cut + +use LaTeX::TikZ::Interface; sub import { shift; @@ -29,17 +67,21 @@ sub import { } my $pkg = caller; - my $const = sub () { 'LaTeX::TikZ::API' }; + my $const = sub () { 'LaTeX::TikZ::Interface' }; { no strict 'refs'; *{$pkg . '::' . $name} = $const; } - LaTeX::TikZ::API->load; + LaTeX::TikZ::Interface->load; return; } +=head1 SEE ALSO + +PGF/TikZ - L. + =head1 AUTHOR Vincent Pit, C<< >>, L.