我的项目文件结构是:
C:\USERS\NAME\MULTIFILE_MWE
│ main.tex
│
├───pgf
│ data.csv
│ pgftikz_fig.tex
│
└───sections
section_import.tex
我的要求是:
main.tex
文件汇集了许多部分。- 每个部分独立编译并调用存储在中的 pgf 代码
./pgf/
。 - 每个 pgf 文件独立编译并读取
.csv
。
我可以pgftikz_fig.tex
独立编译,我可以section_import.tex
独立编译。我无法编译main.tex
。
数据
data.csv
a,b,c,d
1,4,5,1
2,3,1,5
3,5,6,1
4,1,4,9
5,3,4,7
PGF 绘图文件
% pgftikz_fig.tex
\documentclass[crop=false]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot table [x=a, y=c, col sep=comma] {./pgf/data.csv};
\end{axis}
\end{tikzpicture}
\end{document}
主文件
% main.tex
\documentclass{article}
\usepackage[subpreambles=true]{standalone}
\usepackage{import}
\begin{document}
\import{sections/}{section_import}
\end{document}
节文件
% section_import.tex
\documentclass[crop=false]{standalone}
\usepackage[subpreambles=true]{standalone}
\usepackage{import}
\begin{document}
\subimport{./pgf/}{pgftikz_fig.tex}
\end{document}
答案1
使用 \subimport 的解决方案
在main.tex
文件中我\subimport
不应该使用\import
% main.tex
\documentclass{article}
\usepackage[subpreambles=true]{standalone}
\usepackage{import}
\begin{document}
\subimport{sections/}{section_import}
\end{document}
在section_import.tex
文件中我应该使用正确的文件指针../
而不是./
% section_import.tex
\documentclass[crop=false]{standalone}
\usepackage[subpreambles=true]{standalone}
\usepackage{import}
\begin{document}
\subimport{../pgf/}{pgftikz_fig}
\end{document}
使用 \input 的解决方案
main.tex
section_import.tex
如果使用\input
而不是,则会编译\subimport
:
\documentclass[crop=false]{standalone}
\usepackage[subpreambles=true]{standalone}
\begin{document}
\input{./pgf/pgftikz_fig.tex}
\end{document}
但是我更喜欢使用import
包,因为我的完整项目比我提供的最小示例更复杂。在完整项目中,我引用了图表,并且在每个部分中都有引文。input
在这方面,它的功能不如 强大import
。