This example book is written to give readers the example of the Book Language.
Books are considered as bound and always presented in two pages for reading.
But it comes with big downsides: you cannot type in multiple writing systems, cannot have defined chapters and sections, cannot include any illustrations, no hyperlinks, and of course, ragged texts.
Typed papers are considered as non-bound and only one page at a time will be presented.
All in all, you cannot write a true Book using a typewriter.
Professional-looking texts, with all the benefits of a real Book can be made, or even mass-produced easily with the help of publishers.
To have your precious texts to be printed, you must send your manuscripts to a publisher, and the
manuscript must be written in a special language: the
The btexdoc tag takes following attributes:
cover — changes the style of the cover. Possible values: hardcover, noneinner — changes the style of the body. Possible values: standard, typewriterpapersize — defines the size of the paper. Possible values: standardOnly the title tag is mandatory. Cover texts will be printed using a special font that has wider
gaps between characters. The title text will be printed in a double-size.
The cover can have different colour with the hue attribute, which takes a number between 0 and 360.
The optional title attribute allows a custom name can be given to this page.
If unspecified, the default name is “Table of Contents”.
The tag <tableofcontents/> is an internal tag used by the typesetter.
part — inserts part separation page to your bookchapter, section — inserts a new chapter/section. If an alternative name is required on the Table of Contents, the alt attribute can be used. If the chapter/section needs to be hidden on the Table of Contents, add the hide="1" attribute. If the chapter must start on a new page, see the Macro Definitionp — inserts a new paragraph. The body texts must be written inside this tag. All paragraphs will have a 16-pixel indentation, with the following exceptions: first p of the part/chapter/section; first p after br, newpage, callout, ul, ol or anonbreakspan — allows changing the colour or the style of the texts. The colour must be specified in the colour attribute. Six-digit hex code, three-digit hex code and CSS Colours Level 4 named colours are supported. Note that all the colours will be rounded to the nearest three-digit hex codeemph — is a special case of the span tag. The resulting text will be itemname — is a special case of the span tag used to highlight the name of the ingame item. The resulting text will be targetname — is a special case of the span tag used to highlight the name of an arbitrary target or goals. The resulting text will be code — is a special case of the span tag used to highlight the code element in-line. The resulting text will be magenta and monospacedbr — self-closing tag; inserts an anonymous line breaknewpage — self-closing tag; inserts an anonymous page breakanonbreak — self-closing tag; inserts a paragraph break in the text. The break will be in a form of a long straight line on the centre of the text. Useful for typesetting novelscallout — is a paragraph box that holds a text in a grey boxul — starts an unordered list. List elements are defined using the li tagol — starts an ordered list. List elements are defined using the li tagfullpagebox — is used to typeset its child tags into a box that fills an entire page, with its contents centred on the page. Must be used after the newpagebtex — self-closing tag; inserts an inline form of the Self-closing tags have no child tags. To use a self-closing tag, simply do <tagname/>.
The part, chapter and section takes optional type attributes which changes how the chapter should be numbered. Available options are:
a — use alphabets for the number (a, b, c, …)A — use majuscule alphabets for the number (A, B, C, …)i — use Roman numerals for the number (i, ii, iii, …)I — use majuscule Roman numerals for the number (I, II, III, …)1 — use Arabic numerals (1, 2, 3)By default, parts use majuscule Roman numerals and others use Arabic. Alternative styling for the part and the chapter can be defined using the Macro Definition.
The p and callout tags can take align attribute, which controls how the text should be aligned. Available options are:
left — aligns the text flush to the left without breaking words, also known as ragged-rightright — aligns the text flush to the right without breaking words, also known as ragged-leftcenter — aligns the text aligned at the centre along the width of the paper without breaking wordsjustify — aligns the text as evenly as possible, similar to real books. This is the default value.The p, span and callout tags also take class="code" attribute, which results in the text printed using the code font.
index and a tags.
index — will define a target for a link. Indices require a unique identifier to work as a link, and the identifier must be defined in the id attributea — will make its child texts to be clickable. The link target (index identifier) must be defined in the href attributeimg tag.
This tag inserts the image at the centre of the page, starting from the current line;
if the size is taller than the remaining lines, the image will be printed onto the next page.
Its syntax is as follows:
The height attribute specifies the height of the image
Supported image formats: JPEG, PNG, BMP or TGA
index tags will be shown here. Its syntax is as follows:
The optional title attribute allows a custom name can be given to this page. If unspecified,
the default name is “Index”.
The tag <tableofindices/> is an internal tag used by the typesetter.
The btexdoc tag, and therefore must
end with a matching closing tag. Simply write away </btexdoc> and the
document is finished.
The finished book description using
macrodef tag which comes before the
cover tag. Its syntax is as follows:
Internally, part and chapter headings are printed using macros. Changing the value of the macro will change how the heading numbers are printed. The following is a list of names and default values:
thepart — Part heading. Default: Part %1$sparttype — Default style of the part tag. Default: Ithechapter — Chapter heading. Default: %1$schaptertype — Default style of the chapter tag. Default: 1chapteronnewpage — Controls if a chapter must start on a new page. Put non-zero value to enable this behaviour. Default: 0resetchapterafterpart — Controls if the chapter number should reset after a part. Put non-zero value to enable this behaviour. Default: 0parindent — Controls the indentation size of the paragraphs. Default: 16The argument key %1$s will be replaced into a number, Roman numerals, etc.
depending on the value of type attribute.
These macros can be used to localise the chapter headings for your language. For example, in Korean text, the following idiomatic definition will be useful:
v tag. This tag
can also be used to use an ingame string as well.
To print an external variable, use the id attribute; to print an ingame string, use
fromgame attribute. Note that only one of two attributes must be used, using both
attributes in a single tag will cause an error.
bucks
tag can be used along with the v tag. The following code is an example case:
If the external variable invoice_total_amount contains a string toomany,
this code would print out “The total is
v series tags are added:
veun vneun — 은/는vi vga — 이/가veul vreul — 을/를vwa vgwa — 와/과vro veuro — 로/으로Either of the tag in the pair can be used; they will put the correct postposition based on the word.
In other words, veun and vneun are identical.
These tags can be used in the following situation: suppose you have a
The variables will be resolved based on the current ingame language, then the necessary linguistic processing is performed, which would result in a following paragraph (text in blue denotes the text is inserted using the tags):
The
If the process exits without any error, the mailing system will be notified and will send the mail containing finished books to the player; if the process exits with errors, the mail containing details of the errors will be sent instead.
For this reason, the “printing press” is not exposed to the player, they only get to interact with it indirectly through the “publisher” via mail.
this page is intentionally left blank