Menu

#6 No table of contents entries with scrjura and lualatex-dev 2021-05-27

LaTeX 2021-06-01
closed
2021-05-28
2021-05-28
Markus Kohm
No

On latex3/latex2 Keks-Dose reported a bug with scrartcl + scrjura and the current lualatex-dev:

\documentclass[pagesize, ngerman, fontsize=12pt, parskip=half, juratotoc=true,]{scrartcl}
\usepackage{fontspec}
\setmainfont{Linux Libertine O}
\setsansfont{Linux Biolinum O}
\usepackage{babel, scrjura, xspace, fewerfloatpages, geometry}
\geometry{bottom=4cm, right=4.5cm, top=3cm, left=4cm}

\title{dingens}
\begin{document}
\maketitle{}

\tableofcontents{}

\begin{contract}
\Clause{title=erstens}
\label{CLA:title=erstens}

Text und nochwas whatever.

\Clause{title=segundo}

Yes.

and no.

\end{contract}

\end{document}

does not produce any table of contents entries.

Due to Ulrike's comment there may be an issue with spaces before or after the option when using the raw option list.

Discussion

  • Markus Kohm

    Markus Kohm - 2021-05-28

    This is strange, because if the options (or their values) are not recognised, they should be reported a »Unused global option(s)« but they are not. So I need further debugging. First step will be to eliminate all third-party packages like babel, xspace, fewerfloatpages, geometry. In past especially babel was known as breaking the option handling, e.g., the reporting of unused global options.

     
  • Markus Kohm

    Markus Kohm - 2021-05-28

    It is still a babel bug. babel defines all (not yet defined) options a empty:

    \documentclass[unusedglobaloption]{article}
    
    \usepackage{babel}
    
    \makeatletter
    \show\ds@unusedglobaloption
    \makeatother
    
    \begin{document}
    
    \end{document}
    

    results in:

    > \ds@unusedglobaloption=macro:
    ->.
    l.6 \show\ds@unusedglobaloption
    

    But it should result in

    > \ds@unusedglobaloption=\relax.
    l.6 \show\ds@unusedglobaloption
    

    as it does, if you do not load babel.

    Because of this, KOMA-Script's \FamilyProcessOptions interpretes all options as classic options after loading babel. Your example does work, if load babel after all KOMA-Script packages.

     
  • Markus Kohm

    Markus Kohm - 2021-05-28
    • status: open --> closed (because it is a babel bug)
     

    Last edit: Markus Kohm 2021-05-28
  • cookie170

    cookie170 - 2021-05-28

    Well, babel development is under the roof of the l3 project:
    https://github.com/latex3/babel
    So I guess the babel maintainer will already know.

     
  • cookie170

    cookie170 - 2021-05-28
     

Log in to post a comment.

MongoDB Logo MongoDB