mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-03-07 20:31:51 +09:00
192 lines
13 KiB
XML
192 lines
13 KiB
XML
<!DOCTYPE btexdoc SYSTEM "btexdoc.dtd">
|
||
<btexdoc cover="hardcover" inner="standard" papersize="standard">
|
||
<cover>
|
||
<title>The Way to Mastery of<br/>Lorem Ipsum</title>
|
||
<subtitle>Or, How To Write and Publish a Book</subtitle>
|
||
<author>Terran Publishing</author>
|
||
<edition>Test Edition</edition>
|
||
</cover>
|
||
|
||
<tocpage><tableofcontents/></tocpage>
|
||
|
||
<manuscript>
|
||
<part>The Book</part>
|
||
|
||
<chapter>What Is a Book</chapter>
|
||
|
||
<p>This example book is written to give readers the example of the Book Language.</p>
|
||
|
||
<section hide="1">What Qualifies as a Book</section>
|
||
|
||
<p><index id="the book"/>Under the book typesetting system, a Book is a collection of texts typesetted for an improved
|
||
legibility, enumerable pages, with insertion of other helpful resources such as illustrations
|
||
and <a href="hyperlink">hyperlinks</a>.</p>
|
||
<p>Books are considered as bound and always presented in two pages for reading.</p>
|
||
|
||
<chapter>Writing a Book Using a Typewriter</chapter>
|
||
|
||
<p><index id="typewriter"/>Typewriter allows quick scribbling of the words in convenient manners, just click on them and get
|
||
writing!</p>
|
||
<p>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.</p>
|
||
<p>Typed papers are considered as non-bound and only one page at a time will be presented.</p>
|
||
<p>All in all, you cannot write a true Book using a typewriter.</p>
|
||
|
||
<chapter>Writing a Book with Publishers and Printing Presses</chapter>
|
||
|
||
<p>Professional-looking texts, with all the benefits of a real Book can be made, or even mass-produced
|
||
easily with the help of publishers.</p>
|
||
<p>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 <btex/>.</p>
|
||
<p><btex/> allows concise description of the entire shape of your book, any style the book typesetting
|
||
system can support can be described and printing presses will produce the papers accordingly.
|
||
You can even try to mimic the look and feel of papers created using a typewriter, if you want to.</p>
|
||
|
||
|
||
<part>The <btex/></part>
|
||
|
||
<chapter>Introduction</chapter>
|
||
|
||
<p><index id="btex language"/><btex/> (pronounced as /biːtɛk/) is a markup language based on XML, with a resemblance of the <latex/>.
|
||
<btex/> abstracts away the meticulous styling and typesetting configurations, so you can focus on
|
||
actually writing your texts than debugging the <latex/> macros. This does come with a downside of
|
||
not being able to change the given style.</p>
|
||
<p><btex/> document is divided up to five parts: the <a href="btexdoc">Style Declaration</a>, the
|
||
<a href="cover">Cover</a>, the <a href="table of contents">Table of Contents</a>, the
|
||
<a href="manuscript">Manuscript</a>, and the <a href="index page">Index Page</a>, of which the
|
||
Style Declaration and the Manuscript are the mandatory parts.</p>
|
||
|
||
|
||
<chapter>The Style Declaration</chapter>
|
||
|
||
<p><index id="btexdoc"/>The Style Declaration is the very first line of a <btex/> document. Its syntax is as follows:</p>
|
||
|
||
<callout align="left" class="code"><index id="btexdoc (tag)"/><btexdoc cover="hardcover" inner="standard" papersize="standard">
|
||
</callout>
|
||
|
||
<p>The <code>btexdoc</code> tag takes following attributes:</p>
|
||
<ul>
|
||
<li><code>cover</code> — changes the style of the cover. Possible values: <code>hardcover</code>, <code>none</code></li>
|
||
<li><code>inner</code> — changes the style of the body. Possible values: <code>standard</code>, <code>typewriter</code></li>
|
||
<li><code>papersize</code> — defines the size of the paper. Possible values: <code>standard</code></li>
|
||
</ul>
|
||
|
||
<chapter>The Cover</chapter>
|
||
|
||
<p><index id="cover"/>The Cover defines the text on the cover of the book. If your text has no cover, this part can be omitted. Its syntax is as follows:</p>
|
||
<callout align="left" class="code"><index id="cover (tag)"/><index id="title (tag)"/><index id="subtitle (tag)"/><index id="author (tag)"/><index id="edition (tag)"/><cover hue="358"><br/>
|
||
<title>Title of your book&zwsp;</title><br/>
|
||
<subtitle>Subtitle if necessary&zwsp;</subtitle><br/>
|
||
<author>Who wrote this book&zwsp;</author><br/>
|
||
<edition>Edition information if necessary&zwsp;</edition><br/>
|
||
</cover>
|
||
</callout>
|
||
<p>Only the <code>title</code> 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.</p>
|
||
<p>The cover can have different colour with the <code>hue</code> attribute, which takes a number between 0 and 360.</p>
|
||
|
||
<chapter>The Table of Contents</chapter>
|
||
|
||
<p><index id="table of contents"/>The contents of the Table of Contents is filled in automatically by reading through your manuscript;
|
||
parts, chapters and sections will be added. Its syntax is as follows:</p>
|
||
|
||
<callout align="left" class="code"><index id="tocpage (tag)"/><tocpage title="Custom page name if necessary">&zwsp;<tableofcontents/>&zwsp;</tocpage>
|
||
</callout>
|
||
|
||
<p>The optional <code>title</code> attribute allows a custom name can be given to this page.
|
||
If unspecified, the default name is “Table of Contents”.</p>
|
||
<p>The tag <code><tableofcontents/></code> is an internal tag used by the typesetter.</p>
|
||
|
||
|
||
<chapter>The Manuscript</chapter>
|
||
|
||
<p><index id="manuscript"/><index id="tags"/>This is the part where you actually write your body texts in. The body text can have the following tags:</p>
|
||
<ul>
|
||
<li><index id="part (tag)"/><code>part</code> — inserts part separation page to your book</li>
|
||
<li><index id="chapter (tag)"/><index id="section (tag)"/><code>chapter</code>, <code>section</code> — inserts a new chapter/section. If an alternative name is required on the Table of Contents, the <code>alt</code> attribute can be used. If the chapter/section needs to be hidden on the Table of Contents, add the <code>hide="1"</code> attribute. If the chapter must start on a new page, simply add <code>newpage</code> in front of the chapter tag</li>
|
||
<li><index id="p (tag)"/><code>p</code> — 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 <code>p</code> of the part/chapter/section; first <code>p</code> after <code>br</code>, <code>newpage</code>, <code>callout</code>, <code>ul</code>, <code>ol</code> or <code>anonbreak</code></li>
|
||
<li><index id="span (tag)"/><code>span</code> — allows changing the colour of the texts. The colour must be specified in the <code>colour</code> attribute. Six-digit hex code, three-digit hex code and CSS Colors Level 4 named colours are supported. Note that all the colours will be rounded to the nearest three-digit hex code</li>
|
||
<li><index id="emph (tag)"/><code>emph</code> — is a special case of the <code>span</code> tag. The resulting text will be <emph>red</emph></li>
|
||
<li><index id="itemname (tag)"/><code>itemname</code> — is a special case of the <code>span</code> tag used to highlight the name of the ingame item. The resulting text will be <itemname>blue</itemname></li>
|
||
<li><index id="targetname (tag)"/><code>targetname</code> — is a special case of the <code>span</code> tag used to highlight the name of an arbitrary target or goals. The resulting text will be <targetname>green</targetname></li>
|
||
<li><index id="code (tag)"/><code>code</code> — is a special case of the <code>span</code> tag used to highlight the code element in-line. The resulting text will be <code>surrounded in a grey box</code></li>
|
||
<li><index id="br (tag)"/><code>br</code> — self-closing tag; inserts an anonymous line break</li>
|
||
<li><index id="newpage (tag)"/><code>newpage</code> — self-closing tag; inserts an anonymous page break</li>
|
||
<li><index id="anonbreak (tag)"/><code>anonbreak</code> — 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 novels</li>
|
||
<li><index id="callout (tag)"/><code>callout</code> — is a paragraph box that holds a text in a grey box, a style similar to the <code>code</code> tag</li>
|
||
<li><index id="ul (tag)"/><index id="li (tag)"/><code>ul</code> — starts an unordered list. List elements are defined using the <code>li</code> tag</li>
|
||
<li><index id="ol (tag)"/><code>ol</code> — starts an ordered list. List elements are defined using the <code>li</code> tag</li>
|
||
<li><index id="fullpagebox (tag)"/><code>fullpagebox</code> — 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 <code>newpage</code></li>
|
||
<li><index id="btex (tag)"/><code>btex</code> — self-closing tag; inserts an inline form of the <btex/> logo in the text</li>
|
||
</ul>
|
||
<p>Self-closing tags have no child tags. To use a self-closing tag, simply do <code><tagname/></code>.</p>
|
||
|
||
|
||
<section>Heading Styling</section>
|
||
|
||
<p>The <code>part</code>, <code>chapter</code> and <code>section</code> takes optional <code>type</code> attributes which changes how the chapter should be numbered. Available options are:</p>
|
||
<ul>
|
||
<li><code>a</code> — use alphabet for the number (a, b, c, …)</li>
|
||
<li><code>A</code> — use majuscule alphabet for the number (A, B, C, …)</li>
|
||
<li><code>i</code> — use Roman numeral for the number (i, ii, iii, …)</li>
|
||
<li><code>I</code> — use majuscule Roman numeral for the number (I, II, III, …)</li>
|
||
<li><code>1</code> — use numbers (1, 2, 3)</li>
|
||
</ul>
|
||
<p>By default, parts use majuscule Roman numerals and others use just numbers. Alternative styling for the <code>part</code> and the <code>chapter</code> can be defined using the <a href="macro definition">Macro Definition</a>.</p>
|
||
|
||
|
||
<section>Paragraph Styling</section>
|
||
|
||
<p>The <code>p</code> and <code>callout</code> tag take <code>align</code> attribute, which controls how the text should be aligned. Available options are:</p>
|
||
<ul>
|
||
<li><code>left</code> — aligns the text to the left without breaking words, also known as ragged-right</li>
|
||
<li><code>justify</code> — aligns the text as evenly as possible, like real books. This is the default value.</li>
|
||
</ul>
|
||
<p>The <code>p</code>, <code>span</code> and <code>callout</code> tags also take <code>class="code"</code> attribute, which results in the text printed using the <span class="code">code font.</span></p>
|
||
|
||
|
||
<section>Hyperlinking</section>
|
||
|
||
<p><index id="hyperlink"/>Hyperlinks can be defined using <code>index</code> and <code>a</code> tags.</p>
|
||
<ul>
|
||
<li><index id="index (tag)"/><code>index</code> — 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 <code>id</code> attribute</li>
|
||
<li><index id="a (tag)"/><code>a</code> — will make its child texts to be clickable. The link target (index identifier) must be defined in the <code>href</code> attribute</li>
|
||
</ul>
|
||
|
||
|
||
<chapter>The Index Page</chapter>
|
||
|
||
<p><index id="index page"/>The contents of the Index Page is filled in automatically by reading through your manuscript.
|
||
All the usage of <code>index</code> tags will be shown here. Its syntax is as follows:</p>
|
||
|
||
<callout align="left" class="code"><index id="indexpage (tag)"/><indexpage title="Custom page name if necessary">&zwsp;<tableofindices/>&zwsp;</indexpage>
|
||
</callout>
|
||
|
||
<p>The optional <code>title</code> attribute allows a custom name can be given to this page. If unspecified,
|
||
the default name is “Index”.</p>
|
||
|
||
|
||
<chapter>Ending the Document</chapter>
|
||
|
||
<p>The <btex/> document must begin with the opening <code>btexdoc</code> tag, and therefore must
|
||
end with a matching closing tag. Simply write away <code></btexdoc></code> and the
|
||
document is finished.</p>
|
||
|
||
|
||
<chapter>Conclusion</chapter>
|
||
|
||
<p>The finished book description using <btex/> can be sent to a publisher, and if there are no errors
|
||
on your submission, the printed books of specified number of copies will be delivered to your
|
||
location within a reasonable amount of business days. Happy writing!</p>
|
||
|
||
<newpage/>
|
||
|
||
<fullpagebox>
|
||
<p><span colour="#666">this page is intentionally left blank</span></p>
|
||
</fullpagebox>
|
||
|
||
</manuscript>
|
||
|
||
<indexpage><tableofindices/></indexpage>
|
||
</btexdoc>
|