Estoy usando el comando \subimport
y estoy muy contento con él. Sin embargo, no parece funcionar cuando lo uso dentro de un \newcommand
entorno.
Mi estructura de archivos es la siguiente:
./main.tex
./Macros/macros.tex
./Macros/Submodules/stringdiagrams.tex
./Macros/Submodules/symbols/somefile.tex
./main.tex
es como sigue:
\documentclass{article}
\usepackage{import}
\usepackage{tikz}
\import{Macros/}{macros}
\begin{document}
$\MyInlineFigure$
$\test$
\end{document}
Mis macros están escritas en un estilo modular y cada submódulo de macro se llama desde ./Macros/macros.tex
, que tiene el siguiente aspecto (es un archivo de una línea para este MWE):
\subimport{Submodules/}{stringdiagrams}
El archivo ./Macros/Submodules/stringdiagrams.tex
contiene algunos comandos para mostrar tikz
figuras en un entorno en línea. Estos archivos se guardan en la carpeta ./Macros/Submodules/symbols
. ./Macros/Submodules/stringdiagrams.tex
se ve de la siguiente manera:
\newcommand{\MyInlineFigure}{
\subimport{symbols/}{somefile}
}
\newcommand{\test}{
\begin{tikzpicture} [scale=1,transform shape]
\node [fill=red] (mult) at (0,0) {};
\end{tikzpicture}
}
Finalmente, ./Macros/Submodules/symbols/somefile.tex
es solo
\begin{tikzpicture} [scale=1,transform shape]
\node [fill=red] (mult) at (0,0) {};
\end{tikzpicture}
En teoría, los comandos $\MyInlineFigure$
y $\test$
deberían producir el mismo resultado y debería ver dos cuadrados rojos. Sin embargo, cuando intento compilar LaTeX no puedo encontrarlo somefile.tex
.
Si ./Macros/Submodules/stringdiagrams.tex
lo reemplazo \subimport{symbols/}{somefile.tex}
con
\input{Macros/Submodules/symbols/somefile.tex}
entonces todo funciona.
Si main.tex
comento $\MyInlineFigure$
entonces se compila y muestra correctamente un cuadrado rojo, lo que demuestra que
\subimport
es capaz de alcanzar./Macros/Submodules/stringdiagrams.tex
- El problema no lo es
tikz
.
Al final, parece que \subimport
no funciona cuando lo llamo dentro de un archivo \newcommand
. ¿Hay alguna forma de arreglarlo?