使用包含加载包的文件的导入包时出现问题

使用包含加载包的文件的导入包时出现问题

我有以下结构(这里的 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。删除*应该可以解决您的问题。

相关内容