25

I asked a question a while ago about vertically aligning enumerate labels to the top of table. Now I am having the same problem, but with images. Since my problem was solved in my previous thread, I tried sticking the image in a single-cell table and aligning that with the tabular's alignment parameter, but it seemed to have no effect.

Can someone explain what is the correct way to align this image and why didn't sticking it in a table work as expected? I am simply trying to align the enumerate label with the top of my image.

enter image description here

\begin{enumerate}[label=(\alph*)]
  \item\begin{tabular}[t]{l}\includegraphics[width=10cm]{13a.png}\end{tabular}
\end{enumerate}

2 Answers 2

28

Martin Scharrer's package adjustbox will help you:

\usepackage{adjustbox}
...
\begin{enumerate}[label=(\alph*)]
  \item\adjustbox{valign=t}{\includegraphics[width=10cm]{13a.png}}
\end{enumerate}

The image will be set so that its height will match that of words and it will stick below the baseline.


In case adjustbox is not available, one can do in a more complicated way; after loading the calc package

\usepackage{calc}

saying

\raisebox{-\height+\ht\strutbox}{\includegraphics[width=10cm]{13a.png}}

will have the same effect.

6
  • With that I get this error: |149 error| Illegal unit of measure (pt inserted). \relax ...udegraphics[valign=t,width=10cm]{13a.png} . Any ideas what that is about?
    – nw.
    Commented Oct 3, 2011 at 18:04
  • @nw. I changed the code
    – egreg
    Commented Oct 3, 2011 at 18:14
  • @nw.: This error got fixed with v0.8 of adjustbox. You can since use the following again: \includegraphics[width=10cm,valign=t]{13a.png}. Note that the order of the options influences the alignment. If valign is used first width will also scale the height and depth. Commented Feb 5, 2013 at 22:42
  • Is there a solution without a dependency on an external package? I can't install latex packages on my work computer.
    – Turion
    Commented Mar 4, 2013 at 15:36
  • 1
    @Turion I've added the code
    – egreg
    Commented Mar 4, 2013 at 15:50
13

Just saw this when looking for myself. I found the easiest way to do this is:

item[a)] \text{}\\
\includegraphics{foo.bar}

No need for extra packages.

2
  • 1
    Welcome to TeX.sx!
    – Mensch
    Commented Apr 18, 2013 at 18:09
  • i think you want a backslash before \item, and you might also want to note that the packages graphicx and amsmath are needed. otherwise, very nice. Commented Apr 18, 2013 at 18:23

You must log in to answer this question.

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