我有以下结构(这里的 MWE 文件不值得,但它们代表了我正在处理的更大的东西):
test
├── config
│ └── tikz.tex <-- This file groups related TikZ commands
├── img
│ └── image.tex <-- Image generated with TikZ for testing purposes
├── mwe.tex <-- Main .tex file
└── preamble.tex <-- Common preamble file (for the standalone package)
MWE 文件包括:
麦格
\documentclass[12pt,letterpaper]{article}
\usepackage{standalone}
\input{preamble}
\begin{document}
Hi there!
\begin{figure}[H]
\centering
\includestandalone{img/image}
\end{figure}
\end{document}
序言.tex
\usepackage{float}
\input{config/tikz}
配置/tikz.tex
\usepackage{tikz}
\tikzset{%
pics/circleHi/.style args = {msg #1}{%
code = {\draw (0,0) circle (2) node at (0,0) {#1};}
}%
}
img/image.tex (注意我正在使用该import
包)
\documentclass{standalone}
\usepackage{import}
\subimport*{../}{preamble}
\begin{document}
\begin{tikzpicture}
\draw pic at (-3,0) {circleHi={msg Hi}};
\draw pic at (0,0) {circleHi={msg there}};
\draw pic at (3,0) {circleHi={msg friends!}};
\end{tikzpicture}
\end{document}
当我使用编译文件mwe.tex
时
latexmk -xelatex mwe.tex
一切正常,我得到了具有以下结果的 PDF:
然而,当我尝试编译时仅限图像位于img/image.tex
我收到以下错误,尽管我正在使用\subimport*{../}{preamble}
。
! LaTeX Error: File `float.sty' not found.
Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: sty)
Enter file name:
我是否误解了该包的用途?我是否遗漏了什么?如果不适合这种情况import
,还有其他方法可以允许相对路径吗?import
对于我来说,编译独立的 TikZ 图形非常重要,可以在文档中直接使用它们并减少编译时间,而不使用类,standalone
因为我希望图像文件与 LaTeX 源位于同一文件夹中(对于这个 MWE 来说这并不重要,但在较大的项目中却很重要)。
提前致谢!:)
答案1
float.sty
发生的情况是,由于*
选项\subimport
被禁用,导致 latex 无法找到TEXINPUTS
。删除*
应该可以解决您的问题。