Difference between revisions of "StaticImages"

From WeBWorK_wiki
Jump to navigation Jump to search
(added historical tag and gave updated problem link)
 
(26 intermediate revisions by 4 users not shown)
Line 1: Line 1:
  +
{{historical}}
  +
  +
<p style="font-size: 120%;font-weight:bold">This problem has been replaced with [https://openwebwork.github.io/pg-docs/sample-problems/problem-techniques/StaticImages.html a newer version of this problem]</p>
 
<h2>Static Graphic Images: PG Code Snippet</h2>
 
<h2>Static Graphic Images: PG Code Snippet</h2>
   
 
<p style="background-color:#eeeeee;border:black solid 1px;padding:3px;">
 
<p style="background-color:#eeeeee;border:black solid 1px;padding:3px;">
<em>This code snippet shows the essential PG code to insert a static (pre-generated) graphic image into a problem. Note that these are <b>insertions</b>, not a complete PG file. This code will have to be incorporated into the problem file on which you are working.</em>
 
  +
<em>The instructions below seem out-of-date. See discussion using [@ ... @]* in https://webwork.maa.org/moodle/mod/forum/discuss.php?d=3287 which works.
  +
  +
OLD:
  +
This code snippet shows the essential PG code to insert a static (pre-generated) graphic image into a problem. Note that these are <b>insertions</b>, not a complete PG file. This code will have to be incorporated into the problem file on which you are working.</em>
 
</p>
 
</p>
 
<p style="text-align:center;">
 
<p style="text-align:center;">
Line 16: Line 22:
 
<td style="background-color:#ffdddd;border:black 1px dashed;">
 
<td style="background-color:#ffdddd;border:black 1px dashed;">
 
<pre>
 
<pre>
BEGIN_TEXT
+
BEGIN_TEXT
\{ image( imagename.png ) \}
+
END_TEXT
+
\{ image( "imagename.png" ) \}
  +
  +
\{ image( "imagename.png", width=>150, height=>150,
  +
tex_size=>700, extra_html_tags=>'alt="Graph of a function."' ) \}
  +
  +
  +
END_TEXT
 
</pre>
 
</pre>
 
<td style="background-color:#ffcccc;padding:7px;">
 
<td style="background-color:#ffcccc;padding:7px;">
 
<p>
 
<p>
Here it's easy: we just use the <code>image</code> macro in the text section of the problem to include the image. The image that is to be included should be a common Web format (that is, GIF, PNG, or JPG) file, and should be in the same directory under the course <code>templates</code> directory as is the PG problem file.
+
Here it's easy: we just use the <code>image</code> macro in the text section of the problem to include the image. The images to be included should be GIF or PNG or JPG files. PNG files are recommended since they generally look better when rescaled. In order for PDF hardcopy generation to work properly, the names of image files must have only one period in them (imagename.png works but image.name.png does not). PDF files will work on hardcopy but do not immediately render in the browser without first clicking on the image box. In this case, the use of alternate text is needed.
  +
</p>
  +
<p>
  +
For each PG problem with static images, you should put both the PG file and the image files into their own separate subdirectory. This subdirectory should be located somewhere under the course <code>templates</code> directory and have the same root name as the PG file. For example, if you have a PG file called <code>Contour-plots.pg</code> which uses static graphic files <code>Contour-plot-01.gif</code> and <code>Contour-plot-02.gif</code>, you should create a subdirectory somewhere under the course <code>templates</code> directory called <code>Contour-plots</code> and put the PG file and all the GIF files in it. Putting a PG file and all of its graphics files into their own separate subdirectory like this makes it easier to find the graphics files that go with each PG file, thereby making the problem easier to maintain. The reason for having the subdirectory and the root name of the PG file be the same is as follows. When the library is browsed via directories, the library browser in WeBWorK is configured to recognize that when a subdirectory has the same name as the root name of the only PG file in that subdirectory, the subdirectory and PG file should be treated as a single entity.
  +
</p>
  +
<p>
  +
We should always, of course, include options such as specifying the <code>tex_size</code>, etc., in this call, as shown in the [[DynamicImages|including dynamic images]] code snippet. Taking the <code>tex_size => "667"</code> and dividing by 10 results in the percentage of the available space used by the graphic -- in this case 66.7 percent. Usually the available space is constrained by the width of one column of a two-column printed page.
 
</p>
 
</p>
 
<p>
 
<p>
We can, of course, include options such as specifying the <code>tex_size</code>, etc., in this call, as shown in the [[DynamicImages|including dynamic images]] code snippet.
 
  +
(When the alias() command in dangerousMacros.pl is rewritten in the future, support for JPG, PDF, and SWF files should become available.)
 
</p>
 
</p>
 
</td>
 
</td>

Latest revision as of 09:48, 29 June 2023

This article has been retained as a historical document. It is not up-to-date and the formatting may be lacking. Use the information herein with caution.

This problem has been replaced with a newer version of this problem

Static Graphic Images: PG Code Snippet

The instructions below seem out-of-date. See discussion using [@ ... @]* in https://webwork.maa.org/moodle/mod/forum/discuss.php?d=3287 which works. OLD: This code snippet shows the essential PG code to insert a static (pre-generated) graphic image into a problem. Note that these are insertions, not a complete PG file. This code will have to be incorporated into the problem file on which you are working.

Problem Techniques Index

PG problem file Explanation
BEGIN_TEXT

\{ image( "imagename.png" ) \}

\{ image( "imagename.png", width=>150, height=>150,  
tex_size=>700, extra_html_tags=>'alt="Graph of a function."' ) \}


END_TEXT

Here it's easy: we just use the image macro in the text section of the problem to include the image. The images to be included should be GIF or PNG or JPG files. PNG files are recommended since they generally look better when rescaled. In order for PDF hardcopy generation to work properly, the names of image files must have only one period in them (imagename.png works but image.name.png does not). PDF files will work on hardcopy but do not immediately render in the browser without first clicking on the image box. In this case, the use of alternate text is needed.

For each PG problem with static images, you should put both the PG file and the image files into their own separate subdirectory. This subdirectory should be located somewhere under the course templates directory and have the same root name as the PG file. For example, if you have a PG file called Contour-plots.pg which uses static graphic files Contour-plot-01.gif and Contour-plot-02.gif, you should create a subdirectory somewhere under the course templates directory called Contour-plots and put the PG file and all the GIF files in it. Putting a PG file and all of its graphics files into their own separate subdirectory like this makes it easier to find the graphics files that go with each PG file, thereby making the problem easier to maintain. The reason for having the subdirectory and the root name of the PG file be the same is as follows. When the library is browsed via directories, the library browser in WeBWorK is configured to recognize that when a subdirectory has the same name as the root name of the only PG file in that subdirectory, the subdirectory and PG file should be treated as a single entity.

We should always, of course, include options such as specifying the tex_size, etc., in this call, as shown in the including dynamic images code snippet. Taking the tex_size => "667" and dividing by 10 results in the percentage of the available space used by the graphic -- in this case 66.7 percent. Usually the available space is constrained by the width of one column of a two-column printed page.

(When the alias() command in dangerousMacros.pl is rewritten in the future, support for JPG, PDF, and SWF files should become available.)

Problem Techniques Index