7

In my work with LaTeX3 I like to turn on check-declararations as it identifies variables I forgot to declare. However, siunitx complains, which causes a problem, I cannot do without siunitx!

\documentclass{minimal}
\usepackage[check-declarations]{expl3}
\usepackage{siunitx}
\begin{document}
Either I am using package expl3 inappropriately, or it's Hi Joseph!
\end{document}
  • 2
    As noted in answers, the check-declarations option is really there for code development. I will fix these two missing items in the next update. – Joseph Wright Aug 14 '16 at 9:40
  • Any context (link to an inside joke on meta...?) on how is a "Hi developer!" an euphemism for a bug/feature? – Matsmath Aug 14 '16 at 10:01
  • 1
    @matsmath ... goes straight over my head. I steer clear of 'meta', always. As an alternative to me having used expl3 incorrectly 'Hi Joseph' was simply an invitation for the developer to roll up his sleeves, which he promptly did! – Reinhard Neuwirth Aug 14 '16 at 13:02
3

Well, either disable the check again or add the two missing variables manually:

\documentclass{article}
\usepackage[check-declarations]{expl3}
\ExplSyntaxOn
\bool_new:N \l__siunitx_per_two_parts_bool
\bool_new:N \l__siunitx_product_repeat_bool
\ExplSyntaxOff
\usepackage{siunitx}
\begin{document}
Either I am using package expl3 inappropriately, or it's Hi Joseph!
\end{document}

The check is meant really for testing purposes only.

5

It's “Hi, Joseph!”

The first error is due a typo in siunitx.sty. At line 4584 (release 2.6q dated 2016/03/01) the package has

\bool_new:N \l__siunitx_two_parts_bool

instead of

\bool_new:N \l__siunitx_per_two_parts_bool

The variable \l__siunitx_product_repeat_bool is indeed undeclared.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.