emacs 中带有导入包的 AUCTeX/RefTeX,自 2013 年起就存在已知问题,但是现在有修复吗?

emacs 中带有导入包的 AUCTeX/RefTeX,自 2013 年起就存在已知问题,但是现在有修复吗?

今天我意识到了在 AUCTeX/RefTeX 模式下导入时存在这个问题,几年前在下面的帖子中也提到过这个问题:

AUCTeX/RefTeX,“导入”包和交叉引用

C-c-)如果我想引用这些标签,RefTeX 显然无法将漂亮的方程式/部分标签解析为一个列表以供选择,这非常方便。

因为已经有一段时间了,我想知道这个问题是否已经通过 RefTeX 解决了。

答案1

我怀疑编辑器无法识别用于的文件名\subimport,因为路径的前半部分是隐式的。\import和的一些不同输入语法\includefrom可能允许编辑器识别文件。

\makeatletter
\newcommand\keeppath[2]{% #1=\input or \include. #2=file path and name
  \begingroup
  \ifx\input#1\relax \def\7{\noexpand\import}\else
  \ifx\include#1\relax \def\7{\noexpand\includefrom}\else
   \def\7{\noexpand#1}\fi\fi % probably should be error
  \filename@parse{#2}% get \filename@area, \filename@base, \filename@ext
  \edef\8{\7{\filename@area}{\filename@base %
      \ifx\relax\filename@ext\else .\filename@ext\fi}}%
  \expandafter\endgroup\8}

然后使用\keeppath\input{foo/bar}而不是\import{foo/}{bar}并使用\keeppath\include{foo/bar}而不是\includefrom{foo/}{bar}

也许我应该将这个替代语法添加到 import.sty 中。好好测试一下,如果不错的话,我就会添加它。

答案2

恐怕情况自那时起就一直没有改变。

相关内容