mirror of https://github.com/texmacs/doc.git
Documentation update
This commit is contained in:
parent
456d0e8033
commit
627edd9f9b
|
@ -1,9 +1,10 @@
|
||||||
<TeXmacs|1.0.2.3>
|
<TeXmacs|1.99.1>
|
||||||
|
|
||||||
<style|tmdoc>
|
<style|<tuple|tmdoc|english>>
|
||||||
|
|
||||||
<\body>
|
<\body>
|
||||||
<expand|tmdoc-title|Adding new data formats and converters>
|
<with|font-shape|italic|><tmdoc-title|Adding new data formats and
|
||||||
|
converters>
|
||||||
|
|
||||||
Using the <name|Guile>/<name|Scheme> extension language, it is possible to
|
Using the <name|Guile>/<name|Scheme> extension language, it is possible to
|
||||||
add new data formats and converters to <TeXmacs> in a modular way. Usually,
|
add new data formats and converters to <TeXmacs> in a modular way. Usually,
|
||||||
|
@ -17,13 +18,13 @@
|
||||||
|
|
||||||
A new format is declared using the command
|
A new format is declared using the command
|
||||||
|
|
||||||
<\expand|scheme-fragment>
|
<\scm-code>
|
||||||
(define-format <em|format>
|
(define-format <em|format>
|
||||||
|
|
||||||
\ \ (:name <em|format-name>)
|
\ \ (:name <em|format-name>)
|
||||||
|
|
||||||
\ \ <em|options>)
|
\ \ <em|options>)
|
||||||
</expand>
|
</scm-code>
|
||||||
|
|
||||||
Here <verbatim|<em|format>> is a symbol which stands for the format and
|
Here <verbatim|<em|format>> is a symbol which stands for the format and
|
||||||
<verbatim|<em|format-name>> a string which can be used in menus. In fact, a
|
<verbatim|<em|format-name>> a string which can be used in menus. In fact, a
|
||||||
|
@ -41,44 +42,50 @@
|
||||||
formats by their file suffix and contents. The possible suffixes for a
|
formats by their file suffix and contents. The possible suffixes for a
|
||||||
format, with the default one listed first, may be specified using
|
format, with the default one listed first, may be specified using
|
||||||
|
|
||||||
<\expand|scheme-fragment>
|
<\scm-code>
|
||||||
(:suffix <em|default-suffix> <em|other-suffix-1> ... <em|other-suffix-n>)
|
(:suffix <em|default-suffix> <em|other-suffix-1> ... <em|other-suffix-n>)
|
||||||
</expand>
|
</scm-code>
|
||||||
|
|
||||||
A (heuristic) routine for recognizing whether a given document matches the
|
A (heuristic) routine for recognizing whether a given document matches the
|
||||||
format can be specified using either one of the following:
|
format can be specified using either one of the following:
|
||||||
|
|
||||||
<\expand|scheme-fragment>
|
<\scm-code>
|
||||||
(:recognize <em|predicate>)
|
(:recognize <em|predicate>)
|
||||||
|
|
||||||
(:must-recognize <em|predicate>)
|
(:must-recognize <em|predicate>)
|
||||||
</expand>
|
</scm-code>
|
||||||
|
|
||||||
In the first case, suffix recognition takes precedence over document
|
In the first case, suffix recognition takes precedence over document
|
||||||
recognition and in the second case, the heuristic recognition is entirely
|
recognition and in the second case, the heuristic recognition is entirely
|
||||||
determined by the document recognition predicate.
|
determined by the document recognition predicate.
|
||||||
|
|
||||||
|
A format can be removed from menus using the following:
|
||||||
|
|
||||||
|
<\scm-code>
|
||||||
|
(:hidden)
|
||||||
|
</scm-code>
|
||||||
|
|
||||||
<paragraph*|Declaring new converters>
|
<paragraph*|Declaring new converters>
|
||||||
|
|
||||||
New converters are declared using
|
New converters are declared using
|
||||||
|
|
||||||
<\expand|scheme-fragment>
|
<\scm-code>
|
||||||
(converter <em|from> <em|to>
|
(converter <em|from> <em|to>
|
||||||
|
|
||||||
\ \ <em|options>)
|
\ \ <em|options>)
|
||||||
</expand>
|
</scm-code>
|
||||||
|
|
||||||
The actual converter is specified using either one of the following
|
The actual converter is specified using either one of the following
|
||||||
options:
|
options:
|
||||||
|
|
||||||
<\expand|scheme-fragment>
|
<\scm-code>
|
||||||
(:function <em|converter>)
|
(:function <em|converter>)
|
||||||
|
|
||||||
(:function-with-options <em|converter-with-options>)
|
(:function-with-options <em|converter-with-options>)
|
||||||
|
|
||||||
(:shell <em|prog> <em|prog-pre-args> from <em|progs-infix-args> to
|
(:shell <em|prog> <em|prog-pre-args> from <em|progs-infix-args> to
|
||||||
<em|prog-post-args>)
|
<em|prog-post-args>)
|
||||||
</expand>
|
</scm-code>
|
||||||
|
|
||||||
In the first case, the <verbatim|<em|converter>> is a routine which takes
|
In the first case, the <verbatim|<em|converter>> is a routine which takes
|
||||||
an object of the <verbatim|<em|from>> format and returns a routine of the
|
an object of the <verbatim|<em|from>> format and returns a routine of the
|
||||||
|
@ -92,22 +99,22 @@
|
||||||
|
|
||||||
<TeXmacs> automatically computes the transitive closure of all converters
|
<TeXmacs> automatically computes the transitive closure of all converters
|
||||||
using a shortest path algorithm. In other words, if you have a converter
|
using a shortest path algorithm. In other words, if you have a converter
|
||||||
from <with|mode|math|x> to <with|mode|math|y> and a converter from
|
from <math|x> to <math|y> and a converter from <math|y> to <math|z>, then
|
||||||
<with|mode|math|y> to <with|mode|math|z>, then you will automatically have
|
you will automatically have a converter from <math|x> to <math|z>. A
|
||||||
a converter from <with|mode|math|x> to <with|mode|math|z>. A ``distance
|
``distance between two formats via a given converter'' may be specified
|
||||||
between two formats via a given converter'' may be specified using
|
using
|
||||||
|
|
||||||
<\expand|scheme-fragment>
|
<\scm-code>
|
||||||
(:penalty <em|floating-point-distance>)
|
(:penalty <em|floating-point-distance>)
|
||||||
</expand>
|
</scm-code>
|
||||||
|
|
||||||
Further options for converters are:
|
Further options for converters are:
|
||||||
|
|
||||||
<\expand|scheme-fragment>
|
<\scm-code>
|
||||||
(:require <em|cond>)
|
(:require <em|cond>)
|
||||||
|
|
||||||
(:option <em|option> <em|default-value>)
|
(:option <em|option> <em|default-value>)
|
||||||
</expand>
|
</scm-code>
|
||||||
|
|
||||||
The first option specifies a condition which must be satisfied for this
|
The first option specifies a condition which must be satisfied for this
|
||||||
converter to be used. This option should be specified as the first or
|
converter to be used. This option should be specified as the first or
|
||||||
|
@ -116,49 +123,15 @@
|
||||||
default value. This option automatically become a user preference and it
|
default value. This option automatically become a user preference and it
|
||||||
will be passed to all converters with options.
|
will be passed to all converters with options.
|
||||||
|
|
||||||
<apply|tmdoc-copyright|1998--2002|Joris van der Hoeven>
|
<tmdoc-copyright|1998--2002|Joris van der Hoeven>
|
||||||
|
|
||||||
<expand|tmdoc-license|Permission is granted to copy, distribute and/or
|
<tmdoc-license|Permission is granted to copy, distribute and/or modify this
|
||||||
modify this document under the terms of the GNU Free Documentation License,
|
document under the terms of the GNU Free Documentation License, Version 1.1
|
||||||
Version 1.1 or any later version published by the Free Software Foundation;
|
or any later version published by the Free Software Foundation; with no
|
||||||
with no Invariant Sections, with no Front-Cover Texts, and with no
|
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
|
||||||
Back-Cover Texts. A copy of the license is included in the section entitled
|
Texts. A copy of the license is included in the section entitled "GNU Free
|
||||||
"GNU Free Documentation License".>
|
Documentation License".>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
<\initial>
|
<initial|<\collection>
|
||||||
<\collection>
|
</collection>>
|
||||||
<associate|paragraph width|150mm>
|
|
||||||
<associate|odd page margin|30mm>
|
|
||||||
<associate|shrinking factor|4>
|
|
||||||
<associate|page right margin|30mm>
|
|
||||||
<associate|page top margin|30mm>
|
|
||||||
<associate|reduction page right margin|25mm>
|
|
||||||
<associate|page type|a4>
|
|
||||||
<associate|reduction page bottom margin|15mm>
|
|
||||||
<associate|even page margin|30mm>
|
|
||||||
<associate|reduction page left margin|25mm>
|
|
||||||
<associate|page bottom margin|30mm>
|
|
||||||
<associate|reduction page top margin|15mm>
|
|
||||||
<associate|language|english>
|
|
||||||
</collection>
|
|
||||||
</initial>
|
|
||||||
|
|
||||||
<\references>
|
|
||||||
<\collection>
|
|
||||||
<associate|toc-1|<tuple|<uninit>|?>>
|
|
||||||
<associate|toc-2|<tuple|<uninit>|?>>
|
|
||||||
</collection>
|
|
||||||
</references>
|
|
||||||
|
|
||||||
<\auxiliary>
|
|
||||||
<\collection>
|
|
||||||
<\associate|toc>
|
|
||||||
<with|left margin|<quote|6fn>|font size|<quote|0.84>|Declaring new
|
|
||||||
formats<value|toc-dots><pageref|toc-1>>
|
|
||||||
|
|
||||||
<with|left margin|<quote|6fn>|font size|<quote|0.84>|Declaring new
|
|
||||||
converters<value|toc-dots><pageref|toc-2>>
|
|
||||||
</associate>
|
|
||||||
</collection>
|
|
||||||
</auxiliary>
|
|
Loading…
Reference in New Issue