AUCTeX/RefTeX с пакетом импорта в emacs, известная проблема с 2013 года, но есть ли сейчас решение?

AUCTeX/RefTeX с пакетом импорта в emacs, известная проблема с 2013 года, но есть ли сейчас решение?

Сегодня я обнаружил эту проблему с импортом в режиме AUCTeX/RefTeX, которая также упоминалась в приведенной ниже теме несколько лет назад:

AUCTeX/RefTeX, пакет `import` и перекрестные ссылки

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

Боюсь, с тех пор ситуация не изменилась.

Связанный контент