在 \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}

該檔案包含一些在內聯環境中./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當我在 .a 檔案中調用它時,它看起來不起作用\newcommand。有辦法解決嗎?

相關內容