\import y \includegraphics con macros: preservando la ruta local en el momento de la definición de la macro

\import y \includegraphics con macros: preservando la ruta local en el momento de la definición de la macro

Llevo unos días dándole vueltas a este problema, probando muchas combinaciones de \def, \edef, \noexpand, \expandafter, etc.

Digamos que tengo un módulo /tmp/module/que contiene module.texy image.png. En module.texDefino una macro que, entre otras cosas, utiliza \includegraphicspara extraer la imagen dentro de este submódulo con una ruta relativa:

% module.tex
\newcommand{\myQuizHeader}[1]{
  Quiz #1
  \includegraphics[width=1.5in]{image.png}
}

Y luego desde mi documento principal hago un \importo \subimporty luego intento usar la \myQuizHeadermacro:

% main.tex
\documentclass[11pt,letterpaper]{article}
\usepackage{graphicx}
\usepackage{import}

\begin{document}
  \import{/tmp/module/}{module.tex}
  \myQuizHeader{27}
\end{document}

Si bien import antepone correctamente la ruta del módulo para buscar archivos e imágenes relativas al módulo mientras está dentro module.tex, esas rutas se eliminan al salir del módulo, por lo que las macros definidas en ese módulo ya no funcionan correctamente. Cuando llamo \myQuizHeader{27}desde el archivo principal, no se encuentra la imagen.

¿Cuál es la forma correcta de resolver esto? Intenté hacer trucos guardando la \Ginput@pathvariable en una variable local dentro del módulo, pero luego me metí en \edefel \noexpandinfierno.

¡Muchas gracias!

información relacionada