Используйте регулярное выражение vim с tagbar, чтобы получить имя файла графики в латексе
Я использую vim и tagbar для записи своих латексных файлов. В источнике латекса входные данные для графики выглядят так:
\includegraphics[width=0.70\textwidth]{../../figures/mechanical_diffusion/plate_hole/plate_hole_fem_elas_cd_map}
Я хотел бы получить в тэге только имя файла, в данном случае "plate_hole_fem_elas_cd_map". Я создал.ctags в своем доме, который имеет следующую строку (измененную по сравнению с оригинальной строкой, найденной в документации по тэгу):
--regex-latex=/^[\t]*\\includegraphics[[:space:]]*(\[[^]]*\])?[[:space:]]*(\[[^]]*\])?[[:space:]]*\{[\.{2}\/]*[[a-zA-Z0-9_]+\/]*([^}]+)\}/\3/g,graphic+listing/
Но я не могу получить только имя файла. Я пробовал другие вещи, но иногда я удаляю только "../", иногда я получаю только "plate_hole".. Что я сделал не так?
Спасибо
1 ответ
Решение
Ваше регулярное выражение неверно, вы не можете использовать такие классы символов. Этот работал для меня:
--regex-latex=/^[\t]*\\includegraphics[[:space:]]*(\[[^]]*\])?[[:space:]]*(\[[^]]*\])?[[:space:]]*\{([^}]+\/)?([^}\/]+)\}/\4/g,graphic+listing/