Я компилирую свои ЛАТЕКСНЫЕ файлы от терминала, и это заставляет немного раздражения идти каждый раз в терминале и использовании:
xelatex "file-path"
Существует ли способ сделать это из Vim?
Если Вы серьезно относитесь к паре vim
+ latex
, мой предпочтительный вариант состоит в том, чтобы использовать пару latexxmk
+ LaTeXBox.
latexmk
независимо от редактора, действительно---это - сценарий, который смотрит, файлы должны были скомпилировать латексный документ и повторно выполнить компиляцию при необходимости. Конфигурация немного сложна, но это - действительно полезный инструмент. Например, моя установка для xelatex
имеет a latexmkrc
файл (в том же каталоге) как это:
$pdf_previewer = "start evince";
$pdf_pdf_update_method = 0;
$dvi_mode = 0;
$pdf_mode = 1;
$preview_continuous_mode = 1;
$pdflatex = "xelatex %O %S";
теперь можно работать latexmk file-name
(из того же каталога!) и Вы будете иметь автоматическим, фоновая компиляция каждый раз, когда Вы изменяете файл (или любой зависимый файл---как рисунок или библиография). Просто сохраните файл и наблюдайте, что предварительный просмотр автоматически обновляет.
latexmk
находится в репозитории вселенной, поэтому если Вам включили это, можно просто установить его sudo apt-get install latexmk
.
ЛАТЕКСНОЕ ПОЛЕ является плагином для vim
это упрощает редактирование ЛАТЕКСНЫХ файлов и использование latexmk
скомпилировать. Установка это следующий инструкциям на связанной странице, и добавляет это к Вашему .vimrc
:
" add a <comment> vim: set spelllang=es: to change language
" LaTeX:
let g:tex_flavor='latex'
autocmd FileType tex set spell wrap linebreak
let g:LatexBox_latexmk_async=1
let g:LatexBox_latexmk_preview_continuously=1
let g:LatexBox_quickfix=2
let g:LaTeXBox_output_type='' "Let latexmkrc choose the type
(изменитесь на свой вкус). Теперь Вы запускаете фоновую компиляцию с vim
с командой \ll
.
Попробуйте что-то как:
command C !xelatex %
в Вашем ~/.vimrc
.
Тогда можно сделать:
:C
в энергии для компиляции файла.
можно сделать более сложные операции с помощью функций:
function WriteCompileTex()
write
:! xelatex %
endfunction
command WC :call WriteCompileTex()
Примечание, что пользовательские команды и функции должны начаться с прописной буквы.
можно также сделать:
au BufWritePost *.tex ! xelatex %
Это выполнит эту команду каждый раз, когда .tex
файл записан в, так, чтобы можно было просто сделать :w
, и файл Tex будет скомпилирован после сохранения.