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! That is, starting now, VimTeX will require Vim version ~9.1.0~ 8.2.3995 (see #2934) or Neovim version 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!