В , latex-mode
когда я использую , TeX-insert-macro
чтобы ввести \input{...}
макрос, AucTeX удобно предлагает завершение имени файла, который является большим. Тем не менее, кажется, что поиск во многих местах, чтобы составить список завершения, потому что emacs почти минуту зависает на моем бедном маленьком ноутбуке.
Есть ли способ TeX-insert-macro
предложить тупое завершение имени файла?
Под «тупым» я подразумеваю тот, который вы получаете при звонке find-file
. В большинстве случаев файл, который я хочу ввести, находится всего в одном каталоге, так что это будет более чем нормально.
Если это невозможно, есть ли другой способ ускорить его?
Я заметил, что когда я вставляю \include
макрос, список имен файлов намного короче, так что, возможно, есть способ использовать этот список и для \input
макроса.
cdlatex-insert-filename
пакет cdlatex. Я считаю это полезным для вставки графических файлов в графические среды.Ответы:
У вас есть несколько решений:
Во- первых, есть переменная настройки такого поведения:
TeX-arg-input-file-search
.Эта часть документации, имхо, не совсем понятна, но ее настройка,
nil
кажется, делает свою работу.Эти переменные влияют на все функции , которые вызывают
TeX-arg-input-file
, в том числеinput
,include
иusepackage
. Для последнего такое поведение может быть неожиданным.Тогда есть более хакерское решение, которое должно работать для всех функций:
TeX-arg-input-file
имеетlocal
флаг для этого поведения (этот флаг, например, установленt
дляinclude
).Очевидно, вы можете переопределить любой другой параметр, просто добавив еще одну запись для команды, так:
Последнее решение, если у вас продолжительные сессии emacs, это просто отпустить его. Кажется, что фаза «поиска файлов» кэширует свои результаты, поэтому ее следует вызывать только один раз за сеанс.
источник
TeX-global-input-files
(переменная, содержащая результат поиска) не является локальной для буфера, поэтому поиск должен происходить только один раз за сеанс emacs . Может быть, это было бы более интересно, если бы это могло произойти асинхронно, хотя замораживание ~ 1 минуты действительно слишком долго.