【问题标题】:parse references in latex auxiliary file with python用python解析乳胶辅助文件中的引用
【发布时间】:2021-10-14 13:45:55
【问题描述】:

如果您编译包含标签的乳胶文件,辅助文件将包含与每个标签关联的字符串。

例如,来自以下乳胶源

\documentclass{article}

\begin{document}
\begin{equation}
  e^{i\pi} = - 1
  \label{myequation}
\end{equation}
\end{document}

编译后生成.aux文件,包含:

\relax 
\newlabel{myequation}{{1}{1}}
\gdef \@abspage@last{1}

从这个文件中可以看到,myequation 引用的方程有标签“1”。

我正在寻找一个解析.aux文件并生成对应label_name->string的字典的python类。

是否有 python 模块或解析器可以做到这一点?

其他信息

我需要这个的原因如下。我有 2 个乳胶源文件,比如说 file1.tex 和 file2.tex。 file2.tex 包含对仅存在于 file1.tex 中的方程式/表格/等的引用。 由于与 file1.tex 中每个标签关联的实际字符串是在编译时动态生成的,我的想法是

  1. 编译file1.tex

  2. 提取对应标签->字符串

  3. 使用解析器将\ref{somelabel} 替换为file2.tex 中的实际字符串

  4. 编译file2.tex

步骤 3 很容易完成,例如,使用 sed。第 2 步可能比较麻烦。

【问题讨论】:

  • 你能提供更多背景信息吗?你想用这些信息做什么?也许已经有工具可以解决这个问题。
  • @samcarter_is_at_topanswers.xyz 查看编辑后的帖子
  • 解析 LaTeX 的最佳方式是 LaTeX 本身。因此,也许您可​​以通过某种方式从 file2.tex... 中包含 file1.aux。

标签: python parsing latex


【解决方案1】:

您可以使用 xr 包(或 xr-hyper,如果您使用 hyperref)简单地访问其他文档中的标签:

\documentclass{article}

\usepackage{xr}

\externaldocument{file1}

\begin{document}

test \ref{myequation}

\end{document}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-14
    • 1970-01-01
    • 2022-11-02
    • 1970-01-01
    • 1970-01-01
    • 2011-01-29
    • 1970-01-01
    相关资源
    最近更新 更多