Today I update my MikTeX installation. Among updated packages is l3kernel which doesn't work with calligraphy library, even if it is not used in TikZ picture:

\documentclass[border=1mm, tikz]{standalone}
\draw[->] (0,0) --(3,0) node [right] {$t$};

which gives error:

! LaTeX3 Error: Variant form 'nnV' deprecated for base form '\spath_get:nnN'.
(LaTeX3)        One should not change an argument from type 'N' to type 'V':
(LaTeX3)        base form only accepts a single token argument.

Type <return> to continue.

After abandoning of compilation editor open file spath3.sty and indicate that error has source in line 197:

\cs_generate_variant:Nn \spath_get:nnN {nnV,VnN,VnV}

Since I frequently use the calligraphy I stuck with my temporary LaTeX project. It had problem with l3... packages before, but it had been managed with temporary fix provided in Joseph Wright answer:

\int_zero_new:N \g__prg_map_int

but this temporary fix is not sufficient anymore :-(.

addendum: meanwhile i had private correspondence wit author of the package spath3 and tikz libraries calligraphy and knots (among others). I had privilege to test new version of the package and libraries. The tests has been successful, so we can expect that new version of spath3 bundle (package, libraries) will be on the way to CTAN soon.

Thank you to all who with their comments help me, special thanks is going to Andrew Stacey, the authors of the package and libraries, who respond so quickly and provide new version of package and libraries.

  • A single “illegal” variant is used in \SPathInfoInto. The package spath3 should be updated in order to fix this; by the way, the definition of \SPathInfoInto is flawed anyway. And the \spath_get:nnV variant is meaningless.
    – egreg
    Jan 5, 2019 at 22:31
  • Add to your fix \RenewDocumentCommand{\SPathInfoInto}{mmm}{\spath_get:nnN{#1}{#2}#3}. In order to remove the warnings, there's nothing else to do than waiting for an update. By the way, I get warnings and not errors.
    – egreg
    Jan 5, 2019 at 22:40
  • @egreg I get a warning in texlive but an error in miktex - and in miktex expl3 is newer (2019-01-01) then in texlive (2018-12-12 L3). That's rather odd. Jan 5, 2019 at 23:48
  • 1
    Make a local copy of spath3.sty, in which you remove the rogue \cs_generate_variant:Nn commands on line 197. Fix also \SPathInfoInto as indicated and add the other fix at the beginning. Then mail the package author.
    – egreg
    Jan 6, 2019 at 0:04
  • 1
    Hi all. The plethora of emails I just received led me to this question! Could you try to regenerate the files from spath3.dtx available from github.com/loopspace/spath3 and let me know if that fixes things. If so, I'll get it uploaded to CTAN. Jan 6, 2019 at 15:47


Browse other questions tagged .