Strange Eons
Table of HTML-like Mark-up Tags Used For Layout
Send Feedback Home Page > Strange Eons > FAQ > Tag Table
This table lists the mark-up tags that can be used in Strange Eons text fields. An example that demonstrates some of the more advanced tags and features can be found here.
Style and Typography Tags
Symbol Tags
Image Tag
Variable Replacement Tags
Case Book Library Tags
| Section Tags | |
|---|---|
| <h1> ... </h1> | Name of major rule (e.g. a special ability rule). |
| <h2> ... </h2> | Name of minor rule (e.g. "Worshippers"). |
| Style Tags | |
| <b> ... </b> | bold text |
| <i> ... </i> | italic text |
| <u> ... </u> | underlined text |
| <del> ... </del> | |
| <sup> ... </sup> | Superscript text |
| <sub> ... </sub> | Subscript text |
| Colour Tags | |
| <black> ... </black> | Request black text (the colour used for regular card text). |
| <red> ... </red> | Request red text (as used for the bottom line of skill pairs). |
| <blue> ... </blue> | Request blue text (as used for the top line of skill pairs). |
| <green> ... </green> | Request green text (as used for special monster borders). |
| <yellow> ... </yellow> | Request yellow text (as used for stationary monster borders). |
| <purple> ... </purple> | Request purple text (as used for stalker monster borders). |
| <colour
col>
... </colour> or <color col> ... </color> |
Specify an arbitrary colour for text using one of two colour
formats:
Red-Green-Blue (HTML-style) Hue-Saturation-Brightness Colours with no alpha value given are completely opaque. |
| <bgcolour
col> ... </bgcolour> or <bgcolor col> ... </bgcolor> |
Specify an arbitrary background colour for text. The colour is specified exactly as above. |
| Typeface Tags | |
| <body> ... </body> | Use the main body typeface. |
| <tt> ... </tt> | Use the typewriter typeface (used for titles). |
| <card> ... </card> | Use the eroded small caps Caslon typeface (used for investigator card titles). |
| <largecard> ... </largecard> | Use the regular eroded Caslon typeface (used for Ancient One card titles). |
| <gate> ... </gate> | Use the Albertus-style typeface (used for gate markers and monster attributes). |
| <scenario> ... </scenario> | Use the Dominican Italic typeface (used for scenarios). |
| <family "name"> ... </family> | Use the typeface family (font) indicated by name. |
| <size
n> ... </size> or <size n%> ... </size> |
Use a size of n points for the current typeface (72pt = 2.54cm = 1 inch). If the size has a percent sign following it, then the size is chosen as a percentage of the current size instead. |
| <width value> ... </width> | Change the width of the text. The value may either be one of
several predefined widths, or else a number between 0.5 and 10 (where 1
is the regular width). The
predefined widths are (from narrowest to widest):
condensed, semicondensed, regular, semiextended, and extended. |
| <no kerning> ... </no kerning> | Do not kern this section. Kerning is currently disabled by default because of a bug that appears when cards are exported or printed at high resolution, so this tag has no effect. |
| <no ligatures> ... </no ligatures> |
Do not automatically create ligatures in this section.
Ligatures are substitute letter shapes that are used to improve
readability when certain letters appear together. |
| <tracking n> ... </tracking> | Adjust the relative tracking (letter spacing) in the section to
n. Useful values are in the range of about -0.1 to
0.2; a value of 0 results in no change. |
| Layout Tags | |
| <tabwidth w [w2...]> | Set the distance between tab stops to width. The width value is a measurement in the same format as the one used for images. More than one width may be given in order to define a set of tab stops. If the widths given do not add up to enough to cover the entire line length, then the widths will repeat (starting from the first) as many times as needed to fill out the line. |
| <left>, <center>, <right> |
Left-align, center, or right-align subsequent body text.
Note: If the start of a paragraph is written with right-to-left characters (Arabic, Hebrew), then the entire paragraph will be considered right-to-left overall. In this case, the meaning of the <left> and <right> tags is reversed: <left> will justify right-to-left paragraphs on the right, and vice-versa. So the <left> tag might better be thought of as "normal justification," and <right> might be thought of as "opposite justification." |
| <top>, <middle>, <bottom> | Align body text to top, middle, or bottom of the block, overriding the normal settings for the card type. |
| <ragged>, <justified> | Change the justification for the block to ragged (unjustified) or full justification, overriding the normal settings for the card. |
| <tight> | Minimize the line advance after this line. |
| <loose> | Increase the line advance after this line. |
| Quotation Marks | |
|---|---|
| <no punctuation> ... </no punctuation> | Do not perform punctuation replacement on this section. Punctuation replacement automatically generates curly quotes from straight quotes, converts dash sequences into en- and em-dash characters, and period sequences into ellipsis characters (see below). |
| <lq> or <"> | left double quote (“) |
| <rq> or </"> | right double quote (”) |
| <lsq> or <'> | left single quote (‘) |
| <rsq> or </'> | right double quote (’)—double and single quotation marks are normally generated automatically from " and ', but you can use these tags to override the automatic choice |
| <lg> | left guillemet («) |
| <rg> | right guillemet (») |
| <lsg> | left single guillemet (‹) |
| <rsg> | right single guillemet (›) |
| <lt> | less than symbol (<) |
| <gt> | greater than symbol (>) |
| Spacing | |
| <nbsp> or < > | non-breaking space (the second form is a single space between angle brackets) |
| <thsp> | thin space |
| <emsp> | em-space |
| <ensp> | en-space |
| <hsp> | hair space |
| Typographic Symbols | |
| <endash> or -- | en-dash (–) |
| <emdash> or --- | em-dash (—) |
| <...> or ... | ellipsis (…) |
| Miscellaneous Symbols | |
| <infinity> | lemniscate (∞) |
| <u+xxxx> | the Unicode (UTF-16) character u+xxxx |
| Image Tag |
|---|
|
<image url [width [height]] [alignment [offset]]> |
|
Insert an image at the current position in the text. The url parameter is the URL of the image. For local files, either a standard file pathname or a file:/ URL can be used. The special URL protocol res:// accesses Strange Eons's built-in resources. As with all tag parameters, the URL must be surrounded by quotes if it contains any spaces. The width parameter specifies a width for the image. If no width is specified, the image will be sized automatically by assuming a 150 dot per inch resolution. The height parameter specifies a height for the image. If no height is specified, the height will be chosen automatically according to the width, so that the image's original aspect ratio is maintained. The width and height values are physical measurements in centimetres, inches, or points. The desired unit is indicated by writing cm, in, or pt after the measurement, respectively. If no unit is specified, centimetres will be used. An optional alignment parameter can be given after the width and height (if any). This can be any of the following keywords:
The default alignment is baseline. For the baseline alignment types, an optional offset can be given. This is a measurement (as used to set the width or height). It determines the offset from the top of the image that will be aligned to the requested baseline. |
| Examples |
|
<image d:\pictures\smile.jpg top> <image http://www.sfu.ca/~cjenning/eons/avatar.png 1.5cm> <image res://icons/ky-expansion-icon.png 12pt 12pt> <image "file:///c:/documents and settings/joe/my documents/my pictures/picture 22.jpg"> |
| Standard Tags | |
|---|---|
| <name> | First word of the item or character's name. This takes multiple first names, initials, and epithets into account: for "John Q. Public", <name> will print "John" even though the first name field is "John Q." |
| <lastname> | Last name of an investigator. (Only investigators have a last name.) |
| <fullname> | The full name of the item or character. |
| <home> | The investigator's home location. |
| <the home> | The investigator's home location, preceded by an article. The result depends on the active game language as well as the location. For example, in English you would get "the Graveyard," but "Velma's Diner." En français: "les Contrées du Rêve", mais "la Maison de la Sorcière". |
| <The home> or <capital the home> | The investigator's home location, preceded by a capitalized article. The result depends on the active game language. |
| Gender-Specific Tags | |
|
You may insert tags that will be replaced with different text depending on the gender of the investigator. These tags have the form <m/f>, where the m text specifies what appears for male investigators, and the f text specifies what appears for female investigators. If either value is a dash (-), it means no text is produced for that gender. (This is needed so that the program can tell a gender tag like <-/i> from a style tag like </i>. The tag text is case-sensitive (unlike most tags), so you can write, e.g. <He/She> or <he/she>. Backwards Compatibility: You can also produce capitalized tags by writing "capital " in front of the gender tag: <he/she> becomes <capital he/she>, as in (very) old versions. There is a small compatibility issue with old cards, however, because a few rarely used tags forced capitalization or added extra characters. For example, <mr/mrs> produced Mr./Mrs but will now produce mr/mrs, exactly as written. |
|
| User-defined Tags (Macros) | |
|
You may define new tags that will replace themselves with any text you specify. Your new tags may optionally accept parameters that can be inserted at any point in your replacement text. To define a new tag, use the tag <define tag replacement>. The name of your new tag will be tag, and when used it will insert the text replacement. If the tag or replacement contains spaces, you must surround them in quotes ("). To include a quote within a replacement that is surrounded with quotes, preface the quote with a backslash (\"). The replacement must also be placed in quotes if it includes any tags. For example, <define "a test" "OK"> would create a tag <a test> that prints OK when used. When using a user-defined tag, you may also include a list of optional parameters. You can insert these parameters into your replacement text by including text of the form @n; in the replacement. The n should be replaced by the index of the argument in your list of arguments; the first argument will be @1;, the second will be @2;, and so on. For example, <define bi "<b><i>@1;</i></b>"> would create mark-up equivalent to <b><i>this</i></b> if you wrote <bi "this">. Tags must be defined before they can be used, so <x><define x OK> would not work. Your definitions can use any other tags, including other definitions. However, you must be careful not to create definitions that directly or indirectly refer to themselves (that is, definitions must not be recursive). This creates an infinite loop that will effectively lock up Strange Eons. A useful trick when working with user-defined tags is to place a backslash after each definition. A backslash causes any following whitespace to be ignored. By adding a backslash, you can leave space between the definitions and the rest of your text without adding space to your layout. A second macro tag is <repeat n text>; it repeats the text parameter n times. There are some practical examples of user-defined tags in the built-in examples provided by Strange Eons as well as the mark-up example page. See also: Standard Case Book Library Tags |
|
| The Case Book Macro Library | |
|---|---|
|
This library contains definitions that are useful for
writing casebooks. You do not need to use these definitions; you can
just write the equivalent text instead. However, there are some
advantages to using them:
Many of these definitions have different forms depending on the final punctuation in the definition name. A definition name that ends with '.' will insert a complete, stand-alone sentence. A definition name that ends with ';' will insert the start of a sentence. If the name uses neither '.' nor ';', then it will insert a sentence fragment that falls in the middle of a sentence without starting or ending it. Examples: <complete.>
Do not confuse the use of '.' and ';' with the use of '?'. When a definition
name includes a '?' at the end, this is a hint that the text is conditional.
That is,
the text that is produced will direct the player to do one of two or more
things depending on the current game state.
|
|
| Events and Vignettes | |
| <complete> <complete.> <complete;> |
Inserts standard text to mark the current vignette as complete:The tentacled mass falls limp to the ground. <complete.> |
| <failed> <failed.> <failed;> |
Inserts standard text to mark the current vignette as
failed:The librarian asks you to leave. <failed.> <toarkham.> |
| <unlock
^label> <unlock. ^label> <unlock; ^label> |
Unconditionally make a new Vignette available to the players.
Note that the parameter should almost always be a root reference (^label),
not a standard reference (#label). See also <unlock?>.A strange woman was seen near the crypt at sunset. <unlock. ^vampire> |
| <unlock?
^label> <unlock?. ^label> <unlock?; ^label> |
Conditionally unlocks a Vignette only if it is not already unlocked, completed, or failed. Note that the parameter should almost always be a root reference (^label), not a standard reference (#label). You turn the key and the gate creaks open. <unlock?. ^cemetary> |
| <enter
#label> <enter. #label> <enter; #label> |
Directs the reader to enter a Vignette location (such as
"[A1]").Draw 1 Clue token and <enter #garden>. |
| <enter?
^label #label> <enter?. ^label #label> <enter?; ^label #label> |
Directs the reader to enter a location if a certain Vignette is unlocked.
Usually, the location is the first location in the Vignette, so you
would use the location's root reference and standard reference together.<enter?. ^garden #garden> |
| <mayenter
#label> <mayenter. #label> <mayenter; #label> |
Allows the reader to enter a Vignette location.<mayenter. #library> |
| <mayenter?
^label #label> <mayenter?. ^label #label> <mayenter?; ^label #label> |
Allows the reader to enter a Vignette location if a
certain Vignette is unlocked.
Usually, the location is the first location in the Vignette, so you
would use the location's root reference and standard reference together.<mayenter?; ^library #library> and gain 1 Stamina. |
| <nothing> <nothing.> <nothing;> |
Inserts text indicating that "nothing happens".
This is most often used as the event for locations not used by the
case book.<nothing.> |
| <ornothing> <ornothing.> <ornothing;> |
Inserts text indicating that "otherwise, nothing
happens". This is most often used at the end of a location's initial
event when the plotted options have been exhausted.
If you have a lantern, <mayenter? ^tunnel #tunnel>. <ornothing.> |
| <toarkham> <toarkham.> <toarkham;> |
Inserts standard text that returns players in the
Vignette to Arkham. This is usually used when a Vignette completes or
fails, to ensure that all teams are kicked out of the Vignette, even if
they are at another Vignette location.<failed;>: <toarkham>. |
| <teamtoarkham> <teamtoarkham.> <teamtoarkham;> |
Inserts standard text that returns the team to Arkham.
This is usually used when one team leaves a Vignette due to the current
encounter, but the Vignette is still unlocked.If you decide to turn back, <teamtoarkham>. |
| Skill Checks | |
| The skill check tags refer to actions. This indicates that the parameter in question will be wrapped in an <action> tag (which is described in detail below). Essentially, if an action parameter is a label, text like "read paragraph 6" will be inserted, and if it is not a label, the parameter text is inserted unchanged. You can also leave out an action and it will default to "nothing happens". | |
| <check
test act1 act2> <check. test act1 act2> <check; test act1 act2> |
Inserts text that directs the player to make some kind
of skill check. The player performs the first action if it is a success;
the second if it is a failure. This text consists of multiple sentences,
so it always ends in a period. A ';' version is defined for
completeness, but in English it is the same as the '.' version.<check. "Speed (-1) [2]" #success "discard 1 Sanity"> |
| <teamcheck
test act1 act2> <teamcheck. test act1 act2> <teamcheck; test act1 act2> |
Inserts text that directs the players to make an
assisted skill check. The team performs the first action if it is a
success; the second if it is a failure. This text consists of multiple
sentences, so it always ends in a period. A ';' version is defined for
completeness, but in English it is the same as the '.' version.<teamcheck. "Luck (-1)" #success #failure> |
| <invcheck
name pronoun test act1 act2> <invcheck. name pronoun test act1 act2> <invcheck; name pronoun test act1 act2> |
This is similar to <check>, but it names a specific
investigator. Although all three forms are provided, they all do the
same thing because the text consists of multiple sentences and the start
of the inserted text is determined by the provided name.<invcheck. "The first player" "he or she" "Lore (-2)"
"draw 1 Unique item" #failure>
|
| Timeline Events | |
| <proceedon
roll> <proceedon. roll> <proceedon; roll> |
The standard Arkham Investigations rules use a die roll
to decide when to proceed to the next event on the timeline. The case
book editor takes a more generic approach: it lets you specify any
condition that you like. If you just want to use die rolls as in the
standard rules, this definition makes that easy. Tip: Use two hyphens
between a range of acceptable values. Strange Eons will convert this
into an en dash, which is the correct punctuation for number ranges.
<proceedon. 5--6> |
| Miscellaneous | |
| <action act> | Inserts text to describe an action. If the parameter
starts with # or ^, it is taken to be a label
reference. For # labels, text like "read paragraph 42" is
inserted. For ^ labels, text like "Vignette A" is inserted. If
the parameter does not start with # or ^, it is
inserted unchanged. If the parameter is not defined, "nothing happens"
is inserted. (The inserted text will be localized by game language.)<action #the-par> |
| <ifdef parameter true false> | If parameter is defined in the current macro
expansion, then the true text is inserted; otherwise, the
false text is inserted. This is normally used within another
definition
to print different (or no) text if some of the definition's parameters are
missing. The definition relies on the fact that an undefined
parameter is expanded to ?n?, where n is the parameter number.<define or "<ifdef \"@1;\" \" or @1;\" \"\">" > <define must "You must @1;<or @2;>."> <must walk drive> |
| <ifequal
str1 str2 true false> <ifequalnocase str1 str2 true false> |
If str1 is equal to str2, inserts true; otherwise inserts false. If <ifequalnocase> is used, the comparison is case insensitive. |
| <dpexp> <dhexp> <kyexp> <khexp> <bgexp> <xxexp> |
If you wish to point out instructions that can/should only be followed if the players have an optional expansion, you can use these definitions to insert appropriate icons. Fight a <dhexp> Tcho-tcho (High Priest). |
| <url hyperlink text> | Insert a link to a URL into the document. Use this if you wish to place a
URL in your case book. When printed from Strange Eons, then
hyperlink (or
text
if it is defined) will be printed
as regular text. When viewed in the Preview Draft tab or exported to an
HTML file, the URL will be shown as a clickable link. (If the link is
clicked on the preview page, the page will open in your default Web
browser.)<url "http://www.mywebsite.org"> <url "http://www.mywebsite.org" "my web site"> |
| Scripting | |
| <script scriptfile [param1] [param2] ...> | Execute a script file, calling its main() function with
the parameters passed to the <script> tag. If the main() function returns a
non-null value, that value is converted into a string and inserted as
text in place of the tag. The script file is located in exactly
the same way as scripts are found by uselibrary() (see the plug-in
authoring kit documentation for details).
<script res:///my/scripts/hello.js "Sunshine"> function main( name ) {
return "Hello, " + name;
}
|
| <eval expression> | Evaluates the script expression parameter that is passed
to it and inserts the result as text in place of the <eval>
tag.<eval "Math.pow(2,10)"> |
Return to Home Page Send Feedback
March 28, 2007 — Updated January 01, 2011