release: parallel command links, nine-level list nesting

Two development changes since the last snapshot.

perf(build): com/Makefile's recursive $(MAKE) commands inherited no
jobserver, so kdiag, kdesc and ktext linked one after another even though
they are independent links against the already-built library.  A clean
rebuild drops from 27.9 s to 23.1 s on an i9-14900KF and from 16.4 s to
13.8 s on an M5 Pro.

fix(list): LaTeX's built-in enumerate and itemize stop at four levels, so
a deeper @ol or @ul failed with "Too deeply nested".  sks/list/sty/list.sty
now redefines both through enumitem to allow nine, with explicit per-level
itemize markers, since \renewlist discards the built-in ones.

(from dev 15b822f06ee0)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-29 19:22:46 +02:00
parent 55be7e9619
commit c42981f7e2
3 changed files with 22 additions and 3 deletions

View File

@@ -41,7 +41,7 @@ are regenerated on each release — patches cannot be merged directly.
Report problems (or send patches) to the author; accepted changes are Report problems (or send patches) to the author; accepted changes are
applied to the development tree and appear in a following snapshot. applied to the development tree and appear in a following snapshot.
This snapshot was assembled from development commit `43a4ce7dea2a`. This snapshot was assembled from development commit `15b822f06ee0`.
## License ## License

View File

@@ -37,9 +37,12 @@ DEPFLAGS = -MMD -MP -MF $(@F).d
.PHONY: all clean redo clang mac sks install .PHONY: all clean redo clang mac sks install
# Default target: build dependencies first, then commands # Default target: build dependencies first, then commands. The commands are
# three independent links against the finished library, so they run in
# parallel (as mac/ and the sks/ components already do) rather than one after
# another -- the serial links were about a quarter of a clean rebuild.
all : | mac sks all : | mac sks
$(MAKE) commands $(MAKE) -j commands
# Separate target to build commands (called after dependencies are ready) # Separate target to build commands (called after dependencies are ready)
.PHONY: commands .PHONY: commands

View File

@@ -1,3 +1,19 @@
\usepackage{enumitem} \usepackage{enumitem}
% LaTeX's built-in enumerate/itemize stop at 4 levels ("Too deeply nested").
% Redefine them via enumitem to allow 9. \renewlist discards all prior
% settings, so the \setlist lines must follow it; it also discards the
% built-in itemize markers, hence the explicit per-level labels below.
\setlistdepth{9}
\renewlist{enumerate}{enumerate}{9}
\renewlist{itemize}{itemize}{9}
\setlist{topsep=0pt, partopsep=0pt, parsep=2pt, itemsep=0pt} \setlist{topsep=0pt, partopsep=0pt, parsep=2pt, itemsep=0pt}
\setlist[enumerate]{label*=\arabic*.} \setlist[enumerate]{label*=\arabic*.}
\setlist[itemize,1]{label=\textbullet}
\setlist[itemize,2]{label=\normalfont\bfseries\textendash}
\setlist[itemize,3]{label=\textasteriskcentered}
\setlist[itemize,4]{label=\textperiodcentered}
\setlist[itemize,5]{label=\textbullet}
\setlist[itemize,6]{label=\normalfont\bfseries\textendash}
\setlist[itemize,7]{label=\textasteriskcentered}
\setlist[itemize,8]{label=\textperiodcentered}
\setlist[itemize,9]{label=\textbullet}