AUCTeX/RefTeX 在 emacs 中帶有導入包,這是 2013 年的已知問題,但現在有修復嗎?

AUCTeX/RefTeX 在 emacs 中帶有導入包,這是 2013 年的已知問題,但現在有修復嗎?

我今天在 AUCTeX/RefTeX 模式下導入時意識到了這個問題,幾年前的下面的線程中也提到過:

AUCTeX/RefTeX,「導入」套件和交叉引用

RefTeX 顯然無法將漂亮的方程式/部分標籤解析為列表,以便在C-c-)我想引用這些標籤之後進行選擇,這非常方便。

已經有一段時間了,我想知道 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

恐怕從那時起,情況就沒有改變。

相關內容