Skip to content

v5.38.0

Choose a tag to compare

@github-actions github-actions released this 19 Aug 07:00
· 3 commits to main since this release
7a77359

v5.38.0 -- 2026-08-19

Summary

  • Every chapter of an assembled book now carries its own numbered IEEE
    reference list
    , rendered by pandoc's citeproc against the vendored
    assets/csl/ieee.csl -- the same notation every other genre skill
    produces. The book-level bibliography is gone, and with it natbib and the
    bibtex/biber pass: there is no \cite left for either to answer.
  • python -m src.draft render --fragment emits an \input-able LaTeX
    fragment instead of a standalone document, and --output-dir puts it where
    the book's book.tex expects it. Those two flags are what let the assembly
    skill reuse the pipeline's citation handling instead of restating a pandoc
    invocation of its own.
  • .gitignore is now blanket over content/, keeping the two tracked
    worked examples visible. The enumerated list it replaces had gone stale the
    moment content/specs/ landed in 5.34.0.
  • docs/BOOKS.md
    is rewritten as an eight-step guide, in the order you run it, with a real
    book's output at each step.

What's Changed

  • Give each chapter its own IEEE bibliography, fix the assembler, and blanket-ignore content/ by @prasadtalasila in #253

Full Changelog: v5.37.0...v5.38.0

In Detail

Everything here was found by assembling a real 15-chapter book for the first
time -- which is also why v5.37.0's assembly skill needed correcting rather
than extending.

  • The conversion step named the wrong command. render --format tex
    emits a standalone article with its own \begin{document}; \input that
    into a book and LaTeX refuses it. --fragment is the flag that exists for
    it now, and it carries --no-highlight with it, because pandoc's
    Shaded/Highlighting environments are defined only by the standalone
    template.
  • A citekey containing -- was silently truncated. Three keys in one
    corpus, ten citations, each of which would have rendered as [?] in a
    finished book with nothing failing. Going through render fixes it by
    construction: the aliasing that handles it already lives there.
  • pandoc's citeproc macros fail the citation gate if inlined. The block
    contains \cite{#1} and \citeproc{mm}; the real book FAILed on @mm,
    @#1, @#2. They now go in citeproc-defs.def -- LaTeX's own extension
    for a definitions file.
  • Margins are a third of the book class's own (94pt inner, 143pt outer,
    measured). The real book went from 546 pages to 326.
  • book.md is written beside book.tex, hyperlinking the chapter files,
    for anyone not building LaTeX.

scripts/install_full_pipeline.sh gains texlive-binaries (which owns
/usr/bin/bibtex) and texlive-publishers (IEEEtran.bst), named explicitly
for a document that genuinely wants a LaTeX-side bibliography.

Upgrading

Nothing to do. The two render flags are additive and default to the previous
behaviour. If you keep your own .gitignore fork, note that content/ is now
ignored wholesale rather than directory by directory.