Difference between revisions of "TikZImagesStatic"
Jump to navigation
Jump to search
(initial checkin of this page.) |
(If $a or $b is not defined the example breaks.) |
||
Line 52: | Line 52: | ||
$graph_image->ext('svg') if $displayMode ne 'TeX'; |
$graph_image->ext('svg') if $displayMode ne 'TeX'; |
||
$graph_image->tikzLibraries("arrows.meta"); |
$graph_image->tikzLibraries("arrows.meta"); |
||
+ | |||
+ | # Randomization |
||
+ | $a = non_zero_random(-6,6); # horizonatal translation |
||
+ | $b = random(-4,4); # vertical translation |
||
$graph_image->BEGIN_TIKZ |
$graph_image->BEGIN_TIKZ |
||
Line 71: | Line 75: | ||
<li>The <tt>$graph_image->ext('svg') if $displayMode ne 'TeX';</tt> will generate a SVG image, which will generally look better than PNG. </li> |
<li>The <tt>$graph_image->ext('svg') if $displayMode ne 'TeX';</tt> will generate a SVG image, which will generally look better than PNG. </li> |
||
<li>The <tt>$graph_image->tikzLibraries("arrows.meta");</tt> will load the <tt>arrows.meta</tt> Tikz library.</li> |
<li>The <tt>$graph_image->tikzLibraries("arrows.meta");</tt> will load the <tt>arrows.meta</tt> Tikz library.</li> |
||
+ | <li>pg variables <tt>$a</tt> and <tt>$b</tt> are defined for use in the TikZ code that follows. If the TikZ code references non-existent pg variables the image creation fails silently.</li> |
||
<li>The actual tikz image is built between <tt>$graph_image->BEGIN_TIKZ</tt> and <tt>END_TIKZ</tt> </li> |
<li>The actual tikz image is built between <tt>$graph_image->BEGIN_TIKZ</tt> and <tt>END_TIKZ</tt> </li> |
||
</p> |
</p> |
Latest revision as of 16:59, 17 August 2021
Graphic Images, TikZImages
This example shows how to create an image/plot using Tikz.
PG problem file | Explanation |
---|---|
DOCUMENT(); loadMacros( "PGstandard.pl", "MathObjects.pl", "PGML.pl", "PGtikz.pl" ); TEXT(beginproblem()); |
Initialization: It is important to include the PGtikz.pl macro. |
$graph_image = createTikZImage(); # Only change the extenstion if the display mode is not TeX. The extension is automatically set # to 'pdf' by the macro if the display mode is TeX, and this overrides that which breaks # hardcopy generation. $graph_image->ext('svg') if $displayMode ne 'TeX'; $graph_image->tikzLibraries("arrows.meta"); # Randomization $a = non_zero_random(-6,6); # horizonatal translation $b = random(-4,4); # vertical translation $graph_image->BEGIN_TIKZ \draw[<->,thick] (-11,0) -- (11,0) node[above left,outer sep=2pt]{\(x\)}; \draw[<->,thick] (0,-11) -- (0,11) node[below right,outer sep=2pt]{\(y\)}; \foreach \x in {-10,-8,...,-2,2,4,...,10} \draw[thin] (\x,5pt) -- (\x,-5pt) node[below]{\(\x\)}; \foreach \y in {-10,-8,...,-2,2,4,...,10} \draw[thin] (5pt,\y) -- (-5pt,\y) node[left]{\(\y\)}; \draw[<->,red] plot[domain={-3.2+$a}:{3.2+$a}] (\x,{pow(\x-$a,2)+$b}); END_TIKZ |
Setup:
Notes: on using this and related Contexts. |
BEGIN_PGML [@ image(insertGraph($graph_image), width => 300, tex_size => 1000) @]* END_PGML |
Main Text: This is how to insert the tikz image. Note the width and tex_size parameters can change the size of the image on the web and as hardcopy. |
ENDDOCUMENT(); |
This doesn't have a question, so we aren't checking an answer. |
- POD documentation: nameOfMacro.pl.html
- PG macro: nameOfMacro.pl