\import und \includegraphics mit Makros: Beibehalten des lokalen Pfads zum Zeitpunkt der Makrodefinition

\import und \includegraphics mit Makros: Beibehalten des lokalen Pfads zum Zeitpunkt der Makrodefinition

Ich habe mir seit einigen Tagen den Kopf über dieses Problem zerbrochen und viele Kombinationen von \def, \edef, \noexpand, \expandafter, usw. ausprobiert.

Angenommen, ich habe ein Modul unter , das und /tmp/module/enthält . In definiere ich ein Makro, das unter anderem verwendet, um das Bild in diesem Untermodul mit einem relativen Pfad einzufügen:module.teximage.pngmodule.tex\includegraphics

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

Und dann mache ich von meinem Hauptdokument aus ein „ \importoder“ \subimportund versuche dann, das \myQuizHeaderMakro zu verwenden:

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

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

Während import den Modulpfad korrekt voranstellt, um Dateien und Bilder relativ zum Modul zu finden, während man sich darin befindet , werden diese Pfade beim Verlassen des Moduls entfernt, sodass die in diesem Modul definierten Makros nicht mehr richtig funktionieren. Wenn ich es aus der Hauptdatei module.texaufrufe, wird das Bild nicht gefunden.\myQuizHeader{27}

Wie kann ich das richtig lösen? Ich habe versucht, Tricks anzuwenden, indem ich die \Ginput@pathVariable in einer lokalen Variable innerhalb des Moduls gespeichert habe, aber dann bin ich in \edefdie \noexpandHölle geraten.

Vielen Dank!

verwandte Informationen