Verwenden von \subimport innerhalb von \newcommand

Verwenden von \subimport innerhalb von \newcommand

Ich verwende den Befehl \subimportund bin sehr zufrieden damit. Allerdings scheint er nicht zu funktionieren, wenn ich ihn innerhalb einer \newcommandUmgebung verwende.

Meine Dateistruktur ist wie folgt:

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

./main.texist wie folgt:

\documentclass{article}

\usepackage{import}
\usepackage{tikz}

\import{Macros/}{macros}

\begin{document}

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

Meine Makros sind in einem modularen Stil geschrieben und jedes Makro-Untermodul wird von aufgerufen ./Macros/macros.tex, was wie folgt aussieht (es ist eine einzeilige Datei für dieses MWE):

\subimport{Submodules/}{stringdiagrams}

Die Datei ./Macros/Submodules/stringdiagrams.texenthält einige Befehle zum Anzeigen tikzvon Abbildungen in einer Inline-Umgebung. Diese Dateien befinden sich im Ordner ./Macros/Submodules/symbols. ./Macros/Submodules/stringdiagrams.texsieht folgendermaßen aus:

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

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

Schließlich ./Macros/Submodules/symbols/somefile.texist nur

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

Theoretisch sollten die Befehle $\MyInlineFigure$und $\test$dieselbe Ausgabe erzeugen und ich sollte zwei rote Quadrate sehen. Beim Versuch, LaTeX zu kompilieren, kann ich jedoch nicht finden somefile.tex.

Wenn ich in durch ./Macros/Submodules/stringdiagrams.texersetze , funktioniert alles.\subimport{symbols/}{somefile.tex}\input{Macros/Submodules/symbols/somefile.tex}

Wenn main.texich in auskommentiere, $\MyInlineFigure$wird es kompiliert und zeigt korrekt ein rotes Quadrat an, was beweist, dass

  • \subimportist in der Lage zu erreichen./Macros/Submodules/stringdiagrams.tex
  • Das Problem ist nicht tikz.

Letztendlich sieht es so aus, als \subimportwürde es nicht funktionieren, wenn ich es innerhalb eines aufrufe \newcommand. Gibt es eine Möglichkeit, das zu beheben?

verwandte Informationen