私は数日間この問題に頭を悩ませ、、、、などのさまざまな組み合わせを試してき\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
。
どうもありがとう!