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...
Asked
Active
Viewed 5e+01k times
95
-
This answer is what helped me: https://tex.stackexchange.com/a/341545/212071 – hasManyStupidQuestions Apr 05 '22 at 22:28
4 Answers
137
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.
kiss my armpit
- 36,086
yannisl
- 117,160
-
9-1, he asked about max allowable width of image (so actual image width may be lower), but in your answer we set width. – Ivan Kush Dec 07 '16 at 10:56
-
-
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. – MD004 Apr 12 '23 at 22:34
51
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.
Leon Bartz
- 25
egreg
- 1,121,712
-
1if you want to set width AND max width, then you can do it like this with the
adjustboxpackage:\includegraphics[width=300, max width=\textwidth]{file}. Don't put the max width first, it has to come after width. – bersling Dec 08 '16 at 08:18 -
@IvanKush Also, the number of views of this question, currently 254k, is extremely big. – muzimuzhi Z Jan 17 '19 at 01:47
7
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
keepaspectratiowhen you only specify eitherwidthorheightbut not both? – kiss my armpit Mar 08 '12 at 13:36 -
1When only
widthorheightis specified theaspect ratiois automatically maintained by TeX. I have corrected the MWE accordingly. Thank you for noting it. Some how I over looked the same. – Mar 08 '12 at 13:39 -
3@HarishKumar This can lead to problems. Suppose you have an image equal to
textwidthheight but 1.5textheight it will disappear at the bottom and vice versa. Best to use both andkeepaspectratio. – yannisl Mar 08 '12 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. – Ivan Kush Dec 07 '16 at 10:54
-2
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:
\centeringdoes not take an argument. – TeXnician Feb 13 '18 at 10:04