| Support local problem solving programs by contributing to
the Art of Problem Solving Foundation. Click here for more information about the Foundation. |
In this section we'll discuss how you can manipulate images in LaTeX.
Cropping
Spacing
Scaling and Resizing
Rotating
Reflecting
Centering
Note that some of these commands work with text as well - diagrams are not the only items that can be reflected, rotated, etc. In practice, the centering is the only one of the above you're likely to use much with text.
We'll start where we left off on the How To page. If you haven't already reviewed that page, do so now. Make sure you save the myimage.png file to your computer for use in these examples. Our original source code is:
Usually, we manipulate the image by adding an optional command to the \includegraphics statement. This optional command goes in brackets [...] between the \includegraphics command and the name of the image. For example,
will rotate the image 45 degrees.
The viewport optional command of the \includegraphics command tells what portion of the image file to include. The first two coordinates are the (x,y) coordinates in pixels of the lower left corner of the portion of the image file you want to inclue. The second two coordinates are the upper right values of (x,y). Try changing the values in the original source file and see what happens.
For example, the code above should result in a document like this. You can see that we only have a 90x90 pixel part of the image.
You may have noticed the subtle change to \includegraphics*: we added a * to the end of the command. This * "clips" the image to the viewport that we specified. If we had omitted it:
we end up shifting the image to a new position, but not cropping it, as shown here.
Unfortunately, there's no easy way to read off the coordinates for your image. You'll have to use trial and error to set these values for each image.
One issue to watch out for is spacing. Suppose we take out the empty lines from our original source code:
If you compile this, you should get something that looks like this. By removing the blank lines, we are telling LaTeX to try to put the image in the same line as the text. You see the mess that results. Generally, put an extra line before and after your image inclusion in your source file and you should be fine. This will also help you find the image in the source file if you need to edit.
We can easily scale the size of the diagram by using the scale optional command.
This scaled our figure by a factor of 0.25 (in other words, it makes it 4 times smaller), as shown here.
We can also scale the picture by explicity setting the width and the height by using the (duh) width and height optional commands. For example:
resizes our image to be 5 inches by 1 inch, as shown here.
We can rotate a diagram by using the angle optional command.
This rotates our picture 45 degrees (counterclockwise), as shown here.
We can horizontally reflect a diagram by using the \reflectbox command.
See the result here - note that the text in the center of the image now reads backwards! The \reflectbox command is pretty simple - put the item to be horizontally reflected in { }:
\reflectbox{item reflected}
\reflectbox has two companion commands \scalebox and \rotatebox. These can be used with text as well as graphics, to produce some funky effects:
The output document shows text that is doubled in size, rotated 60 degrees, and reflected.
We center text or images using \begin{center} and \end{center}.
Just put \begin{center} when you want to start centering, and \end{center} when you want to stop centering. (If you want to center everything until the end of the document, you still need an \end{center} before the \end{document} at the end of the source file.
The code above should give you something like this.

