Создать файл тегов для латекса для этикеток и нагрудников - PullRequest
13 голосов
/ 14 ноября 2011

Я использую ctags для создания файла тегов для использования в Vim, чтобы я мог перейти к определениям меток и цитат. Однако у меня есть две проблемы:

  1. ctags включает в себя \ref в файле тегов, поэтому, когда я нажимаю прыгать на метке \ref, я не обязательно перехожу к определению метки, но могу оказаться в другой ссылке на эту метку. 1007 *
  2. Я бы хотел иметь возможность перейти к соответствующей записи в файле .bib из команды \cite, но ctags не генерирует записи для этого (я использую ctags *.tex *.bib).

Я хотел переопределить определение ctags для текстовых файлов, чтобы я мог удалить записи \ref, но это не сработало.

Мой файл ~ / .ctags:

--langdef=tex2
--langmap=tex2:.tex
--regex-tex2=/\\label[ \t]*\*?\{[ \t]*([^}]*)\}/\1/l,label/

1 Ответ

14 голосов
/ 14 ноября 2011

Я понял, что я не использовал exuberant ctags , но другую программу ctags, поэтому содержимое в ~/.ctags никогда не использовалось.

Мне также удалось добавить еще одну запись в ~/.ctags для записей нагрудника:

--langdef=tex2
--langmap=tex2:.tex
--regex-tex2=/\\label[ \t]*\*?\{[ \t]*([^}]*)\}/\1/l,label/

--langdef=bib
--langmap=bib:.bib
--regex-bib=/^@[A-Za-z]+\{([^,]*)/\1/b,bib/

ctags *.tex *.bib теперь работает так, как я хочу.

...