已编辑解决---感谢@Skillmon 我有许多分隔的 tex 文件,每个文件都有三个标签(所有文件都由具有相同标签名称的相同模板构建)。这些文件是 20001.tex、20002.tex……每个文件都有标签:%<*TagA>、%<*TagB>、%<*TagC>。我想编译一个 tex 文档,该文档插入每个文件中“A”标签的所有内容(按顺序),然后是“B”标签,最后是“C”标签。
小文件位置示例:C:\Users\User\Documents\Project\Small-Files-Here\20001\20001.tex
主文件:C:\Users\User\Documents\Project\Main-Files\The-Main-File.tex
使用此结构是为了使相对路径具有相同的级别数,以便在处理单个小文件或主文件(对于包含的图像等)时相对路径相同。
Small-File-Paths.csv 位于 The-Main-File.tex 同一文件夹中,包含“路径”标题下的所有小文件的单独路径。
此代码完成该作业的组装:
\documentclass{book}
\setlength{\parskip}{0.8em}
\usepackage[utf8]{inputenc}
\usepackage[document]{ragged2e}
\usepackage[margin=1.00 in]{geometry}
\usepackage{enumitem}
\usepackage{datatool}
\usepackage{catchfilebetweentags}
\begin{document}
\DTLloaddb{pathlist}{Small-File-Paths.csv}
% \DTLdisplaydb{pathlist}
\section*{Put TagA Content Here}
\begin{enumerate}[leftmargin=*]
\DTLforeach*{pathlist}{\smallfilepath=path}{
\item
\ExecuteMetaData[\smallfilepath]{TagA}
}
\end{enumerate}
\section*{Put TagB Content Here}
\begin{enumerate}[leftmargin=*]
\DTLforeach*{pathlist}{\smallfilepath=path}{
\item
\ExecuteMetaData[\smallfilepath]{TagB}
}
\end{enumerate}
\section*{Put TagC Content Here}
\begin{enumerate}[leftmargin=*]
\DTLforeach*{pathlist}{\smallfilepath=path}{
\item
\ExecuteMetaData[\smallfilepath]{TagC}
}
\end{enumerate}
\end{document}