\import e \includegraphics com macros: preservando o caminho local no momento da definição da macro

\import e \includegraphics com macros: preservando o caminho local no momento da definição da macro

Estou batendo a cabeça nesse problema há alguns dias, tentando muitas combinações de \def, \edef, \noexpand, \expandafter, etc.

Digamos que eu tenha um módulo no /tmp/module/qual contém module.texe image.png. Em module.texdefino uma macro que, entre outras coisas, usa \includegraphicspara extrair a imagem dentro deste submódulo com um caminho relativo:

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

E então, no meu documento principal, faço um \importor \subimporte tento usar a \myQuizHeadermacro:

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

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

Embora import precede corretamente o caminho do módulo para encontrar arquivos e imagens relativos ao módulo enquanto inside module.tex, esses caminhos são removidos ao sair do módulo, portanto, as macros definidas nesse módulo não funcionam mais corretamente. Quando ligo \myQuizHeader{27}do arquivo principal a imagem não é encontrada.

Qual é a maneira correta de resolver isso? Tentei fazer truques para salvar a \Ginput@pathvariável em uma variável local dentro do módulo, mas depois entrei \edefe \noexpanddiabos.

Muito obrigado!

informação relacionada