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.tex
e image.png
. Em module.tex
defino uma macro que, entre outras coisas, usa \includegraphics
para 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 \import
or \subimport
e tento usar a \myQuizHeader
macro:
% 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@path
variável em uma variável local dentro do módulo, mas depois entrei \edef
e \noexpand
diabos.
Muito obrigado!