1
0
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:
2025-11-23 17:45:59 +01:00
parent 331b40be61
commit b6b8d96789

View File

@@ -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
} }
} }