Скомпилируйте ЛАТЕКСНЫЙ файл от Vim а не от терминала

Я компилирую свои ЛАТЕКСНЫЕ файлы от терминала, и это заставляет немного раздражения идти каждый раз в терминале и использовании:

xelatex "file-path"

Существует ли способ сделать это из Vim?

1
задан 22 October 2014 в 23:19

2 ответа

Если Вы серьезно относитесь к паре 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.

3
ответ дан 10 November 2019 в 18:13

Попробуйте что-то как:

command C !xelatex %

в Вашем ~/.vimrc.

Тогда можно сделать:

:C

в энергии для компиляции файла.

можно сделать более сложные операции с помощью функций:

function WriteCompileTex()
  write
  :! xelatex %
endfunction
command WC :call WriteCompileTex()

Примечание, что пользовательские команды и функции должны начаться с прописной буквы.

можно также сделать:

au BufWritePost *.tex ! xelatex %

Это выполнит эту команду каждый раз, когда .tex файл записан в, так, чтобы можно было просто сделать :w, и файл Tex будет скомпилирован после сохранения.

3
ответ дан 10 November 2019 в 18:13

Другие вопросы по тегам:

Похожие вопросы: