How to write documents with texish: the document format, text and markup, programming and data (the language every package is written in), hyphenation, mathematics, figures and images, the inline vector-graphics…
How to write documents with texish: the document format, text and markup, programming and data
(the language every package is written in), hyphenation,
mathematics, figures and images, the inline vector-graphics mode, chemistry, data plotting,
railroad (syntax) diagrams, node-and-edge diagrams (flowcharts, state machines and
entity-relationship diagrams), month-grid calendars, QR codes and Data Matrix symbols,
chess diagrams and game scores, the
scripts of the world, and rendering
math and documents in the browser.
Pages
The Document Format— 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:
Text and Markup— texish turns ASCII source into proper typography, as TeX does — the body font enables these so they fire in ordinary running text:
Programming and Data— Every texish document is a program, whether or not it looks like one. A \section is a macro, a page number is a variable, and the packages that give a…
Hyphenation— Hyphenation is what lets a justified paragraph keep its spacing even. Without it the line breaker can only stretch and shrink the spaces between whole words, so a long word…
Mathematics— 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…
Figures and Images— \includegraphics places a raster image — PNG or JPEG — at its natural size, or sized by an optional key=value list:
Vector Graphics— \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…
Chemistry— The chem package adds chemical reaction equations and 2D structure drawings. Load it with:
Plotting— The plot package draws 2-D data plots — line graphs, scatter plots, bar charts, and function curves — with labelled axes, tick marks, a grid, a legend, and reference lines.…
Railroad diagrams— The railroad package turns a grammar written in W3C-style EBNF into railroad (syntax) diagrams — one picture per rule, drawn over the vector-graphics layer. Load it with:
Node-and-edge diagrams— The diagram package draws node-and-edge diagrams — block diagrams, state machines, flowcharts, dependency graphs — over the vector-graphics layer. A node is a named, measured box of some shape; an…
Calendars— The calendar package draws month-grid calendars over the vector-graphics layer. A month is one \picture box — a title bar with the month and year, a weekday header row, and…
Barcodes— Two two-dimensional symbologies, each in its own package: QR Code and Data Matrix. Both draw the symbol as one vector rectangle per dark module over the graphics layer, so it…
Chess— The chess package sets chess diagrams and game scores. Load it with:
Right-to-left text— texish sets right-to-left scripts — Hebrew and Arabic — alongside left-to-right text in the same paragraph. It lays out and breaks every paragraph in logical (reading) order, exactly as TeX…
Devanagari (Hindi)— texish sets Devanagari — the script of Hindi, Marathi and Sanskrit — with the syllable shaping the script needs. Devanagari is written left to right, so unlike Hebrew and Arabic…
Bengali–Assamese— texish sets the Bengali–Assamese script — used for Bengali, Assamese and several other languages — with the syllable shaping the script needs. Like Devanagari it is written left to right,…
Gujarati— texish sets the Gujarati script with the syllable shaping it needs. Like Devanagari, Bengali and the other Indic scripts it is written left to right, so it needs no bidirectional…
Gurmukhi (Punjabi)— texish sets the Gurmukhi script — used for Punjabi as written in India — with the syllable shaping the script needs. Like Devanagari and Bengali it is written left to…
Kannada— texish sets the Kannada script with the syllable shaping it needs. Like the other Indic scripts it is written left to right, so it needs no bidirectional reordering; what it…
Telugu— texish sets the Telugu script with the syllable shaping it needs. Like Devanagari, Bengali and Gurmukhi it is written left to right, so it needs no bidirectional reordering; what it…
Tamil— texish sets the Tamil script with the syllable shaping it needs. Like Devanagari, Bengali, Gurmukhi and Telugu it is written left to right, so it needs no bidirectional reordering; what…
Ethiopic— texish sets the Ethiopic script — Amharic, Tigrinya and Ge’ez — and it is the one non-Latin script here that needs no shaping at all. It is written left to…
Chinese, Japanese & Korean— texish sets the CJK scripts — Chinese, Japanese and Korean — with the line breaking each needs and a bundled face for each region. The three share the Han characters…
Rendering in the Browser— texish runs in the browser through its Scala.js build, so a web page can typeset math and whole documents on the client the way KaTeX does — no server, no…