나는 이 문제를 해결하기 위해 며칠 동안 , , , 등 \def
의 다양한 조합을 시도해 보았습니다 .\edef
\noexpand
\expandafter
및 을 /tmp/module/
포함하는 모듈이 있다고 가정해 보겠습니다 . 나는 무엇보다도 상대 경로를 사용하여 이 하위 모듈 내에서 이미지를 가져오는 데 사용하는 매크로를 정의합니다.module.tex
image.png
module.tex
\includegraphics
% module.tex
\newcommand{\myQuizHeader}[1]{
Quiz #1
\includegraphics[width=1.5in]{image.png}
}
그런 다음 기본 문서에서 또는 을 수행한 \import
다음 매크로를 \subimport
사용해 봅니다 \myQuizHeader
.
% main.tex
\documentclass[11pt,letterpaper]{article}
\usepackage{graphicx}
\usepackage{import}
\begin{document}
\import{/tmp/module/}{module.tex}
\myQuizHeader{27}
\end{document}
import는 내부에 있는 동안 모듈과 관련된 파일과 이미지를 찾기 위해 모듈 경로 앞에 올바르게 추가하지만 module.tex
모듈을 떠날 때 해당 경로가 제거되므로 해당 모듈에 정의된 매크로가 더 이상 올바르게 작동하지 않습니다. 기본 파일에서 호출하면 \myQuizHeader{27}
이미지를 찾을 수 없습니다.
이 문제를 해결하는 올바른 방법은 무엇입니까? \Ginput@path
변수를 모듈 내의 로컬 변수에 저장하여 트릭을 시도해 보았지만 결국 지옥 \edef
에 빠졌습니다 \noexpand
.
정말 감사합니다!