Possible Duplicate:
Best figure size adjustment when dealing with different image sizes

Given: a large figure, whose height:width ratio is unknown.
Todo: Include this fig in LaTeX, such that:

  • if the figure is very tall, then fit its height to page
  • if the figure is very wide, then fit its width to page

How to do it?

Or in other words, is there way for LaTeX to get (or compare) the width and length of a figure?


2 Answers 2


How about

  • 1
    @lukmac: if you want the picture with the height equal to text height, remove width=\textwidth keyvalue and viceversa.
    – Azoun
    Commented Oct 27, 2011 at 13:48
  • 12
    @ArrayIndexOutOfBoundsException: Thanks for your answer. While this is relative common known, it is good to have it here for beginners to find. You should also mention that you need the graphicx package (not graphics) for this, even if it is standard package. Commented Oct 27, 2011 at 17:06
  • 7
    It's a nice solution but the caption goes over the page number when using \textheight
    – xApple
    Commented Jul 10, 2013 at 15:19
  • 13
    @xApple Just use something like height=0.9\textheight .
    – tcpaiva
    Commented Aug 5, 2015 at 5:06
  • 3
    I am still looking for an adaptive solution to integrate the entire caption depending on its height. Since the text of the captions can change, it would be a good thing if the image size could be adjusted accordingly (automatically).
    – DaveM
    Commented Dec 5, 2019 at 15:05

Given that the figure is large, the adjustbox package can be used scale the image to a specified maximum width and height and keep the aspect ratio:


\begin{adjustbox}{max size={\textwidth}{\textheight}}


As Martin pointed out, a simpler solution would be to use \usepackage[export]{adjustbox}:


\includegraphics[max size={\textwidth}{\textheight}]{images/eiffel_tower}
  • 4
    Simply use \usepackage[export]{adjustbox} and \includegraphics[max size={\textwidth}{\textheight}]{<image>}. Note that this will only scale it down if it is larger (as you assumed). Commented Oct 27, 2011 at 18:50
  • 3
    This is very useful also for cases where \includegraphcs is somehow involved, but not directly available for passing keyword arguments to it. This is the case with SVG files exported to PDF for LaTeX using Inkscape. In that case only the image width is adjustable through \svgwidth, whereas the height is not. So using an encapsulating environment like adjustbox seems to be the only solution.
    – 0 _
    Commented Jul 23, 2013 at 3:38

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