mirror of
https://github.com/tiyn/dotfiles.git
synced 2025-11-24 14:59:46 +01:00
nvim: improved latex and markdown preview
This commit is contained in:
@@ -1,27 +1,55 @@
|
|||||||
return {
|
return {
|
||||||
-- latex asynchronous pdf rendering
|
|
||||||
{
|
{
|
||||||
'frabjous/knap',
|
'frabjous/knap',
|
||||||
ft = { 'tex' },
|
ft = { 'tex' },
|
||||||
config = function()
|
config = function()
|
||||||
|
|
||||||
|
local function detect_engine()
|
||||||
|
local first_line = vim.api.nvim_buf_get_lines(0, 0, 1, false)[1] or ""
|
||||||
|
if first_line:match("^%%%s*xelatex") then
|
||||||
|
return "xelatex"
|
||||||
|
else
|
||||||
|
return "pdflatex"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local function set_engine()
|
||||||
|
local engine = detect_engine()
|
||||||
|
|
||||||
|
if engine == "xelatex" then
|
||||||
|
vim.g.knap_settings.textopdf =
|
||||||
|
"xelatex -synctex=1 -interaction=batchmode %docroot%"
|
||||||
|
else
|
||||||
|
vim.g.knap_settings.textopdf =
|
||||||
|
"pdflatex -synctex=1 -interaction=batchmode %docroot%"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
vim.g.knap_settings = {
|
vim.g.knap_settings = {
|
||||||
delay = 100,
|
delay = 100,
|
||||||
-- tex
|
|
||||||
texoutputext = "pdf",
|
texoutputext = "pdf",
|
||||||
textopdf = "pdflatex -synctex=1 -halt-on-error -interaction=batchmode %docroot%",
|
textopdf = "xelatex -synctex=1 -interaction=batchmode %docroot%",
|
||||||
textopdfviewerlaunch =
|
textopdfviewerlaunch =
|
||||||
"zathura --synctex-editor-command 'nvim --headless -es --cmd \"lua require('\"'\"'knaphelper'\"'\"').relayjump('\"'\"'%servername%'\"'\"','\"'\"'%{input}'\"'\"',%{line},0)\"' ./%outputfile%",
|
"zathura --synctex-editor-command 'nvim --headless -es --cmd \"lua require('\"'\"'knaphelper'\"'\"').relayjump('\"'\"'%servername%'\"'\"','\"'\"'%{input}'\"'\"',%{line},0)\"' ./%outputfile%",
|
||||||
textopdfviewerrefresh = "none",
|
textopdfviewerrefresh = "reload",
|
||||||
textopdfforwardjump = "zathura --synctex-forward=%line%:%column%:%srcfile% %outputfile%",
|
textopdfforwardjump =
|
||||||
-- markdown
|
"zathura --synctex-forward=%line%:%column%:%srcfile% %outputfile%",
|
||||||
mdoutputext = "pdf",
|
|
||||||
mdtopdf = "pandoc %docroot% --pdf-engine=xelatex -H ~/.config/nvim/lua/resources/header.tex --toc --toc-depth=5 -V colorlinks=true -V linkcolor=blue -V urlcolor=red -V toccolor=gray -o %outputfile%",
|
|
||||||
mdtopdfviewerlaunch = "zathura ./%outputfile%",
|
|
||||||
mdtohtml = "pandoc --standalone %docroot% -o %outputfile%",
|
|
||||||
mdtohtmlviewerlaunch = "firefox --kiosk --new-window %outputfile%",
|
|
||||||
mdtohtmlviewerrefresh = "none",
|
|
||||||
mdtopdfviewerrefresh = "none",
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd("User", {
|
||||||
|
pattern = "KnapShowView",
|
||||||
|
callback = set_engine
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd("User", {
|
||||||
|
pattern = "KnapCompile",
|
||||||
|
callback = set_engine
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd("BufWritePost", {
|
||||||
|
pattern = "*.tex",
|
||||||
|
callback = set_engine
|
||||||
|
})
|
||||||
end
|
end
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user