Estou usando o comando \subimport
e estou muito feliz com ele. No entanto, parece não funcionar quando o uso dentro de um \newcommand
ambiente.
Minha estrutura de arquivos é a seguinte:
./main.tex
./Macros/macros.tex
./Macros/Submodules/stringdiagrams.tex
./Macros/Submodules/symbols/somefile.tex
./main.tex
é o seguinte:
\documentclass{article}
\usepackage{import}
\usepackage{tikz}
\import{Macros/}{macros}
\begin{document}
$\MyInlineFigure$
$\test$
\end{document}
Minhas macros são escritas em um estilo modular, e cada submódulo de macro é chamado from ./Macros/macros.tex
, que tem a seguinte aparência (é um arquivo de uma linha para este MWE):
\subimport{Submodules/}{stringdiagrams}
O arquivo ./Macros/Submodules/stringdiagrams.tex
contém alguns comandos para exibir tikz
figuras em um ambiente inline. Esses arquivos são mantidos na pasta ./Macros/Submodules/symbols
. ./Macros/Submodules/stringdiagrams.tex
parece o seguinte:
\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
é apenas
\begin{tikzpicture} [scale=1,transform shape]
\node [fill=red] (mult) at (0,0) {};
\end{tikzpicture}
Teoricamente, os comandos $\MyInlineFigure$
e $\test$
deveriam produzir a mesma saída, e eu deveria ver dois quadrados vermelhos. No entanto, quando tento compilar o LaTeX não consigo encontrar arquivos somefile.tex
.
Se ./Macros/Submodules/stringdiagrams.tex
eu substituir \subimport{symbols/}{somefile.tex}
por
\input{Macros/Submodules/symbols/somefile.tex}
então tudo funciona.
Se main.tex
eu comentar $\MyInlineFigure$
então ele compila e mostra corretamente um quadrado vermelho, provando que
\subimport
é capaz de alcançar./Macros/Submodules/stringdiagrams.tex
- O problema não é
tikz
.
No final, parece que \subimport
não está funcionando quando eu chamo dentro de um arquivo \newcommand
. Existe uma maneira de consertar isso?