The std d.t.d. contains the markup which is common to virtually all styles. It is subdivided into the following parts:
Various standard markup is defined in std-markup. The following textual content tags all take one argument.
Most can be found in the
Emphasizes a region of text like in “the real
thing”. This tag corresponds to the menu entry
For definitions like “a gnu is a horny
beast”. This tag corresponds to
A sequence of literal characters like the ae ligature
æ. You can get this tag via
The name of a particular thing or concept like the
A bibliographic citation like a book or magazine. Example:
Melville's Moby Dick. This tag, which is obtained using
An abbreviation. Example: I work at the C.N.R.S. An
abbreviation is created using
An acronym is an abbreviation formed from the first letter of each
word in a name or a phrase, such as HTML or
IBM. In particular, the letters are not separated
by dots. You may enter an acronym using
Verbatim text like output from a computer program. Example: the
program said hello. You may enter verbatim text via
Text which should be entered on a keyboard. Example: please type
return. This tag corresponds to the menu entry
Code of a computer program like in “cout <<
1+1;
yields 2”. This is entered using
Variables in a computer program like in cp
src-file dest-file. This tag corresponds
to the menu entry
This tag is used for mathematics inside regular text. Example: the formula is well-known.
This is a tag which can be used inside mathematics for specifying that an operator should be considered on itself, without any arguments. Example: the operation is a function from to . This tag may become depreciated.
This is a physical tag for typewriter phase. It is used for
compatibility with
Most of the following logical size tags can be found in
<
<
<
These logical size tags should be used by preference when typesetting parts of your document in a larger or smaller font. Environments like footnotes or captions of tables may also be based on logical size tags. Document styles from professional publishers often assign very precise font settings to each of the logical size tags. By default, the size tags are rendered as follows:
Really tiny
Tiny
Really small
Very small
Smaller
Small
Normal size
Large
Larger
Very large
Really large
Huge
Really huge
The following are standard environments:
Described above.
Similar to
Environment for short (one paragraph) quotations.
Environment for long (multi-paragraph) quotations.
Environment for poetry.
This is a physical tag for centering one or several lines of text.
It is used for compatibility with
Some standard tabular environments are
Centered tables.
Left aligned tables with a border of standard 1ln width.
Centered tables with a border of standard 1ln width.
The following tags are used to adjust the typesetting of content whenever necessary:
These macros can be used to adjust the vertical extents of the body to those of the character 'x'. In the case
of
These macros can be used to increase the vertical extents of the
body to those of the largest character in
the current font. In the case of
In fact, for a more uniform appearance, swelling is activated by default inside matrices.
This primitive is similar to
The following miscellaneous tags don't take arguments:
The TeXmacs logo.
The current version of TeXmacs (2.1.4).
A macro which may be used to indicate that your document was written using TeXmacs.
The TeX logo.
The LaTeX logo.
A horizontal rule like the one you see below:
The following miscellaneous tags all take one or more arguments:
This tag takes as much space as the typeset argument content would take, but content is not displayed. For instance, <phantom|phantom> yields “”.
For overlined text, which can be wrapped across several lines.
For underlined text, which can be wrapped across several lines.
The summary is displayed and the body ignored: the macro corresponds to the
folded presentation of a piece of content associated to a short
title or abstract. The second argument can be made visible using
Unfolded presentation of a piece of content body
associated to a short title or abstract summary.
The second argument can be made invisible using
Content which admits a finite number of alternative representation among which the user can switch using the function keys F9, F10, F11 and F12. This may for instance be used in interactive presentations. The argument current correspond to the currently visible presentation and alternative to the set of alternatives.
The std-symbol
d.t.d. defines the special symbols ć, ď,
ě, ľ, ń, ő, ř, š, ş,
ź, ţ, ű, ij, ¡, ¿, £ and
Ů. It also provides the macro
As soon as the font support will be further improved, this d.t.d. should become obsolete.
Standard mathematical markup is defined in std-math.
For binomial coefficients, like .
Alternative name for
A macro which switches to scriptsize text when you are not in
display style. This macro is mainly used by developers. For
instance, the
The following are standard mathematical tabular environments:
For matrices .
For determinants .
For choice lists .
The standard TeXmacs lists are defined in std-list. The unnumbered lists environments are:
The tag before each item depends on the nesting depth.
Uses for the tag.
Uses for the tag.
Uses for the tag.
The following environments can be used for producing numbered lists:
The kind of number before each item depends on the nesting depth.
Number the items by 1, 2, 3, etc.
Number the items by i, ii, iii, etc.
Number the items by I, II, III, etc.
Number the items by a), b), c), etc.
Number the items by A), B), C), etc.
The following environments can be used for descriptive lists:
The environment for default descriptive lists (usually
Align the left hand sides of the items in the list and put their descriptions shortly behind it.
Similar to
Align the left hand sides of the descriptions, while aligning the items to the right.
Put the items and their descriptions on distinct lines.
New items in a list are indicated through the
By default, items in sublists are numbered in the same way as usual
lists. Each list environment
The std-list provides the following redefinable macros for customizing the rendering of lists and items in lists:
This block environment is used to render the body of the list. Usually, the macro indents the body and puts some vertical space around it.
This inline macro is used to render the item-text in a right-aligned way. As a consequence, text after such items will appear in a left-aligned way.
This inline macro is used to render the item-text in a left-aligned way. As a consequence, text after such items may be indented by the width of the item-text (except when the text is rendered on a different paragraph).
The std-automatic d.t.d. contains macros for the automatic generation and rendering of auxiliary content. There are four main types of such content in TeXmacs: bibliographies, tables of contents, indexes and glossaries. Other types of automatically generated content like lists of figures are usually similar to one of the four above types (in the case of lists of figures, we use glossaries). The rendering of the entire sections which contain the bibliographies, tables of contents, etc. are specified in the section-base d.t.d..
The following macros may be used in the main text for citations to entries in a bibliographic database.
Each argument ref-i is a citation corresponding to an item in a BiB-TeX file. The citations are displayed in the same way as they are referenced in the bibliography and they also provide hyperlinks to the corresponding references. The citations are displayed as question marks if you did not generate the bibliography. Once you've added a bibliography file, pressing Tab inside the arguments will auto-complete with the cite-keys in your file.
Similar as
A bibliographic reference ref like
The following macros may be redefined if you want to customize the rendering of citations or entries in the generated bibliography:
Macro for rendering a citation ref at the
place where the citation is made using
Similar to
At the moment, bibliographies are generated by BibTeX and imported
into TeXmacs. The produced bibliography is a list of bibliographic
items with are based on special LaTeX-specific macros (
The
The individual “bibitems” are enclosed in a
The following macros may be used in the main text for adding entries to the table of contents. They are automatically called by most sectional macros, but it is sometimes desirable to manually add additional entries.
Create an important entry in the table of
contents. The macro
Add a normal entry to the table of
contents, of different levels of importance. Usually,
Add an unimportant entry to the table of
contents, like a paragraph. Since such entries are not very
important, some styles may simply ignore the
By redefining the following macros, it is possible to customize the rendering of tables of contents:
Used for rendering table of contents entries created using
Used for rendering table of contents entries created using
The separation between an entry in the table of contents and the corresponding page number. By default, we use horizontal dots.
The following macros may be used in the main text for inserting entries into the index.
Insert primary as a primary entry in the index.
Insert secondary in the index as a subentry of primary.
Similar to
Insert complex entries into the index. This feature is documented in detail in the section about index generation.
Adds entry to the index, by sorting it according to key.
The following macros may be redefined if you want to customize the rendering of the index:
Macro for rendering an entry in the index
on page(s) where. The macro
Similar to
Macro for producing the dots between an index entry and the corresponding page number(s).
The following macros may be used in the main text for inserting glossary entries.
Insert entry into the glossary.
For creating an additional page number for an entry which was already inserted before.
A function for inserting a glossary entry with its explanation.
Insert a glossary entry without a page number.
The following macros can be redefined if you want to customize the rendering of the glossary:
Macro for rendering a glossary entry and its corresponding page number(s).
Macro for rendering a glossary entry, its explanation, and its page number.
Macro for producing the dots between a glossary entry and the corresponding page number(s).
The std-utils package provides several macros which may be useful when writing style files. First of all, the following macros may be used for rendering purposes:
Low level tags for flushing to the right in the definition of
environments. One usually should use
These tags are used to make the body span
over the entire paragraph width. The text is left-aligned in the
case of
>Some text inside a
>Some text inside a
These tags are variants of <
<
<
<
These tags are used to make the body span
over the entire paragraph width and to put a horizontal rule above
and/or below it. The widths of the rules are given by top-border
and bot-border and the separation between
the rules by top-sep and bot-sep.
The standard width and separation (used by
left
right
|
Wide underlined environments are typically used for page headers. Wide environments which are both overlined and underlined are typically used for abstracts or floating figures and tables.
<
<
These tags put the body inside a frame box which spans over the whole paragraph. The user may specify a border-width, horizontal and vertical separations hsep and vsep between the border and the text, and colors border-color and body-color for the border and the background. For instance, <wide-std-framed-colored|brown|pastel green|Hi there!> yields
Hi there! |
These environments may be used in order to increase the current left and/or right indentation by the amounts left-amount and/or right-amount.
This environment allows to set the margin first-margin for the first lines of paragraphs in the body, as well as the margin other-margin for the other lines. This environment is for instance useful for glossaries, indexes, etc., in which case other-margin is often larger than first-margin. Notice that this environment enables indentation for the first line of body.
The following macros may be used in order to set headers and footers:
A macro for permanently changing the header. Notice that certain tags in the style file, like sectional tags, may override such manual changes.
A macro for permanently changing the footer. Again, certain tags in the style file may override such manual changes.
Remove all headers and footers from this page.
Remove the header of this page and set the footer to the current page number (centered). This macro is often called for title pages or at the start of new chapters.
Other macros provided by std-utils are:
This macro should be used in order to “localize” some English text to the current language. For instance, <with|language|french|<localize|Theorem>> yields Théorème.
This macro applies the macro fun to each of the entries in a tuple (or the children of an arbitrary TeXmacs tag) and returns the result as a tuple. For instance, <map|<macro|x|<em|x>>|<tuple|1|2|3>> yields (the quote only appears when rendering the result, not when performing further computations with it).
In TeXmacs, all automatic numbering of theorems, sections, etc. is done using “counters”. Such counters may be individual counters (like equation-nr) or belong to a group of similar counters (like in the case of theorem-nr). TeXmacs allows for the customization of counters on an individual or groupwise basis. Typically, you may redefine the rendering of a counter (and let it appear as roman numerals, for instance), or undertake special action when increasing the counter (such as resetting a subcounter).
New individual counters are defined using the following meta-macro:
Defines a new counter with name x. The counter is stored in the numerical environment variable x-nr and in addition, the following macros are defined:
Retrieve the counter such as it should be displayed on the screen.
Reset the counter to .
Increase the counter. This macro may also be customized by the user so as to reset other counters (even though this is not the way things are done in the standard style files).
Increase the counter, display the counter and set the current label.
For the purpose of customization, the
This is the macro which is used for transforming the numerical value of the counter into the value which is displayed on the screen.
This internal macro is used in order to retrieve the name of the environment variable which contains the counter. By default, this macro returns “nr-x”, but it may be redefined if the counter belongs to a group.
As noticed in the introduction, TeXmacs uses counter groups in order to make it possible to treat similar counters in a uniform way. For instance the counter group theorem-env regroups the counters theorem, proposition, lemma, etc. New counter groups are defined using:
Create a new counter group with name g. This results in the creation of the following macros:
These macros are similar to the macros
New counters can be added to the group using:
Defines a new counter x and add it to the
counter group g. For counters in groups,
the macros
At any moment, you may decide whether the counters of a group share a common group counter, or whether they all use their individual counters. This feature is used for instance in order to switch between American style numbering and European style numbering:
Use a common counter for the group (which is stored in the environment variable g-nr).
Use an individual counter for each member of the group (this is the default).
We notice that group counters may recursively belong to super-groups. For instance, the following declarations are from env-base.ts:
<document|<new-counter-group|std-env>>
<new-counter-group|theorem-env>
<add-to-counter-group|theorem-env|std-env>
<group-common-counter|theorem-env>
The program d.t.d. provides markup for the layout of computer programs. However, these tags should be considered as very unstable, since we plan to replace them by a set of more detailed tags:
The name of the algorithm and its body, which includes its possible specification.
The real body of the algorithm.
For indenting part of an algorithm.
The session d.t.d. provides the following environments for computer algebra sessions:
Environment for marking a session. All macros below are only for use inside sessions.
An input field with a prompt and the actual input.
An output field.
Fields with ordinary text. These may for instance be used for comments and explanations.
This macro is used inside output fields for displaying error messages.
In fact, these environments are based on environments of the form
If language-specific environments do not exist, then