Skip to content

v0.21.0 — The base package and engine-native text commands

Choose a tag to compare

@edadma edadma released this 19 Jul 16:18

A minor release: a new lightweight base package, engine-native text commands in place of the LaTeX-style aliases, and a pixel-native option for the CLI.

Breaking changes

The LaTeX-spelled markup aliases are gone — texish is not aiming at LaTeX source compatibility, and each was only a second name for a command the engine already has. Rewrite call sites to the engine-native names:

removed use instead
\emph{…} \textit{…} \italic{…}
\textbf{…} \bold{…}
\textsl{…} \slanted{…}
\textsc{…} \smallcaps{…}
\texttt{…} \textsf{…} \textrm{…} \mono{…} \sans{…} \serif{…}
\textnormal{…} {\normalfont …}
\textsuperscript{…} \textsubscript{…} \textsup{…} \textsub{…}
\ifthenelse{c}{a}{b} \if {c} a \else b \fi
\equal{a}{b} \={a}{b}

The family-role forms \texttt / \textsf / \textrm are renamed to the plain wrapping primitives \mono / \sans / \serif, so the engine's shape and role commands now share one naming convention: \bold \italic \slanted \smallcaps \mono \sans \serif. The declarations (\bfseries, \itshape, \scshape, \ttfamily, …) are unchanged.

New: the base package

The everyday conveniences that used to live inside document are now a lighter package on their own:

\use{base}

base carries a font-size ladder (\tiny\Huge), the vertical skips (\smallskip / \medskip / \bigskip), single-line alignment (\centerline / \leftline / \rightline, \centering, \rlap / \llap), the center / flushleft / flushright and quote / quotation environments, and the \TeX / \LaTeX / \TeXish logos — and nothing else. A page that wants only these — a caption, a flyer, a title card — can load \use{base} and skip titles, sections and page numbering. \use{document} now begins with \use{base} and adds the article furniture on top, so every existing document keeps working.

CLI: a numeric DPI for -r

--resolution now accepts a DPI number in addition to the named sizes. At -r 72 one point renders as exactly one pixel, so a document laid out in points reads directly in pixels — handy for fixed-size raster targets such as video frames:

texish frame.texish -t png -r 72     # a 1280x720pt page becomes a 1280x720 PNG

Demos

A new scripts/lowerthird-demo.script shows a broadcast-style lower third for compositing over video: a translucent-black panel across the foot of a transparent frame, with a large scripture verse set in EB Garamond — built from \pagecolor{transparent}, \colorbox[alpha] and a \parbox, rendered at -r 72.

Suites are green at JVM 1359 / JS 1234 / Native 1249.

Native CLI binaries for Linux (x86_64, arm64) and macOS (arm64) attach below; other platforms use the JVM build.