[twg-tds] Question: how to include an image file in a document class?

Reinhard Kotucha reinhard.kotucha at web.de
Mon Sep 14 00:41:59 CEST 2015

Ulrike, if I understand Lei's problem correctly, MiKTeX doesn't find
tex/latex/uowthesis/UoWlogo.png for some reason.  I can't believe it.
Can you reproduce the problem?

On 2015-09-13 at 04:08:32 +0000, Lei Ye wrote:

 > In the document "A Directory Structure for TEX Files" version 1.1, June
 > 23 2004, it defines the TDS texmf directory tree and use "texmf" to
 > refer to its root.
 > e.g.     texmf/doc

The TDS tells you where to *put* your files.  If you put them into the
right directories they will be found by your TeX system automatically.

 > Are there generic, platform-independent TEX variables like @TEXMF and
 > @TEXMFLOCAL to resolve the directory tree defined in TDS for both Tex
 > Live and MikTeX?
 > e.g. To allow any of the following to work:
 > \IfFileExists{\@TEXMFLOCAL /doc/latex/uowthesis/UoWlogo.png}
 > \includegraphics{\@TEXMFLOCAL /doc/latex/uowthesis/UoWlogo.png}

There is neither a need to specify a path nor is it desired.  Use




instead and rely on your TeX system.  You can check it on the command
line.  On TeX Live I get

  $ kpsewhich UoWthesis.cls


  $ kpsewhich UoWlogo.png

I suppose that on MiKTeX the first command works for you.  If the
second doesn't, please note that there are already 61 PNG files under
TEXMF/tex/latex.  I can't imagine that MiKTeX is unable to find any
of them.  Did you install the PNG file manually and forgot to update
the filename database?

 > \graphicspath{  {\@TEXMF /tex/latex/uowthesis/}  {\@TEXMFLOCAL
 > /tex/latex/uowthesis/}  {\@TEXMFLOCAL /doc/latex/uowthesis/} {\@TEXMF
 > /doc/latex/uowthesis/} }

I assume that you tried \graphicspath because something else went
wrong.  The short answer is "hands off!".

First of all, ***never*** use absolute paths.  

\graphicspath is supposed to contain a list of paths relative to the
location of a particular document.  It should never be used in .cls or
.sty files.

The original idea was to allow you to write


instead of


but the latter solution is much more efficient wrt TeX's memory
consumption.  Therefore \graphicspath is deprecated nowadays.  It
unnecessarily adds things to TeX's string pool without providing a
significant benefit to the user.


Reinhard Kotucha                            Phone: +49-511-3373112
Marschnerstr. 25
D-30167 Hannover                    mailto:reinhard.kotucha at web.de

More information about the twg-tds mailing list