github nyblnet/bento v1.2.4
bento/slides v1.2.4

3 hours ago

Download the single file below and open it in any modern browser — it's the document, the viewer and the editor in one. Shipped files self-update through the signed release channel.

  • Formulas that stayed as raw text now render. 1.2.0 replaced the maths
    engine with a smaller one of our own, and a whole set of everyday LaTeX fell
    back to raw text: \frac12, \over and \choose, \pmod, \middle|,
    \colon, \xrightarrow, \substack, \cfrac, \operatorname*, \tag,
    \hspace and the other spacing commands, \rm/\bf switches, gather,
    split, multline and alignat, and symbols like \leqslant, \nmid
    and \checkmark. All of these render now. \tag{1} shows as a "(1)" label
    after the formula, not pushed to the right margin, and \notag and
    \vspace render as nothing. Formulas can also be written between \( … \)
    (inline) and \[ … \] (display), the form ChatGPT, Claude and most
    Markdown produce, and a $$ … $$ or \[ … \] formula may run over several
    lines of a text box. In the editor, a formula that still does not render
    gets a faint dotted underline, with a tooltip naming the command it did not
    know. The underline only appears while editing, never in the show, in print
    or in the saved file. Pasting or editing a formula no longer drops the
    backslash from \_. Reported in #540.
  • Maths covers the rest of LaTeX; aligned and cases now line up as TeX sets
    them.
    After the fix for #540,
    a check against the old engine's whole vocabulary found about a hundred
    more commonly typed commands that still showed as raw text: long and
    vertical arrows (\Longrightarrow, \Uparrow, \rightleftharpoons),
    \odot, \preceq, \triangleq, \varpi, \imath, \oiint, \coth,
    \argmax, card suits, \pounds and many more. Every one renders now, along
    with \hphantom, \smash, \llap, \sideset, starred matrices,
    rcases/dcases, \fbox, \colorbox, \bcancel, \large/\small,
    \bold, \Bbb and \textsc, symbols typed directly (∈, ≤), and
    line breaks written straight into a display formula (a = b \\ c = d,
    which chat assistants produce), now stacked on separate lines.
    • aligned now aligns. The equals signs in an aligned block line up
      and cases columns sit to the left, the way TeX sets them. Until now
      every column was centred. Existing decks that use aligned or cases
      change alignment when they update to this version.
    • One unknown command no longer loses the formula. The rest renders
      and the unknown command shows as its own name in red, so an audience sees
      the maths, not a line of raw LaTeX. In the editor the formula still gets
      the "Not rendered" hint naming the command.
    • Your own macros: \newcommand, \renewcommand, \def and
      \DeclareMathOperator work inside the formula that defines them.
    • Physics and chemistry: the physics package (\dv, \pdv, \abs,
      \norm, \bra, \ket, \qty, \grad and the rest) and mhchem's
      \ce{…} and \pu{…} (formulas, charges, states, hydrates, reaction arrows
      with labels, units, dashed bonds).
    • Tables in formulas get their lines back. Since 1.2.0 an array's
      column bars (|, dashed :, double ||) and its \hline /
      \hdashline rules were silently dropped; they are drawn again, exactly
      as before 1.2.0.
    • Commutative diagrams (\begin{CD} A @>f>> B … \end{CD}), long
      division (\longdiv), the actuarial angle (\angl) and \reflectbox.
      Together with the above, every command and environment the pre-1.2.0
      engine knew now renders.
    • Labelled arrows stretch to their label. In Chrome, \xrightarrow,
      \xleftrightarrow, \xmapsto, \xlongequal, the equilibrium arrows and
      \overrightarrow used to keep their natural length under a long label or
      a long base; they now span it. Screen readers still hear the arrow.
  • Embedded fonts show up after "Replace from JSON". Rahul Ravikumar (#516)
    found that a deck loaded through Replace from JSON could keep showing
    fallback fonts instead of the ones embedded in it (every time, for a font
    used by code snippets) and fixed it by refreshing the fonts whenever the
    document changes. Building on that, a font you remove from the deck now
    disappears, undo and redo bring fonts back and forth, replacing a font's
    file takes effect, and ordinary edits no longer re-apply every embedded
    font.
  • Collaborators stop flickering in and out. A person whose tab was in the
    background appeared to leave and rejoin about once a minute: a browser slows a
    hidden tab's timers to roughly one tick a minute, so their "still here" beat
    arrived later than the 13-second window that decided who was present. The
    window is now long enough to cover a throttled tab, a tab sends its beat the
    moment it comes back to the foreground, and a backgrounded collaborator now
    shows as away rather than vanishing.
  • A deck with lots of small images can be shared live. Sharing sends big
    pictures separately from the document, but only ones over about 64 KB — so a
    deck with many smaller images (a wall of icons, say) could still add up to
    more than a live session's frame could carry. Those now travel separately
    too, largest first, once the pictures kept in the document pass a
    quarter-megabyte together.
  • A deck opened from the web or the Bento apps remembers where it is
    saved.
    Chrome will not let any app hold a standing grant to the Downloads
    or Documents folders, so a deck kept there used to show the full save dialog
    on every reopen. Bento now remembers the file itself: the first ⌘S after you
    reopen asks once — Chrome offers "Allow on every visit" — and after that it
    saves silently in place, like a deck that never left. Move or delete the
    file and it simply asks again. This is for a deck opened from a real web
    address or through the iOS, Android or browser-extension apps; a deck opened
    straight from disk keeps asking each time, by the same rule that isolates
    local files from each other.

Don't miss a new bento release

NewReleases is sending notifications on new releases.