]> 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 fc0c0940f33cc1aa7bb72552b9d35c9278a06b01..a7546719e7a89c37dc205b022a78c6ac71f6785d 100644 (file)
@@ -15,6 +15,44 @@ Version 0.01
 
 our $VERSION = '0.01';
 
+=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 {
@@ -40,6 +78,10 @@ sub import {
  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>.