<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>texish</title>
  <link href="https://texish.edadma.dev/feed.xml" rel="self"/>
  <link href="https://texish.edadma.dev/"/>
  <id>https://texish.edadma.dev/feed.xml</id>
  <updated>2026-06-17T22:11:08.869227003Z</updated>
  <author><name>Ed Maxedon</name></author>
  <entry>
    <title>Text and Markup</title>
    <link href="https://texish.edadma.dev/guide/text-and-markup/"/>
    <id>https://texish.edadma.dev/guide/text-and-markup/</id>
    <updated>2026-06-17T22:11:08.869227003Z</updated>
    <summary>texish turns ASCII source into proper typography, as TeX does — the body font enables these so they fire in ordinary running text:</summary>
    <content type="html">&lt;h2 id=&quot;input-conventions&quot;&gt;Input conventions&lt;/h2&gt;
&lt;p&gt;texish turns ASCII source into proper typography, as TeX does — the body font enables these
so they fire in ordinary running text:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;&lt;th&gt;You type&lt;/th&gt;&lt;th&gt;You get&lt;/th&gt;&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;``…&apos;&apos;&lt;/code&gt;&lt;/td&gt;&lt;td&gt;“curly double quotes”&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;`…&apos;&lt;/code&gt;&lt;/td&gt;&lt;td&gt;‘curly single quotes’&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--&lt;/code&gt;&lt;/td&gt;&lt;td&gt;en–dash&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;---&lt;/code&gt;&lt;/td&gt;&lt;td&gt;em—dash&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;...&lt;/code&gt;&lt;/td&gt;&lt;td&gt;an ellipsis (&lt;code&gt;\dots&lt;/code&gt; also works)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;~&lt;/code&gt;&lt;/td&gt;&lt;td&gt;a non-breaking space (a tie, as in &lt;code&gt;Figure~1&lt;/code&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&quot;emphasis-and-weight&quot;&gt;Emphasis and weight&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;\emph{emphasis}        % italic
\textit{italic}        \italic{…}
\textbf{bold}          \bold{…}
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;monospaced-text&quot;&gt;Monospaced text&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;\texttt&lt;/code&gt; sets its argument in Latin Modern Mono at the surrounding size — for file names,
inline code, and the like:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;The file \texttt{document.texish} defines \texttt{\\maketitle}.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Because the mono face is cut to sit with the roman body, the code matches the text around
it rather than looming over it.&lt;/p&gt;
&lt;h2 id=&quot;colour&quot;&gt;Colour&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;\color&lt;/code&gt; sets the pen for the rest of the current group; &lt;code&gt;\textcolor&lt;/code&gt; colours just its
argument. A colour is a CSS name (&lt;code&gt;blue&lt;/code&gt;, &lt;code&gt;darkred&lt;/code&gt;, …) or a &lt;code&gt;#RRGGBB&lt;/code&gt; hex code.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;\textcolor{firebrick}{a single red word}, then black again.
{\color{blue}the rest of this group is blue.}
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;clickable-links&quot;&gt;Clickable links&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;\href&lt;/code&gt; and &lt;code&gt;\url&lt;/code&gt; produce &lt;strong&gt;real clickable link annotations&lt;/strong&gt; in PDF output (and draw the
text blue on every backend). The URL is read verbatim, so a &lt;code&gt;//&lt;/code&gt;, &lt;code&gt;~&lt;/code&gt;, or &lt;code&gt;%&lt;/code&gt; in the
address survives intact.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Visit the \href{https://example.org/docs}{documentation} for details, or go straight to
\url{https://example.org}.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;\href{url}{text}&lt;/code&gt; links the display &lt;em&gt;text&lt;/em&gt;; &lt;code&gt;\url{url}&lt;/code&gt; typesets the address itself, in
the monospaced face, as a link to itself.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Quick Start</title>
    <link href="https://texish.edadma.dev/getting-started/quick-start/"/>
    <id>https://texish.edadma.dev/getting-started/quick-start/</id>
    <updated>2026-06-17T22:11:08.869227003Z</updated>
    <summary>A texish document is a plain text file. The document features — titles, sections, lists, figures — live in a format you load with \use{document} at the top.</summary>
    <content type="html">&lt;p&gt;A texish document is a plain text file. The document features — titles, sections, lists,
figures — live in a format you load with &lt;code&gt;\use{document}&lt;/code&gt; at the top.&lt;/p&gt;
&lt;h2 id=&quot;a-first-document&quot;&gt;A first document&lt;/h2&gt;
&lt;p&gt;Save this as &lt;code&gt;hello.texish&lt;/code&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;\use{document}

\title{A First Document}
\author{Your Name}
\date{June 2026}
\maketitle

\section{Introduction}
Welcome to texish. This paragraph is set in Latin Modern Roman and broken into
lines the way \TeX\ does. Input conventions give you proper typography for free:
``curly quotes&apos;&apos;, an en--dash, an em---dash, and an ellipsis\dots

\section{A little mathematics}
Inline math sits in the text, like $a^2 + b^2 = c^2$, and a displayed equation is
centered on its own line:
$$ \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}. $$
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;render-it&quot;&gt;Render it&lt;/h2&gt;
&lt;p&gt;With the &lt;a href=&quot;/reference/cli/&quot;&gt;command-line tool&lt;/a&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-sh&quot;&gt;texish hello.texish            # writes hello.pdf
texish hello.texish -t png     # writes hello.png (one per page)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The output lands beside the source file. Pass &lt;code&gt;-o&lt;/code&gt; to choose a different path, &lt;code&gt;-p a4&lt;/code&gt; for
A4 paper, and &lt;code&gt;-r fhd&lt;/code&gt; for a higher-resolution PNG.&lt;/p&gt;
&lt;h2 id=&quot;next-steps&quot;&gt;Next steps&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;a href=&quot;/guide/document-format/&quot;&gt;document format&lt;/a&gt; — sections, lists, quotations, and the
title block.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/guide/text-and-markup/&quot;&gt;Text and markup&lt;/a&gt; — emphasis, code, colour, and clickable links.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/guide/mathematics/&quot;&gt;Mathematics&lt;/a&gt; — the full math-mode vocabulary.&lt;/li&gt;
&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>Mathematics</title>
    <link href="https://texish.edadma.dev/guide/mathematics/"/>
    <id>https://texish.edadma.dev/guide/mathematics/</id>
    <updated>2026-06-17T22:11:08.869227003Z</updated>
    <summary>texish has a TeX math mode set in Latin Modern Math through an OpenType MATH table. Math is delimited by dollar signs: a single $…$ for inline math, a doubled…</summary>
    <content type="html">&lt;p&gt;texish has a TeX math mode set in Latin Modern Math through an OpenType &lt;code&gt;MATH&lt;/code&gt; table. Math
is delimited by dollar signs: a single &lt;code&gt;$…$&lt;/code&gt; for inline math, a doubled &lt;code&gt;$$…$$&lt;/code&gt; for a
display centered on its own line.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Inline, like $a^2 + b^2 = c^2$, or displayed:
$$ e^{i\pi} + 1 = 0. $$
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;scripts&quot;&gt;Scripts&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;^&lt;/code&gt; and &lt;code&gt;_&lt;/code&gt; attach a superscript and subscript to the preceding atom. Braces group a
multi-token script.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$x^2$    $a_i$    $x_i^2$    $e^{-x^2}$    $\sum_{i=1}^{n}$
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;fractions-and-radicals&quot;&gt;Fractions and radicals&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;$\frac{a}{b}$            % a fraction
$a \over b$              % the infix form
$\sqrt{2}$               $\sqrt[3]{x}$        % square and higher roots
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;big-operators-and-limits&quot;&gt;Big operators and limits&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;$\sum_{i=1}^{n} i$       $\int_0^\infty f$
$\sum\limits_{i=1}^{n}$  % force stacked limits in inline style
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;In display style, the limits of &lt;code&gt;\sum&lt;/code&gt;, &lt;code&gt;\prod&lt;/code&gt;, and the like stack above and below by
default.&lt;/p&gt;
&lt;h2 id=&quot;delimiters&quot;&gt;Delimiters&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;\left&lt;/code&gt; and &lt;code&gt;\right&lt;/code&gt; grow a delimiter to the height of the material between them.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$\left( \frac{a}{b} \right)$
$\left[ \sum_{i} x_i \right]$
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;accents&quot;&gt;Accents&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;$\hat{x}$    $\vec{v}$    $\widehat{abc}$
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;roman-text-and-calligraphic-letters&quot;&gt;Roman text and calligraphic letters&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;\text&lt;/code&gt; sets upright words inside a formula; &lt;code&gt;\mathcal&lt;/code&gt; sets calligraphic capitals.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$V = \text{volume}$        $\mathcal{C}$        $\mathcal{P}(S)$
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;matrices&quot;&gt;Matrices&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;$\matrix{ a &amp;amp; b \cr c &amp;amp; d }$       % unbracketed
$\pmatrix{ a &amp;amp; b \cr c &amp;amp; d }$      % parentheses
$\bmatrix{ a &amp;amp; b \cr c &amp;amp; d }$      % brackets
$\cases{ x &amp;amp; if positive \cr -x &amp;amp; otherwise }$
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;displayed-equations-with-numbers&quot;&gt;Displayed equations with numbers&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;\eqno&lt;/code&gt; sets an equation number flush right on a display line.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$$ x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} \eqno(1) $$
&lt;/code&gt;&lt;/pre&gt;</content>
  </entry>
  <entry>
    <title>Installation</title>
    <link href="https://texish.edadma.dev/getting-started/installation/"/>
    <id>https://texish.edadma.dev/getting-started/installation/</id>
    <updated>2026-06-17T22:11:08.869227003Z</updated>
    <summary>texish is cross-published for the JVM, Scala Native, and Scala.js. There are two ways to use it: as the standalone command-line renderer, or as a library in an sbt build.</summary>
    <content type="html">&lt;p&gt;texish is cross-published for the JVM, Scala Native, and Scala.js. There are two ways to
use it: as the standalone command-line renderer, or as a library in an sbt build.&lt;/p&gt;
&lt;h2 id=&quot;as-a-library&quot;&gt;As a library&lt;/h2&gt;
&lt;p&gt;Add texish with the &lt;code&gt;%%%&lt;/code&gt; operator so sbt selects the right platform artifact:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-scala&quot;&gt;libraryDependencies += &amp;quot;io.github.edadma&amp;quot; %%% &amp;quot;texish&amp;quot; % &amp;quot;0.3.0&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The library gives you the engine and the &lt;code&gt;parser&lt;/code&gt; layer — construct a typesetter for your
target backend, feed it a source document, and flush it. On the JVM the backend is a
Graphics2D raster typesetter; on Scala Native it is the Cairo PDF and image backends.&lt;/p&gt;
&lt;h2 id=&quot;as-a-command-line-tool&quot;&gt;As a command-line tool&lt;/h2&gt;
&lt;p&gt;The Scala Native build links a standalone &lt;code&gt;texish&lt;/code&gt; executable that turns a source document
into a PDF (or one PNG per page) using the Cairo backend. Build it with:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-sh&quot;&gt;sbt texishNative/nativeLink
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The binary is produced at &lt;code&gt;native/target/scala-3.8.4/texish&lt;/code&gt;. See the
&lt;a href=&quot;/reference/cli/&quot;&gt;command-line tool&lt;/a&gt; reference for its options.&lt;/p&gt;
&lt;h2 id=&quot;requirements&quot;&gt;Requirements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Scala 3&lt;/strong&gt; for the library.&lt;/li&gt;
&lt;li&gt;For the native binary and PDF output, the system needs &lt;strong&gt;Cairo&lt;/strong&gt;, &lt;strong&gt;FreeType&lt;/strong&gt;, and
&lt;strong&gt;libjpeg-turbo&lt;/strong&gt; available to the linker (the Scala Native bindings link against them).&lt;/li&gt;
&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>Vector Graphics</title>
    <link href="https://texish.edadma.dev/guide/graphics/"/>
    <id>https://texish.edadma.dev/guide/graphics/</id>
    <updated>2026-06-17T22:11:08.869227003Z</updated>
    <summary>\picture opens a fixed-size drawing that flows in the text like any other box, so a diagram sits beside prose and prints through the same backend as the page. Inside…</summary>
    <content type="html">&lt;p&gt;&lt;code&gt;\picture&lt;/code&gt; opens a fixed-size drawing that flows in the text like any other box, so a
diagram sits beside prose and prints through the same backend as the page. Inside it,
coordinates are &lt;strong&gt;y-up with the origin at the bottom-left&lt;/strong&gt; (the PostScript/TikZ
convention); a bare number is a point, and unit suffixes (&lt;code&gt;in&lt;/code&gt;, &lt;code&gt;mm&lt;/code&gt;, &lt;code&gt;pt&lt;/code&gt;, &lt;code&gt;em&lt;/code&gt;) are
honoured. Shapes draw immediately in the current graphics state, which &lt;code&gt;\group&lt;/code&gt; saves and
restores.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;\picture width:3in height:2in {
  \fill{lightsteelblue} \stroke{steelblue} \linewidth{1.5pt}
  \rect{0.2in 0.2in 1in 1in}
  \circle{2in 0.9in 0.5in}
  \nofill \stroke{firebrick} \linetype{dashed}
  \line{0.2in 0.1in 2.6in 0.1in}
  \at anchor:south {1.4in 1.6in}{$y = x^2$}
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;the-vocabulary&quot;&gt;The vocabulary&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;State&lt;/strong&gt; (saved by &lt;code&gt;\group&lt;/code&gt;): &lt;code&gt;\stroke{color}&lt;/code&gt; / &lt;code&gt;\nostroke&lt;/code&gt;, &lt;code&gt;\fill{color}&lt;/code&gt; /
&lt;code&gt;\nofill&lt;/code&gt;, &lt;code&gt;\linewidth{d}&lt;/code&gt;, &lt;code&gt;\linecap{butt|round|square}&lt;/code&gt;,
&lt;code&gt;\linejoin{miter|round|bevel}&lt;/code&gt;, &lt;code&gt;\dash{on off …}&lt;/code&gt;, and
&lt;code&gt;\linetype{solid|dashed|dotted|dashdot}&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Transforms&lt;/strong&gt;: &lt;code&gt;\translate{dx dy}&lt;/code&gt;, &lt;code&gt;\scale{sx sy}&lt;/code&gt;, &lt;code&gt;\rotate{degrees}&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Shapes&lt;/strong&gt;: &lt;code&gt;\line&lt;/code&gt;, &lt;code&gt;\rect&lt;/code&gt;, &lt;code&gt;\circle&lt;/code&gt;, &lt;code&gt;\ellipse&lt;/code&gt;, &lt;code&gt;\polygon&lt;/code&gt;, &lt;code&gt;\polyline&lt;/code&gt;, &lt;code&gt;\arc&lt;/code&gt;,
&lt;code&gt;\arcn&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Freeform paths&lt;/strong&gt;: &lt;code&gt;\path{ \moveto{x y} \lineto{x y} \curveto{c1x c1y c2x c2y x y} \close }&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Grouping and clipping&lt;/strong&gt;: &lt;code&gt;\group{ … }&lt;/code&gt;, &lt;code&gt;\clip{ &amp;lt;path body&amp;gt; }&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Placement&lt;/strong&gt;: &lt;code&gt;\at[anchor:…]{x y}{content}&lt;/code&gt; drops fully typeset text or math at a
coordinate (it stays upright over the y-flip), and &lt;code&gt;\glyph[anchor:…]{x y}{codepoint}&lt;/code&gt;
places a single marker glyph. Anchors are &lt;code&gt;center&lt;/code&gt;, &lt;code&gt;north&lt;/code&gt;/&lt;code&gt;south&lt;/code&gt;/&lt;code&gt;east&lt;/code&gt;/&lt;code&gt;west&lt;/code&gt;, the
four corners, and &lt;code&gt;baseline&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;computed-coordinates&quot;&gt;Computed coordinates&lt;/h2&gt;
&lt;p&gt;Coordinates may be computed, not just literal — a bare variable &lt;code&gt;\x&lt;/code&gt; is its value and
arithmetic like &lt;code&gt;\*{\x}{14}&lt;/code&gt; works — so a plot, a chart, or a chemical diagram is just a
path built in a &lt;code&gt;\for&lt;/code&gt; loop. See &lt;code&gt;scripts/picture.script&lt;/code&gt; in the repository for a worked
demo: shapes, a Bézier wave, a rotate-fan, a &lt;em&gt;y = x²&lt;/em&gt; line graph, a bar chart, and a
benzene ring.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Figures and Images</title>
    <link href="https://texish.edadma.dev/guide/figures-and-images/"/>
    <id>https://texish.edadma.dev/guide/figures-and-images/</id>
    <updated>2026-06-17T22:11:08.869227003Z</updated>
    <summary>\includegraphics places a raster image — PNG or JPEG — at its natural size, or sized by an optional key=value list:</summary>
    <content type="html">&lt;h2 id=&quot;placing-an-image&quot;&gt;Placing an image&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;\includegraphics&lt;/code&gt; places a raster image — PNG or JPEG — at its natural size, or sized by
an optional &lt;code&gt;key=value&lt;/code&gt; list:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;\includegraphics{frog.jpg}
\includegraphics[width=200pt]{frog.jpg}
\includegraphics[width=0.4\linewidth]{diagram.png}
\includegraphics[scale=0.5]{photo.jpg}
\includegraphics[width=120pt,height=80pt]{logo.png}
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;width&lt;/code&gt; and &lt;code&gt;height&lt;/code&gt; are lengths — a dimension like &lt;code&gt;200pt&lt;/code&gt;, &lt;code&gt;5cm&lt;/code&gt;, &lt;code&gt;0.5in&lt;/code&gt;, or a factor
times &lt;code&gt;\linewidth&lt;/code&gt; / &lt;code&gt;\textwidth&lt;/code&gt; (the current line width).&lt;/li&gt;
&lt;li&gt;Giving only one of &lt;code&gt;width&lt;/code&gt; or &lt;code&gt;height&lt;/code&gt; scales the other to preserve the aspect ratio.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;scale&lt;/code&gt; multiplies the natural size; with no options the image keeps its pixel size.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A relative path is resolved against the directory of the document being rendered, so
&lt;code&gt;frog.jpg&lt;/code&gt; finds the image beside the source file.&lt;/p&gt;
&lt;h2 id=&quot;centering&quot;&gt;Centering&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;\centerline&lt;/code&gt; centers a single line — the simplest way to center an image:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;\centerline{\includegraphics[width=0.4\linewidth]{frog.jpg}}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;\centering&lt;/code&gt; switches the rest of the current group to centered lines (so a wrapped
paragraph or a multi-line block centers); use it inside a group or a figure body so it
reverts at the close. &lt;code&gt;\leftline&lt;/code&gt; and &lt;code&gt;\rightline&lt;/code&gt; are the flush-left and flush-right
counterparts of &lt;code&gt;\centerline&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&quot;figures-and-tables-with-captions&quot;&gt;Figures and tables with captions&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;\figure&lt;/code&gt; and &lt;code&gt;\table&lt;/code&gt; detach their body to a page edge and number it on its own counter; a
&lt;code&gt;\caption&lt;/code&gt; written inside reads “Figure 1: …” or “Table 1: …”.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;\figure[h]{
  \centerline{\includegraphics[width=0.35\linewidth]{frog.jpg}}
  \vskip 6pt
  \centerline{\caption{A frog, scaled to a third of the text width.}}
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;An optional placement specifier — &lt;code&gt;[h]&lt;/code&gt; here, &lt;code&gt;[t]&lt;/code&gt; top, &lt;code&gt;[b]&lt;/code&gt; bottom — follows the
command. &lt;code&gt;[h]&lt;/code&gt; keeps the float in place if it fits; the default is top.&lt;/p&gt;
&lt;h2 id=&quot;tabular-material&quot;&gt;Tabular material&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;\tabular&lt;/code&gt; sets a table from a column spec (&lt;code&gt;l&lt;/code&gt;/&lt;code&gt;c&lt;/code&gt;/&lt;code&gt;r&lt;/code&gt; for alignment, &lt;code&gt;|&lt;/code&gt; for a vertical
rule); rows are separated by &lt;code&gt;\\&lt;/code&gt; and a horizontal rule by &lt;code&gt;\hline&lt;/code&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;\tabular{|l|c|r|}{
  \hline
  Item &amp;amp; Qty &amp;amp; Price \\
  \hline
  Widget &amp;amp; 3 &amp;amp; 1.50 \\
  Gadget &amp;amp; 1 &amp;amp; 9.99 \\
  \hline
}
&lt;/code&gt;&lt;/pre&gt;</content>
  </entry>
  <entry>
    <title>The Document Format</title>
    <link href="https://texish.edadma.dev/guide/document-format/"/>
    <id>https://texish.edadma.dev/guide/document-format/</id>
    <updated>2026-06-17T22:11:08.869227003Z</updated>
    <summary>The engine itself is small — boxes, glue, macros, math. The familiar article furniture (titles, sections, lists, figures) comes from a format you load at the top of a document:</summary>
    <content type="html">&lt;p&gt;The engine itself is small — boxes, glue, macros, math. The familiar article furniture
(titles, sections, lists, figures) comes from a &lt;em&gt;format&lt;/em&gt; you load at the top of a document:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;\use{document}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This is the analogue of plain TeX’s format or a LaTeX document class, kept deliberately
small. &lt;code&gt;\use&lt;/code&gt; resolves the format from texish’s bundled packages, so nothing else is
needed. Everything below assumes it is loaded.&lt;/p&gt;
&lt;h2 id=&quot;title-block&quot;&gt;Title block&lt;/h2&gt;
&lt;p&gt;Declare the title, author, and date, then typeset the block with &lt;code&gt;\maketitle&lt;/code&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;\title{On the Electrodynamics of Moving Bodies}
\author{A. Einstein}
\date{June 1905}
\maketitle
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Each is optional; &lt;code&gt;\maketitle&lt;/code&gt; centers whichever were given.&lt;/p&gt;
&lt;h2 id=&quot;abstract&quot;&gt;Abstract&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;\begin{abstract}
A short summary of the document, indented on both sides under a centered heading.
\end{abstract}
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;sections&quot;&gt;Sections&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;\section&lt;/code&gt; and &lt;code&gt;\subsection&lt;/code&gt; are auto-numbered; a subsection’s number resets with each new
section. The first paragraph after a heading is set flush left with no indent, as in a
LaTeX article; following paragraphs indent.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;\section{Introduction}
The opening paragraph sits flush against the left margin.

A second paragraph opens with the usual first-line indent.

\subsection{Background}
Numbered 1.1, 1.2, and so on.
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;lists&quot;&gt;Lists&lt;/h2&gt;
&lt;p&gt;Lists nest, and the markers hang to the left of the text so wrapped lines align under the
content rather than the marker.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;\begin{enumerate}
\item First point.
\item Second point.
\end{enumerate}

\begin{itemize}
\item A bullet.
\item Another bullet, with a nested list:
  \begin{itemize}
  \item a deeper bullet.
  \end{itemize}
\end{itemize}
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;quotations&quot;&gt;Quotations&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;quote&lt;/code&gt; indents a block on both sides; &lt;code&gt;quotation&lt;/code&gt; indents it further. Both revert at the
matching &lt;code&gt;\end&lt;/code&gt;.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;\begin{quote}
The art of writing is the art of discovering what you believe.
\end{quote}
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;footnotes&quot;&gt;Footnotes&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;\footnote&lt;/code&gt; raises a numbered marker in the text and sets its body at the foot of whatever
page the marker lands on.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;The result was first noted by Gauss\footnote{In a letter of 1809.} and later refined.
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;spacing-and-page-breaks&quot;&gt;Spacing and page breaks&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;\smallskip   \medskip   \bigskip       % named vertical gaps
\vskip 12pt plus 2pt minus 1pt         % explicit vertical glue
\vfill                                  % stretchable fill to the page bottom
\eject                                  % force a page break (\vfill\eject to flush)
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;running-heads-and-feet&quot;&gt;Running heads and feet&lt;/h2&gt;
&lt;p&gt;The format ships a page number in the footer. Override &lt;code&gt;\footline&lt;/code&gt;, or define a
&lt;code&gt;\headline&lt;/code&gt;, to change the running head or foot; &lt;code&gt;\the\pageno&lt;/code&gt; is the current page.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;\def headline {\hfil\italic{Draft}\hfil}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;See &lt;a href=&quot;/guide/figures-and-images/&quot;&gt;figures and images&lt;/a&gt; for &lt;code&gt;\figure&lt;/code&gt;, &lt;code&gt;\caption&lt;/code&gt;, and
centering, and &lt;a href=&quot;/guide/text-and-markup/&quot;&gt;text and markup&lt;/a&gt; for emphasis, code, colour, and
links.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Command Cheat Sheet</title>
    <link href="https://texish.edadma.dev/reference/commands/"/>
    <id>https://texish.edadma.dev/reference/commands/</id>
    <updated>2026-06-17T22:11:08.869227003Z</updated>
    <summary>A quick index of the commands. Those marked (format) require \use{document}; the rest are engine primitives available in any document.</summary>
    <content type="html">&lt;p&gt;A quick index of the commands. Those marked &lt;em&gt;(format)&lt;/em&gt; require &lt;code&gt;\use{document}&lt;/code&gt;; the rest
are engine primitives available in any document.&lt;/p&gt;
&lt;h2 id=&quot;document-structure-format&quot;&gt;Document structure &lt;em&gt;(format)&lt;/em&gt;&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;&lt;th&gt;Command&lt;/th&gt;&lt;th&gt;Effect&lt;/th&gt;&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\title{…}&lt;/code&gt; &lt;code&gt;\author{…}&lt;/code&gt; &lt;code&gt;\date{…}&lt;/code&gt;&lt;/td&gt;&lt;td&gt;set the title-block fields&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\maketitle&lt;/code&gt;&lt;/td&gt;&lt;td&gt;typeset the centered title block&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\begin{abstract}…\end{abstract}&lt;/code&gt;&lt;/td&gt;&lt;td&gt;a centered, indented summary&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\section{…}&lt;/code&gt; &lt;code&gt;\subsection{…}&lt;/code&gt;&lt;/td&gt;&lt;td&gt;auto-numbered headings&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\begin{itemize}&lt;/code&gt; &lt;code&gt;\begin{enumerate}&lt;/code&gt; &lt;code&gt;\item&lt;/code&gt;&lt;/td&gt;&lt;td&gt;bulleted and numbered lists&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\begin{quote}&lt;/code&gt; &lt;code&gt;\begin{quotation}&lt;/code&gt;&lt;/td&gt;&lt;td&gt;indented quotation blocks&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\footnote{…}&lt;/code&gt;&lt;/td&gt;&lt;td&gt;a numbered footnote&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\figure[htb]{…}&lt;/code&gt; &lt;code&gt;\table[htb]{…}&lt;/code&gt; &lt;code&gt;\caption{…}&lt;/code&gt;&lt;/td&gt;&lt;td&gt;floats with numbered captions&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&quot;text-and-markup&quot;&gt;Text and markup&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;&lt;th&gt;Command&lt;/th&gt;&lt;th&gt;Effect&lt;/th&gt;&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\emph{…}&lt;/code&gt; &lt;code&gt;\textit{…}&lt;/code&gt; &lt;code&gt;\textbf{…}&lt;/code&gt;&lt;/td&gt;&lt;td&gt;italic, italic, bold&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\texttt{…}&lt;/code&gt;&lt;/td&gt;&lt;td&gt;monospaced (Latin Modern Mono)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\color{name}&lt;/code&gt; &lt;code&gt;\textcolor{name}{…}&lt;/code&gt;&lt;/td&gt;&lt;td&gt;pen colour (CSS name or &lt;code&gt;#RRGGBB&lt;/code&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\href{url}{text}&lt;/code&gt; &lt;code&gt;\url{url}&lt;/code&gt;&lt;/td&gt;&lt;td&gt;clickable links (real PDF annotations)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\TeX&lt;/code&gt; &lt;code&gt;\LaTeX&lt;/code&gt; &lt;code&gt;\TeXish&lt;/code&gt;&lt;/td&gt;&lt;td&gt;the logos&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt; &lt;/code&gt;…’’ `` &lt;code&gt;--&lt;/code&gt; &lt;code&gt;---&lt;/code&gt; &lt;code&gt;...&lt;/code&gt; &lt;code&gt;~&lt;/code&gt;&lt;/td&gt;&lt;td&gt;quotes, dashes, ellipsis, tie&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&quot;mathematics&quot;&gt;Mathematics&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;&lt;th&gt;Command&lt;/th&gt;&lt;th&gt;Effect&lt;/th&gt;&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;$…$&lt;/code&gt; &lt;code&gt;$$…$$&lt;/code&gt;&lt;/td&gt;&lt;td&gt;inline and display math&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;^&lt;/code&gt; &lt;code&gt;_&lt;/code&gt;&lt;/td&gt;&lt;td&gt;super/subscript&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\frac{a}{b}&lt;/code&gt; &lt;code&gt;a \over b&lt;/code&gt;&lt;/td&gt;&lt;td&gt;fractions&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\sqrt{x}&lt;/code&gt; &lt;code&gt;\sqrt[3]{x}&lt;/code&gt;&lt;/td&gt;&lt;td&gt;roots&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\sum&lt;/code&gt; &lt;code&gt;\int&lt;/code&gt; &lt;code&gt;\prod&lt;/code&gt; &lt;code&gt;\limits&lt;/code&gt;&lt;/td&gt;&lt;td&gt;big operators&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\left( … \right)&lt;/code&gt;&lt;/td&gt;&lt;td&gt;stretchy delimiters&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\hat&lt;/code&gt; &lt;code&gt;\vec&lt;/code&gt; &lt;code&gt;\widehat&lt;/code&gt;&lt;/td&gt;&lt;td&gt;accents&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\text{…}&lt;/code&gt; &lt;code&gt;\mathcal{…}&lt;/code&gt;&lt;/td&gt;&lt;td&gt;upright / calligraphic&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\matrix&lt;/code&gt; &lt;code&gt;\pmatrix&lt;/code&gt; &lt;code&gt;\bmatrix&lt;/code&gt; &lt;code&gt;\cases&lt;/code&gt;&lt;/td&gt;&lt;td&gt;matrices&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\eqno(…)&lt;/code&gt;&lt;/td&gt;&lt;td&gt;display equation number&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&quot;boxes-spacing-and-pages&quot;&gt;Boxes, spacing, and pages&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;&lt;th&gt;Command&lt;/th&gt;&lt;th&gt;Effect&lt;/th&gt;&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\hbox&lt;/code&gt; &lt;code&gt;\vbox&lt;/code&gt; &lt;code&gt;\vtop&lt;/code&gt;&lt;/td&gt;&lt;td&gt;explicit boxes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\centerline&lt;/code&gt; &lt;code&gt;\leftline&lt;/code&gt; &lt;code&gt;\rightline&lt;/code&gt; &lt;code&gt;\centering&lt;/code&gt;&lt;/td&gt;&lt;td&gt;alignment&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\rlap&lt;/code&gt; &lt;code&gt;\llap&lt;/code&gt;&lt;/td&gt;&lt;td&gt;zero-width overlap boxes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\kern&lt;/code&gt; &lt;code&gt;\hskip&lt;/code&gt; &lt;code&gt;\vskip&lt;/code&gt;&lt;/td&gt;&lt;td&gt;rigid / glue spacing&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\smallskip&lt;/code&gt; &lt;code&gt;\medskip&lt;/code&gt; &lt;code&gt;\bigskip&lt;/code&gt;&lt;/td&gt;&lt;td&gt;named vertical gaps&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\vfil&lt;/code&gt; &lt;code&gt;\vfill&lt;/code&gt; &lt;code&gt;\hfil&lt;/code&gt; &lt;code&gt;\hss&lt;/code&gt;&lt;/td&gt;&lt;td&gt;stretchable fill&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\lower&lt;/code&gt; &lt;code&gt;\raise&lt;/code&gt;&lt;/td&gt;&lt;td&gt;shift a box vertically&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\penalty&lt;/code&gt; &lt;code&gt;\nobreak&lt;/code&gt; &lt;code&gt;\eject&lt;/code&gt;&lt;/td&gt;&lt;td&gt;page-break control&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&quot;images-and-graphics&quot;&gt;Images and graphics&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;&lt;th&gt;Command&lt;/th&gt;&lt;th&gt;Effect&lt;/th&gt;&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\includegraphics[width=,height=,scale=]{path}&lt;/code&gt;&lt;/td&gt;&lt;td&gt;place a PNG or JPEG&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\picture width:… height:… {…}&lt;/code&gt;&lt;/td&gt;&lt;td&gt;open a vector-graphics drawing&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&quot;macros-and-programming&quot;&gt;Macros and programming&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;&lt;th&gt;Command&lt;/th&gt;&lt;th&gt;Effect&lt;/th&gt;&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\def name args {body}&lt;/code&gt;&lt;/td&gt;&lt;td&gt;define a macro (&lt;code&gt;[name:default]&lt;/code&gt; optional args)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\newenvironment name {begin}{end}&lt;/code&gt;&lt;/td&gt;&lt;td&gt;define a &lt;code&gt;\begin&lt;/code&gt;/&lt;code&gt;\end&lt;/code&gt; environment&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\let&lt;/code&gt; &lt;code&gt;\global&lt;/code&gt; &lt;code&gt;\gdef&lt;/code&gt;&lt;/td&gt;&lt;td&gt;aliasing and global definitions&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\if&lt;/code&gt; &lt;code&gt;\ifx&lt;/code&gt; &lt;code&gt;\else&lt;/code&gt; &lt;code&gt;\fi&lt;/code&gt;&lt;/td&gt;&lt;td&gt;conditionals&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\calc{…}&lt;/code&gt; &lt;code&gt;\+ \- \* \/&lt;/code&gt;&lt;/td&gt;&lt;td&gt;arithmetic&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\for … \done&lt;/code&gt;&lt;/td&gt;&lt;td&gt;iteration&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\newcounter&lt;/code&gt; &lt;code&gt;\stepcounter&lt;/code&gt; &lt;code&gt;\value&lt;/code&gt; &lt;code&gt;\arabic&lt;/code&gt;/&lt;code&gt;\roman&lt;/code&gt;/&lt;code&gt;\Roman&lt;/code&gt;/&lt;code&gt;\alph&lt;/code&gt;/&lt;code&gt;\Alph&lt;/code&gt;&lt;/td&gt;&lt;td&gt;counters and number formatting&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;\use{name}&lt;/code&gt; &lt;code&gt;\include{path}&lt;/code&gt;&lt;/td&gt;&lt;td&gt;load a format / include raw input&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&quot;units&quot;&gt;Units&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;pt&lt;/code&gt; (the base unit, 1/72 in), &lt;code&gt;in&lt;/code&gt;, &lt;code&gt;cm&lt;/code&gt;, &lt;code&gt;mm&lt;/code&gt;, &lt;code&gt;em&lt;/code&gt;, &lt;code&gt;ex&lt;/code&gt;.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Command-Line Tool</title>
    <link href="https://texish.edadma.dev/reference/cli/"/>
    <id>https://texish.edadma.dev/reference/cli/</id>
    <updated>2026-06-17T22:11:08.869227003Z</updated>
    <summary>The Scala Native build links a standalone texish executable that turns a source document into a PDF (or one PNG per page) using the Cairo backend.</summary>
    <content type="html">&lt;p&gt;The Scala Native build links a standalone &lt;code&gt;texish&lt;/code&gt; executable that turns a source document
into a PDF (or one PNG per page) using the Cairo backend.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;texish [options] [input-file]

  input-file                    texish source to typeset; reads standard input if omitted
  -o, --output &amp;lt;file&amp;gt;           output path (default: beside the input file, or out)
  -t, --type &amp;lt;pdf | png&amp;gt;        output type (default: pdf)
  -p, --paper &amp;lt;a4 | letter&amp;gt;     paper size (default: letter)
  -r, --resolution &amp;lt;sd|hd|fhd&amp;gt;  PNG device resolution (default: hd)
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;examples&quot;&gt;Examples&lt;/h2&gt;
&lt;pre&gt;&lt;code class=&quot;language-sh&quot;&gt;texish doc.texish                       # writes doc.pdf
texish doc.texish -o paper -p a4        # writes paper.pdf on A4
texish doc.texish -t png -r fhd         # writes doc.png (or doc_1.png, doc_2.png, …)
cat doc.texish | texish -o doc          # read the source from standard input
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;PDF is the default output. A single-page document writes &lt;code&gt;name.png&lt;/code&gt;; a multi-page document
writes &lt;code&gt;name_1.png&lt;/code&gt;, &lt;code&gt;name_2.png&lt;/code&gt;, and so on.&lt;/p&gt;
&lt;h2 id=&quot;building-the-binary&quot;&gt;Building the binary&lt;/h2&gt;
&lt;pre&gt;&lt;code class=&quot;language-sh&quot;&gt;sbt texishNative/nativeLink
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The executable is produced at &lt;code&gt;native/target/scala-3.8.4/texish&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&quot;links-and-images-in-pdf-output&quot;&gt;Links and images in PDF output&lt;/h2&gt;
&lt;p&gt;Clickable links (&lt;code&gt;\href&lt;/code&gt; / &lt;code&gt;\url&lt;/code&gt;) become real PDF link annotations only in PDF output —
the PNG backend draws the link text but carries no annotation. &lt;code&gt;\includegraphics&lt;/code&gt; reads
PNG everywhere and JPEG through the libjpeg-turbo binding on the native backend.&lt;/p&gt;</content>
  </entry>
</feed>
