\newcommand 내에서 \subimport 사용

\newcommand 내에서 \subimport 사용

나는 명령을 사용하고 \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}

파일에는 인라인 환경에서 Figure를 ./Macros/Submodules/stringdiagrams.tex표시하는 몇 가지 명령이 포함되어 있습니다 . tikz이러한 파일은 폴더에 보관됩니다 ./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. 문제를 해결할 수 있는 방법이 있나요?

관련 정보