私はこのコマンドを使用しており\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 では 1 行のファイルです)。
\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$
同じ出力を生成し、2 つの赤い四角形が表示されるはずです。ただし、コンパイルしようとすると、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
。修正する方法はありますか?