Yesterday I updated my distribution (tlmgr update --all
) and now I cannot use TikZ with lualatex anymore.
Minimal working example:
\documentclass{article}
\usepackage{tikz}
\begin{document}
a
\end{document}
Compilation output:
> lualatex a
This is LuaTeX, Version 1.10.0 (TeX Live 2019)
restricted system commands enabled.
(./a.tex
LaTeX2e <2019-10-01> patch level 3
luaotfload | main : initialization completed in 0.098 seconds
(/opt/texlive/2019/texmf-dist/tex/latex/base/article.cls
Document Class: article 2019/10/25 v1.4k Standard LaTeX document class
(/opt/texlive/2019/texmf-dist/tex/latex/base/size10.clo))
(/opt/texlive/2019/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty
(/opt/texlive/2019/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty
(/opt/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty
...
(/opt/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex
(/opt/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.
code.tex)
(/opt/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex)
(/opt/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikz
librarytopaths.code.tex)))
No file a.aux.
ABD: EveryShipout initializing macros
(/opt/texlive/2019/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
) (/opt/texlive/2019/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty[\direc
tlua]:1: module 'pdftexcmds' not found:
no field package.preload['pdftexcmds']
[kpse lua searcher] file not found: 'pdftexcmds'
[kpse C searcher] file not found: 'pdftexcmds'
stack traceback:
[C]: in function 'require'
[\directlua]:1: in main chunk.
l.165 \directlua{require("pdftexcmds")}
?
It seems that a Lua package is missing.
Is this a bug?
Am I missing a package?
Best Answer
There is currently ongoing work in making the massive
oberdiek
bundle, which contains many useful and widely-used packages, more maintainable. In particular the plan is to split off packages from the main bundle, so they can be updated separately without updating the whole collection. While this is happening you will gradually see packages disappear from https://github.com/ho-tex/oberdiek and reappear as stand-alone repositories in https://github.com/ho-tex.A few days ago the package
pdftexcmds
was split from theoberdiek
bundle, so it is now available as a stand-alone package in TeX live and MikTeX.If you get any errors about missing
pdftexcmds
you probably got a new version of theoberdiek
bundle that doesn't includepdftexcmds
any more.If you are a TeX live user, just run
This will install the new
pdftexcmds
stand-alone package.If you are a MikTeX user you need to install
pdftexcmds
via the MikTeX Console. To avoid issues with MikTeX's on-the-fly installation feature you should make sure to run and update in User and Admin mode afterwards and should then update the package database (MikTeX Console > Tasks > Update package database) again once in Admin and once in User mode.These package splits only affect users who are not using a complete TeX installation, but installed only selected packages. With TeX live it is usually recommended to get a complete installation with all packages that is what many people use and they will not notice any changes since the new package will get installed automatically.
As Ulrike mentioned in the comments, more packages are going to be split off in the coming weeks. Indeed just tonight
kvoptions
was split off and is now a stand-alone package (see for example here), so you may need to installkvoptions
as well after tonight.Note that any updates to the oberdiek package are announced in on the ctan-ann mailing list, with the message linked from the ctan oberdiek page. The last announcement is archived here
https://ctan.org/ctan-ann/id/mailman.1835.1575146287.2586.ctan-ann@ctan.org
and ends with a list of packages that may need to be installed:
This list will be updated at each announcement if more packages are split off.