95

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...

1

4 Answers 4

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}

enter image description here

Experiment with images with different aspect ratios to see the effect.

3
  • 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 7, 2016 at 10:56
  • @IvanKush a good question to ask is why is this the accepted answer...
    – Art
    Apr 25, 2022 at 4:13
  • This answer is the solution because the image width is constrained to be up to width (and similarly for height) and the image will shrink as needed in order to satisfy the aspect ratio.
    – MD004
    Apr 12, 2023 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.

2
  • 1
    if 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.
    – bersling
    Dec 8, 2016 at 8:18
  • @IvanKush Also, the number of views of this question, currently 254k, is extremely big. Jan 17, 2019 at 1: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.

4
  • 5
    Do you really need keepaspectratio when you only specify either width or height but not both? Mar 8, 2012 at 13:36
  • 1
    When only width or height is specified the aspect ratio is automatically maintained by TeX. I have corrected the MWE accordingly. Thank you for noting it. Some how I over looked the same.
    – user11232
    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 and keepaspectratio.
    – yannisl
    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.
    – Ivan Kush
    Dec 7, 2016 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} 
1
  • 5
    Welcome 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.
    – TeXnician
    Feb 13, 2018 at 10:04

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .