Latest news 2021-06-05: New blog post: Dickimaw Books Site Account.

Bug Tracker

ID 115🔗
Date: 2016-10-11 01:14:04
Status Closed (Fixed)
Category tracklang
Version 1.3.1
Summary Trouble with \shellescape

Sign in to subscribe to notifications about this report.

Description

This bug report is concerning more `tracklang' than `glossaries' package but:
  1. the bug tracker list doesn't contain `tracklang',
  2. as explained below, if used standalone, an easy workaround does exist for `tracklang' but not for `glossaries'.
With the last update of `tracklang' package (2016/10/08 v1.3.1), an error involving `\shellescape' arises in some circumstances, as in the joined M(n)WE:
  ┌────
  │ ! Missing number, treated as zero.
  │ <to be read again>
  │                    \shellescape
  │ l.279      \ifnum\shellescape
  │                              =0\relax
  │ ?
  └────
In the MWE, it is enough to move `tracklang' before `imakeidx' to fix the bug. But `tracklang' is loaded by `glossaries', which is recommended to be loaded after `hyperref', which is one of last packages to be loaded.

MWE

Download (999B)

\listfiles

\documentclass[english]{article}
\usepackage{imakeidx}
\usepackage{glossaries}
\usepackage{babel}
\begin{document}
Foo.
\end{document}

This bug report is concerning more `tracklang' than `glossaries' package but:

1. the bug tracker list doesn't contain `tracklang',
2. as explained below, if used standalone, an easy workaround does exist for
   `tracklang' but not for `glossaries'.

With the last update of `tracklang' package (2016/10/08 v1.3.1), an error
involving `\shellescape' arises in some circumstances, as in the joined M(n)WE:
  ┌────
  │ ! Missing number, treated as zero.
  │ <to be read again>
  │                    \shellescape
  │ l.279      \ifnum\shellescape
  │                              =0\relax
  │ ?
  └────
In the MWE, it is enough to move `tracklang' before `imakeidx' to fix the
bug. But `tracklang' is loaded by `glossaries', which is recommended to be
loaded after `hyperref', which is one of last packages to be loaded.

Evaluation

(Your MWE needs to swap babel and glossaries.) \shellescape is a xetex primitive, which should expand to a number (0, 1, or 2) but it seems that imakeidx is defining it to \relax when used with (pdf)latex:

\documentclass[english]{article}
\show\shellescape
\usepackage{imakeidx}
\show\shellescape
\usepackage{babel}
\usepackage{glossaries}
\begin{document}
Foo.
\end{document}
produces (with pdflatex):
> \shellescape=undefined.
l.6 \show\shellescape
                     
? 
(/home/texlive/2016/texmf-dist/tex/latex/imakeidx/imakeidx.sty
(/home/texlive/2016/texmf-dist/tex/latex/xkeyval/xkeyval.sty
(/home/texlive/2016/texmf-dist/tex/generic/xkeyval/xkeyval.tex
(/home/texlive/2016/texmf-dist/tex/generic/xkeyval/xkvutils.tex
(/home/texlive/2016/texmf-dist/tex/generic/xkeyval/keyval.tex))))
(/home/texlive/2016/texmf-dist/tex/generic/ifxetex/ifxetex.sty)
(/home/texlive/2016/texmf-dist/tex/generic/oberdiek/ifluatex.sty)
(/home/texlive/2016/texmf-dist/tex/latex/tools/multicol.sty))
> \shellescape=\relax.
l.8 \show\shellescape
                     
? 
A workaround is to load babel and tracklang before imakeidx:
\documentclass[english]{article}
\usepackage{babel}
\usepackage{tracklang}
\usepackage{imakeidx}
\usepackage{glossaries}
\begin{document}
Foo.
\end{document}
Update: tracklang v1.3.2 (2016-10-11) now checks for \pdfshellescape before \shellescape and also checks if either of those primitives have been set to \relax. (Please allow a few days for the new version to appear in distributions.)

Comments

2 comments.

🔗Comment from Denis Bitouzé
Date: 2016-10-17 00:31:08

Sorry for the wrong order between babel and glossaries.

Everything goes smoothly now: thanks!

Replying to Comment #57:

Name (optional):

Are you human? Please confirm the bug report ID (which can be found at the top of this page) or login if you have an account.

Comment:

You can use the following markup:

Block:

[pre]Displayed verbatim[/pre]
[quote]block quote[/quote]

In line:

[tt]code[/tt]
[file]file/package/class name[/file]
[em]emphasized text[/em]
[b]bold text[/b]
[url]web address[/url] [sup]superscript[/sup]
[sub]subscript[/sub]

Ordered list:
[ol]
[li]first item[/li]
[li]second item[/li]
[/ol]

Unordered list:
[ul]
[li]first item[/li]
[li]second item[/li]
[/ul]

You can use the Preview button to review your message formatting before submitting.

🔗Comment from Nicola Talbot 🦜
Date: 2016-10-17 11:15:00
Repying to: Denis Bitouzé 2016-10-17 00:31:08

Not to worry. I worked it out :-)

Glad it's working now. Thank you for alerting me to the problem.

Replying to Comment #58:

Name (optional):

Are you human? Please confirm the bug report ID (which can be found at the top of this page) or login if you have an account.

Comment:

You can use the following markup:

Block:

[pre]Displayed verbatim[/pre]
[quote]block quote[/quote]

In line:

[tt]code[/tt]
[file]file/package/class name[/file]
[em]emphasized text[/em]
[b]bold text[/b]
[url]web address[/url] [sup]superscript[/sup]
[sub]subscript[/sub]

Ordered list:
[ol]
[li]first item[/li]
[li]second item[/li]
[/ol]

Unordered list:
[ul]
[li]first item[/li]
[li]second item[/li]
[/ul]

You can use the Preview button to review your message formatting before submitting.


Add Comment

Name (optional):

Are you human? Please confirm the bug report ID (which can be found at the top of this page) or login if you have an account.

Comment:

You can use the following markup:

Block:

[pre]Displayed verbatim[/pre]
[quote]block quote[/quote]

In line:

[tt]code[/tt]
[file]file/package/class name[/file]
[em]emphasized text[/em]
[b]bold text[/b]
[url]web address[/url] [sup]superscript[/sup]
[sub]subscript[/sub]

Ordered list:
[ol]
[li]first item[/li]
[li]second item[/li]
[/ol]

Unordered list:
[ul]
[li]first item[/li]
[li]second item[/li]
[/ul]

You can use the Preview button to review your message formatting before submitting.

Page permalink: https://www.dickimaw-books.com/bugtracker.php?key=115