Сегодня я обнаружил эту проблему с импортом в режиме 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
Боюсь, с тех пор ситуация не изменилась.