]> git.vpit.fr Git - perl/modules/LaTeX-TikZ.git/commitdiff
Make sure POD headings are linkable
authorVincent Pit <vince@profvince.com>
Wed, 22 Apr 2015 20:14:31 +0000 (17:14 -0300)
committerVincent Pit <vince@profvince.com>
Wed, 22 Apr 2015 20:14:31 +0000 (17:14 -0300)
lib/LaTeX/TikZ.pm
lib/LaTeX/TikZ/Formatter.pm
lib/LaTeX/TikZ/Functor.pm
lib/LaTeX/TikZ/Functor/Rule.pm
lib/LaTeX/TikZ/Interface.pm
lib/LaTeX/TikZ/Meta/TypeConstraint/Autocoerce.pm
lib/LaTeX/TikZ/Set.pm
lib/LaTeX/TikZ/Tools.pm

index 57f2433e06e92faa3326335c8d2cb4bb9ff25714..1c12cadf3862a9096ea3a3632ffa00a744a325a1 100644 (file)
@@ -83,7 +83,9 @@ The two TikZ concepts of I<clips> and I<layers> have been unified with the modif
 
 =head2 Containers
 
-=head3 C<< Tikz->union(@seq) >>
+=head3 C<union>
+
+    Tikz->union(@seq)
 
 Creates a L<LaTeX::TikZ::Set::Union> object out of the paths C<@kids>.
 
@@ -97,14 +99,18 @@ Creates a L<LaTeX::TikZ::Set::Union> object out of the paths C<@kids>.
            'even odd rule',
           );
 
-=head3 C<< Tikz->join($connector, @kids) >>
+=head3 C<join>
+
+    Tikz->join($connector, @kids)
 
 Creates a L<LaTeX::TikZ::Set::Chain> object that joins the paths C<@kinds> with the given C<$connector> which can be, according to L<LaTeX::TikZ::Set::Chain/connector>, a string, an array reference or a code reference.
 
     # A stair
     Tikz->join('-|', map [ $_, $_ ], 0 .. 5);
 
-=head3 C<< Tikz->chain($kid0, $link0, $kid1, $link1, ... $kidn) >>
+=head3 C<chain>
+
+    Tikz->chain($kid0, $link0, $kid1, $link1, ... $kidn)
 
 Creates a L<LaTeX::TikZ::Set::Chain> object that chains C<$kid0> to C<$kid1> with the string C<$link0>, C<$kid1> to C<$kid2> with C<$link1>, and so on.
 
@@ -114,7 +120,9 @@ Creates a L<LaTeX::TikZ::Set::Chain> object that chains C<$kid0> to C<$kid1> wit
      => '.. controls (0.75, 0.25) and (1, 1.5)      ..' => [ 0, 1 ]
     );
 
-=head3 C<< Tikz->seq(@kids) >>
+=head3 C<seq>
+
+    Tikz->seq(@kids)
 
 Creates a L<LaTeX::TikZ::Set::Sequence> object out of the sequences or paths C<@kids>.
 
@@ -124,7 +132,9 @@ Creates a L<LaTeX::TikZ::Set::Sequence> object out of the sequences or paths C<@
 
 Those are the building blocks of your geometrical figure.
 
-=head3 C<< Tikz->point($point) >>
+=head3 C<point>
+
+    Tikz->point($point)
 
 Creates a L<LaTeX::TikZ::Set::Point> object by coercing C<$point> into a L<LaTeX::TikZ::Point>.
 The following rules are available :
@@ -166,14 +176,18 @@ If C<$point> is a L<Math::Complex> object, the L<LaTeX::TikZ::Point::Math::Compl
 You can define automatic coercions from your user point types to L<LaTeX::TikZ::Point> by writing your own C<LaTeX::TikZ::Point::My::User::Point> class.
 See L<LaTeX::TikZ::Meta::TypeConstraint::Autocoerce> for the rationale and L<LaTeX::TikZ::Point::Math::Complex> for an example.
 
-=head3 C<< Tikz->line($from => $to) >>
+=head3 C<line>
+
+    Tikz->line($from => $to)
 
 Creates a L<LaTeX::TikZ::Set::Line> object between the points C<$from> and C<$to>.
 
     my $x_axis = Tikz->line(-5 => 5);
     my $y_axis = Tikz->line([ 0, -5 ] => [ 0, 5 ]);
 
-=head3 C<< Tikz->polyline(@points) >>
+=head3 C<polyline>
+
+    Tikz->polyline(@points)
 
 Creates a L<LaTeX::TikZ::Set::Polyline> object that links the successive elements of C<@points> by segments.
 
@@ -184,7 +198,9 @@ Creates a L<LaTeX::TikZ::Set::Polyline> object that links the successive element
      Tikz->point(1, 1),
     );
 
-=head3 C<< Tikz->closed_polyline(@points) >>
+=head3 C<closed_polyline>
+
+    Tikz->closed_polyline(@points)
 
 Creates a L<LaTeX::TikZ::Set::Polyline> object that cycles through successive elements of C<@points>.
 
@@ -195,7 +211,10 @@ Creates a L<LaTeX::TikZ::Set::Polyline> object that cycles through successive el
      Tikz->point(1, 0),
     );
 
-=head3 C<< Tikz->rectangle($from => $to), Tikz->rectangle($from => { width => $width, height => $height }) >>
+=head3 C<rectangle>
+
+    Tikz->rectangle($from => $to)
+    Tikz->rectangle($from => { width => $width, height => $height })
 
 Creates a L<LaTeX::TikZ::Set::Rectangle> object with opposite corners C<$from> and C<$to>, or with anchor point C<$from> and dimensions C<$width> and C<$height>.
 
@@ -204,13 +223,17 @@ Creates a L<LaTeX::TikZ::Set::Rectangle> object with opposite corners C<$from> a
      Tikz->point(2, 1),
     );
 
-=head3 C<< Tikz->circle($center, $radius) >>
+=head3 C<circle>
+
+    Tikz->circle($center, $radius)
 
 Creates a L<LaTeX::TikZ::Set::Circle> object of center C<$center> and radius C<$radius>.
 
     my $unit_circle = Tikz->circle(0, 1);
 
-=head3 C<< Tikz->arc($from => $to, $center) >>
+=head3 C<arc>
+
+    Tikz->arc($from => $to, $center)
 
 Creates a L<LaTeX::TikZ::Set> structure that represents an arc going from C<$from> to C<$to> with center C<$center>.
 
@@ -220,14 +243,19 @@ Creates a L<LaTeX::TikZ::Set> structure that represents an arc going from C<$fro
      [ 0, 0 ]
     );
 
-=head3 C<< Tikz->arrow($from => $to), Tikz->arrow($from => dir => $dir) >>
+=head3 C<arrow>
+
+    Tikz->arrow($from => $to)
+    Tikz->arrow($from => dir => $dir)
 
 Creates a L<LaTeX::TikZ::Set> structure that represents an arrow going from C<$from> towards C<$to>, or starting at C<$from> in direction C<$dir>.
 
     # An horizontal arrow
     my $arrow = Tikz->arrow(0 => 1);
 
-=head3 C<< Tikz->raw($content) >>
+=head3 C<raw>
+
+    Tikz->raw($content)
 
 Creates a L<LaTeX::TikZ::Set::Raw> object that will instantiate to the raw TikZ code C<$content>.
 
@@ -236,7 +264,9 @@ Creates a L<LaTeX::TikZ::Set::Raw> object that will instantiate to the raw TikZ
 Modifiers are applied onto sets by calling the C<< ->mod >> method, like in C<< $set->mod($mod) >>.
 This method returns the C<$set> object, so it can be chained.
 
-=head3 C<< Tikz->clip($path) >>
+=head3 C<clip>
+
+    Tikz->clip($path)
 
 Creates a L<LaTeX::TikZ::Mod::Clip> object that can be used to clip a given sequence by the (closed) path C<$path>.
 
@@ -249,7 +279,9 @@ Clips can also be directly applied to sets with the C<< ->clip >> method.
     my $set = Tikz->circle(0, 1.5)
                   ->clip(Tikz->rectangle([-1, -1] => [1, 1]));
 
-=head3 C<< Tikz->layer($name, above => \@above, below => \@below) >>
+=head3 C<layer>
+
+    Tikz->layer($name, above => \@above, below => \@below)
 
 Creates a L<LaTeX::TikZ::Mod::Layer> object with name C<$name> and optional relative positions C<@above> and C<@below>.
 
@@ -268,35 +300,45 @@ Layers can also be directly applied to sets with the C<< ->layer >> method.
                    ->mod(Tikz->pattern(class => 'Dots'))
                    ->layer('top');
 
-=head3 C<< Tikz->scale($factor) >>
+=head3 C<scale>
+
+    Tikz->scale($factor)
 
 Creates a L<LaTeX::TikZ::Mod::Scale> object that scales the sets onto which it apply by the given C<$factor>.
 
     my $circle_of_radius_2 = Tikz->circle(0 => 1)
                                  ->mod(Tikz->scale(2));
 
-=head3 C<< Tikz->width($line_width) >>
+=head3 C<width>
+
+    Tikz->width($line_width)
 
 Creates a L<LaTeX::TikZ::Mod::Width> object that sets the line width to C<$line_width> when applied.
 
     my $thick_arrow = Tikz->arrow(0 => 1)
                           ->mod(Tikz->width(5));
 
-=head3 C<< Tikz->color($color) >>
+=head3 C<color>
+
+    Tikz->color($color)
 
 Creates a L<LaTeX::TikZ::Mod::Color> object that sets the line color to C<$color> (given in the C<xcolor> syntax).
 
     # Paint the previous $thick_arrow in red.
     $thick_arrow->mod(Tikz->color('red'));
 
-=head3 C<< Tikz->fill($color) >>
+=head3 C<fill>
+
+    Tikz->fill($color)
 
 Creates a L<LaTeX::TikZ::Mod::Fill> object that fills the interior of a path with the solid color C<$color> (given in the C<xcolor> syntax).
 
     my $red_box = Tikz->rectangle(0 => { width => 1, height => 1 })
                       ->mod(Tikz->fill('red'));
 
-=head3 C<< Tikz->pattern(class => $class, %args) >>
+=head3 C<pattern>
+
+    Tikz->pattern(class => $class, %args)
 
 Creates a L<LaTeX::TikZ::Mod::Pattern> object of class C<$class> and arguments C<%args> that fills the interior of a path with the specified pattern.
 C<$class> is prepended with C<LaTeX::TikZ::Mod::Pattern> when it doesn't contain C<::>.
@@ -305,7 +347,9 @@ See L<LaTeX::TikZ::Mod::Pattern::Dots> and L<LaTeX::TikZ::Mod::Pattern::Lines> f
     my $hatched_circle = Tikz->circle(0 => 1)
                              ->mod(Tikz->pattern(class => 'Lines'));
 
-=head3 C<< Tikz->raw_mod($content) >>
+=head3 C<raw_mod>
+
+    Tikz->raw_mod($content)
 
 Creates a L<LaTeX::TikZ::Mod::Raw> object that will instantiate to the raw TikZ mod code C<$content>.
 
@@ -314,14 +358,18 @@ Creates a L<LaTeX::TikZ::Mod::Raw> object that will instantiate to the raw TikZ
 
 =head2 Helpers
 
-=head3 C<< Tikz->formatter(%args) >>
+=head3 C<formatter>
+
+    Tikz->formatter(%args)
 
 Creates a L<LaTeX::TikZ::Formatter> object that can render a L<LaTeX::TikZ::Set> tree.
 
     my $tikz = Tikz->formatter;
     my ($header, $declarations, $seq1_body, $seq2_body) = $tikz->render($set1, $set2);
 
-=head3 C<< Tikz->functor(@rules) >>
+=head3 C<functor>
+
+    Tikz->functor(@rules)
 
 Creates a L<LaTeX::TikZ::Functor> anonymous subroutine that can be called against L<LaTeX::TikZ::Set> trees to clone them according to the given rules.
 C<@rules> should be a list of array references whose first element is the class/role to match against and the second the handler to execute.
index 58c2985d4e20fdce2fdaf69108f1e0d04685c095..e06676affd631ee025852b30595eba295b8fee1c 100644 (file)
@@ -142,7 +142,9 @@ sub id {
  } map($tikz->$_, qw<unit format scale width height>), $origin;
 }
 
-=head2 C<render @sets>
+=head2 C<render>
+
+    my ($header_lines, $mod_lines, $content_lines) = $formatter->render(@sets);
 
 Processes all the L<LaTeX::TikZ::Set> objects given in C<@sets> to produce the actual TikZ code to insert in the LaTeX file.
 First, all the mods applied to the sets and their subsets are collected, and a declaration is emitted if needed for each of them by calling L<LaTeX::TikZ::Mod/declare>.
@@ -296,7 +298,9 @@ sub render {
  return \@header, \@decls, @bodies;
 }
 
-=head2 C<len $len>
+=head2 C<len>
+
+    my $physical_len = $formatter->len($logical_len);
 
 Format the given length according to the formatter options.
 
@@ -310,7 +314,9 @@ sub len {
  sprintf $tikz->format . $tikz->unit, $len * $tikz->scale;
 }
 
-=head2 C<angle $theta>
+=head2 C<angle>
+
+    my $physical_angle = $formatter->angle($logical_angle);
 
 Format the given angle (in radians) according to the formatter options.
 
@@ -326,7 +332,9 @@ sub angle {
  sprintf $tikz->format, POSIX::ceil($a);
 }
 
-=head2 C<label $name, $pos>
+=head2 C<label>
+
+    my $label = $formatter->label($name, $pos);
 
 Returns the TikZ code for a point labeled C<$name> at position C<$pos> according to the formatter options.
 
index bba3d5edae520a6392731ca087ece57bed7bdfe9..ac51ccf73d2d763331a2b6693fd1bf8050395677 100644 (file)
@@ -80,7 +80,11 @@ BEGIN {
 
 =head1 METHODS
 
-=head2 C<< new rules => [ $spec1 => $handler1, $spec2 => $handler2, ... ] >>
+=head2 C<new>
+
+    my $functor = LaTeX::TikZ::Functor->new(
+     rules => [ $spec1 => $handler1, $spec2 => $handler2, ... ],
+    );
 
 Creates a new functor object that will use both the default and the user-specified rules.
 The functor is also a code reference that expects to be called against L<LaTeX::TikZ::Set> objects.
@@ -204,7 +208,9 @@ LaTeX::TikZ::Interface->register(
  },
 );
 
-=head2 C<< default_rule $spec => $handler >>
+=head2 C<default_rule>
+
+    LaTeX::TikZ::Functor->default_rule($spec => $handler)
 
 Adds to all subsequently created functors a default rule for the class or role C<$spec>.
 
index 81b57355435fa408bea7bada1a7cee8bd651588c..7c55061b4de8e5fd2dd4bf4cc10c09e2bc204a54 100644 (file)
@@ -85,7 +85,12 @@ my $ltfrl_tc = subtype 'LaTeX::TikZ::Functor::RuleList'
 
 =head1 METHODS
 
-=head2 C<< new target => $target, handler => $handler >>
+=head2 C<new>
+
+    my $rule = LaTeX::TikZ::Functor::Rule->new(
+     target  => $target,
+     handler => $handler,
+    );
 
 Constructs a new rule object with target C<$target> and handler C<$handler>.
 
@@ -120,7 +125,13 @@ around 'BUILDARGS' => sub {
  $class->$orig(%args);
 };
 
-=head2 C<< insert into => \@list, overwrite => $overwrite, replace => $replace >>
+=head2 C<insert>
+
+    my $has_replaced = $rule->insert(
+     into      => \@list,
+     overwrite => $overwrite,
+     replace   => $replace,
+    );
 
 Inserts the current rule into the list of rules C<@list>.
 The list is expected to be ordered, in that each rule must come after all the rules that have a target that inherits or consumes the original rule's own target.
@@ -205,7 +216,9 @@ sub insert {
  return 0;
 }
 
-=head2 C<handles $obj>
+=head2 C<handles>
+
+    $rule->handles($obj);
 
 Returns true if and only if the current rule can handle the object or class/role name C<$obj>.
 
index 0a1739b2271e213005a49334c9492f4ad33c0b7c..220db4abb8cdc3fad5dd482ed5140c32b79e372f 100644 (file)
@@ -19,7 +19,9 @@ use Sub::Name ();
 
 =head1 METHODS
 
-=head2 C<< register $keyword => $code >>
+=head2 C<register>
+
+    LaTeX::Tikz::Interface->register($keyword => $code)
 
 Registers C<$code> to be available with C<< Tikz->$keyword >>.
 
index b1d85079376c935b12593aedda98822c1dd88e9b..28ca7067a1135f308f18d6234eb49bea2a0d7a92 100644 (file)
@@ -142,7 +142,13 @@ my $target_tc = __PACKAGE__->meta->find_attribute_by_name('target')
 
 =head1 METHODS
 
-=head2 C<< new name => $name, mapper => $mapper, target => $target >>
+=head2 C<new>
+
+    my $tc = LaTeX::TikZ::Meta::TypeConstraint::Autocoerce->new(
+     name   => $name,
+     mapper => $mapper,
+     target => $target,
+    );
 
 Constructs a type constraint object that will attempt to autocoerce objects that are not valid according to C<$target> by loading the class returned by C<$mapper>.
 
@@ -178,7 +184,9 @@ around 'new' => sub {
  return $class->$orig(%args);
 };
 
-=head2 C<coerce $thing>
+=head2 C<coerce>
+
+    $tc->coerce($thing)
 
 Tries to coerce C<$thing> by first loading a class that might contain a type coercion for it.
 
index 075dcb88b9ed88f48a29794a475df6aaeb507fc8..3d8112f91b0a15cb8d652c2d0e812ed44688a8d5 100644 (file)
@@ -61,7 +61,9 @@ requires qw<
  draw
 >;
 
-=head2 C<mod @mods>
+=head2 C<mod>
+
+    $set->mod(@mods)
 
 Apply the given list of L<LaTeX::TikZ::Mod> objects to the current set.
 
@@ -103,7 +105,9 @@ around 'draw' => sub {
  $body;
 };
 
-=head2 C<layer $layer>
+=head2 C<layer>
+
+    $set->layer($layer)
 
 Puts the current set in the corresponding layer.
 This is a shortcut for C<< $set->mod(Tikz->layer($layer)) >>.
@@ -122,7 +126,9 @@ sub layer {
  )
 }
 
-=head2 C<clip $path>
+=head2 C<clip>
+
+    $set->clip($path)
 
 Clips the current set by the path given by C<$path>.
 This is a shortcut for C<< $set->mod(Tikz->clip($path)) >>.
index b4dd550fbcaaa1e0c97dd214685313a7e3809396..d096f6bcf8741e549741255e9409c78be884c1cc 100644 (file)
@@ -30,7 +30,9 @@ use constant EPS => 1e-10;
 
 =head1 FUNCTIONS
 
-=head2 C<numeq $x, $y>
+=head2 C<numeq>
+
+    numeq($x, $y)
 
 Returns true if and only if C<$x> and C<$y> are equal up to L</EPS>.
 
@@ -38,7 +40,9 @@ Returns true if and only if C<$x> and C<$y> are equal up to L</EPS>.
 
 sub numeq { abs($_[0] - $_[1]) < EPS }
 
-=head2 C<numcmp $x, $y>
+=head2 C<numcmp>
+
+    numcmp($x, $y)
 
 Returns a negative number, zero, or a positive number when C<$x> is respectively smaller than, equal to, or greater than C<$y> up to L</EPS>.
 
@@ -46,7 +50,9 @@ Returns a negative number, zero, or a positive number when C<$x> is respectively
 
 sub numcmp { $_[0] < $_[1] - EPS ? -1 : $_[0] > $_[1] + EPS ? 1 : 0 }
 
-=head2 C<numround $x>
+=head2 C<numround>
+
+    numround($x)
 
 Returns the closest integer from C<$x> up to L</EPS>.
 
@@ -58,7 +64,9 @@ sub numround {
  $x + EPS < $i + 0.5 ? $i : $i + 1;
 }
 
-=head2 C<type_constraint $class>
+=head2 C<type_constraint>
+
+    my $tc = type_constraint($class)
 
 Finds the type constraint for C<$class> by first trying to load the relevant F<.pm> file.