I would like to define a maximum height and a maximum width for an image at same time. I suppose there must be a package to do this, but actually I'm unable to find it...
4 Answers
You can use the keepaspectratio
key and define your graphics as:
\includegraphics[width=10cm,height=10cm,keepaspectratio]{image}
The MWE is as follows:
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\includegraphics[width=2cm,height=3cm,keepaspectratio]{./graphics/amato}
\includegraphics[width=2cm,height=3cm,keepaspectratio]{./graphics/cardtrick}
\end{document}
Experiment with images with different aspect ratios to see the effect.
-
9-1, he asked about max allowable width of image (so actual image width may be lower), but in your answer we set width. Commented Dec 7, 2016 at 10:56
-
@IvanKush a good question to ask is why is this the accepted answer...– ArtCommented Apr 25, 2022 at 4:13
-
This answer is the solution because the image width is constrained to be up to
width
(and similarly forheight
) and the image will shrink as needed in order to satisfy the aspect ratio.– MD004Commented Apr 12, 2023 at 22:34
If you load the package adjustbox
with the export
option, its keys are usable with \includegraphics
: put the following in the preamble
\usepackage[export]{adjustbox} % also loads graphicx
and then use
\includegraphics[max height=<dimension>,max width=<dimension>]{file}
In this way the image will be scaled at the maximum size so that its width and its height will not exceed the two stated dimensions and no distortion will be made.
-
1if you want to set width AND max width, then you can do it like this with the
adjustbox
package:\includegraphics[width=300, max width=\textwidth]{file}
. Don't put the max width first, it has to come after width.– berslingCommented Dec 8, 2016 at 8:18 -
@IvanKush Also, the number of views of this question, currently 254k, is extremely big. Commented Jan 17, 2019 at 1:47
You can use graphicx
package as below.
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\begin{figure}
\centering
\includegraphics[width=\textwidth]{imagefile.pdf}
\caption{Caption of the figure}
\end{figure}
\end{document}
imagefile.pdf
is the filename of your figure file and it can be .png, .jpg......etc.
-
5Do you really need
keepaspectratio
when you only specify eitherwidth
orheight
but not both? Commented Mar 8, 2012 at 13:36 -
1When only
width
orheight
is specified theaspect ratio
is automatically maintained by TeX. I have corrected the MWE accordingly. Thank you for noting it. Some how I over looked the same.– user11232Commented Mar 8, 2012 at 13:39 -
3@HarishKumar This can lead to problems. Suppose you have an image equal to
textwidth
height but 1.5textheight it will disappear at the bottom and vice versa. Best to use both andkeepaspectratio
.– yannislCommented Mar 8, 2012 at 15:46 -
5-1, he asked about max allowable width of image (so actual image width may be lower), but in your answer we set width. Commented Dec 7, 2016 at 10:54
In text (for instance IEEE with 2 columns) you can use:
\begin{figure}[!t]
\centering{\includegraphics[width=9cm,height=5cm,keepaspectratio]{Figure}}
\caption{type your caption}
\label{give a label if you want to refer to it in the text}
\end{figure}
-
5Welcome to TeX.SX! This is what the accepted answer already says (because the important part is the includegraphics line). Btw:
\centering
does not take an argument. Commented Feb 13, 2018 at 10:04