在 \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当我在 内部调用它时,它似乎不起作用\newcommand。 有办法修复它吗?

相关内容