User Tools

Site Tools


This is an old revision of the document!

Formatting Passages

Sometimes you'd like to apply styles to your text – to italicize a book title, for example. You can do this with simple formatting codes that are similar to the double brackets of a link. Here is what's available to you:

Formatting Source Code Appears As Resulting HTML
Italics //text// text <em>text</em>
Boldface ''text'' text <strong>text</strong>
Underline __text__ text <u>text</u>
Strikethrough ==text== text <strike>text</strike>
Subscript H~~2~~O H2O H<sub>2</sub>O
Superscript meters/second^^2^^ meters/second2 meters/second<sup>2</sup>
Monospace {{{text}}} text <code>text</code>
Comment /%comment%/
Error @@error@@ error error
Inline styling @@font-weight:bold;text@@ text text

Some additional syntax:

Formatting Source Code Resultant HTML
Bulleted list * one
* two
Numbered list # one
# two
Horizontal line ---- <hr>
Indented text >Text <blockquote>Text</blockquote>
Doubly indented text >>Text <blockquote><blockquote>Text</blockquote></blockquote>
Indented block <<<
Heading <h1> !Title <h1>Title</h1>
Heading <h2> !!Title <h2>Title</h2>
Heading <h3> !!!Title <h3>Title</h3>
Heading <h4> !!!!Title <h4>Title</h4>
Heading <h5> !!!!!Title <h5>Title</h5>

Escaped line breaks

One extra piece of syntax, separate from the above tables, is available: ending a line with a backslash \ will cause both the backslash and the line break to be removed from the passage, thus “joining together” both lines. The main purpose of this will become apparent when you use macros.

Table syntax

Some shorthand syntax for creating HTML tables exists, and is used like so:

|!table header <th>|!table header <th>|table header <td>|
|row 1|row 1|row 1|
|row 2|row 2|row 2|
|>|row 3|row 3|
|>|>|row 4|
|rows 5 and 6|row 5|row 5|
|~|row 6|row 6|
|rows 7, 8 and 9|>|row 7|
|~|>|row 8|
|~|row 9|row 9|
|table <caption>|c

The text content of the table is italicised in the above sample.


Comments are used to leave remarks about particular parts of a passage. They are not displayed when the player views the passage. You could leave reminder messages to yourself, explanations about what a particularly complex macro structure is doing, or advice to a collaborator working on this game with you.


If there's a particular kind of formatting that you'd like to use that isn't supported natively by Twine, you can put HTML tags directly into your story's text. You can, for instance, produce a block of centered text with a white border using custom CSS like so:

The sign reads:
<center style="padding:1em; border: 1px solid white;">TICKTOCKERSON INSTITUTE OF TEMPORAL FREEZING</center>
It hangs in midair, detached from the wall and tilted askew, as if some cosmic video watcher clicked
the Pause button as it began to fall.

Here's some HTML that you may find helpful:

HTML Produces
<center>Text</center> Horizontally centered text
Text Right-aligned text
Text Fully justified text
<abbr title=“Alt text”>Text</abbr> “< text” that is visible when you hover over the text
<small>Text</small> Smaller text
<big>Text</big> Bigger text
<br> A line break (best used in a <<nobr>> block)

Also, don't forget that HTML tags have a “style” attribute which can be used to apply CSS styles to the element.

Inline styling

Inline styling is a shorthand way to apply one-off CSS styles to a span of text. Where normally you would have to write:

Some text

You can instead write:

@@color:magenta;letter-spacing:3px;font-size:1.5em;Some text@@

Note that if you intend to re-use a particular set of CSS styles throughout the story, there is an easier way than copying and pasting the same inline style syntax over and over! You should create a stylesheet and define a CSS class like so:

.hotpink {

Then, you can simply write this HTML every time you want to use this style:

Some text


syntax.1388566478.txt.gz · Last modified: 2017/10/09 20:38 (external edit)