Open pcdi opened 1 month ago
The example file does not compile (\chapter
is not defined in article), did you mean to use the book
document class?
I'm sorry, that should be \section
s in Example.tex
above. Either way, this makes no difference: The times I list above were with tested article
/section
; now I also tried with book
/chapter
:
First run (with \tableofcontents
):
lualatex Example.tex 1,97s user 0,05s system 98% cpu 2,058 total
Second run (with \tableofcontents
):
lualatex Example.tex 3,46s user 0,05s system 98% cpu 3,546 total
Without \tableofcontents
, both the first and second runs are compiling in the same amount of time.
What do you propose? We need those language switches to have correct language markup in the TOC.
There are several things we can do. I don't think all the stuff that is currently written to the .toc file is needed, here is the .toc from the example:
\selectlanguage *[]{french}
\contentsline {section}{\numberline {1}Chapter Title}{1}{}%
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\contentsline {section}{\numberline {2}Chapter Title}{2}{}%
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\contentsline {section}{\numberline {3}Chapter Title}{2}{}%
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\contentsline {section}{\numberline {4}Chapter Title}{3}{}%
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\contentsline {section}{\numberline {5}Chapter Title}{3}{}%
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\contentsline {section}{\numberline {6}Chapter Title}{4}{}%
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\contentsline {section}{\numberline {7}Chapter Title}{4}{}%
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\contentsline {section}{\numberline {8}Chapter Title}{5}{}%
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\contentsline {section}{\numberline {9}Chapter Title}{5}{}%
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\contentsline {section}{\numberline {10}Chapter Title}{6}{}%
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\contentsline {section}{\numberline {11}Chapter Title}{6}{}%
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
\selectlanguage *[variant=american]{english}
\selectlanguage *[variant=french,autospacing=true,thincolonspace=false,autospaceguillemets=true,autospacetypewriter=false,frenchfootnote=false,frenchitemlabels=false,itemlabels=\TU \textemdash ,itemlabeli=\TU \textemdash ,itemlabelii=\TU \textemdash ,itemlabeliii=\TU \textemdash ,itemlabeliv=\TU \textemdash ]{french}
\selectlanguage *[]{french}
notice how the french language is selected twice, and with different options. Instead of passing all of the current active options we can precompile the defualt values, this way we would not need to pass them each time which be faster. I believe using an innser command instead of wo variants of \selectlanguage
would be better as well, as it will not need to read ahead and check for a star, or a square bracket.
The otherlanguage
environment is writing to the .toc file twice to restore the former language in the .toc at the end of the group. Once with the \aftergroup
from \selectlanguage
(or with \group_insert_after:N \xpg_pop_language:
to be precise)
https://github.com/reutenauer/polyglossia/blob/6a883958ca2af11b3314c5451b599dda012d9160/tex/polyglossia.sty#L2070-L2097
and once from its definition (specifically with \__xpg_unstack_language:n{xpg_set_language_only_aux:nn}
)
https://github.com/reutenauer/polyglossia/blob/6a883958ca2af11b3314c5451b599dda012d9160/tex/polyglossia.sty#L2526-L2543
@pcdi I've just pushed a commit to master that should speed things up, can you test it?
I suppose you have checked whether the bugs we had fixed with these writings (such as #309) haven't come back?
I suppose you have checked whether the bugs we had fixed with these writings (such as #309) haven't come back?
Yes, the problem was that we did not use the default settings for each use of \selectlanguage
, this is also the problem discussed at https://github.com/reutenauer/polyglossia/issues/610#issuecomment-1868319218, but we also need to consider the values of keys in initialization time from the gloss.
I just need to consider keys of inherited glosses and I'm done, but the following fails in the released version:
\documentclass{article}
\usepackage{polyglossia}
\setdefaultlanguage{acadien}
\stop
what should happen here?
Apart from the unclear and already existing problem, it seems to work (also tested the problem at #320)
Shouldn't that be acadian
?
Shouldn't that be
acadian
?
Yes, acadien
is wrong.
Name fixed at 01f0c714a1c511.
I also updated the test files, but not the logs which are being compared.
On a larger document with around 50 pages, many language switches, glossary, and bibliography (if run from scratch):
Without
\tableofcontents
:latexmk Document.tex 170,59s user 4,62s system 104% cpu 2:47,76 total
With
\tableofcontents
:latexmk Document.tex 243,48s user 5,06s system 101% cpu 4:03,67 total
In this case, it notably hangs at
(./Document.toc
and also after[1]
(when it reaches the page where the ToC is typeset).Document.toc
has 1760 lines. Of these, only 54 are\contentsline
s, the rest of them are\selectlanguage
commands.
@pcdi Hopefully 964ba56 should speed things even more, especially with documents with many language switches, or many glosses loaded.
How do I test this correctly with the dev version?
You can install the development version by cloning the repository and run l3build install
from your local clone.
Compilation is significantly slower in a document with many language switches and a table of contents.
This issue is very likely connected to #593 or latex3/latex2e/issues/1078. I might be mistaken, but I fear that 98ba2e022b671dffc1ae73fb03935b658ab81d45 might only have shifted the problem to another place, namely the .toc file (although I am not sure if this is something that should be handled by TeX or by polyglossia).
Consider the following example file. I have copy-pasted the contents of https://github.com/latex3/latex2e/issues/1078#issue-1732291867 multiple times to make the difference more noticeable.
Example.tex
```latex \documentclass{article} \usepackage{polyglossia} \setdefaultlanguage{french} \setotherlanguage{english} \begin{document} \tableofcontents \chapter{Chapter Title} \begin{english}[variant=american]% \noindent{\small\textbf{The Adventure of the Empty House}}{\small}\\ {\small by Sir Arthur Conan Doyle}{\small\par} {\small It was in the spring of the year 1894 that all London was interested, which was only withdrawn upon the third of last month.}{\small\par} \end{english}% Voici un exemple \begin{english}[variant=american]% {\footnotesize It can be imagined that my close intimacy with Sherlock they were known to the public at the conclusion of the inquest.} \end{english}% Vous pouvez avoir jusqu'à 10 colonnes si vous le désirez, mais ça risque de ne pas être agréable à la lecture. \begin{english}[variant=american]% \end{english}% Pour ajouter un texte en préface pour plusieurs colonnes, positionnez \begin{english}[variant=american]% {\small On the evening of the crime, he returned from the club exactly bullet, but no weapon of any sort was to be found in the room.} \end{english}% exemple, la commande \begin{english}[variant=american]% \end{english}% crée une sous-section. \begin{english}[variant=american]% {\small A minute examination of the circumstances served only to make yards of the house. No one had heard a shot.} \end{english}% \begin{english}[variant=american]% {\small On the evening of the crime, he returned from the club exactly bullet, but no weapon of any sort was to be found in the room.} \end{english}% \chapter{Chapter Title} \begin{english}[variant=american]% \noindent{\small\textbf{The Adventure of the Empty House}}{\small}\\ {\small by Sir Arthur Conan Doyle}{\small\par} {\small It was in the spring of the year 1894 that all London was interested, which was only withdrawn upon the third of last month.}{\small\par} \end{english}% Voici un exemple \begin{english}[variant=american]% {\footnotesize It can be imagined that my close intimacy with Sherlock they were known to the public at the conclusion of the inquest.} \end{english}% Vous pouvez avoir jusqu'à 10 colonnes si vous le désirez, mais ça risque de ne pas être agréable à la lecture. \begin{english}[variant=american]% \end{english}% Pour ajouter un texte en préface pour plusieurs colonnes, positionnez \begin{english}[variant=american]% {\small On the evening of the crime, he returned from the club exactly bullet, but no weapon of any sort was to be found in the room.} \end{english}% exemple, la commande \begin{english}[variant=american]% \end{english}% crée une sous-section. \begin{english}[variant=american]% {\small A minute examination of the circumstances served only to make yards of the house. No one had heard a shot.} \end{english}% \begin{english}[variant=american]% {\small On the evening of the crime, he returned from the club exactly bullet, but no weapon of any sort was to be found in the room.} \end{english}% \chapter{Chapter Title} \begin{english}[variant=american]% \noindent{\small\textbf{The Adventure of the Empty House}}{\small}\\ {\small by Sir Arthur Conan Doyle}{\small\par} {\small It was in the spring of the year 1894 that all London was interested, which was only withdrawn upon the third of last month.}{\small\par} \end{english}% Voici un exemple \begin{english}[variant=american]% {\footnotesize It can be imagined that my close intimacy with Sherlock they were known to the public at the conclusion of the inquest.} \end{english}% Vous pouvez avoir jusqu'à 10 colonnes si vous le désirez, mais ça risque de ne pas être agréable à la lecture. \begin{english}[variant=american]% \end{english}% Pour ajouter un texte en préface pour plusieurs colonnes, positionnez \begin{english}[variant=american]% {\small On the evening of the crime, he returned from the club exactly bullet, but no weapon of any sort was to be found in the room.} \end{english}% exemple, la commande \begin{english}[variant=american]% \end{english}% crée une sous-section. \begin{english}[variant=american]% {\small A minute examination of the circumstances served only to make yards of the house. No one had heard a shot.} \end{english}% \begin{english}[variant=american]% {\small On the evening of the crime, he returned from the club exactly bullet, but no weapon of any sort was to be found in the room.} \end{english}% \chapter{Chapter Title} \begin{english}[variant=american]% \noindent{\small\textbf{The Adventure of the Empty House}}{\small}\\ {\small by Sir Arthur Conan Doyle}{\small\par} {\small It was in the spring of the year 1894 that all London was interested, which was only withdrawn upon the third of last month.}{\small\par} \end{english}% Voici un exemple \begin{english}[variant=american]% {\footnotesize It can be imagined that my close intimacy with Sherlock they were known to the public at the conclusion of the inquest.} \end{english}% Vous pouvez avoir jusqu'à 10 colonnes si vous le désirez, mais ça risque de ne pas être agréable à la lecture. \begin{english}[variant=american]% \end{english}% Pour ajouter un texte en préface pour plusieurs colonnes, positionnez \begin{english}[variant=american]% {\small On the evening of the crime, he returned from the club exactly bullet, but no weapon of any sort was to be found in the room.} \end{english}% exemple, la commande \begin{english}[variant=american]% \end{english}% crée une sous-section. \begin{english}[variant=american]% {\small A minute examination of the circumstances served only to make yards of the house. No one had heard a shot.} \end{english}% \begin{english}[variant=american]% {\small On the evening of the crime, he returned from the club exactly bullet, but no weapon of any sort was to be found in the room.} \end{english}% \chapter{Chapter Title} \begin{english}[variant=american]% \noindent{\small\textbf{The Adventure of the Empty House}}{\small}\\ {\small by Sir Arthur Conan Doyle}{\small\par} {\small It was in the spring of the year 1894 that all London was interested, which was only withdrawn upon the third of last month.}{\small\par} \end{english}% Voici un exemple \begin{english}[variant=american]% {\footnotesize It can be imagined that my close intimacy with Sherlock they were known to the public at the conclusion of the inquest.} \end{english}% Vous pouvez avoir jusqu'à 10 colonnes si vous le désirez, mais ça risque de ne pas être agréable à la lecture. \begin{english}[variant=american]% \end{english}% Pour ajouter un texte en préface pour plusieurs colonnes, positionnez \begin{english}[variant=american]% {\small On the evening of the crime, he returned from the club exactly bullet, but no weapon of any sort was to be found in the room.} \end{english}% exemple, la commande \begin{english}[variant=american]% \end{english}% crée une sous-section. \begin{english}[variant=american]% {\small A minute examination of the circumstances served only to make yards of the house. No one had heard a shot.} \end{english}% \begin{english}[variant=american]% {\small On the evening of the crime, he returned from the club exactly bullet, but no weapon of any sort was to be found in the room.} \end{english}% \chapter{Chapter Title} \begin{english}[variant=american]% \noindent{\small\textbf{The Adventure of the Empty House}}{\small}\\ {\small by Sir Arthur Conan Doyle}{\small\par} {\small It was in the spring of the year 1894 that all London was interested, which was only withdrawn upon the third of last month.}{\small\par} \end{english}% Voici un exemple \begin{english}[variant=american]% {\footnotesize It can be imagined that my close intimacy with Sherlock they were known to the public at the conclusion of the inquest.} \end{english}% Vous pouvez avoir jusqu'à 10 colonnes si vous le désirez, mais ça risque de ne pas être agréable à la lecture. \begin{english}[variant=american]% \end{english}% Pour ajouter un texte en préface pour plusieurs colonnes, positionnez \begin{english}[variant=american]% {\small On the evening of the crime, he returned from the club exactly bullet, but no weapon of any sort was to be found in the room.} \end{english}% exemple, la commande \begin{english}[variant=american]% \end{english}% crée une sous-section. \begin{english}[variant=american]% {\small A minute examination of the circumstances served only to make yards of the house. No one had heard a shot.} \end{english}% \begin{english}[variant=american]% {\small On the evening of the crime, he returned from the club exactly bullet, but no weapon of any sort was to be found in the room.} \end{english}% \chapter{Chapter Title} \begin{english}[variant=american]% \noindent{\small\textbf{The Adventure of the Empty House}}{\small}\\ {\small by Sir Arthur Conan Doyle}{\small\par} {\small It was in the spring of the year 1894 that all London was interested, which was only withdrawn upon the third of last month.}{\small\par} \end{english}% Voici un exemple \begin{english}[variant=american]% {\footnotesize It can be imagined that my close intimacy with Sherlock they were known to the public at the conclusion of the inquest.} \end{english}% Vous pouvez avoir jusqu'à 10 colonnes si vous le désirez, mais ça risque de ne pas être agréable à la lecture. \begin{english}[variant=american]% \end{english}% Pour ajouter un texte en préface pour plusieurs colonnes, positionnez \begin{english}[variant=american]% {\small On the evening of the crime, he returned from the club exactly bullet, but no weapon of any sort was to be found in the room.} \end{english}% exemple, la commande \begin{english}[variant=american]% \end{english}% crée une sous-section. \begin{english}[variant=american]% {\small A minute examination of the circumstances served only to make yards of the house. No one had heard a shot.} \end{english}% \begin{english}[variant=american]% {\small On the evening of the crime, he returned from the club exactly bullet, but no weapon of any sort was to be found in the room.} \end{english}% \chapter{Chapter Title} \begin{english}[variant=american]% \noindent{\small\textbf{The Adventure of the Empty House}}{\small}\\ {\small by Sir Arthur Conan Doyle}{\small\par} {\small It was in the spring of the year 1894 that all London was interested, which was only withdrawn upon the third of last month.}{\small\par} \end{english}% Voici un exemple \begin{english}[variant=american]% {\footnotesize It can be imagined that my close intimacy with Sherlock they were known to the public at the conclusion of the inquest.} \end{english}% Vous pouvez avoir jusqu'à 10 colonnes si vous le désirez, mais ça risque de ne pas être agréable à la lecture. \begin{english}[variant=american]% \end{english}% Pour ajouter un texte en préface pour plusieurs colonnes, positionnez \begin{english}[variant=american]% {\small On the evening of the crime, he returned from the club exactly bullet, but no weapon of any sort was to be found in the room.} \end{english}% exemple, la commande \begin{english}[variant=american]% \end{english}% crée une sous-section. \begin{english}[variant=american]% {\small A minute examination of the circumstances served only to make yards of the house. No one had heard a shot.} \end{english}% \begin{english}[variant=american]% {\small On the evening of the crime, he returned from the club exactly bullet, but no weapon of any sort was to be found in the room.} \end{english}% \chapter{Chapter Title} \begin{english}[variant=american]% \noindent{\small\textbf{The Adventure of the Empty House}}{\small}\\ {\small by Sir Arthur Conan Doyle}{\small\par} {\small It was in the spring of the year 1894 that all London was interested, which was only withdrawn upon the third of last month.}{\small\par} \end{english}% Voici un exemple \begin{english}[variant=american]% {\footnotesize It can be imagined that my close intimacy with Sherlock they were known to the public at the conclusion of the inquest.} \end{english}% Vous pouvez avoir jusqu'à 10 colonnes si vous le désirez, mais ça risque de ne pas être agréable à la lecture. \begin{english}[variant=american]% \end{english}% Pour ajouter un texte en préface pour plusieurs colonnes, positionnez \begin{english}[variant=american]% {\small On the evening of the crime, he returned from the club exactly bullet, but no weapon of any sort was to be found in the room.} \end{english}% exemple, la commande \begin{english}[variant=american]% \end{english}% crée une sous-section. \begin{english}[variant=american]% {\small A minute examination of the circumstances served only to make yards of the house. No one had heard a shot.} \end{english}% \begin{english}[variant=american]% {\small On the evening of the crime, he returned from the club exactly bullet, but no weapon of any sort was to be found in the room.} \end{english}% \chapter{Chapter Title} \begin{english}[variant=american]% \noindent{\small\textbf{The Adventure of the Empty House}}{\small}\\ {\small by Sir Arthur Conan Doyle}{\small\par} {\small It was in the spring of the year 1894 that all London was interested, which was only withdrawn upon the third of last month.}{\small\par} \end{english}% Voici un exemple \begin{english}[variant=american]% {\footnotesize It can be imagined that my close intimacy with Sherlock they were known to the public at the conclusion of the inquest.} \end{english}% Vous pouvez avoir jusqu'à 10 colonnes si vous le désirez, mais ça risque de ne pas être agréable à la lecture. \begin{english}[variant=american]% \end{english}% Pour ajouter un texte en préface pour plusieurs colonnes, positionnez \begin{english}[variant=american]% {\small On the evening of the crime, he returned from the club exactly bullet, but no weapon of any sort was to be found in the room.} \end{english}% exemple, la commande \begin{english}[variant=american]% \end{english}% crée une sous-section. \begin{english}[variant=american]% {\small A minute examination of the circumstances served only to make yards of the house. No one had heard a shot.} \end{english}% \begin{english}[variant=american]% {\small On the evening of the crime, he returned from the club exactly bullet, but no weapon of any sort was to be found in the room.} \end{english}% \chapter{Chapter Title} \begin{english}[variant=american]% \noindent{\small\textbf{The Adventure of the Empty House}}{\small}\\ {\small by Sir Arthur Conan Doyle}{\small\par} {\small It was in the spring of the year 1894 that all London was interested, which was only withdrawn upon the third of last month.}{\small\par} \end{english}% Voici un exemple \begin{english}[variant=american]% {\footnotesize It can be imagined that my close intimacy with Sherlock they were known to the public at the conclusion of the inquest.} \end{english}% Vous pouvez avoir jusqu'à 10 colonnes si vous le désirez, mais ça risque de ne pas être agréable à la lecture. \begin{english}[variant=american]% \end{english}% Pour ajouter un texte en préface pour plusieurs colonnes, positionnez \begin{english}[variant=american]% {\small On the evening of the crime, he returned from the club exactly bullet, but no weapon of any sort was to be found in the room.} \end{english}% exemple, la commande \begin{english}[variant=american]% \end{english}% crée une sous-section. \begin{english}[variant=american]% {\small A minute examination of the circumstances served only to make yards of the house. No one had heard a shot.} \end{english}% \begin{english}[variant=american]% {\small On the evening of the crime, he returned from the club exactly bullet, but no weapon of any sort was to be found in the room.} \end{english}% \end{document} ```First run:
Second run:
The compilation process notably slows down at
(./Example.toc
and it takes a while before)
is printed.If you remove
\tableofcontents
fromExample.tex
, compilation time stays constant on subsequent runs:On a larger document with around 50 pages, many language switches, glossary, and bibliography (if run from scratch):
Without
\tableofcontents
:With
\tableofcontents
:In this case, it notably hangs at
(./Document.toc
and also after[1]
(when it reaches the page where the ToC is typeset).Document.toc
has 1760 lines. Of these, only 54 are\contentsline
s, the rest of them are\selectlanguage
commands.