For the graphicx
package, we can use \graphicspath{...}
so that we can directly use filenames in the argument of \includegraphics{...}
. Can a similar thing be done for directly using filenames in \input{...}
. I know of the method mentioned here but if this was the way to do it, then why does \graphicspath{...}
exist?
[Tex/LaTex] Can a default path be set globally for \input{…} akin to \graphicspath{…}
inputpaths
Best Answer
\graphicspath
comes from LaTeX's\input@path
, just using the paths for graphics files.\input@path
can be set independently, e.g.:Internally package
graphics
stores its path of\graphicspath
in\Ginput@path
and locally sets\input@path
to\Ginput@path
, if it looks for files via\IfFileExists
.Addition to
\input@path
The macro
\input@path
can be undefined (usually the default in LaTeX) or it can already contain other path entries. Therefore,\providecommand
in the following code first defines the macro for the case that\input@path
is undefined. Then\g@addto@macro
extends the definition of\input@path
.Alternatively
\edef
can be used, which expands the definition text. The next example uses it to prepend the contents to\input@path
to the old meaning of\input@path
: