Использование \subimport внутри \newcommand

Использование \subimport внутри \newcommand

Я использую эту команду \subimportи очень доволен ею. Однако, она, похоже, не работает, когда я использую ее внутри \newcommandсреды.

Структура моего файла следующая:

./main.tex
./Macros/macros.tex
./Macros/Submodules/stringdiagrams.tex
./Macros/Submodules/symbols/somefile.tex

./main.texкак следует:

\documentclass{article}

\usepackage{import}
\usepackage{tikz}

\import{Macros/}{macros}

\begin{document}

$\MyInlineFigure$
$\test$
\end{document}

Мои макросы написаны в модульном стиле, и каждый подмодуль макроса вызывается из ./Macros/macros.tex, что выглядит следующим образом (это однострочный файл для данного MWE):

\subimport{Submodules/}{stringdiagrams}

Файл ./Macros/Submodules/stringdiagrams.texсодержит некоторые команды для отображения tikzфигур в среде inline. Эти файлы хранятся в папке ./Macros/Submodules/symbols. ./Macros/Submodules/stringdiagrams.texвыглядит следующим образом:

\newcommand{\MyInlineFigure}{ 
   \subimport{symbols/}{somefile}
}

\newcommand{\test}{
    \begin{tikzpicture} [scale=1,transform shape]
        \node [fill=red] (mult) at (0,0) {};
    \end{tikzpicture}
}

Наконец, ./Macros/Submodules/symbols/somefile.texэто просто

\begin{tikzpicture} [scale=1,transform shape]
\node [fill=red] (mult) at (0,0) {};
\end{tikzpicture}

Теоретически команды $\MyInlineFigure$и $\test$должны выдавать одинаковый вывод, и я должен увидеть два красных квадрата. Однако, когда я пытаюсь скомпилировать LaTeX, не могу найти somefile.tex.

Если ./Macros/Submodules/stringdiagrams.texзаменить \subimport{symbols/}{somefile.tex}на \input{Macros/Submodules/symbols/somefile.tex}то все работает.

Если main.texя его закомментирую, $\MyInlineFigure$то он скомпилируется и правильно покажет красный квадрат, доказывая, что

  • \subimportспособен достичь./Macros/Submodules/stringdiagrams.tex
  • Проблема не в этом tikz.

В конце концов, похоже, \subimportчто это не работает, когда я вызываю его внутри \newcommand. Есть ли способ это исправить?

Связанный контент