++ed by:

1 non-PAUSE user.

Lutz Gehlen
and 1 contributors

# NAME

Math::Geometry::Construction::Draw::TikZ - TikZ output

Version 0.021

# SYNOPSIS

  use Math::Geometry::Construction;

my $construction = Math::Geometry::Construction->new; my$p1 = $construction->add_point('x' => 100, 'y' => 150); my$p2 = $construction->add_point('x' => 130, 'y' => 110); my$l1 = $construction->add_line(extend => 10, support => [$p1, $p2]); my$tikz = $construction->as_tikz(width => 8, height => 3, view_box => [0, 0, 800, 300], svg_mode => 1); my (undef, undef,$body) = Tikz->formatter->render($tikz); my$string = sprintf("%s\n", join("\n", @$body)); print <<END_OF_TEX; \\documentclass{article} \\usepackage{tikz} \\begin{document}$string\\end{document}
END_OF_TEX

# DESCRIPTION

This class implements the Math::Geometry::Construction::Draw interface in order to generate TikZ code to be used in LaTeX. It is instantiated by the draw method in Math::Geometry::Construction.

The output created by this class will be a LaTeX::TikZ::Set::Sequence object. See SYNOPSIS.

Key/value pairs in the style settings of lines, circles etc. are translated into raw_mod calls

    while(my ($key,$value) = each(%style)) {
$raw->mod(TikZ->raw_mod("$key=\$value"));
}

See LaTeX::TikZ if you want to know what this code exactly does. Anyway, the important part is that you should be able to use any modifier that TikZ understands. See also svg_mode|/svg_mode.

# INTERFACE

## Public Attributes

### svg_mode

Defaults to 0. If set to a true value, SVG style attributes are mapped to TikZ attributes internally. The idea behind this is that you might want to use the same construction including style settings for both SVG and TikZ export. This feature is experimental and will probably never cover the full SVG and/or TikZ functionality.

Currently, only stroke is mapped to color, and this is done literally. It will therefore only work for named colors which exist in both output formats.

### math_mode

Defaults to 0. If set to a true value, all text is printed in LaTeX's math mode. Again, this is to enable the same code to be used for TikZ along side other output formats while still typesetting labels in math mode.

## Methods

Lutz Gehlen, <perl at lutzgehlen.de>