在我的 Latex 主文件中使用外部依赖项

在我的 Latex 主文件中使用外部依赖项

我正在使用“snapshot”包来生成 filename.tex 文件的外部依赖项列表。此列表的结果存储在 filename.dep 文件中。

目标是使用这个 filename.dep 文件,提取一些有趣的数据,并使这些数据在我的 filename.tex 文件中可用。

filename.dep 文件如下所示:

\RequireVersions{
  *{text #1 of variable length} {text #2 of variable length} {text #3 of variable length}
}

* 前面有 2 个空格,并且 {} {} 之间有一些不同的间距。

对我来说有趣的数据是文本 #2,但仅限于文本 #1 的一些值。文本 #3 对我来说没用。例如,我想在我的 filename.tex 文件中调用一个命令

\generate_useful_dependancies[criteria on text #1]{filename}

输出在 filename.dep 文件中写入的所有 #2 文本的列表。

这是起点,我的 filename.tex 文件 (MNWE)。我在 \begin{filecontents} 和 \end{filecontents} 之间创建了 loaddata 命令应该读取的内容(最终应该成为我的 \generate_useful_dependancies 命令)。接下来的几行就是我感兴趣的。

\documentclass{article}

\usepackage{filecontents}
\begin{filecontents*}{filename.dep}
\RequireVersions{
  *{file}   {mem10.clo}   {2022/07/29 v0.5}
}
\end{filecontents*}

\makeatletter
\newread\myread
\def\loaddata#1{%
    \def\linetomatch{Line with bar}% \edef is not required
    \openin\myread=#1
    \begingroup\endlinechar=-1
    \@whilesw\unless\ifeof\myread\fi{%
        \read\myread to \dataline
        \noindent"\linetomatch"
        \ifx\dataline\linetomatch\relax
            equals
        \else
            does not equal
        \fi
        "\dataline"\par
    }%
    \endgroup
    \closein\myread
}%
\makeatother


\begin{document}

\loaddata{filename.dep}

\end{document}

问题在于:

  • 由于 \ 字符,第一行无法正确读取
  • 最后一个也是,可能是因为}
  • 然后,我不知道如何读取第二行才能得到文本#1和文本#2。

有人可以给我一些提示吗?

相关内容