# Errors with the iftex package in combination with the hyperref package

this question seems to be related to this one: hyperref gives error with ltugboat document class

It seems that the problem is not completely fixed yet. If I try to compile the following "MWE" (which is not working in my case)

\documentclass{article}
\usepackage{hyperref}

\begin{document}
Test
\end{document}


apparently a lot of the commands of the package are undefined (e.g. \ifluatex). I have tryed to download the current version on CTAN which did not help. The same code does compile on Overleaf, however.

I add parts of the error log below, although it is pretty long. Unfortunalely it is too long and is suspicious to the spam filter. I hope that I got the relevant info you guys need to be able to help we which I would highly appreciate.

Florian


("C:\Users\Florian\AppData\Local\Programs\MiKTeX 2.9\tex/latex/hyperref\hyperre
f.sty"
Package: hyperref 2019/11/06 v7.00b Hypertext links for LaTeX

("C:\Users\Florian\AppData\Local\Programs\MiKTeX 2.9\tex/generic/oberdiek\ltxcm
ds.sty"
Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO)
) (C:\Users\Florian\AppData\Roaming\MiKTeX\2.9\tex/latex/iftex\iftex.sty
Package: iftex 2013/04/04 v0.2 Provides if(tex) conditional for PDFTeX, XeTeX,
and LuaTeX
)

LaTeX Warning: You have requested, on input line 106, version
2019/10/24' of package iftex,
but only version
2013/04/04 v0.2 Provides if(tex) conditional for PDFTeX, XeTeX,
and LuaTeX'
is available.

[ ... ]

("C:\Users\Florian\AppData\Local\Programs\MiKTeX 2.9\tex/generic/iftex\ifluatex
.sty"
Package: ifluatex 2019/10/25 v1.5 ifluatex legacy package. Use iftex instead.
)
("C:\Users\Florian\AppData\Local\Programs\MiKTeX 2.9\tex/generic/iftex\ifpdf.st
y"
Package: ifpdf 2019/10/25 v3.4 ifpdf legacy package. Use iftex instead.
)
! Undefined control sequence.
l.189 \ifluatex

The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., \hobx'), type I' and the correct
spelling (e.g., I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

! Extra \else.
l.190 \else

I'm ignoring this; it doesn't match any \if.

Package pdftexcmds Info: LuaTeX not detected.
! Extra \fi.
l.271 \fi

I'm ignoring this; it doesn't match any \if.

! Undefined control sequence.
l.272 \ifluatex

The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., \hobx'), type I' and the correct
spelling (e.g., I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

! Undefined control sequence.
l.273   \ifnum\luatexversion
<36 %
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., \hobx'), type I' and the correct
spelling (e.g., I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

! Missing number, treated as zero.
<
l.273   \ifnum\luatexversion<
36 %
A number should have been here; I inserted 0'.
(If you can't figure out why I needed to see a number,
look up weird error' in the index to The TeXbook.)

! Undefined control sequence.
\pdftexcmds@directlua ->\directlua
0
l.281     \pdftexcmds@directlua
{%
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., \hobx'), type I' and the correct
spelling (e.g., I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

! LaTeX Error: Missing \begin{document}.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
...

l.281     \pdftexcmds@directlua
{%
You're in trouble here.  Try typing  <return>  to proceed.
If that doesn't work, type  X <return>  to quit.

! Extra \fi.
l.291 \fi

I'm ignoring this; it doesn't match any \if.

[ ... ]

• You need an update of the iftex package. Check for updates with the console in user and admin mode. – Ulrike Fischer Nov 11 '19 at 14:16
• Iftex has been updated to work around this and ltugboat has been updated not to generate the issue so if you update both the error should definitely go. – David Carlisle Nov 11 '19 at 14:18
• Thank you for the quick replies. I use the MikTex Console for the Package management and I updated all available packages which did not help. My iftex version was packaged yesterday, I guess that should be the latest version. Updating in admin mode seems to be a problem as I have installed Latex for the non-admin user only. When I run MikTex in Admin mode it starts from scratch @David: ltugboat is part of the tugboat package, right? Has it been updated recently? Because my version was packaged in June. However MikTex Does not find an update – Franz127 Nov 11 '19 at 14:36
• I do have miktex, and your example compiles fine. Your log shows that you have packages in two locations: C:\Users\Florian\AppData\Local\Programs and (C:\Users\Florian\AppData\Roaming\MiKTeX and this clearly indicates that you used two different installation methods for packages. Go to the miktex console and try to deinstall and then reinstall iftex in the package tab, and check if you can switch to admin mode in the console. – Ulrike Fischer Nov 11 '19 at 15:36
• Apparently the two loacations have been the issue. I've completely re-installed MikTeX and now it is working. Tanks for the help everyone – Franz127 Nov 11 '19 at 16:56