« first day (3189 days earlier)      last day (1748 days later) » 
02:00 - 22:0022:00 - 23:00

10:01 PM
@DavidCarlisle I think I can't build hyperref - the script seem to assume that the main folder is called "hyperref" and on my system it is called "ho-tex-hyperref" ;-)
 
@UlrikeFischer oh for the final zip yes
 
@DavidCarlisle really strange, I reverted it back to newcommand, and added the \let part to the headers as well. Then it works. Probably something with how \markboth expands things
 
@DavidCarlisle I guess oberdiek won't work either ;-)
 
I have a four thread GNU parallel running the oberdiek dtx files right now. Let's see how long this takes on my home PC (which is also old, and does not have the same RAM as my work PC)
 
@daleif with newcommand the gobble will happen first so nothing in the header, with robust command then the command will be placed in the header so the definition needs to be in scope there
 
10:06 PM
@DavidCarlisle Then I have no idea why this works. I removed the robust definition for \gobbleone and it keeps throughing errors in the header. When I add the let to the header definition all is well.
It comes from this question: tex.stackexchange.com/questions/501173/…
It is not memoir related as book+makeidx minus the memoir header stuff also gives an error
 
@daleif sorry can't really process, my single core head is overloaded uploading stuff to ctan
@UlrikeFischer would be trivial to fix but I think I'll try to make it l3build anyway
 
WTF, the MWE is using babel, remove babel, and the issue goes away. The normal \let works just fine.
 
@daleif to much definitions and expandafter for the time ;-)
 
@UlrikeFischer hyperref gone to ctan (I updated the date in the readme to match the date in hyperref.dtx)
 
10:21 PM
@DavidCarlisle would be good - I quite like the upload target ;-)
 
@UlrikeFischer excellent bit of code that:-)
 
@DavidCarlisle I will even more like it when we have a tagging function
 
@UlrikeFischer isn't the problem more related to babel redefining \markboth, injecting \foreignlanguage into it, and making everything token lists instead. Thus the redefinition runs out of scope.
@DavidCarlisle assuming everything compiled correctly. Your bash look, running in four parallel threads:
real 22m8.050s
user 21m1.080s
sys 1m7.296s
Intel® Coreā„¢ i7-3517UE CPU @ 1.70GHz × 4
 
@daleif I didn't really look. As I said as it is the question is overloaded, I would have to minimize first.
 
@UlrikeFischer I know, I think most of the custom macros can be ignored. As soon as any macro with \gobbleone is hit in the index via `\idxmark{...} then it goes wrong. Maybe I can do something ultra short. One moment.
@UlrikeFischer super simple:
\documentclass{book}
%\usepackage[english]{babel} % dies if babel is used
\newcommand\gobbleone[1]{}
\newcommand{\idxmark}[1]{{\let\gobbleone\relax\markboth{\sffamily\bfseries#1}{\sffamily\bfseries#1}}#1}
\begin{document}
\idxmark{thing\gobbleone },
\end{document}
 
10:31 PM
@daleif that looks about right about a third of the time using 4 threads, hmm what to do, l3build lua or parallelise that bash script:-)
 
@DavidCarlisle here is the script
# make pdf
rm *.bbl || echo no bbl
for i in *.dtx
do
sem -j+4 --fg "
lualatex ${i}
if [ -f ${i/.dtx/.bcf} ]; then
# biber ${i/.dtx}
bibtex ${i/.dtx}
fi
lualatex ${i}
if [ -f ${i/.dtx/.idx} ]; then
makeindex -s gind.ist ${i/.dtx/.idx}
lualatex ${i}
fi
";
done
sem --wait

lualatex oberdiek
lualatex oberdiek
 
@daleif Well, the \let\gobbleone\relax loses its effect as soon as the brace is closed, so there is a \gobbleone followed by a } at the end.
 
@daleif thanks
 
I just installed GNU parallel (there is a strange cite thing you have to go through the first time you use parallel/sem
@egreg then explain why it compiles without babel, and not with babel. It seems to be that because babel makes \markboth run with tokens, then the redefinition gets delayed until the header is actually executed. Whereas the normal version gets expanded right away?
 
@daleif No idea. By the way, if I add \usepackage{imakeidx} there is no error: apparently this is due to interactions with the juggles memoir does with the index.
 
10:37 PM
@egreg that still does not explain my MWE above that does not use memoir.
Did you remember the custom ist file the OP provided (I did not at first, and it ran just fine). This is not relally related to indexes
 
@daleif babel does things to \markboth.
 
It it is interaction \idxmark has with \markboth and this macro redefinition (\gobbleone)
@egreg I know.
 
02:00 - 22:0022:00 - 23:00

« first day (3189 days earlier)      last day (1748 days later) »