]> git.vpit.fr Git - perl/modules/LaTeX-TikZ.git/blobdiff - lib/LaTeX/TikZ.pm
First cut at the documentation
[perl/modules/LaTeX-TikZ.git] / lib / LaTeX / TikZ.pm
index 713aff81f2a27593e18f1d1a2370be577a8d85d0..a7546719e7a89c37dc205b022a78c6ac71f6785d 100644 (file)
@@ -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<http://pgf.sourceforge.net>.
+
 =head1 AUTHOR
 
 Vincent Pit, C<< <perl at profvince.com> >>, L<http://www.profvince.com>.