Я работаю над форматом error для LaTeX с плагином LaTeXBox для vim, и я обнаружил проблему, которую я не могу решить.Очень длинные имена файлов в vim errorformats
LaTeX производит относительно структурированные файлы журнала, где Лисп-подобный синтаксис paranthesis используется для проанализированных файлов, например:
(/path/to/some/file.xxx ...)
Сначала это выглядит как простая проблема, и мы можем использовать %P/%O/%Q
директивы с %r
и %f
для анализа имен файлов. Для простых файлов и проектов .tex
это работает хорошо. Однако в некоторых случаях строки могут быть повреждены до того, как имя файла будет завершено. Например, мы можем получить что-то вроде этого:
) (/some/file/with/long/file/name.sty) (/some/file/with/even/longer/fi
le/name.sty (...
))
Большая часть выше выход может быть разобран правильно, однако, как было показано выше, один из путей был сломан и не будет разобран. Достаточно одной такой ошибки разбивать стек файлов, что приводит к ошибочному анализу файла журнала.
Проблема может быть сформулирована в более общем виде: Я хочу использовать errorformat для разбора имен файлов, которые разбивают на несколько строк:
/path/to/some/
file.txt
Я ищу решение этой проблемы, либо с некоторыми больше магии vim (возможно, я пропустил хороший вариант с ошибкой?) или, возможно, с некоторыми опциями для latex
или pdflatex
. Любое решение оценивается.
Я думаю, что это невозможно обрабатывать внутри Vim; инструментальная цепочка Tex не должна вставлять жесткие разрывы строк в середине своего вывода; это просто странно! –
@IngoKarkat: Это тоже мой вывод. В настоящее время я ищу способ заставить Texchain Tex сделать более правильные файлы журналов ... –
Если все остальное не удается, вы можете добавить фильтр (например, с 'sed') в' 'makeprg'', который используется для строить. Но это уродливо, проблематично для Windows (разные, уступающие инструменты), и поэтому последнее средство. –