VimTeX: A modern Vim and neovim filetype plugin for LaTeX files.
It's way overdue to make another release. There are plenty of bug fixes and a lot of feature improvements. And I'm very glad to see that there are a lot of PR contributions from the community - thanks!
I think the main highlights of this release are:
:VimtexCompile
now respects options (see #2836 and #2866).Important: After this release I will bump the version requirements for both Vim and Neovim! From now, VimTeX will require versions Vim 9.1.0 or neovim 0.9.5. This means that anyone who can not or will not update must stay on this version (the v2.15
tag).
:VimtexCompile
(#2836)-jobname
option for outfiles in compilers (#2866)file_info
argument to out_dir
function (#2888)
out_dir
key of g:vimtex_compiler_latexmk
(or similar), because the function is now passed a single argument.g:vimtex_syntax_match_unicode
(#2732)
<
, >
, |
, /
as operators and don't match .
(#2776)texCommentTodo
(#2839)\item
labels (#2885)vimtex#syntax#add_to_mathzone_ignore
(#2929)tcolorbox
support (#2789)quantikz
package (#2843, #2842)biblatex-chicago
package (#2875)sagetex
package support (#2926, #2929)viewer.xdo_focus_vim
will move mouse pointer to activated window (#2759)g:vimtex_view_skim_no_select
to prevent Skim from selecting the text (#2766)timer_start
instead of :sleep
before search for xwin_id
(#2802, #2805)g:vimtex_view_use_temp_files
(#2819)
g:vimtex_ui_method
for choosing ui backends`vp
for \varpi
(#2797)volcite
s with volume (#2878)comment
package (#2882)-pvc
mode will stop working after 30 mins of inactivity. To prevent this, we disable inactivity timeout in the pvc mode with -pvctimeout-
. This requires latexmk v4.55 (Jan 2018) or higher.VimtexEventCompile*
changes the buffer (#2844)biblatex
package:
\Cite
command (#2875)volcite
(#2875)asymptote
package (#724)\item
s in unexpected item environments (#2771)labels.vim
(#2883)globpath_upwards
only returns files (#2763)zathura_simple
viewer (#2796)g:vimtex_indent_lists
was empty (#2846)vimtex#bib#files
: Ensure data exists before using itvimtex#paths#relative
cmp-vimtex
extension to nvim-cmp
(#2818)vimtex#syntax#in
(#2929)Again there has been several contributions from the community, and as before I would like to give a special thanks to everyone who contributes with PRs:
I've found time to do more improvements the last month, so I'm publishing a summer release. I hope you enjoy it!
g:vimtex_syntax_custom_envs
(#2745, #2756)
g:vimtex_syntax_custom_cmds
.ieeecolor
(#2675, #2743)witharrows
(#2755)pplatex
parserg:vimtex_compiler_clean_paths
(#2728)
\frametitle
and \framesubtitle
in frame body.\RequirePackage
for vimtex#doc#*
(#2753)g:vimtex_imaps_list
(#2741)
`2 → \sqrt
`B → \boldsymbol
`N → \nabla
textidote
(#2736)s:file_reaches_current
(#2739)vimtex#util#uniq_unsorted
should always return new array:save
(#2734)latexmk
s clean method (#2746)feedkeys()
(#2733)\iff
in texCommentConditionals
(#2748)Again there has been several contributions from the community, and as before I would like to give a special thanks to everyone who contributes with PRs: @georgejean (#2727, #2752) and @JingMatrix (#2741).
This is a relatively large release that brings several features/improvements and bug fixes, as well as some performance improvements and improved documentation.
There are a few breaking changes. The most important one is likely the change from build_dir
to out_dir
. Users who specify this option should update their configuration. For example:
" This is now wrong!
let g:vimtex_compiler_latexmk = {
\ 'build_dir': ...
\}
" Instead, do this:
let g:vimtex_compiler_latexmk = {
\ 'out_dir': ...
\}
g:vimtex_parser_cmd_separator_check
to allow more flexibility for the command parser (#2628)cmd-create
(default mapped to <f7>
) to work with stars (#2612)job.signal_hup
and use it to update mupdf (#2676)zathura_simple
, a Zathura viewer that should work well on MacOS (#2639, #2046)g:vimtex_view_sioyek_options
(#2621, #2468).build_dir
option of g:vimtex_compiler_METHOD
is changed to .out_dir
(#2534, #2677)g:vimtex_compiler_latexmk.aux_dir
for latexmk
(#2534, #2677):VimtexClean
for generic viewers should also remove .xdv
files (#2713)g:vimtex_compiler_method
(#2721)g:vimtex_complete_bib.info_fmt
(#2606)g:vimtex_syntax_custom_cmds_with_concealed_delims
(#2634, #2641, #2666)~
, \
and \@
as texSpecialChar
(#2654, #2655)empheq
package (#2643)\\{
and \\}
(#2645)\phantom{arg}
and \hphantom{arg}
(#2642)\>
(#2649)\texorpdfstring
(#2648)amsmath
package, e.g. conceal for matrix environments (#2650)\citep
with ()
s (#2658)ieeeconf
and ieeetran
(#2675)g:vimtex_mappings_prefix
to allow customization of the default mapping prefix (#2611)vimtex#parser#preamble
(#2617)indentexpr
g:vimtex_syntax_custom_cmds
after any additional syntax packages are sourced (#2629)\cite
option group if it is empty (#2658)texComment
(#2626)vimtex#syntax#in_mathzone
should ignore \tag{arg}
(#2644)\[lr]brace
(#2657)luaParen
and luaParenError
(#2711)tex2unicode
(#2596)qf_autoclose_check
if command-line window open (#2637)fold/markers.vim
(#2668)indentexpr
for rnoweb (#2695, #759)compiler/_template.clean
function (#2715)g:vimtex_compiler_latexmk_engines
(#2705, #2683)As before I would like to give a special thanks to everyone who contributes with PRs: @Aster89 (#2612), @wintermute-cell (#2611), @clason (#2669), @michaelliebling (#2387, #2672), @ejmastnak (#2686), @ehudbehar (#2705), and @doronbehar (#2713).
Another release, another set of updates. Some bug fixes, some improvements to the documentation, and some minor improvements and enhancements. This time, I think the main thing to highlight may be the improved main-file detection (core feature, most people will probably not notice it), as well as some improvements to the cache feature.
\PassOptionsToClass
(#2521)\nameref
(#2208, #2593)\shortintertext
(#2586)%TODO
without space (#2546)K
mapping) for usetikzlibrary
(#2480)\includeonly
in g:vimtex_include_indicators (#2519)&shell
settings (#2554)
xdotool
unless we already use xwin_id
(#2569):VimtexCompileSelected
should respect build_dir
(#2522)VimtexError
and VimtexFatal
(#2552)toggle_math
(#2488)chktex
compiler (#2549)&shell
reset for neovim's jobstart
(#2554).latex
extension (#2571)s:get_main_choose
should return full path (#2595).github/workflows/assets.yml
(#2531)g:vimtex_callback_progpath
(#2475)bibtex-tidy
(#2487)vimtex#env#is_inside
(#2501):help vimtex-completion
pdf_mode
reference (#2540):help vimtex-faq-treesitter
(#2484, #2469)Again there has been several contributions from the community, and as before I would like to give a special thanks to everyone who contributes with PRs: @Freed-Wu (#2528, #2530, #2531), @ejmastnak (#2492, #2605), @JingMatrix (#2411), @aryabhatta-dey (#2469, #2484), @huweiATgithub (#2495), @krishnakumarg1984 (#2515, #2537, #2542, #2548), @PatrBal (#2551), @fauust (#2556), @shuber2 (#2559, #2560), @senesc (#2586), and @tomtomjhj (#2608).
Time sure seems to pass quickly. Another three months have gone by. As usual, there are a few updates. Nothing huge, but enough to warrant a small release. The main highlight is an update to the core highlight groups: the texMathZone
groups now have more consistent names. Please see #2467 and read :help vimtex-syntax-reference
, Table 3 for more info.
--reuse-window
option for Sioyek (#2468):checkhealth
(#2441)texMathZone
group names (#2467)tabular
support (#2408)tabularx
support (#2403)tsd
(#2445).bib
files (#2433, #1517)delim#get_surrounding()
(#2432)s:fix_paths_hbox_warning()
by use of caching (#2407)vimtex#util#count()
zathura --synctex-forward
(#2392, #2377)VimtexTocTodo
match regex (#2410)keepend
(#2429)\iftoggle
(#2450)'noreadonly'
for VimTeX special buffers (#2399)jobstart
(#2401)fnameescape
for outdir
with tectonic (#2436)cmd#get_current
with beamer overlay parser (#2446).aux
label string (#2457)macvim-clientserver
(#2456)Again there has been several contributions from the community, and as before I would like to give a special thanks to everyone who contributes with PRs: @MarcelRobitaille (#2403), @ejmastnak (#2417), and @thezeroalpha (#2436).
It's been a bit more than 3 months since the last release and there's been quite a few commits. It's therefore time to bring a new release of VimTeX . The highlights of the release in my opinion:
texdoc
as documentation handler for K
.ts$
and cs$
to provide convenient autoformatting\item
to avoid unexpected indents (#2382)
texdoc
as optional local documentation handler (#2300).dtx
, .tikz
, and .ins
files (#2326)g:vimtex_format_border_(begin|end)
to let users control the "borders" of regions that should be formatted (#2358)tex
files (#1937)ts$
and cs$
now applies convenient autoformating (#2321)latexmk
(#2366, #2367, #2386)pplatex
(#2369)set selection=exclusive
(#2368)First, README.md
has been enriched with great visual examples provided by @ejmastnak. He also contributed VISUALS.md with a more complete set of great animations that display many of the useful features from VimTeX (see #2362, #2380). Thanks!
There's also been several improvements to the docs! In addition to minor fixes and adjustments, the following sections/topics have seen improvements:
vimtex-latexdoc
) (#2330)vimtex-grammar
) (#2354)<plug>(vimtex-cmd-create)
) (#2365)vimtex-faq-zathura-macos
) (#2391)vimtex-complete-mucomplete
) (#2381)I would like to give a special thanks to everyone who contributes with PRs: @aloispichler (#2333), @ejmastnak (#2362, #2380), @patnr (#2365), @MoetaYuko (#2367), @JingMatrix (#2369), and @tsung-ju (#2381).
I'm happy to announce another release of VimTeX. There is mostly minor improvements since v2.8. The main improvements are:
ts$
command to toggle inline and displayed mathcs$
commandAlthough, of course, even minor improvements and fixes are useful to ensure long-term stability and life time.
latexmk
to start the viewer "implicitly"g:vimtex_view_general_options_latexmk
let g:vimtex_view_method = 'sioyek'
)v:progpath
used by Zathura with g:vimtex_callback_progpath
(#2261, #2262)g:vimtex_view_automatic
optionchemformula
and sagetex
package (#2235, #2027)g:vimtex_syntax_custom_cmds
to allow more flexibility (#2240)$n$th
(#2293)\iffalse
and \iftrue
commands to highlight the corresponding "false" blocks as comments (#1988, #2319)\lhd
and \rhd
(#2238)biblatex
commands (#2244)ts$
command to toggle inline vs display math - use g:vimtex_env_toggle_math_map
to control behaviour (#1858, #2310)<F8>
command to add \left
and \right
math modifiers to all surrounding delimiters (#2313)tsf
command: support \dfrac
(#1984)gf
command (#2111)cs$
command (#1858)
$...$
, \(...\)
, $$...$$
, and \[...\]
$...$
and \[...\]
i$
and a$
text objects: Support math environments:VimtexCompileSS
(#2276)standalone
s (#2234):VimtexTocToggle
inside ToC (#2317)<F7>
and csc
in .bib
files (#2301)\times
conceal (#2242)siunitx
commands in math mode (#2245)\newcommand\name
(#2266)texRefArg
in vimtex#syntax#in_mathzone
(#2282)\(...\)
math mode (#2311)<cr>
s in compiler output on windows (#2292)build_dir
option (#2303)g:vimtex_subfile_start_local
to only affect subfile
s'shell'
setting for Vim on unix to avoid problems with shell commands (#2246)nvim-cmp
(#2215)VimtexEventCompiling
(#2290)g:vimtex_syntax_conceal
options (#2308)Again there has been several contributions from the community, and as before I would like to give a special thanks to everyone who contributes with PRs: @yehoshuapw (#2238), @mathjiajia (#2239), @savq (#2242), @krissen (#2244), @poscat0x04 (#2262, #2267), @ld0891 (#2282), @yongrenjie (#2286), @clason (#2289), @davidlowryduda (#2308, #2314), @habamax (#2309).
It is again time for a new release. Since v2.7, there's been the normal amount of minor improvements and some refactoring. The main updates I would like to highlight are:
:VimtexInverseSearch
that can be used by the viewer specific configuration to communicate with VimTeX in a "server agnostic" manner. See :help vimtex-synctex-inverse-search
for more info.Features
:VimtexInverseSearch
to simplify inverse search configuration in viewers (#2219)'indentkeys'
at start of line (#2227)\item
(#2020)vim.job_stop
(#2222)glob()
call if possible (#2198)\nameref
(#2208)g:vimtex_syntax_custom_cmds
(#2033, #2224)\(sub)*section
(#2022)\[lr][vV]ert
(#2186)siunitx
package (#2167)'shell'
option for jobstart
with neovim (#2220)g:vimtex_compiler_progname
vimtex#env#get_*
api functions (#2212)'define'
option (#2164)Fixes
E565
from callback (#2225)check_running
timer (#2222)chktex
linter (#2209)\input
lines were not properly parsed (#2204)tse
shouldn't toggle \begin{document}
(#2210):VimtexInfo
on Windows (#2134, #2220)Documentation
Other
Ackowledgements
Again there has been several contributions from the community, and as before I would like to give a special thanks to everyone who contributes with PRs: @krishnakumarg1984 (#2172), @Konfekt (#2191, #2209), @BertrandSim (#2227), @JaSpa (#2230).
In addition, this time I also want to raise a special thanks to @clason, @PanagiotisS, @BertrandSim, @user202729, and @andryandrew, who helped me test and resolve issues with the new :VimtexInverseSearch
feature.
This is a minor release that fixes a critical bug contained in the last commits before v2.7. See #2166 for details.
The last couple of months have seen several new fixes, updates, and some minor feature improvements. There's been some refactoring, especially to the compiler backend code. I believe there should be no breaking changes (but I'm probably wrong).
Features
latexmk
(#2141)
g:vimtex_compiler_silent
, which may be useful if one uses compiler status in ones statusline.g:vimtex_syntax_nospell_commands
(#2118)\bibitem
support (#2086)vimtex#view#reverse_goto
(#2150, #2127)
VimtexEventViewReverse
to allow more customization after a reverse goto (#2110)latexlog
quickfix backend handles "Runaway args" (#2136)bibtexparser
(#2103)\DeclarePairedDelimiter
(#2123).tikz
files for \input{...
and friends (#2162)ftdetect
to load VimTeX for all .cls
and .tikz
files (#2163, #2162)build_dir
config (#2137)vlty
if necessary (#2128)indentkeys
option (#2125)Fixes
Documentation
Ackowledgements Thanks to @psvenk, @tornaria, @Konfekt, @BertrandSim, @krishnakumarg1984, and @gjgress for the PR contributions!