home | guide index


GUIDE 1 — BASICS

the semcon rule

semcon = semicolon character. the only trigger in mtx.

;         one semcon — this triggers an operator
;;       duo semcon — this outputs a literal ;

every level (lvl1, lvl2, lvl3), every context (plain text, code blocks, tables) — the rule is the same.


headings

6 levels. all start with ;= followed by exactly 3 characters — 4 total including the first =
weight descends by eroding = into - into .

;==== H1 TITLE ;.         4 equals (heaviest)
;===- H2 section ;.       3 equals 1 dash
;==-- H3 subsection ;.    2 equals 2 dashes
;=--- H4 detail ;.        1 equal 3 dashes
;=--. H5 minor ;.         1 equal 2 dashes 1 dot
;=-.. H6 smallest ;.      1 equal 1 dash 2 dots (lightest)

fixed width. deterministic. you can see the level in the source.

vs markdown

# H1       markdown — but # is also a comment in bash, python, yaml
;==== H1   mtx — ; + = is always a heading, nothing else

vs html

<h1>H1</h1>     html — open tag, content, close tag
;==== H1 ;.    mtx — trigger, content, closer

text formatting

whatmtxrenders as
bold;^ text ;.bold text
italic;% text ;.italic text
inline code;` text ;.inline code
strikethrough;\st text ;.strikethrough
superscript;\sp text ;.x2
subscript;\sb text ;.H2O

all formatting works inline within plain text:

this is bold and italic and code — all inline.

this is ;^ bold ;. and ;% italic ;. and ;` code ;. — all inline.

vs markdown

**bold**     markdown — ** also appears in shell globs
;^ bold ;.  mtx — ; is the only trigger
_italic_        markdown — _ appears in variable_names
;% italic ;.   mtx — no character conflicts

plain text

plain text just works. no operators needed for basic text.

single enter = line break.
double enter = new paragraph.

the rain came down hard.
she closed the window.
the room went quiet.

a new paragraph starts after the empty line.

the text above renders with natural line breaks and paragraphs.
markdown collapses single enters — mtx preserves them.


code blocks

;' opens a code block. ;. alone on a line closes it.
everything inside is literal — no operators parse (except ;; escape).

;'
your code here
no ;^ bold ;. triggers inside
;.

vs markdown

```
your code here
```

markdown uses triple backtick — also used in shell interpolation.
mtx uses ;' — unambiguous.


the escape rule

one rule: ;; = literal ; in output.

;;           -> ;
;;.          -> ;.
;;"          -> ;"
;;|          -> ;|
;;^ not bold -> ;^ not bold (no formatting)

when to escape: anytime you want ; to appear as text, not trigger an operator.
when NOT to escape: inside code blocks (content is already literal, only ;; still applies).


prev: guide index | next: structure