Я использую эту команду \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
. Есть ли способ это исправить?