9

Using texlive 2016 and TeXstudio 2.12.6, the following example worked:

\documentclass{article}
\usepackage{graphicx}
\begin{document}
\includegraphics[resolution=300]{figure.png}
\end{document}

Then I did this:

tlmgr update --self
tlmgr update --all

Now, the same example gives the following error:

! Package keyval Error: resolution undefined.

How can I figure out what changed, and in which package(s)?

6

The resolution key was amongst a rather large number that had 'appeared' in pdftex.def but were not supported in graphics and were undocumented. As part of the process of bringing .def support back 'in house' to the LaTeX team, these various keys were removed with some then being re-introduced in the graphics core (and documented). The resolution key is not currently supported: the team would need to see good reasons for adding this to the main body of graphics.

  • 2
    One good reason would be that (apart from using a pdftex primitive) there is no way to override the image's resolution without explicitly setting the width. This is a problem if your images contain text which should look the same as the text in the document (i.e. the exact same size). – rudolfbyker Sep 22 '17 at 10:45
  • @rudolfbyker in what way is specifying a resolution any different from specifying a scale factor (of the ratio of the default and specified resolution)? – David Carlisle Sep 22 '17 at 11:33
  • 1
    @DavidCarlisle I did some tests, and it seems that the density value embedded in the PNG file is ignored. In that case, scale and density are the same. I assumed that the scale is applied after adapting to the the PNG's density, and "resolution" overwrites it. Not so, it seems. If you take two pictures with the same amount of pixels in the x and y directions, but different densities, they still look the same in this example: \documentclass{article}\usepackage{graphicx}\begin{document}\includegraphics[scale=0.24]{figure_72dpi.png}\includegraphics[scale=0.24]{figure_300dpi.png}\end{document} – rudolfbyker Sep 22 '17 at 12:40
  • I was using this in a command to detect low-resolution images and display it in a smaller size with beamer, but I'm not sure if this realy worked: \settowidth{\imagewidth}{\includegraphics[resolution=150]{#1}} and later \ifdim\imagewidth>500pt then use special command for low-res images. – omisson Nov 19 '17 at 17:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.