我正在使用该命令\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
。 有办法修复它吗?