From 76cb0294bf8109d8642ba4628f1ec896b1b7195b Mon Sep 17 00:00:00 2001 From: Packit Service Date: Jan 04 2021 09:47:25 +0000 Subject: dblatex-0.3.10 base --- diff --git a/COPYRIGHT b/COPYRIGHT new file mode 100644 index 0000000..28d2c24 --- /dev/null +++ b/COPYRIGHT @@ -0,0 +1,121 @@ +DocBook to LaTeX Publishing +Copyright (C) 2003-2015 Benoit Guillon + + +LICENSE: + + This package is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this package; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + +IMPORTANT: + + The stylesheets provided ARE NOT the official DocBook XSL + stylesheets. These stylesheets ARE NOT maintained by Norman Walsh. + Please, DO NOT e-mail Norman about any question regarding these + stylesheets + + +FROM THE OFFICIAL XSL DocBook Stylesheets +-------------------------------------------------------------------------------- + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation + files (the ``Software''), to deal in the Software without + restriction, including without limitation the rights to use, + copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following + conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + Except as contained in this notice, the names of individuals + credited with contribution to this software shall not be used in + advertising or otherwise to promote the sale, use or other + dealings in this Software without prior written authorization + from the individuals in question. + + Any stylesheet derived from this Software that is publically + distributed will be identified with a different name and the + version strings in any derived Software will be changed so that + no possibility of confusion between the derived package and this + Software will exist. + +ORIGINAL DOCBOOK XSL STYLESHEETS + * Norman Walsh XSL Stylesheets http://www.nwalsh.com + +DOCBOOK DTD + * Arbortex, Oasis, etc + * See Docbook copyright + +MATHML 2.0 SUPPORT +-------------------------------------------------------------------------------- + xsltml (http://xsltml.sourceforge.net) by Vasil Yaroshevich is integrated as + MathML 2.0 support. See the xsltml README file for copyright. The stylesheets + used here are derived from the original package and are not maintained by the + xsltml author or maintainer. + +NEW TABLE SUPPORT +-------------------------------------------------------------------------------- + The newtbl code (http://www.vistair.com/newtbl) by David Hedley is + included to drive the DocBook tables. This very good implementation is now the + default and unique implementation used, so the newtbl.use parameter is + useless. + +LATEX PACKAGES +-------------------------------------------------------------------------------- + The following latex packages are provided for convenience because they are + missing in some Debian or Fedora Core default LaTeX distributions. Dblatex + does not ensure that the package versions given here are compatible with your + latex distribution. + + * bibtopic.sty + * enumitem.sty + * ragged2e.sty + * attachfile.sty + +PASSIVETEX PACKAGES +-------------------------------------------------------------------------------- + Some of the Passivetex packages are provided to extend the support of Unicode + characters. The Passivetex LICENSE file is under latex/misc/passivetex. + +(G)RUBBER SUPPORT +-------------------------------------------------------------------------------- + A customized version of Rubber by Emmanuel Beffara + (http://www.pps.jussieu.fr/~beffara/soft/rubber) is integrated to compile the + LaTeX documents. The code used by dblatex IS NOT the official rubber package + and is not maintained by the rubber author or maintainer. The dblatex rubber + customization is called grubber. + +PYTHON WHICH +-------------------------------------------------------------------------------- + The Python which package (http://trentm.com/downloads/which/1.1.0/which-1.1.0.zip) + is embedded in the dblatex package under lib/contrib/which and used to + check some program dependencies during the install setup. The which license is + here in the dblatex package: lib/contrib/which/LICENSE.txt. + +MISCELLANEOUS +-------------------------------------------------------------------------------- + The string-replace template by David Carlisle + (http://www.dcarlisle.demon.co.uk/david) is extracted from pmathml.xsl + (http://www.w3.org/Math/XSL/pmathml.xsl), one of the W3C MathML XSL + stylesheets (http://www.w3.org/Math/XSL/Overview.html). + + The code is made available under the following conditions: + "Copyright (C) David Carlisle 2001, 2002. + Use and distribution of this code are permitted under the terms of the + W3C Software Notice and License + (http://www.w3.org/Consortium/Legal/copyright-software-19980720)". + diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..54df198 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,15 @@ +include setup.py +include setup.cfg +include MANIFEST.in +include COPYRIGHT +recursive-include docs * +recursive-include etc * +recursive-include latex * +recursive-include lib * +recursive-include scripts * +recursive-include tests * +recursive-include xsl * +include tools/dblatex_config.py +include tools/utfdump.py +include tools/pdfscan.py +global-exclude *.pyc diff --git a/docs/Logo_Freexian.png b/docs/Logo_Freexian.png new file mode 100644 index 0000000..8d82333 Binary files /dev/null and b/docs/Logo_Freexian.png differ diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 0000000..6e406fb --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,111 @@ +TABLES = $(wildcard table-eg*) +CHANGES = $(wildcard changes/*.xml) +VERSION = devel +OPTS = +XSLTPROC = xsltproc +XSLDBK = /usr/share/xml/docbook/stylesheet/docbook-xsl +XSLPROF = $(XSLDBK)/profiling/profile.xsl +XSLMAN = $(XSLDBK)/manpages/docbook.xsl +XSLHTML = $(XSLDBK)/xhtml/chunk.xsl +XSLPROFH = $(XSLDBK)/xhtml/profile-chunk.xsl +XSLOLINK = $(XSLDBK)/xhtml/docbook.xsl +HTMLDIRUM = xhtml/manual/ +HTMLDIRRN = xhtml/release-notes/ +CP = cp +HERE = $(shell pwd) + +HTML_PARAMS = --param ignore.image.scaling "'1'" \ + --param graphic.default.extension "'png'" \ + --param use.id.as.filename "1" \ + --param refentry.generate.name "0" \ + --param refentry.generate.title "1" \ + --param profile.attribute "'output'" \ + --param profile.value "'manual;html'" \ + --param othercredit.like.author.enabled "1" \ + --param generate.section.toc.level "3" \ + --param html.stylesheet "'manual.css'" + +# Where to find the manual and the release notes +vpath %.xml . changes + +# Main targets +all: olink manpagegz allpdf allhtml + +allpdf: manual.pdf release-notes.pdf + +allhtml: $(HTMLDIRUM)/index.html $(HTMLDIRRN)/index.html + +allstyle: all native db2latex simple + +olink: manual.db release-notes.db + +# Build and zip the Manpage +manpagegz: version.xml + @$(MAKE) -C manpage -f ../Makefile dblatex.1.gz + +# Build the HTML version of the documentation +$(HTMLDIRUM)/index.html: manual.xml + @$(XSLTPROC) --xinclude --param base.dir "'$(HTMLDIRUM)'" \ + $(HTML_PARAMS) \ + $(XSLPROFH) $< + convert -trim -rotate 90 processus.fig $(HTMLDIRUM)/processus.png + convert -trim pagesetup2.fig $(HTMLDIRUM)/pagesetup2.png + $(CP) *.png tables/*.png $(HTMLDIRUM)/. + $(CP) -r math/figures $(HTMLDIRUM)/. + $(CP) -r $(XSLDBK)/images $(HTMLDIRUM)/. + $(CP) manual.css $(HTMLDIRUM)/. + +$(HTMLDIRRN)/index.html: release-notes.xml + @$(XSLTPROC) --xinclude --param base.dir "'$(HTMLDIRRN)'" \ + $(HTML_PARAMS) \ + $(XSLPROFH) $< + $(CP) manual.css $(HTMLDIRRN)/. + +clean: + $(RM) manual.pdf release-notes.pdf *.db + $(RM) $(FIGURES) manpage/dblatex.1.gz + $(RM) -r $(HTMLDIRUM) + $(RM) -r $(HTMLDIRRN) + +native db2latex simple: version.xml + $(XSLTPROC) --xinclude \ + --param profile.attribute "'output'" \ + --param profile.value "'manual;pdf'" \ + $(XSLPROF) manual.xml | \ + ../scripts/dblatex -P target.database.document=$(HERE)/olinkdb.xml \ + -P current.docid=usermanual \ + -T $@ -o manual-$@.pdf - + +# Use the PDF image because the PNG from .fig is ugly +pagesetup2.pdf: pagesetup2.fig + fig2dev -L pdf $< $@ + +# Build the Olink database +%.db: %.xml + $(XSLTPROC) --xinclude --stringparam collect.xref.targets "only" \ + $(XSLOLINK) $< + mv target.db $@ + +# Build the PDF +%.pdf: %.xml version.xml $(TABLES) $(CHANGES) pagesetup2.pdf + @$(XSLTPROC) --xinclude \ + --param profile.attribute "'output'" \ + --param profile.value "'manual;pdf'" $(XSLPROF) $< | \ + ../scripts/dblatex -P target.database.document=$(HERE)/olinkdb.xml \ + -c manual.conf $(OPTS) -o $@ - + +# Build the manpage +%.1.gz: %.1 + gzip -f $< + +%.1: %.1.xml + $(XSLTPROC) --param profile.attribute "'output'" \ + --param profile.value "'manpage'" \ + --xinclude $(XSLPROF) $< | \ + $(XSLTPROC) $(XSLMAN) - + +# Actual version of the release +version.xml: FORCE + echo "$(VERSION)" > $@ + +FORCE: diff --git a/docs/biblio.xml b/docs/biblio.xml new file mode 100644 index 0000000..e2f0059 --- /dev/null +++ b/docs/biblio.xml @@ -0,0 +1,151 @@ + + +
+ Writing a Bibliography + + A bibliography (bibliography) can be written and put anywhere in the document. It appears as a chapter or a section and is composed by several divisions (bibliodiv) displayed as sections or subsections. + +
Using Bibliography Entries + + The writer selects information that describes each bibliography entry (biblioentry), and chooses the presentation order. The titles and authors are displayed first. + +A Bibliography + +Bibliography Example + References + + Document title + J.Doe + DEX000567325 + + + White papers + + Technical notes + + J.Doe + R.Marion + + DEX000704520 + + + +]]> + +
+
Using BibTeX Databases + +Instead of writing the bibliographic materials in DocBook you can reuse +some already available BibTeX databases. Of course, this feature is specific to +dblatex, that will automatically call bibtex +if some bibtex databases are used. + +To do so, write a bibliodiv containing an empty +bibliomixed element having a +bibtex processing instruction specifying the databases to use +and the style to apply. + +More precisely here are the attributes supported by the +bibtex PI: + + +bibfiles +This attribute is mandatory and specifies the databases to use. +The databases are separated by +commas, and must not contain the file suffix (.bib). The bibfiles +paths must be absolute or relative to the base directory of the document. You +can also add some bibfile paths by using the option. + + +bibstyle + +Optional attribute specifying the bibliographic style to apply for rendering +the databases. You can also change globally the style to apply with the +latex.biblio.style. +The actual style file used by +bibtex is searched in the default paths, but some extra paths +can be added by using the option. + + +mode + +Optional print mode. The available values are: + + all + Print all the entries contained in the databases. + + cited + Print only the entries cited in the document. + + notcited + Print only the entries not cited in the + document. + + + +When the attribute is not used, the + latex.biblio.output parameter is used as print mode. By + default the print mode is set to 'all'. + + + + + +Some bibliodivs embedding bibliographic entries can be mixed with some bibliodivs using BibTeX databases, as shown by . + +Bibliography using BibTeX databases + +Bibliography Example + References + + Document Title + J.Doe + DEX000567325 + + + Bibtex References + + + Cited Bibtex References + + + +]]> + + +
+
Natbib Citations + +You can apply natbib citation styles by playing with the citation role +attribute, or with a dblatex processing instruction. The +natbib use is enabled only when the citation.natbib.use +paramater is set to 1; if not (default) the role attribute or PI are not taken +into account even if present. The natbib package can be loaded with user specific +options by setting the citation.natbib.options +parameter. + +When using the role attribute, simply type the natbib citation command to +apply. When using the dblatex PI, put the natbib command in +the citestyle attribute. + +If you need to put some square brackets "[ ]" in the citation texts, enclose +the whole text with "{ }" to protect them (as you would do in latex). + +Here are some examples: + +texbook +texbook +texbook +texbook +]]> + +You can use a global natib citation style with the +citation.default.style parameter. By default the +parameter is empty, and therefor is not used. + +
+
diff --git a/docs/changes/changes-0.1.10.xml b/docs/changes/changes-0.1.10.xml new file mode 100644 index 0000000..b173cbb --- /dev/null +++ b/docs/changes/changes-0.1.10.xml @@ -0,0 +1,20 @@ + + + Images can now have their default dimension limited to a specified maximum + dimension (can be lower than the page bounderies). + + +the following parameter is added: + + +glossterm.auto.link + + Makes glossterms link to their glossary definition. + + + + + +A number of bug fixes. + + diff --git a/docs/changes/changes-0.1.4.1.xml b/docs/changes/changes-0.1.4.1.xml new file mode 100644 index 0000000..4f7a1b1 --- /dev/null +++ b/docs/changes/changes-0.1.4.1.xml @@ -0,0 +1,26 @@ + + +Significant imagedata improvement: almost all the +attributes (align, valign, depth, width, scale, scalefit, contentdepth, +contentwidth) are correctly managed. However percentage used for both contentdepth and +contentwidth is not managed (only contentwidth percentage is then applied). + + +Dblatex tries to automatically detect the image file formats of the +included graphics, and convert them if necessary (and if possible) to be compatible with +the TeX backend driver. It is usefull when several image formats are used within the +same document, in which case the cannot be used. + + +The dblatex option is +added. One can then set XSL parameter values directly from the command line. This is an alternative to the option. + + + +The align attribute is now managed for table cells spanned on +several columns (i.e. row entries with nameend or +spanname attributes). + + + diff --git a/docs/changes/changes-0.1.4.xml b/docs/changes/changes-0.1.4.xml new file mode 100644 index 0000000..53700d1 --- /dev/null +++ b/docs/changes/changes-0.1.4.xml @@ -0,0 +1,74 @@ + + +Deep code cleanup. + + +Better table support + + + Multicolumn support (use of the attributes + namest, nameend, + spanname). + + + Better frame, rowsep, + colsep attributes inheritance. + + + + +Better bibliography support + + + Bibliography can be nested under any section. + + + Biblioset support. + + + Basic bibliomixed support. + + + + +Indexterm sortas and class attributes support added. + + +Imagedata width, depth, scale attributes support improved. In previous releases, scale was used instead of width. Now, you should use width or scale properly. + + +Programlisting linenumbering attribute support added. + + +Basic glossary support added. + + +Better reference support. Refnamediv title is no more hard-coded +(use of $refnamediv.title if not empty, or name automatically generated according to the +lang). + + +Qandaset improved. Qandadiv can be nested under any section. + + +Better xref support. Now xreflabel and endterm work. + + +The latex hyperref package is now automatically included in the dbk_core +package. A customized LaTeX style package shouldn't include hyperref +anymore. + + +Link now works. + + +Trademark class attribute managed (except class='service'). + + +A keyword is not displayed but is inserted in the index entries. + + +Some bug fixes. + + + diff --git a/docs/changes/changes-0.1.5.xml b/docs/changes/changes-0.1.5.xml new file mode 100644 index 0000000..b811067 --- /dev/null +++ b/docs/changes/changes-0.1.5.xml @@ -0,0 +1,100 @@ + + + +dblatex supports the new option +. It specifies which latex +style to use for formatting the output. See this section for more +details. + + +The configure script can select the default latex style to use with the option +. Example: + + ./configure --prefix=/where/to/install --target=db2latex + + + +The use of make instead of gmake is now +detected by configure. + + +Any document language should be well supported, since babel is now included +for the related language. + + +New table support, completely re-written by David Hedley. It is very good and +no Perl parsing is needed. One can use this new XSL table code by setting the +parameter newtbl.use=1. + + +The following XSL parameters are added: + +latex.babel.use + +Set to 1 the babel package corresponding to the document language is +included. Set to 0 no babel package is included whatever the document language +is. Default is 1. + + +latex.babel.language + +Empty by default, this parameter forces the use of the specified babel +language whatever the document language is. + + +newtbl.use + +Set to 1, use the David Hedley table support. By default it is set to +0. + + +figure.note + +Figure to use to render a note block. This parameter is +added to allow new latex styles to use their own figures in admonitions. + + +figure.tip + +Figure to use to render a tip block. This parameter is +added to allow new latex styles to use their own figures in admonitions. + + +figure.important + +Figure to use to render a important block. This parameter is +added to allow new latex styles to use their own figures in admonitions. + + +figure.warning + +Figure to use to render a warning block. This parameter is +added to allow new latex styles to use their own figures in admonitions. + + +figure.caution + +Figure to use to render a caution block. This parameter is +added to allow new latex styles to use their own figures in admonitions. + + + + + +XML source files with any extension are correctly handled. Previously one +needed to give XML files with extension .xml. + + +Better footnote support: it can be used in section titles +and in terms. + + +Some latex rendering aspects are removed from the XSL stylesheets (they should +never have been in these stylesheets): \parindent value, \parskip value, +\thispagestyle{fancy} for pages containing chapters. + + +Bug fixes. + + + diff --git a/docs/changes/changes-0.1.6.xml b/docs/changes/changes-0.1.6.xml new file mode 100644 index 0000000..ca33153 --- /dev/null +++ b/docs/changes/changes-0.1.6.xml @@ -0,0 +1,87 @@ + + + +Better figure and informalfigure +rendering: + + +Caption and title are printed separately, in a consistent way. + + +Default image scaling is possible. + + + + +Better programlisting and screen +rendering: + + +All the attributes are supported + + +A default verbatim layout is provided. The text is put in a framed box +with a yellow background color. + + +Long lines are wrapped. + + + + +Minor improvements: + + +A breakline is forced after a term when it is immediately +followed by a list. + + + + +the following parameters are added: + +imagedata.default.scale + +It defines the default scaling rule to +apply on every imagedata that contains no scaling +attribute. +By default the parameter is set to 'pagebound', that is the images keep +their natural size up to the page boundaries. + + +figure.title.top + +Set to 1 it specifies to put the title above +the image. By default it is set to 0 (title below). +This parameter has no effect if an explicit float +style is used for the figures (e.g. ruled style), since the title position is +then fixed by the chosen style. + + +mediaobject.caption.style + +Font style applied to the caption text. Default is slanted. + + +literal.width.ignore + +Set to 1 the programlisting and screen width attribute is ignored. + + +literal.layout.options + +Overwrite the default verbatim layout options. + + +seg.item.separator + +Defines the separator to use between several +segitems. + + + + + +Some bug fixes. + + diff --git a/docs/changes/changes-0.1.7.xml b/docs/changes/changes-0.1.7.xml new file mode 100644 index 0000000..d841501 --- /dev/null +++ b/docs/changes/changes-0.1.7.xml @@ -0,0 +1,129 @@ + + + +Callouts are now supported: + + + Embedded callout markups cos are + supported. + + + The coref markups are supported. + + + Callouts markups defined with areas in a + programlistingco or screenco are + supported. + + + Callouts on external text files (referenced by textdata + or imagedata elements) are supported. + + + Mediaobjectcos is supported. + + + The calloutlists are rendered as description lists + where the terms are the callout markups. + + + The links between the callout markups (defined via areas + or cos) and the calloutlist items (linkends + attributes) are handled properly. + + + + + Programlisting and screen + improved: external text files referenced via textdata or + imagedata are now supported. + + + An abstract in an article is now printed. + + + The legalnotices are now printed in the native + docbook style. + + + Better xref support. You can now make a + cross-reference to an itemizedlist with title, and to a + refentry. + + + Hyphenation is forced for text using a typewriter font, and the font is + smaller. + + + Running dblatex on a root element different from a + book or article does not fail anymore, except for set. + The root element is now wrapped into a book or an + article. + + + Minor improvements: + + + A DBLaTeX logo can be put on the cover page. + + + The PDF information section can tell that the creator of the document + is dblatex. + + + + +the following parameters are added: + +co.linkends.show + + Next to a callout markup the links to the corresponding calloutlist + items are shown if the parameter is set to 1. Set by default to 1. + + +callout.markup.circled + + The callouts referenced in the callout list have the same rendering than + the markups in the listing (or graphic), that is, white numbers in black + circles. Set to 0 the references are simple numbers. Set to 1 by + default. + + +callout.linkends.hot + + The callouts referenced in the callout list are hot links if the + parameter is set to 1. Then, the references are in red such like any + other cross-reference link in the document. Set to 1 by default. + + +term.breakline + + Set to 1, the item following a term in a variable list is put on the + next line. Set to 0 by default. + + +doc.pdfcreator.show + + Set to 1, the creator field of the PDF information section says that + dblatex is the creator. Set to 1 by default. + + +doc.publisher.show + + Set to 1, the dblatex logo is printed on the cover page of the native + docbook style. Set to 0 by default. + + +literal.lines.showall + + Set to 1, all the lines in a verbatim environment like programlisting or + screen are printed, even if they are empty. Set to 0, the last empty lines are + not printed. It is set to 1 by default. + + + + + +Some bug fixes. + + diff --git a/docs/changes/changes-0.1.8.xml b/docs/changes/changes-0.1.8.xml new file mode 100644 index 0000000..ee4c9ac --- /dev/null +++ b/docs/changes/changes-0.1.8.xml @@ -0,0 +1,85 @@ + + + Better programlisting and screen + support: inlinegraphic[@format='linespecific'] is handled. + + + Better newtbl support: the case colwidth="1in+5*" is now correctly handled. + + + + GIF images are converted on the fly to PDF. + + + Bibliolist support. + + + Minor improvements: + + + DBLaTeX does not convert images when output is latex only. + + + Emphasis with role="underline" is supported. + + + Trademark with class="service" is supported. + + + Xref to refnamediv + is now possible. + + + Automatic biblioentry abbreviation used if + abbrev and @id reference are not defined. + + + + +the following parameters are added: + +titleabbrev.in.toc + + When set to 1 the titleabbrev content is put in the TOC instead of the + title. Set to 1 by default. + + +set.book.num + + When the document root element is a set this parameter + can be used to select the book to print. Set to 1 by default. + + +doc.lot.show + + It specifies which Lists of Titles should be printed after the + Table of Content. The value is a comma separated list of the LoTs to + print. The supported LoTs are "figure", "table", "equation", and "example". + The list order represents the LoTs order in the output document. + + +qandaset.defaultlabel + + It defines the default label to use in a qandadet + when the defaultlabel attribute is not specified. Set to "number" by default. + + +imagedata.file.check + + Set to 1, it checks if the referenced image file exists. If not, the + mediaobject alternative (textobject) is used. Set to 1 by default. + + +doc.alignment + + It defines the text alignment for the whole document. The valid values + are: "left", "center", "right", "justify". By default the parameter is empty, + which is equivalent to "justify". + + + + + +A number of bug fixes. + + diff --git a/docs/changes/changes-0.1.9.xml b/docs/changes/changes-0.1.9.xml new file mode 100644 index 0000000..3008ac4 --- /dev/null +++ b/docs/changes/changes-0.1.9.xml @@ -0,0 +1,29 @@ + + + The newtbl implementation now handles some tricky row spanning cells. + Moreover it becomes the default table implementation used. + + + Equations without title are now latex equations (not formula in a + float). + + + Xref to varlistentry or term is + possible. + + +the following parameters are added: + + +make.year.ranges +make.single.year.ranges + + Change the rendering of year ranges in a copyright. + + + + + +A number of bug fixes. + + diff --git a/docs/changes/changes-0.2.1.xml b/docs/changes/changes-0.2.1.xml new file mode 100644 index 0000000..44f489c --- /dev/null +++ b/docs/changes/changes-0.2.1.xml @@ -0,0 +1,48 @@ + +Better unicode support. Now the XML output is encoded in UTF-8, +and Python uses the codecs to decode to ISO-Latin1 and replace the unsupported +characters to some latex equivalent. + +Several XSLT processors can be used. The first port is for +4suite because it is fully written in +Python and is quite a good tool. The processors are loaded as plugins, so that +it can be easily extended to any other XSLT processor. +The processor to use is specified from the command line with the + option, where +xslt is the name of the plugin to load (actually the +name of the dynamically loaded Python module). + + +The XSL code is more conformant. It has been checked by using the +4suite XSLT processor as an alternative +to xsltproc. + +Possibility to have some configuration files stored under +$HOME/.dblatex or under /etc/dblatex +for system-wide configurations. Some extra paths can be specified by using the +DBLATEX_CONFIG_FILES environment variable. + +The remarks and comments +are rendered as PDF text annotations when pdflatex is +used. Otherwise, the comments are suppressed. + +Some other minor improvements: + +The parameters pdf.annot.options, +latex.class.book, and +latex.class.article are added. +An hexadecimal color like +]]> is supported, and +a named color like ]]> is +supported too (in the previous release named colors had to +be enclosed in curly braces "{}"). +Some cleaner locale handling is provided, and new latex commands +are given to allow the user to customize the babel setup. +The cross-references now use key() +instead of id(). It prevents from some bugs and makes +writing a document easier, especially in modular parts. + + + +Some bug fixes. + diff --git a/docs/changes/changes-0.2.10.xml b/docs/changes/changes-0.2.10.xml new file mode 100644 index 0000000..90aaf8f --- /dev/null +++ b/docs/changes/changes-0.2.10.xml @@ -0,0 +1,86 @@ + + + + +Use info/title to render qansaset headings. + + + +Use \ensuremath{} to make latin1 from UTF8 conversion +more robust. + + + +Add the parameters: + + + +doc.layout parameter to configure the overall +document layout (deciding if it contains a coverpage, a toc, a frontmatter +etc.). + + + +variablelist.term.separator (common with DocBook +Project), + + + +refentry.generate.name (common with DocBook +Project), + + + +ulink.show (mechanism extended with +@xrefstyle), + + + +ulink.footnotes (mechanism extended with +@xrefstyle). + + + + + +By default, a document subset (i.e. the root element is not an +article nor a book) is no more wrapped +with an article. No more unexpected cover page and front +matter. + + + +A tex equation in alt can be written without latex +math mode delimiters (\( \),\[ \], $ $) in both equation +and inlineequation. + + + +Add texmath Processing Instruction in +alt in order to avoid automatic math mode wrapping + + + +Make XeTeX support more mature (but still experimental). + + + +Change the documentation structure. + + + +A number of bug fixes, including: + + + +Debian bugs: #525692, and #514932. + + + +SourceForge bugs: #2412650, #2393435, #2381306, #2058771, #1987025, and +#1975259. + + + + \ No newline at end of file diff --git a/docs/changes/changes-0.2.11.xml b/docs/changes/changes-0.2.11.xml new file mode 100644 index 0000000..bc8d9d0 --- /dev/null +++ b/docs/changes/changes-0.2.11.xml @@ -0,0 +1,51 @@ + + + + +Improve the set support: dblatex can build all the +PDF files (one per book) and the xr-hyper package is used to make +cross-references between books. + + + +Improve the XeTeX font switch macros (still experimental). + + + +Add some hook to external error handlers. + + + +Change the verbatim implementation in order to be able to easily +add new elements embeddable in programlistings. + + + +Add the parameters: + + + +glossary.tocdepth. + + + +glossary.numbered. + + + +refclass.suppress. + + + +use.id.as.filename. + + + + + + +Fix some bugs. + + + diff --git a/docs/changes/changes-0.2.12.xml b/docs/changes/changes-0.2.12.xml new file mode 100644 index 0000000..e1ef9f2 --- /dev/null +++ b/docs/changes/changes-0.2.12.xml @@ -0,0 +1,55 @@ + + + + +Add basic biblioref support. Its specific attributes +are not handled yet. + + + +Allow the appendices to be followed by other sections. + + + +Add the ability to convert on the fly SVG figures to PDF through +inskscape: apply patch #2821475 from David Necas. + + + +Improve the ability to format in bold or italic the elements embedded in +programlistings or screens. + + + +Add the parameters: + + + +index.tocdepth. + + + +index.numbered. + + + +bibliography.tocdepth. + + + +bibliography.numbered. + + + +xref.hypermarkup. + + + + + + +A number of bug fixes. + + + diff --git a/docs/changes/changes-0.2.2.xml b/docs/changes/changes-0.2.2.xml new file mode 100644 index 0000000..4012653 --- /dev/null +++ b/docs/changes/changes-0.2.2.xml @@ -0,0 +1,28 @@ + +BibTeX support added. See for more +details. + +A better bibliography support, and natbib citation styles can be +used (see The User Manual). + +Some table improvements: + + Formal tables accross several pages are possible when setting + the table.in.float parameter to 0. The limitation is + that the caption must be on the top of the table. + + Automatic table width allowed when setting the + newtbl.autowidth parameter to default or all. + + + Footnotes in tables are possible. + + Basic programlisting/screen + support in tables. + + + + +A number of bug fixes. + + diff --git a/docs/changes/changes-0.2.3.xml b/docs/changes/changes-0.2.3.xml new file mode 100644 index 0000000..7f3349a --- /dev/null +++ b/docs/changes/changes-0.2.3.xml @@ -0,0 +1,13 @@ + +Experimental annotation support (DocBook 5) +enabled when the annotation.support paramater is set to 1. The +annotation support is only for PDF output. + +Some setup.py improvements and bug fixes, thanks +to Max Horn's feedbacks (Fink packager). + +Some minor improvements (doc.toc.show and +draft.mode parameters added). + +A number of bug fixes. + diff --git a/docs/changes/changes-0.2.4.xml b/docs/changes/changes-0.2.4.xml new file mode 100644 index 0000000..27da083 --- /dev/null +++ b/docs/changes/changes-0.2.4.xml @@ -0,0 +1,15 @@ + +A step towards DocBook 5 support by reusing the DocBook Project +namespace stripping templates. + +More consistent console output (use of logging python module). + +Some bug fixes, including: + + Fix PostScript output bug introduced in 0.2.3. + Use of subprocess to handle correctly the latex compilation. + A general parser/encoding mechanism is added, allowing to + encode programlisting characters to Latin1. + + + diff --git a/docs/changes/changes-0.2.5.xml b/docs/changes/changes-0.2.5.xml new file mode 100644 index 0000000..23eff55 --- /dev/null +++ b/docs/changes/changes-0.2.5.xml @@ -0,0 +1,14 @@ + +Basic support for Chinese, Japanese, and Korean (CJK) +languages. The CJK package must be installed, as well as the cyberbit fonts, to +have this feature available. + + +Support native UTF8 latex compilation, thanks to the +ucs package. + +Preamble code refactored. The expected benefit is to make +dblatex more customizable. + +Some other minor improvements and bug fixes. + diff --git a/docs/changes/changes-0.2.6.xml b/docs/changes/changes-0.2.6.xml new file mode 100644 index 0000000..38643ab --- /dev/null +++ b/docs/changes/changes-0.2.6.xml @@ -0,0 +1,11 @@ + +It is possible to number and/or put the preface, dedication, +and colophon sections in the TOC and bookmarks. + + +Add a draft watermark when the document is in draft mode. +Moreover, the draft mode can be deduced from the document status +attribute. + +Some other minor improvements and bug fixes. + diff --git a/docs/changes/changes-0.2.7.xml b/docs/changes/changes-0.2.7.xml new file mode 100644 index 0000000..bb0fdf5 --- /dev/null +++ b/docs/changes/changes-0.2.7.xml @@ -0,0 +1,17 @@ + +The XRef implementation is competely refactored to work with the +common DocBook Project stylesheets version 1.72. The goal is to support the +DocBook Project xreftyle and olink capabilities. In normal use, the changes +should be transparent. + + +Dblatex accepts input data from +standard input. Therefore, the result of some pre-processing (like profiling) +can be piped to dblatex. + +Several user stylesheets (option -p) can be passed. Note that +each stylesheet is imported (not included) which have significant impact +on precedence or overriding behaviour. + +Other minor improvements and a number of bug fixes. + diff --git a/docs/changes/changes-0.2.8.xml b/docs/changes/changes-0.2.8.xml new file mode 100644 index 0000000..8c6a144 --- /dev/null +++ b/docs/changes/changes-0.2.8.xml @@ -0,0 +1,7 @@ + +Add the parameters equation.default.position, +example.default.position, and cjk.font. + + +A number of bug fixes. + diff --git a/docs/changes/changes-0.2.9.xml b/docs/changes/changes-0.2.9.xml new file mode 100644 index 0000000..ea6b5b6 --- /dev/null +++ b/docs/changes/changes-0.2.9.xml @@ -0,0 +1,42 @@ + + + + + Add the parameters refentry.numbered, + refentry.tocdepth to have the + refentry titles numbered (default) or not. + + + + Add partintros handling. Needed to have a + complete TDG compiled with dblatex. + + + + Add linking to areaset. + + + + Add emphasis rendering in + programlisting and screen. + + + + Add some logic to handle the graphics in equations. Add the + alt.use parameter. + + + + Add some XeTeX support. One can use to + compile with xelatex. The + xetex.font parameter is added to allow the user + to configure the fonts used by XeTeX. This feature may not work for + some ranges of unicode characters. This aspect will be improved in a next + release. + + + + A number of bug fixes. + + diff --git a/docs/changes/changes-0.2.xml b/docs/changes/changes-0.2.xml new file mode 100644 index 0000000..108f0c8 --- /dev/null +++ b/docs/changes/changes-0.2.xml @@ -0,0 +1,31 @@ + +Better osx integration. The SDATA entities are translated to the equivalent Unicode characters. +Better Windows compatibility thanks to Nicolas Pernetty for his +patches and feedbacks. + +Better table support: + +Putting some verbatim text (literallayout, address, synopsis, classsynopsis) in tables now works. +Nesting some informaltables is +possible. +Basic entrytbl support. +Better valign attribute support. +The columns, rows and entries can be coloured by using some special +Processing Instructions like ]]>. +The table floatstyle attribute can be used to +specify the float placement rules (like "[htbp]"). + + +A few imageobject improvements: + +Like for the official DocBook XSL stylesheets, you can use the +role attribute in imageobject to specify +the image to use by dblatex. Set role to 'dblatex' to select +the image used by dblatex. + +Alternative imageobjects can be put in a +mediaobjectco (DocBook 5). + + +Some cleanups and a number of bug fixes. + diff --git a/docs/changes/changes-0.2pre.xml b/docs/changes/changes-0.2pre.xml new file mode 100644 index 0000000..ede287c --- /dev/null +++ b/docs/changes/changes-0.2pre.xml @@ -0,0 +1,19 @@ +Major release. All the code to transform SGML, call the XSLT, convert the +figures and finally compile with LaTeX has been re-written from scratch in +Python, removing Perl and GNU make dependencies. The LaTeX compilation relies on +a subset of the Rubber package. The new implementation is more robust, more consistent, and gives +the possibility to integrates new features. Some other small improvements are +included too: + + + Some list attributes like continuation, numeration and spacing are now supported. + + +The filename.as.url parameter is added to avoid +forced hyphenation with spurious '-' characters. + + +Some bug fixes. + + + diff --git a/docs/changes/changes-0.3.1.xml b/docs/changes/changes-0.3.1.xml new file mode 100644 index 0000000..503b44b --- /dev/null +++ b/docs/changes/changes-0.3.1.xml @@ -0,0 +1,43 @@ + + + + +Improve the table rendering by adding the support to the tabularx +environment and improving the automatic column width feature. See +Automatic Width and +Table LaTeX Styles + + + + +Add the parameters: + + + +linenumbering.scope. + + + +linenumbering.default. + + + +linenumbering.everyNth. + + + +table.default.tabstyle. + + + + + +A number of bug fixes. + + + diff --git a/docs/changes/changes-0.3.10.xml b/docs/changes/changes-0.3.10.xml new file mode 100644 index 0000000..1fa5dd6 --- /dev/null +++ b/docs/changes/changes-0.3.10.xml @@ -0,0 +1,15 @@ + + + + +Add the ability to set images for front and back +covers (see ). + +Add the ability to pass several configuration files +( or option). + +Fix some bugs reported by Debian. + + diff --git a/docs/changes/changes-0.3.2.xml b/docs/changes/changes-0.3.2.xml new file mode 100644 index 0000000..1925358 --- /dev/null +++ b/docs/changes/changes-0.3.2.xml @@ -0,0 +1,49 @@ + + + + +Add the HTML table support. See HTML Tables for more +details. + + + +Add the parameters: + + + +default.table.rules: parameter related to the new +HTML table support. + + + + + +Improve the setup.py script in order to be able to +build and distribute a dblatex egg package. See PyPI Install for more +details. + + + +Full support of the option. + + + +Add the ability to pass a user defined index style file to dblatex +through the option . + + + +Make dblatex working in paranoid mode in order to function correctly +with the TexLive 2010 distribution (output files only in the current +directory). + + + +Some bug fixes. + + diff --git a/docs/changes/changes-0.3.3.xml b/docs/changes/changes-0.3.3.xml new file mode 100644 index 0000000..039c8e7 --- /dev/null +++ b/docs/changes/changes-0.3.3.xml @@ -0,0 +1,56 @@ + + + + +Remove hard-coded paper size and add some parameters for Page Layout setup. See Page Setup Section +for more details. + + + +Add literal.environment and literal.extensions parameters to allow the + user define its own listing environment. See Verbatim Section. + + + +Add some formatting features for the literal/verbatim elements, by taking +into account some specific keywords set to the role +attribute. +See Verbatim Section. + + + +Add the parameter latex.engine.options to be able +to pass options to the TeX engine backend. + + + +Print out warnings about the characters not handled by the selected fonts. Feature usefull in particular when XeTeX backend is used. + + + +Improve the display of images. + + + +Add the ability to format ulink as a block when +@type='block'. + + + +Improve (and fixes some bugs of) the literallayout +rendering. In particular it takes into account the class +attribute, and uses the parameter literal.class as +default class to apply. + + + +A number of bug fixes. + + diff --git a/docs/changes/changes-0.3.4.xml b/docs/changes/changes-0.3.4.xml new file mode 100644 index 0000000..4b35bba --- /dev/null +++ b/docs/changes/changes-0.3.4.xml @@ -0,0 +1,28 @@ + + + + +Improve the verbatim block display to be able to scale the block width to the page width. See Verbatim Scaling +for more details. + + + +Improve the hyphenation of the inlined literal elements with a dblatex +specific hyphenation algorithm. + + + +Add the parameter hyphenation.format to specify the inlined format types that must be hyphenated. It replaces the more limited parameter monoseq.hyphenation. + + + +Add the parameter example.float.type to give the possibility to have example elements not floating. The attribute 'floatstyle' is also taken into account. + + + +A number of bug fixes. + + diff --git a/docs/changes/changes-0.3.5.xml b/docs/changes/changes-0.3.5.xml new file mode 100644 index 0000000..5246be7 --- /dev/null +++ b/docs/changes/changes-0.3.5.xml @@ -0,0 +1,37 @@ + + + + +Fix an HTML table bug when no colgroup or col is specified. + + + +Fix an HTML table bug when cellpadding is expressed in percentage. + + + +Include the package 'ucs' and configure listings to work with pdftex and + UTF-8 characters. + + + +Improve setup.py to detect the installed texlive version only on + manual install. + + + +Adapt URL to work with texlive >= 2009. + + + +Debian bugs fixed: #720624, #684393, #684391, #683166, #682936, +and #682901. + + + +SF bugs fixed: #108, #107, #106, #104, #103, #98, and some fixes to be +able work with Saxon. + + + diff --git a/docs/changes/changes-0.3.6.xml b/docs/changes/changes-0.3.6.xml new file mode 100644 index 0000000..39d8f44 --- /dev/null +++ b/docs/changes/changes-0.3.6.xml @@ -0,0 +1,20 @@ + + + + +Make dblatex work with Xindy, for xetex and pdftex backends. Xindy is selected through the latex.index.tool parameter, and it's sorting is aware of the language used that can be set through the latex.index.language parameter. See for more details.. This feature fixes the Debian bug #756386. + + + +Allow the Texpost script to be a python plugin. See for more details. + + + +SF bugs fixed: #74, #110. + + + +Debian bugs fixed: #771473, #684393. + + diff --git a/docs/changes/changes-0.3.7.xml b/docs/changes/changes-0.3.7.xml new file mode 100644 index 0000000..a12ac58 --- /dev/null +++ b/docs/changes/changes-0.3.7.xml @@ -0,0 +1,46 @@ + + + + +Fix Debian bug #792898: the PDF metadata setup is improved. The PDF +Subject field is now filled with the data contained by the elements +subject. The PDF Keywords field is filled with +keyword of the document. + + + +Fix Debian bug #684772 and SF bug #85: the label +attribute of the formal headings (e.g. chapter, +sect1 to sect5, +section) is used by dblatex to: + + + +Force a section counter when the label is set to an integer. + + +Make a chapter unnumbered when the label is set to an empty string. + + + +See for more details. + + + +Fix Debian bug #793077: allow to put a figure anchor at the top even if +the caption is at the bottom, thanks to the parameter +figure.anchor.top. + + + +Add the parameters body.font.family, +sans.font.family, and +monospace.font.family to mimic FO parameters, for xetex +font setup. + + + +Other Debian bug fixed: #766945. + + diff --git a/docs/changes/changes-0.3.8.xml b/docs/changes/changes-0.3.8.xml new file mode 100644 index 0000000..8bdaa29 --- /dev/null +++ b/docs/changes/changes-0.3.8.xml @@ -0,0 +1,101 @@ + + + + +Add the endnotes feature: the footnotes can be turned +to be end notes in the printed document. Some parameters are added to configure +the endnotes display. See for more details. + + +Add an XML configuration file format: it replaces the simple text + configuration format. It gives a more consistent setup and more possibilities + to configure dblatex, like overriding the commands used to convert images. + See for more details. + + + +Add the parameter figure.default.align to change +the default figure and informalfigure +alignment. + + +Add a workaround to fix a Xindy bug appearing when ranges of an index +overlap. + + +Add a workaround to fix the incompatibilities between Xindy and the new + hyperref when hyperindex is on. + + +Add the possibility to build a document from a tex file that includes + other tex files. + + +Allow a segmentedlist to be formatted as a table if +the parameter segmentedlist.as.table is set to '1' or if +the list-presentation Processing +Instruction is set to 'table' (Karl O. Pinc patch). Other PIs can be used +if a segmentedlist is formatted as a table. + See for more details. + + +Internal refactoring of Processing Instructions. + + +Add a 'pdfscan.py' script to find out the fonts and their size used in a +PDF file, and find out how the PDF is built. + + +Fix some bugs: + + +Fix a bug when passing a dialect language (e.g. '[5.2]Lua') + to programlisting. + +Link the 'nn' lang to 'norwegian' for Xindy. + + +Fix the alignment of imagedata> that is now handled +even without an explicit viewport. + + +Take into account the caption> align attribute. + + +Fix seealso in indexterm. + + +Fix a bug about ordered lists that loose their counter in +informaltables. + + +Put the dedications in the book front matter +(was in the body matter). + + +Add the table.continue.caption parameter to fix +the hardcoded 'continued' caption used for tables covering several pages +(Ricard Mones patch). + + +Fix SF bug #102: the figure paths used in windows. + + +Fix SF bug #111: adapt the file paths used in windows by saxon or +xsltproc. + + +Fix dbk_locale.sty to be an ASCII file. + + +Correctly strip spaces for docbook 5 elements. + + + + + + diff --git a/docs/changes/changes-0.3.9.xml b/docs/changes/changes-0.3.9.xml new file mode 100644 index 0000000..9917e15 --- /dev/null +++ b/docs/changes/changes-0.3.9.xml @@ -0,0 +1,18 @@ + + + + +Extend the XML configuration features: a user can define its own XSLT +engine (see ), and the rules about how the images +shall be converted can be overwritten (see +) in order to by-pass the limitations +shown by the Debian bug #837168. + +Add the (quite old) parameter +insert.xref.page.number.para and allow to reference +(xref) to a para, simpara, +phrase like DocBook FO does. + diff --git a/docs/changes/changes-0.3.xml b/docs/changes/changes-0.3.xml new file mode 100644 index 0000000..a622092 --- /dev/null +++ b/docs/changes/changes-0.3.xml @@ -0,0 +1,32 @@ + + + + +Upgrade to recent Debian scripts (error handlers). + + + +Improve the table rendering by adding a table-width Processing Instruction. + + + +Add the parameters: + + + +default.table.width. + + + +biblioentry.numbered. + + + + + + +A number of bug fixes. + + + diff --git a/docs/changes/changes.txt b/docs/changes/changes.txt new file mode 100644 index 0000000..b2a8b30 --- /dev/null +++ b/docs/changes/changes.txt @@ -0,0 +1,1026 @@ +Release 0.3.10: +--------------- + +- Add the ability to set images for front and back covers +- Add the ability to pass several configuration files (-c option) +- Fix Debian bug #840189: drop dependency on the latex package 'multirow' +- Fix Debian bug #849679: wrong character entities in el.xml +- Fix Debian bug #851145: put the paragraph title on a separate line + +Release 0.3.9: +-------------- + +Enhancements: +- Extend the XML configuration feature: + * a user can define its own XSLT engine with a user-defined command, + * the rules about how the images shall be converted can be overwritten + (Debian bug #837168). +- Allow an xref to some informal elements like or . It behaves + like DocBook FO does. + +Release 0.3.8: +-------------- + +Enhancements: +- Add the endnotes feature: the s can be turned to be end notes in + the printed document. Some parameters are added to configure the endnotes + display. +- Add an XML configuration file format: it replaces the simple text + configuration format. It gives a more consistent setup and more possibilities + to configure dblatex, like overriding the commands used to convert images. +- Add the parameter figure.default.align to change the default
and + alignment +- Add a workaround to fix a Xindy bug appearing when ranges of an index + overlap. +- Add a workaround to fix the incompatibilities between Xindy and the new + hyperref when hyperindex is on. +- Add the possibility to build a document from a tex file that includes + other tex files. +- Allow a to be formatted as a table if the parameter + segmentedlist.as.table is set to '1' or if the list-presentation Processing + Instruction is set to 'table' (Karl O. Pinc patch). Other PIs can be used if + a segmentedlist is formatted as a table. + +Other features: +- Internal refactoring of Processing Instructions. +- Add a 'pdfscan.py' script to find out the fonts and their size used in a PDF + file and find out how the PDF is built. +- Documentation: add references to the supported Processing Instructions + +Bug fixes: +- Fix a bug when passing a dialect language (e.g. '[5.2]Lua') + to +- Link the 'nn' lang to 'norwegian' for Xindy. +- Fix the alignment of that is now handled even without an explicit + viewport +- Take into account the align attribute. +- Fix in . +- Fix a bug about ordered lists that loose their counter in s. +- Put the s in the book front matter (was in the body matter). +- Add the table.continue.caption parameter to fix the hardcoded 'continued' + caption used for tables covering several pages (Ricard Mones patch) +- Fix SF bug #102: the figure paths used in windows. +- Fix SF bug #111: adapt the file paths used in windows by saxon or xsltproc. +- Fix dbk_locale.sty to be an ASCII file. +- Correctly strip spaces for docbook 5 elements. + + +Release 0.3.7: +-------------- + +- Fix Debian bug #766945: catch 'inskscape' not installed (Andreas Hoenen patch) +- Fix Debian bug #792898: improve the PDF metadata setup +- Fix Debian bug #684772 and SF bug #85: section @label is used to force + the section counter +- Fix Debian bug #684772: a chapter with an empty @label is not numbered +- Fix Debian bug #793077: allow to put a figure anchor at the top even if the + caption is at the bottom, thanks to the parameter figure.anchor.top. +- Add the parameters body.font.family, sans.font.family, and + monospace.font.family to mimic FO parameters, for xetex font setup + + +Release 0.3.6: +-------------- + +- Adapt the debug env_tex script for Windows +- Make dblatex work with Xindy, for xetex and pdftex backends. Xindy is selected + through the latex.index.tool parameter, and it's sorting is aware of the + language used that can be set through the latex.index.language parameter. + This is an answer to the Debian bug #756386. +- Allow the Texpost script to be a python plugin. +- Add the beginpage.as.pagebreak parameter to be able to inhibit the current + behaviour. +- Fix a bug in index escaping: '"' was not escaped. +- Fix a bug in to prevent brackets side effects. +- Quick fix for SF bug #74. +- Fix SF bug #110. +- Fix Debian bug #771473 and #684393. + + +Release 0.3.5: +-------------- + +- Fix an HTML table bug when no or is specified +- Fix an HTML table bug when cellpadding is expressed in percentage +- Fix Debian bug #720624 to have more greek letters correctly translated +- Fix bug #108 so that setup.py works even if intall-layout not supported +- Fix bug #107 to be compliant with frenchb v2.5 to remove shorthands + in listings +- Fix bug #106 to have equation label localized +- Fix bug #104 to have listings correctly displayed in s +- Fix bug #103 to have indexes correctly working in db2latex style +- Fix Debian bug #682901 to have with XeTeX proper endash in indexes +- Fix Debian bugs #682936 and #684391 to support Norwegian Bokmål through + lang='nb' +- Fix Debian bug #683166 (SF bug #3553962/#98) to avoid chapters erroneously + included in parts. +- Fix Debian bug #684393 babel setup to allow quote chars for lang='nn' +- Adapt URL to work with texlive >= 2009. +- Some fixes to be able work with Saxon +- Improve setup.py to detect the installed texlive version only on + manual install. +- Include the package 'ucs' and configure listings to work with pdftex and + UTF-8 characters. + + +Release 0.3.4: +-------------- + +- Fix a bug in the missing characters display. +- Fix the global template to actually insert a backmatter tag before backmatter + elements. +- Fix bug #3520152 by changing a template xpath (looks like a libxslt + limitation). +- Improve the verbatim block display to be able to scale the block width to the + page width. +- Allow latex instructions within verbatim blocks through Processing + Instructions. +- Improve the setup script to be close to the debian install rules. +- Improve the hyphenation of the inlined literal elements. +- Add the parameter example.float.type to give the possibility to have + not floating. The attribute 'floatstyle' is also taken into + account. +- Add the parameter hyphenation.format to specify the inlined format types + that must be hyphenated. It replaces the more limited monoseq.hyphenation + parameter. + + +Release 0.3.3: +-------------- + +- Fix incomplete image path conversion when subfigures are used. +- Fix unicode listings limitation to handle characters greater than 255. +- Fix environment to prevent from page counter reset. +- Fix the limitations by using the same implementation than + . +- Fix a texlive 9 french babel and enumitem incompatibility. +- Fix to be robust to URL encoded image paths, and to non-latin1 paths. +- Fix missing cross-reference to and . +- Fix the box width to the actual context witdh. +- Fix a french babel bug (unexpected active chars) when used with XeTeX. +- Fix Debian bug #627501 to tell the priority policy of --xsl-user option. +- Fix Debian bug #632967 to return a non-null code when the compilation fails. +- Fix Debian bug #629514 to have draft watermark with XeTeX backend. +- Fix Debian bug #634563 to have safe pdftitle content (no images). +- Fix setup.py in order to work under Windows. +- Fix the HTML table support to correctly render the cells elements. +- Fix the HTML table support to correctly nested tables. +- Fix the Olink support to allow database user-specific renderings like italics + for tags. Reuse of the DocBook Project implementation. +- Fix a setup failure that made the listings UTF-8 support failed + (extendedchars to set to "true"). +- Fix --xslt-opts to be able to pass several arguments by using quotes +- Set the TexLive version to 2009 by default. +- Update to new Debian Error Handler API. + +Improvements sponsored by Freexian (http://www.freexian.com) : + +- Fix #3191550. Remove hard-coded paper size and add some parameters for page + layout setup: + * Parameters to define page sizes and margins. + * Parameters to have crop marks for pre-press PDF output. +- Add the parameters literal.environment and literal.extensions to allow the + user define its own listing environment. +- Add the parameter latex.engine.options to be able to pass options to the + TeX engine backend. +- Print out warnings about the characters not handled by the selected fonts. +- Image display improvements/fixes: + * Avoid unexpected paragraph indentation when displaying images. + * Strip spurious spaces between subfigures when @role='flow.inline' + * Prevents from empty tex subcaptions when no subfigure is defined. +- Add the ability to format as a block when @type='block'. +- Pass @role to the latex sidebar environment. +- Add the literal.class parameter used when class attribute is + not set. Default is 'monospaced'. +- Add some @role to format literal elements, and literal.role parameter for + default role: + * Wrap: wrap lines when longer than text width (default) + * Overflow: do not wrap lines ; long lines overflow to the left + * Scale: automatically scale a listing to have its lines fit the page width + The special feature can be disabled with literal.extensions=0 + + +Release 0.3.2: +-------------- + +- Add feature request #2052157 to have HTML table support +- Full support of the --quiet option +- Improve setup.py to make package building easier in a development environment +- Improve the document title formatting, to render for example. +- Fix debian bug #629110 to work around an appendix package limitation with + xetex +- Fix bug #3094120 to work in paranoid mode (required for TexLive 2010) +- Fix debian bug #623590 to format elements like contained + in . +- Fix a bug that prevented from putting and index at the highest level when + preceded by a . + + Release 0.3.1.1: + ~~~~~~~~~~~~~~~~ +- Add feature request #2999505 to be able to pass a user index style file +- Improve setup.py to be able to build and distribute a dblatex egg package +- Fix bug #2941472: print out the procedure title +- Fix a python deprecation warning in setup.py +- Fix a bug in setup.py to install correctly the XHTML documentation +- Fix a bug in sgmtag.xsl to have the right font type for + + +Release 0.3.1: +-------------- + +- Fix bug in referencing to external books when xref.hypermarkup=1. +- Fix bug #2969329 to have sub-tables working +- Fix bug #3006458 to support the ↵ Unicode character +- Fix bug #3038067 md5 python module deprecation warning +- Fix bug #3039592 to pass correct parameters to inkscape when converting SVG +- Fix bug #3072636 to process preface/info/title +- Fix bug #3137026 to remove a babel setup side effect on tables +- Fix Debian bug #609374 to have nested quotes working +- Fix Debian bug #617842 to write HTML documentation in UTF-8 format +- Fix some documentation errors +- Fix used in bibliography mode +- Fix title support to be robust to a missing title element +- Fix Debian bug #622357 to make more robust in +- Add the parameters: + * linenumbering.scope: which templates where linenumbering parameters apply + * linenumbering.default: default linenumbering attribute value + * linenumbering.everyNth: indicates which lines to number in verbatim blocks +- Improve tables to support the tabularx environment (see documentation). + Add the parameter: + * table.default.tabstyle: default tabstyle to apply when no tabstyle attribute + is defined. +- Add a not fully implemented --quiet option + + +Release 0.3: +------------ + +- Make the latex style more robust to latex classes without abstract + environment. +- Partially Fix bug #2953261 to render elements under +- Fix bug #2969329 to allow a in an (Pulchart's patch + partially applied). +- Fix bug #2820728 to correctly render caption elements. +- Fix bug #2967024 to make cmdsynopsis working for DocBook 5. +- Fix bug #2957897 to render the chapter/info/title node. +- Fix Debian Bug #563659: adapt the url template behaviour to the installed + Texlive version (2007 or 2009). +- Apply the two Andreas's debian errorhandler patches (replace an obsoleted + method). +- Apply the Debian bug #570582 patch from Andreas. +- Change the segmented list implentation to workaround a bug in processing DB5 + documents (use the Docbook Project implementation). +- Add the default.table.width parameter (equivalent to the Docbook Project + parameter). +- Allow an autowidth setup local to a table through a Processing Instruction. +- Convert latex logos to PDF-1.4 format supported by XeTeX. +- Add parameter biblioentry.numbered to have bibliographic references numbered. +- Apply bug #2891018 patch to improve biblio.xsl +- Fix a bug to compute correctly the relative paths of filerefs. + Apply the same templates than the DocBook Project (use of @xml:base) +- Make xsltproc.py compatible with versions providing --xincludestyle + or not (bug introduced with 0.2.12). +- Fix bug #2955605 in setup.py that makes install crash under windows + (bug introduced in 0.2.10). +- Fix bug to handle correctly a relative XSL customization file path + (use of the -p option). +- Fix a bug that merged the example and equation floats in the same TOC +- Add hyperlink to to books. +- Move the book ID anchor so that an hyperlink to this anchor points to the + beginning of the book and not after the Table of Content. +- Change some output messages so that they don't appear as error messages. + + +Release 0.2.12: +--------------- + +- Add support for feature #2836168 with the xref.hypermarkup parameter that + wraps the whole xref markup with an hyperlink. +- The section can be unnumbered when the new parameter index.numbered + is set to 0. +- sections can be unnumbered when the new parameter + bibliography.numbered is set to 0. The parameter + bibliography.tocdepth is also given. +- Basic support added. The specific attributes are not handled. +- Allow the appendices to be followed by other sections. +- Fix indexterm bug in titles. +- Apply patch #2821475: add a converter to transform SVG graphics with + Inkscape (thanks to David Necas) +- Fix bug #2821901: headings to the right level +- Fix bug #2818215: square brackets must be protected in s +- Fix bug #2819592: references working with xml:id (DocBook 5 compatibility) +- Fix Debian bug #533332: wrong page numeration in PDF viewers with XeTeX + backend +- Fix Debian bug #528964: linebreaks preserved in formatted verbatim + environment + + +Release 0.2.11: +--------------- + +- Improve the support: dblatex can build all the PDF files (one per + book) and the package xr is used to make cross-references between the books. +- Improve the xetex font switch macros (experimental fontconfig support) +- Format the elements contained in s (not only text) +- Add some hook to external error handlers + + Add the Debian error handler in the repository (the maintainer is still + A. Hoenen) +- Change verbatim implementation in order to be able to easily add new + elements embeddable in s +- Optimize the pdftex backend by supporting the -draftmode option + (experimental) +- Fix documentation bug #1997998. +- Fix bug #1831383: use \ref*{} to display in a TOC or LOT +- Fix Debian bug #528849 about the rendering, add the + refclass.suppress parameter, and fix the dash separator + (use of — instead of –) +- Fix the bug where \nolinkurl{} strips the spaces +- Fix a bug annotation +- Glossary headings are now rendered like refentry headings + (add glossary.numbered and glossary.tocdepth parameters) +- Add and modify scripts to synch SF CVS and Mercurial repositories + + +Release 0.2.10: +--------------- + +- Fix Debian bug #525692: remove babel shorthand for russian +- Fix Debian bug #514932: apply XSLT options when building listing + (thanks to W. Borgert's patch). +- Fix Debian bug #499500: apply the A. Hoenen patch +- Fix bug #2412650: make curly braces more robust in s. +- Fix bug #2393435: handle @pgwide for two column mode. +- Fix bug #2381306: make s more robust in +- Fix bug #2058771: use \ensuremath{} to make equations robust. +- Fix bug #1987025: use @xml:id when provided to make labels. +- Fix bug #1975259: apply general title template to handle escaped chars in + qandaset titles. +- Fix bug in handling @xreflabel in +- Fix annotation bug: add a correct font setup to each annotation tex file +- Fix some character translations: backtick (`), degree symbol +- Fix SGML to XML conversion through osx +- Use Info/title to render qansaset headings +- Use \ensuremath{} to make latin1 from UTF8 conversion more robust +- Add the parameters: + * doc.layout: configure the overall document layout + (deciding if it contains a coverpage, a toc, a frontmatter etc.) + * variablelist.term.separator, + * refentry.generate.name, + * ulink.show (mechanism extended with @xrefstyle), + * ulink.footnotes. +- Remove useless parameters (rely on localized gentext instead): + * refnamediv.title, + * refsynopsis.title, +- Move the 'qandaset.defaultlabel' parameter to 'qanda.defaultlabel' in + order to be common with the DocBook Project XSL parameter. +- By default, a document subset (i.e. no
or root element + is no more wrapped with an
. No more unexpected cover page and + front matter. +- Allow a tex equation in without latex math mode delimiters in both + and . +- Add texmath PI in in order to avoid automatic math mode wrapping +- Make XeTeX support more mature (but still experimental). +- Change the documentation structure. + + +Release 0.2.9: +-------------- + +- Fix bug #1838293: and support where s + are optional. +- Fix bug #1833581 (biblio elements). +- Fix bug #1832623 (<userinput> rendering in normal mode). +- Fix bug #1769020 (date in <biblioentry>). +- Fix bug #1745318 with a minipage in \author{}. + Fix the similar debian bug #465221. +- Fix bug #1642442 (missing unicode characters). +- Fix debian bug #466162 (German localization). +- Fix debian bug #461919 (rendering abstract titles). +- Fix debian bug #459474 (simplesect in appendix). +- Fix unicode character encoding in TeX equations in <alt>. +- Fix bug that transforms "<<" to french quotation marks. +- Fix spurious spaces in inline graphics. +- Fix to have frenchb 2.x support (option macros changed). +- Add refentry.numbered and refentry.tocdepth parameters to have the + refentry titles numbered (default) or not. +- Add <partintro>s handling. +- Add linking to <areaset>. +- Add <emphasis> rendering in <programlisting> and <screen>. +- Add some logic to handle the graphics in equations. + Add the alt.use parameter. +- Add some XeTeX support. One can use -b xetex to compile with + xelatex. Add the xetex.font parameter too. +- Add the "angle" attribute to the dblatex Processing Instruction. + When set in an <imageobject>, you can rotate the image to the + required angle. + + +Release 0.2.8: +-------------- + +- Fix <userinput> in <programlisting> (#1832623) +- Fix <literal> in <example> title (#1831391) +- Fix <foreignphrase> in <example> title (#1831385) +- Fix <indexterm> in <programlisting> (#1831374) +- Fix UTF-8 encoding in olink target.db data (like <ttl>) +- Fix <colophon> after the index. (Debian bug #447607) +- Fix <title> in <sidebar>s. (Debian bug #447616) +- Fix stuck <holder>s in <copyright> (Debian bug #446871) +- Fix <question> italic bug. (#1800469) +- Fix an <xref> bug to a biblioentry. +- Fix setup.py to allow the --skip-build option. (#1790229) +- Fix the portugese babel loading. (#1797774) +- Fix <xref> to a <part>. +- Fix some missing parameters used by gentext.xsl. +- Fix a weird behaviour with \nolinkurl{} used in a table cell. +- Fix the page.citation mode shown when $insert.xref.page.number = 'yes'. +- Fix missing punct.honorific parameter. +- Fix the <refentry> sections to the right nested level. (#1792996) +- A list preamble (before the list items) is now processed. (#1783455) +- Add lastpage.sty under latex/misc, for MikTeX distribs. +- Add some table <entry> consistency check. +- Add the parameters: equation.default.position and example.default.position. +- Add the parameter: cjk.font. +- Add pdftitle and pdfauthor in PDF document infos. + + +Release 0.2.7: +-------------- + +* Improvements: + - Xref completely refactored to work with the common + DocBook Project XSL stylesheets version 1.72. + - Olink and xrefstyle support added. + +* Minor changes: + - dblatex accepts input data from stdin. + - newtbl.bgcolor.thead added, to change the default table header color. + - Italian translation added. + - Several user stylesheets (option -p) can be passed. + - In the docbook styles, the front matter page numbers are now in roman. + - <biblioid> can be used instead of <pubsnumber> in the doc info, + mostly for docbook 5 files. + - monoseq.small parameter added (Michael Smith's patch) + +* Bug fixes: + - Fix bug with german babel (e.g '"S' becomes 'SS'). + - Fix Author listing bug. + - Fix <screen> in <footnote>s, in simple cases. + - Fix footmisc package inclusion bug (must be loaded before hyperref). + - Fix bibliomixed/bibliomset text bug (tex characters must be escaped). + - Fix xref to a callout. + - Fix the use of <alt> in equations: when <alt> is used, the other + elements must not be processed. Parameter tex.math.in.alt added + to choose if <alt> should be used by default. + - Fix empty MathML equation case. + - Fix bug #1778655: added anchors in <para> having an id + - Fix bug #1777645: footnotes with id handled correctly + - Fix bug #1777575: an <indexterm> between paragraphs don't stick the + paragraphs anymore. + - Fix bug #1777364: <thead> no more duplicated in nested tables. + - Fix bug #1745309: <author>s under docinfo are not concatenated. + - Fix the last page bug shown with a recent texlive + - Fix bug about changebars for consecutive paragraphs + - Ulinks shown as hot links in biblio enties. + - Fix index bug to front matter pages (when front page numbers are in + roman). + + +Release 0.2.6: +-------------- + +* Minor improvements: + - Headings code refactored. + - Unnumbered sections (e.g. preface) can be put in TOC. Add the parameters: + * preface.tocdepth + * dedication.tocdepth + * colophon.tocdepth + - Basic <itermset> support + - Basic <beginpage> support (start a new page only at the current page) + - Parameter monoseq.hyphenation added to handle SF bug #1727482 + - Add draft.watermark={0|1} and draft.mode=maybe, allowing to deduce the + draft mode from the @status='draft' attribute, and allowing to print + the "DRAFT" text as a watermark on every page. (thanks to Colin Marquardt's + patch) + +* Bug fixes: + - Fix display of several <glossseealso>s in <glossentry> + - Fix <para> output in list items (<listitem>, <step>) + - Fix unicode bug in <step>/<title>s + - Fix <footnoteref> bug in <table>s (thanks to Colin Marquardt's patch) + - Fix setup.py to make bdist_rpm work (thanks to Tim Fuehner's patch) + - Fix some missing characters (euro, etc.) by using the pifont and textcomp + packages. + - Fix unicode bug in some verbatim environment. + - Fix bug #1727472 (glossentry without acronym has no line break). + - Fix URL bug under Windows. (dbtex.py) + - Add some missing greek symbols in unicode mapping. (unient.py) + + +Release 0.2.5: +-------------- + +* Improvements: + - Basic support for CJK languages. Use the CJK package and the cyberbit fonts. + The HLatex package is not supported yet. + - Support native UTF-8 latex compilation, thanks to the ucs package. + - Add the -s, --texstyle option. + - Preamble handling refactored. The expected benefit is to make dblatex more + customizable. + - Drop the docbook style 'article' or 'report' option. It is up to the style + to find out if it is an article or not (if needed). + - Support @valign combined with @morerow. + - Better URL handling in tables (special characters like '%'). + - Better dblatex package precedence, to ensure that the dblatex specific + packages have always precedence over the system wide package. + - Figure captions take into account the inline docbook elements. + +* Bug fixes: + - Restore the -r, --texpost option. + - Fix use of compact itemizes in french. + - Fix --tmpdir bug for relative paths. + - Fix a small synopsis bug. + - Fix SF bug #1672862. Change the parsing separators to some non-human + writable pattern. + - Fix the block display of MathML equations put in an <informalequation>. + - Fix <programlisting> latex translation bug. + - Remove unexpected space strippings in <title>s. + - Fix bug about locale formatting (in l10n.xsl). + + +Release 0.2.4: +-------------- + +* Minor improvements: + - Basic DocBook 5 support (namespace stripping) + - More consistent console output (use of logging) + - Add general parser/encoding mechanism (to fix <programlisting> encoding + troubles) + - Better <calloulist> item indentation. The calloutlist.style parameter is + provided to change the rendering. + +* Bug fixes: + - <releaseinfo> displayed in a biblioentry. + - draft.mode parameter more consistent. + - <biblioid> support in biblioentry. + - Fix regression bug (introduced in 0.2.3): ps building possible again + - Fix bug about image conversion combined with -bdvips + - Indexterm taken into account when in <refmeta> + - Use of subprocess instead of os.system() to have a portable latex + compilation. + - Add -R0 to dvips to work with 5.95b (thanks to Andreas Hoenen) + - Fix URL UTF-8 to Latin1 encoding + - Fix bug in dumping latex errors when latex fails + - <programlisting> characters now encoded to Latin1 + - Basic <highlights> support + + +Release 0.2.3: +-------------- + +* Improvements: + - Experimental annotation support (enabled when annotation.support=1) + - Add imageobjectco.hide={0|1} to hide the callout numbers on the image. + +* Setup changes and fixes: + - Check the available XSLTs (xsltproc is not required if 4Suite + is available) (SF Bug #1617458). + - Avoid optional package dependency (unicode.sty) + - Add the --use-python-path to use the path of the python interpreter that + runs setup.py, instead of relying on env to locate python + (thanks to Max Horn, the Fink packager) + - Fix the wrapper script building when --root is used + (thanks to Max Horn, the Fink packager) + +* Minor changes: + - When <releaseinfo> is set, but empty, the box in the header is removed. + - Add doc.toc.show={0|1} to let user skip the TOC. + - Add draft.mode={'yes'|'no'} to print or not the <releaseinfo> content in the + header of each page (SF Request #1600886). + +* Bug fixes: + - Some locale elements translated to iso-latin1. + - Locale mappings updated for 'de' and 'es'. + - Spanish babel setup added, to workaround some of the bugs introduced by + spanish. + - Load babel before the docbook style, to work around the babel/3875 bug. + - Xref to a term containing empty lines. + - String-replace origin detailed in COPYRIGHT. + - <abstract> duplication fixed (SF Bug #1560164). + - Spurious space fix. + - Make the -B option actually work. + + +Release 0.2.2: +-------------- + +* BibTeX support. + - Some bibliography databases can be specified in <?bibtex?> + - A bibliography style can be specified in <?bibtex?> + - A global style can be defined with the latex.biblio.style parameter + - Options -L bib_path and -l bst_path added + - Bibtex is automatically called when the file is compiled + +* Table changes: + - Longtables can be used to have formal tables across several pages. Use + table.in.float=0 for this (Bug SF #1463054). + - Automatic table width allowed with newtbl.autowidth={default|all} + - Footnotes in tables are possible. + - Basic programlisting/screen support in table. + +* Other changes: + - Better cited bibliography support. + - Possible use of natbib citation styles (belgabor patch) + - Better MathML entity mapping. + - Footnote in programlisting possible. + +* Bug fixes: + - Fix about tilde translation. + - Check if a title is numbered or not for TOC filtering. + - Bug SF #1587091: link to formalpara (and refsection) + - Bug SF #1600124: correct URI from pathname in XSL parameter file + - Bug SF #1600441: handle image files with spaces in the path + - Bug SF #1606166: verbatim in legalnotice + - Catch a 'Rerun' asked by bibtopic or changebar packages + - Xref to a formal table fixed + - Escape characters in some biblio elements. + - Glossary title fix. + - Better MathML entity mapping. + - Added calloutlist title. + - Handles UTF-8 indexterms + - Fix anchor in glossterms + - Extends unicode support (with passivetex packages). It is activated with + latex.unicode.use=1 + - Handles callout list titles + - Handles xref to a glossentry + + +Release 0.2.1: +-------------- + +* Python code improvements: + - Use of codecs for better and systematic unicode support. + - Extensible XSLT engines, loaded as plugins. + - Option -m added to select the XSLT to use. + - XSLT module using 4Suite (http://4suite.org) added. + - Possibility to have user and/or system-wide configuration files. + +* XSL improvements: + - UTF-8 XML output. + - Hexadecimal color like <?dblatex bgcolor="#cceeff"?> supported. + - Named color like <?dblatex bgcolor="blue"?> supported. + - lang.xsl: contains all lang stuff and calls the babel setup hook. + - newtbl.xsl: @cellpadding used for horizontal padding. + - pdf.annot.options parameter added to customize the PDF text annotation + rendering (width, height, depth, title). + - latex.class.book and latex.class.article parameters added to let user + choose an alternative document class. + +* Latex improvements: + - Cleaner locale handling. + - New latex commands to customize the babel setup. + - Default babel setup for french. + - Remark/comment rendered as PDF text annotations. Fixes Bug #374210 and + allows remark in boxes/minipages like a note. + +* Bug fixes: + - Cross-references use of key() instead of id(). + - newtbl.xsl, xref.xsl: more conformant XSL code. + - dbk_core.sty: use enumitem instead of enumerate (simple style). + - biblio.xsl: bibliographic title fixed for an article (use of \refname). + - dbtex.py: bug fix when both -Tstyle -Pparam are used. + - legalnotice.xsl: bug shown by xsltproc-1.1.18 fixed. + - graphic.xsl: escape graphic filenames. + + +Release 0.2: +------------ + +* Better osx(1) integration. The SDATA entities are translated to the equivalent + Unicode characters. + +* Better windows compatibility thanks to the Nicolas Pernetty's patches: + - Use of a portable 'which' during the install dependency check. + - Use of shutil instead of unix equivalent commands. + - Portable TEXINPUTS variable setup. + - Compatible figure path setup. + - Compatible package paths. + - Correct URI put in the customized XSL stylesheets. + +* Better table support: + - Verbatim (litterallayout, address, synopsis, classsynopsis) in tables + now work. + - Informaltable nesting is possible. + - Basic <entrytbl> support. + - Better @valign support. + - Column, row and entry can be coloured in tables by using + <?dblatex bgcolor="..."?>. The alternative hhline package can be used to + have row lines properly printed (newtbl.use.hhline='1') + - Basic support of @float and @floatstyle in <table>. + +* Minor imageobject/figure improvements: + - Basic support of @float and @floatstyle in <figure>. + - Possibility to use imageobject/@role='dblatex' to select the image to + process. + - Alternative <imageobject>s in a <mediaobjectco> are supported (DocBook 5). + +* Some cleanups and bug fixes. + - latex compilation cycle bug fix. + - logparser bug fix (rerun for table) + - dbk_fonts.sty now contains the font setup + - coref/@linkend fix. + - user manual documentation reorganized + - PDF manual installed in a proper way + - Debian manpage added to the package and used in the dblatex manual + - latex.figure.boxed parameter changed to imagedata.boxed + - latex.figure.position parameter changed to figure.default.position + - table.default.position added + - table counter bug fix + - <filename> in section title bug fix + - mklistings.xsl: URI fix when the path contains some spaces + - imagedata.py: robust to paths containing spaces + - \vdots supported in MathML + + +Release 0.2pre: +--------------- + +* Major change: publishing code (except XSL) is re-written in Python. Perl, + GNU make and shell scripts are no more used. + +* Minor improvements: + - list @continuation, @numeration, @spacing attributes now handled. + - filename.as.url parameter added to avoid forced hyphenation with spurious + '-' characters. + +* Bug fixes: + - <alt> not printed in verbatim mode, and only in <*equation> elements. + - Entities ’ and … correctly mapped. + - db2latex.sty, docbook.sty: uses \examplename (locale). + - <uri>, <tag> defined. + + +Release 0.1.10: +--------------- + +* Minor improvements: + - Special 'maxwidth' and 'maxheight' imagedata.default.scale setup added. + - glossterm.auto.link={0|1} parameter added. + - Add bookinfo spanish locale. + +* Bug fixes: + - Scripts handle correctly spaces in file paths (Debian bug [1]). + - Itemize fix, to be compatible with french babel (Debian bug [2]). + - Multiple copyrights correctly handled (Debian bug [3]) + - Latex files cleanup (remove pslatex, epsfig, etc. Debian bug [4]). + - Several paragraphs correctly handled in table cells. + - Cross-references, like <xref> or <link>, correctly handled in table cells. + - <ulink> with URL containing the character '#' correctly handled in table + cells. + + +[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=366721 +[2] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=374215 +[3] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=374212 +[4] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=376418 + + +Release 0.1.9: +-------------- + +* Minor improvements: + - make.year.ranges and the make.single.year.ranges parameters added. + - equations without title are now latex equations (not formula in a float). + - xref to <varlistentry> or <term> now works. + - newtbl is updated and becomes the default table implementation used. + It now handles some tricky cell spanning cases. + +* Bug fix: + - en.xml: chapter en appendix xref labelling fix. + - de.xml: nested quotes fix. + - dbk_hyper.sty: PDF compilation test fix (use of the package ifpdf). + - texclean: <xt> parsing recoded to make it safer. + - texclean: handle entities in table cells. + - texclean: \pm added. + - db2latex.sty: equation counter level fix (set to chapter instead of article) + - bug fix about the text of a link to a <term> containing <ulink> or <link> + - qandaset.xsl: wrong test to close a list + - verbatimco.xsl, mklistings.xsl: correct identifier to listing + - xref.xsl: escape characters of refname cross-reference + + +Release 0.1.8: +-------------- + +* Minor improvements: + - doc.alignment parameter added. It defines the text alignment for the whole + document. + - Better programlisting, screen support: + inlinegraphic[@format='linespecific'] is handled. + - The book or article wrapper inherits from the root element information. + - Better newtbl table support: the case colwidth="1em+5*" is correctly handled. + - xref to refnamediv is now possible. + - imagedata.file.check parameter added. It checks if the referenced image file + exists. If not, the mediaobject alternative (textobject) is used. Set to 1 + by default. (equation.[001-004]) + - titleabbrev.in.toc parameter added. When set to 1 the titleabbrev content + is put in the TOC instead of the title. Set to 1 by default. (article.[004-005]) + - dblatex does not convert images when output is latex only. + - GIF images are converted on the fly to PDF. + - <emphasis role="underline"> is supported. + - <trademark class="service"> is supported. + - set.book.num parameter added. When the root element is a set, this + parameter can be used to select the book to print. Set to 1 by default. + - doc.lot.show parameter added, to ask for printing some LoTs. The value is + a comma separated list that can contain "figure", "table", "equation", + "example". The order of the names is the order of the LoTs. + Example: + doc.lot.show=figure,table asks for printing only the List of Figures and the + List of Tables, in this order. + - qandaset.defaultlabel parameter added to define a default label when the + attribute is not defined. Default is 'number'. + - <bibliolist> support. + - Automatic biblioentry abbreviation used if <abbrev> and @id are not defined. + - date removed from the native style cover page + +* Bug fix: + - COPYRIGHT: contains LGPL text to respect the Debian constraints + - db2latex.sty: to have \RaggedRight working + - dbk_graphic.sty: wrong \imgheight setting + - sections.xsl: section level is now correct under an appendix within an + article + - mediaobject.xsl: imageobjectco is now handled when embedded in a + mediaobject. + - mediaobject.xsl: having both contentwidth="x%" and contentdepth="y%" is + now possible. @entityref used before @fileref. + - mediaobject.xsl: having @width or @depth and @scalefit=1 is now considered + as if the image with its natural size is in a viewport defined by width + and/or depth. + - runlatex: compile twice to have the correct number of pages when there is an + index. + - docbook.sty: an index in an article is correctly handled. + - lists.xsl: simplelist[@inline] bug fix. Weird vertical space removed + - lists.xsl: list nesting depth is now checked, to prevent latex compilation + crash. (orderedlist.004, orderedlist.005) + - dbk_item.sty: include enumerate package to handle orderedlist/@numeration. + - sgml2xml.pl: empty anchor element supported. + - biblio.xsl: a default title bibliography is provided (part.001) + - xref.xsl, labelid.xsl: the titles can now contain things like xref, link, + anchor, inlinegraphic or inlinemediaobject. + - common/<lang>.xml: replace some unicode values by latex equivalent. + - qandaset.xsl: the list environment used for numbered <qandaentry>s was + not properly used. + - db2latex.sty, dbsimple.sty, docbook.sty: sidebar changed to an environment + that can contain verbatim stuff. (lot.001) + - xref.xsl: xref to a biblioentry is now the same as a citation + +Release 0.1.7: +-------------- + +* Callout support: + - <programlistingco> and <screenco> supported, even for external files. + - <mediaobjectco> supported. + +* Better <programlisting> or <screen> support: + - External files (eg, in <textdata>) are handled. + - literal.lines.showall parameter added, to remove the empty last + lines, when set to 0. Set by default to 1. + +* Legalnotices are printed in the native docbook style. + +* An abstract in an article is printed. + +* Better <xref> support: + - <xref> to a list with a title is possible. + - <xref> to a refentry is possible. + +* Other improvements: + - term.breakline parameter added to have the <listitem> on a new line below + the <term>. + - Hyphenation forced for text using a typewriter font. Moreover the font is + smaller. + - doc.publisher.show parameter added, to print the dblatex logo on the cover + page. + - doc.pdfcreator.show parameter added, to have the fill the Creator field in + PDF information section. + - Running dblatex on a root element different from article or book does not + fail anymore, except for <set>. + +* Bug fixes: + - dbk_table.sty: make \@xmultirow long. + - sgml2xml.pl: empty textdata element handled. + +Release 0.1.6: +-------------- + +* Better <figure> and <informalfigure> rendering: + - consistent behaviour, where captions and title are printed separately. + - possibility to ask for title below or above the image (parameter + figure.title.top). + - possibility to change the caption style (parameter + mediaobject.caption.style). + - imagedata.default.scale parameter added to have a default scaling rule + applied on every imagedata that contains no scaling attribute. In particular + when set to 'pagebound' the images keep their natural size up to the page + boundaries. + +* Better <programlisting> and <screen> rendering, thanks to the listings.sty + package possibilities: + - all the attributes are supported. + - a default rendering layout is proposed. + - long lines are wrapped. + - literal.width.ignore parameter added. + - literal.layout.options parameter added to overwrite the default verbatim + style. + +* Minor improvements: + - seg.item.separator parameter added to let the user choose the separator + between several <segitem>s. + - a breakline is forced after a <term> when it is followed by a list. + - caption position can be choosed for tables (parameter table.title.top). + - \nopagebreak put after list titles. + - a FAQ section (quite small for the moment) added to the manual. + - bibtopic.sty provided for convenience. + +* Bug fixes: + - texclean: caret ('^') handled correctly + - texclean: bug in removing extra breaklines + - texclean: table header parsed correctly + - dblatex: compilation with some parameters (option -P) on a doc using MathML + fails. + - biblio.xsl: biblioentry/edition escaping done. + - inlined.xsl: <errortext> added. + - inlined.xsl: the arrow separating <guimenu> and <guimenuitem> is changed + to a real LaTeX arrow. + - misc.xsl: removing unexpected latex package inclusion (a4wide). + - dbk_biblio.sty: removing unexpected latex package inclusion (fancyhdr). + - lists.xsl: <term> is more robust, with the <term> content enclosed by { }. + +Release 0.1.5: +-------------- + +* dblatex supports the new option -T <target_style>. It specifies which + latex style is to be used for format the output. The default available + latex styles are: + - simple: the rendering is very close to original latex rendering + - native: the rendering is the original rendering used to produce the + manual (default one) + - db2latex: the rendering tries to be as close as possible to the + DB2LaTeX formatting. + +* The configure script can select the default latex style to use with the + option --target: + Example: + ./configure --prefix=/where/to/install --target=simple + +* The use of make instead of gmake is now detected by configure. + +* Other changes: + - possibility to define the figures to use in admonitions, + - \textregistered and \copyright robustness improved, + - <legalnotice> support, + - <footnote> support improved: it can be used in <term>s and in <title>s, + - better <subscript> and <superscript> support, + - <caption> in <mediaobject> is displayed (when <figure> not used) + - <pubdate> and <copyright> mapped to latex macros + - <xref> works in <term>s + - parameter latex.class.options added + - texclean optimisation, to convert a figure only once + - bug fix in specread (XslParam parsing) + - native table improvement (support any size units) + +Release 0.1.5pre: +----------------- + +* Any document language should be well supported, since babel is now included + for the related language. + +* Some latex rendering aspects are removed from the XSL stylesheets (they should + never have been in these stylesheets): \parindent value, \parskip value, + \thispagestyle{fancy} for pages containing chapters. + +* The following XSL parameters are added: + - latex.babel.use={0|1(default)}: set to 0 the babel package is not included + whatever the document language is. + - latex.babel.language: empty by default, this parameter forces the use of + the specified babel language whatever the document language is. + - newtbl.use={0(default)|1}: set to one use the David Hedley table support + (very good and no Perl parsing needed). + +* New table support, completely re-written by David Hedley. One can use this + new XSL table code by setting the parameter newtbl.use=1. + +* XML source files with any extension are correctly handled. Previously one + needed to give XML files with extension .xml. + +* – and — entities support (texclean). + +* Bug fixes: + - <indexterm> were not put under their alphabetical letter. + - <indexterm> special characters '@', '!', '|' correctly handled. + - <personname> is now supported. + - <ulink> URL hyphenation is now correctly handled. + - <ulink> without text is correctly handled (use of @url content). + - template "scape" was defined twice (it fails with recent xsltproc). + - <refentrytitle> and <refname> correctly handled. + - patch for colortbl package bug (latex/3797) diff --git a/docs/changes/release-notes.xml b/docs/changes/release-notes.xml new file mode 100644 index 0000000..aac7751 --- /dev/null +++ b/docs/changes/release-notes.xml @@ -0,0 +1,277 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" +"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"> +<article id="releasenotes" xmlns:xi="http://www.w3.org/2001/XInclude"> +<articleinfo> +<title>Release Notes for dblatex + + +Benoît + +Guillon + + + +
+Introduction + +This document provides a per-release list of enhancements and changes to +the dblatex project. dumps the entire change log, since it may +contain details omitted in the release sections, like the precise list of the +bugs fixed. + +For releases prior or equal to version 0.2.9 the changes were listed in +the dblatex manual. The full change history is now stored in this release +note. +
+ +
+Release 0.3.10 + +This is a minor release with two new features. + + +
+
+Release 0.3.9 + +This is a minor release with some new features. + + +
+
+Release 0.3.8 + +This release fixes some bugs and contains some new features. + + +
+
+Release 0.3.7 + +This is a bug fix release with some minor improvements. + + +
+
+Release 0.3.6 + +This is a bug fix release with some minor improvements. + + +
+
+Release 0.3.5 + +This is a bug fix release. + + +
+ +
+Release 0.3.4 + +This release contains completed features sponsored by Freexian that were not ready in the previous version. + + +
+ +
+Release 0.3.3 + +Thanks to Freexian that is +the sponsor of this release. It contains a number of new features. + + +
+ +
+Release 0.3.2 + +Some new features or improvements. + + +
+ +
+Release 0.3.1 + +Mainly a bug fix release. + + +
+ +
+Release 0.3 + +Bug fix release. + + +
+ +
+Release 0.2.12 + +Bug fix release. + + +
+ +
+Release 0.2.11 + +Release containing some new features. + + +
+ +
+Release 0.2.10 + +Bug fix release. + + +
+ +
+Release 0.2.9 + +Bug fix release. + + +
+ +
+Release 0.2.8 + +Bug fix release. + + +
+ +
+Release 0.2.7 + + +
+ +
+Release 0.2.6 + +Bug fix release. + + +
+ +
+Release 0.2.5 + +Contains some deep changes even if the list of changes is small. + + +
+ +
+Release 0.2.4 + +A bug fix release. + + +
+ +
+Release 0.2.3 + +This is mainly a bug fix release. + + +
+ +
+Release 0.2.2 + + +
+ +
+Release 0.2.1 + + +
+ +
+Release 0.2 + + +
+ +
+Release 0.2pre + + +
+ +
+Release 0.1.10 + +Bug fix release. + + +
+ +
+Release 0.1.9 + +Few changes. + + +
+ +
+Release 0.1.8 + +This is mainly a bug fix release. + + +
+ +
+Release 0.1.7 + + +
+ +
+Release 0.1.6 + + +
+ +
+Release 0.1.5 + + +
+ +
+Release 0.1.4.1 + + +
+ +
+Release 0.1.4 + + +
+ + +Change Log + +The listing below contains all the raw data used to write each release +change section. It is provided since it may contain additional details. + + + + +
diff --git a/docs/covers.xml b/docs/covers.xml new file mode 100644 index 0000000..d5c4460 --- /dev/null +++ b/docs/covers.xml @@ -0,0 +1,82 @@ + + +
+Book Covers + +Since version 0.3.10 dblatex provides a basic support for page-size +covers, when covers are defined as images to insert at the beginning of the +document (front cover), or at the very end of the document (back cover). + +To specify a cover, set in the book information element, +info or bookinfo, the images to use in +some cover elements (DocBook 5) or in +mediaobject with role set to cover +(DocBook 4). + +If two covers are specified, it is assumed that the first one is for the +front cover, and the second one for the back cover. You can play with standard +imagedata width or depth attributes to ensure that the image +is sized to fit the page covers. + +Here are two examples: +DocBook 5 Front and Back Covers + + + ... + + + + + + + + + + + + + + + + ... +]]> + +DocBook 4 Front Cover + + + ... + + + + + + + + + + + + + + + ... + + ... +]]> + + + +Note that in DocBook 4, dblatex filters on the same +roles for mediaobject (cover) or for +imageobject (front-large) than +the DocBook Project does when it implement covers in epub format. + +dblatex defines default templates +front.cover and back.cover to implement +covers through images, but you can overwrite them to create your own +method to build covers. + +
diff --git a/docs/custom/custom.xml b/docs/custom/custom.xml new file mode 100644 index 0000000..9cb718d --- /dev/null +++ b/docs/custom/custom.xml @@ -0,0 +1,831 @@ + + + + Customization + + The transformation process (and thus the output rendering) can be heavily customized by: + + + + + using some configuration parameters either in + a configuration stylesheet or directly + from the command line, + + + + using Processing Instructions + to create some instructions very specific to dblatex, + + + + using some customized stylesheets, + + + + + using a customized LaTeX style package. + + + + + using a LaTeX post process script or plugin. + + + + + All these customization methods can be used independently and in exceptional cases, but it can also be combined and registered in a master configuration file, called a specification file (cf. ) to create a new tool dedicated to your needs. + +
+ Using XSL Parameters + + The PDF rendering can be customised by using some XSL configuration + parameters. + contains the reference documentation of + the available user-configurable parameters. + +
+ +
Setting Command line Parameters + You can set some XSL parameters directly from the command + line without creating a configuration parameter stylesheet, with the + option. + The following example set the latex.hyperparam parameter value: + + + +
+ +
+ Using Processing Instructions + + Dblatex has Processing Instructions (PI) which can modify the default + document formatting. Usually these instructions alter the + output formatting of specific DocBook elements, like table cells. + + + To alter formatting globally it is better to set an + appropriate stylesheet + parameter. + + Processing instructions are written + <?name + content ?>. Most + often content will have the form of one or more + XML attributes with a value, as follows: + <?name + attribute="value" ?>. + + The list of the available Processing Instructions are given in . + + Here is an example of a PI used in a table: + + Table width specified with a Processing Instruction + + + + +
+ +
+XSL User Stylesheet + You can provide your own XSL stylesheet to set some of the XSL parameters, + and/or to override some of the dblatex XSL templates. The user stylesheet is + specified by using the option + . + +
+Changing the XSL parameter values + + The parameters can be stored in a user defined XSL stylesheet. An example of + configuration stylesheet is given with this manual: + + +
+
+ Overriding some templates + + You can directly put the overriding templates in your XSL stylesheet, but do not + try to import the default dblatex stylesheets in it: it is automatically done by + the tool. So, just focus on the template to override and dblatex will ensure + that your definitions will get precedence over the dblatex ones. + + + You can of course split your templates in several files, and import each of + them in the main user stylesheet by calling xsl:import. + +Overriding templates + + + + + + + + + + + \let\mymacro=\DBKrelease + + + +]]> + +
+
+
+ Customized LaTeX style + + The actual output rendering is done by the latex style package used, and not by the XSL stylesheets whose role is only to translate to latex. Users can provide their own LaTeX style file, in respect of some rules: + + + + + The LaTeX style package preamble must support all the options that the XSL stylesheets can pass to the package. + + + + + Some packages must be used to make all the thing work. + + + + + The docbook interface must be defined: the XSL stylesheets register some elements information in LaTeX commands. These commands or macro are the only ones specific to DocBook that are explicitely used by the XSL stylesheets. Other specific macros are used but are not intended to be changed by the user. These hidden macros are defined in the dbk_core latex package. + + + + + The latex style file to use is specified by using the option . An example of a simple LaTeX DocBook style is provided in the package. + + + The option + accepts a package name (no path and no .sty extension) + or a full style file path. If a full path is used, + the filename must ends with .sty. + + +# Give a package name and assume its path is already in TEXINPUTS +dblatex --texstyle=mystyle file.xml + +# Give the full package path. The TEXINPUTS is then updated by dblatex +dblatex --texstyle=./mystyle.sty file.xml + +
Reusing an existing LaTeX style +You can either create your latex style from scratch, in respect of the +interfaces described in the following sections, or you can simply reuse an +already existing style and override what you want. The latter method is easier +for small things to change. +Here is an example of a style package reusing the default docbook +style: +Reused LaTeX style + + + + +
+
+ Package options + A compliant LaTeX style package supports the following options. The options are + provided by the XSL stylesheets according to the document attributes. + +
+
+ Needed packages + A LaTeX style package must at least include the following packages. + +
+
+ DocBook interface + + All the latex commands beginning with DBK are related to elements under bookinfo or articleinfo. + + +
+ +
+
+ Latex post process script + + Extra user actions can be processed on the latex file produced by the XSL stylesheets or on its temporary working files produced by the latex compilation. + + + For instance, in the documents I write the cover page must display the number of pages of the document, but written in full letters (e.g. 23 is written “twenty three”). The latex post process script is then helpfull, and in this particular case it patches the .aux file. + + + The post process script is called just before the last latex compilation, and takes one parameter, the latex file compiled by the tool. + +
Post latex compilations + + The latex compilations done once the script is called depend on the return code + of the script: + + + + When the return code is 0, dblatex continues the + compilation as many times as necessary. + + + + + When the return code is 1, no more compilation is done by dblatex. + This case is useful + if the script needs to control precisely the number of compilation to apply. + It is up to the script to perform the expected compilations. + To do so, the script can retrieve in the LATEX environment + variable the actual compiler used by dblatex. + + + + + When the return code is another value, an error is raised to signal + a failed post process script execution. + + + + +
+
Post processing with a Python Plugin + You can use a python plugin instead of a script by prefixing + the plugin name with the string "plugin:". When using a + plugin you must not put the python suffix in the plugin name. If the plugin + is in one of the Python system directories, or in the current directory where + you call dblatex, or in one of the directories of the + PYTHONPATH + environment variable, you don't need to specify a directory location. + Otherwise put the plugin directory path before the plugin name. + + Here are several plugin call examples: + + + The plugin must contain a main entry point. Dblatex will pass the following parameters to the entry point: latex_file to specify the latex file to post process, and stdout to specify the output stream to use to be consistent with the dblatex verbosity. +Texpost Python Plugin Example +>stdout, "Plugin called on '%s' file" % (latex_file) + + # Open the latex file and parse it + texfile = open(latex_file) + ... + + # Now decide if a new compilation must occur + if has_changed: + sys.exit(0) + else: + sys.exit(1) + +]]> + + +
+
+
+ Dblatex Configuration File + + A configuration file, also called a specification file, can be used + to list all the customizations and options to apply. Such a file is passed + by using the + option . Several + configuration files can be specified if needed; it can be usefull to have a + default setup and additional setup for specific needs that override or + complete the default configuration. + +
+ XML Configuration File Format + + You should use the XML format to configure dblatex. It contains more + features than the text format used up to the 0.3.7 release that is now + deprecated. The principle remains the same, that is, most of the + configuration parameters correspond to a command line option. + + + Here is a full example of a configuration file. In the next sections the + meaning and use of the configuration tags are detailed. + + + + Another example, much simpler, is the configuration file used for + this manual. + +User Manual Configuration File + + + The following sections detail the meaning of each tag. Note that + dblatex provides some schema that you can use to validate your configuration + file. + +
+ <sgmltag><config></sgmltag> + It is the root element of a configuration file. A valid configuration + file must have a config root element. + Attributes: + + + xmlns + The namespace to use for a dblatex configuration file is: + http://dblatex.sourceforge.net/config. + + + + + The following elements occur in config: + , , + , . + +
+
+ <sgmltag><latex></sgmltag> + The latex element contains the configuration data related to the latex + processing. + Attributes: none + + The following elements occur in latex: + + + backend + It defines the latex engine to use, like the option + does. The backend name is specified through the + use attribute. + + + texstyle + It defines the docbook latex style to use, like the option + does. The latex package is specified through the + use attribute. + + + texpost + It defines the latex post-processing script to use, like the + option does. The script name is specified through the + use attribute or the fileref + attribute. + + + indexstyle + It defines index style file (.ist) to use, like the + option does. The filename is + specified through the fileref + attribute. + + + texinputs + The element text defines the extra paths to add to TEXINPUTS, + like the option does. + + + bibinputs + The element text defines the lookup paths of BIBINPUTS, + like you would do by successive use of the option . + + + + bstinputs + The element text defines the lookup paths of BSTINPUTS, + like you would do by successive use of the option . + + + + +
+
+ <sgmltag><xslt></sgmltag> + The xslt element contains the configuration data related to the XSL + processing. + Attributes: none + + The following elements occur in xslt: + + + stylesheet + It defines a user stylesheet to use, like the option + does. The stylesheet name is specified through the + fileref attribute. If several + stylesheet elements are set, the precedence is the same + like using the option several times. + + + engine + See . + + + +
+
+ <sgmltag><engine></sgmltag> + It defines the XSLT processor to use; it can be either a predefined + engine, or a user-defined command to run. + When the attribute + use is used, it works like the option + . The engine name is specified through the + use attribute. + + When the element contains the command or + commandchain child element it defines the command(s) + to run to perform the XSLT processing. The core keywords defined in + apply. The additional keywords of an XSLT + engine command are the following: + + + %(xmlfile)s + Replaced by the XML source file to + process. + + + %(stylesheet)s + Replaced by the stylesheet to use to process the + XML file xmlfile. + + + %(param_list)s + Replaced by the list of the XSL parameters to set. + The parameter pair formatting (the parameter name and its value) is + specified through the param-format attribute + given to the engine element. + + + + + Attributes: + + + param-format + This attribute is mandatory when the engine is specified + through a command. It tells how a parameter name and + value pair shall be formatted when added to the XSLT engine command. + The formatting is given by a string containing the keywords replaced by + the name or value of the parameter to set: + + + + %(param_name)s + Replaced by the name of the + parameter to set. + + + %(param_value)s + Replaced by the value to set to the + parameter. + + + + + + + The following example re-writes with a user-defined command the Saxon engine + with an additional option: + + + + + saxon-xslt -T -o %(output)s %(xmlfile)s + %(stylesheet)s %(param_list)s + +]]> + +
+
+ <sgmltag><imagedata></sgmltag> + The imagedata element contains the rules and commands to convert + on the fly the images included in the docbook document. + Attributes: none + + The following elements occur in imagedata: + + + figpath + It defines a path where to find the images, like the + option does. + + + figformat + It defines the default image format when no suffix is + available to deduce the actual format, like + does. + + + formatrule + It specifies in which format an image must be + converted, depending on the context, given by some attributes: + + + docformat + The output document for which the rule + applies. When not set the rule applies for any format + + + backend + The rule applies only when this backend is + used + + + dst + When the conditions are met the image shall be + converted to this format. + + + + The following example: + ]]> + tells that when a PDF document is built with the xetex backend, the + graphics not natively supported shall be converted to PDF. + + + + + converter + It defines an image transformation rule. See + for more + details. + + + +
+
+ <sgmltag><converter></sgmltag> + The converter element defines a rule about how to convert on the fly + an image in a docbook document to the corresponding image used in the built + latex file. The + goal is to have an image format compatible with the latex engine, whatever the + original format is. Dblatex has a default set of rules, but + one can overwrite or add some rules. + + Attributes: + + + src + Format of the original image referenced in the XML + document. The converter only applies to the images matching this format. + + + + dst + Target format once converted. The converter only applies + to the original images having the format src and that + need to be converted to the format dst. + dst can take the special value "*" + meaning that the rule applies for all + the possible target formats (e.g. eps, pdf, png). + + + docformat + Specify for which document output format the converter + applies. For example, if docformat is set to "pdf", + it means that + the converter applies only if the document output format is PDF. The + converter will not apply if you want to build a PostScript or DVI + document. + + + backend + The converter applies only if it is this latex engine that + is used. For example, it is usefull if you want to convert an image in a + specific way only when xetex is used. + + + + + The following elements occur in converter: + + + commandchain + List of the commands to run. A + commandchain contains one or more + command elements. + + + + command + command to execute to perform the conversion, or a part of + the conversion if several commands are chained. See + . + + + + +
+
+ <sgmltag><command></sgmltag> + The command element contains the arguments of the command to run. + The arguments can contain some predefined keywords that are replaced by the + actual values when the command is executed. The known core keywords + are: + + + %(src)s + Replaced by the src value (original + image format). + + + %(dst)s + Replaced by the dst value (target + image format). + + + %(input)s + Replaced by the input file required by the command. In the + case of an image conversion, it is the filename of the original image to + convert. + + + %(output)s + Replaced by the name of the ouput file required by the + command. In the case of an image conversion, it is the filename of the + output image once converted. + + + + Attributes: + + + input + Standard input of the command to run. It can specify a + file or it can specify to use the output of the preceding command if the + keyword "PIPE" is used. + + + output + Standard output of the command to run. It can specify a + file or it can specify that the output shall be redirected to the next + command if the keyword "PIPE" is used. + + + shell + When set to "1" or "true", the command is run in a shell + environment. + + + +
+
+ <sgmltag><options></sgmltag> + The options element lists the extra arguments to pass to + dblatex. +
+ +
+
Deprecated Text Configuration File Format + + The format of the file is the following: + + + + + Every comment starts with a “#”, and is ignored. + + + + + The file must contain one parameter by line. + + + + + The format of a parameter is the following: + + +: +]]> + + + + Every parameter is mapped to an option that can be passed to dblatex. + + + + + An unknown parameter is silently ignored (the whole line is dropped). + + + + + The parameters defining a path (a file or a directory) can take absolute or relative paths. A relative path must be defined from the specification file itself. For instance, a specification file under /the/spec/directory/ with a parameter describing the file ../where/this/file/is/myfile points to /the/spec/where/this/file/is/myfile. + + + + + The following table lists the supported parameters and the corresponding command line option. + + +
+
Style Paths + By default dblatex tries to find the configuration + files related to a style (specified with option ) in the + following paths, in respect of the order: + + The current directory + $HOME/.dblatex + /etc/dblatex + The dblatex package configuration directories. + + You can add some extra paths where to look for by setting the + DBLATEX_CONFIG_FILES environment variable. The paths are + separated by ":" in Unix like systems, and by ";" on Windows. These paths + are used only when nothing is found in the default paths. +
+
+
+ Customization Precedence + + All the customization queries are translated to the corresponding command line options. Thus, using several customization methods can be unconsistent because each of them override the same option with another value. + + + For instance, you can specify the use of a specification file in which it is said to use a latex style (parameter TexStyle) and explicitely use the command line option. So, what is the behaviour? + + + The options order is the following: + + + + + If a specification file is used ( option), the options are set to the specification file parameters. + + + + + If several specification files are used ( option), the + precedence is given to the last specified files. + + + + + The options explicitely passed override the specification file setting, whatever is the position of the options (i.e. before or after the option). + + + + + If an option is passed several times, this is the last occurence that is used. + + + +Customization Precedence + + Let's consider the specification file containing the following parameters: + + + + + -b pdftex + +]]> + + And now the command line: + + + + + The setting used is the following: + + + + + “-b dvips” overrides “-b pdftex” set by the spec file. + + + + + “-p file2.xsl” overrides “-p file1.xsl” since it is defined after, and overrides “file3.xsl” set by the spec file. + + + + + “-s mystyle2” override “mystyle1” set by the spec file. + + + + +
+
diff --git a/docs/custom/dblatex.xconf b/docs/custom/dblatex.xconf new file mode 100644 index 0000000..949360c --- /dev/null +++ b/docs/custom/dblatex.xconf @@ -0,0 +1,26 @@ + + + + + + + + + + + ../mystyledir:/etc/texmf/userfont + + + + + + + + + + inkscape -z -D --export-dpi=600 --export-%(dst)s=%(output)s %(input)s + + + + -X -V + diff --git a/docs/custom/mystyle.sty b/docs/custom/mystyle.sty new file mode 100644 index 0000000..789febb --- /dev/null +++ b/docs/custom/mystyle.sty @@ -0,0 +1,20 @@ +%% +%% This style is derivated from the docbook one +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{mystyle}[2007/04/04 My DocBook Style] + +%% Just use the original package and pass the options +\RequirePackageWithOptions{docbook} + +%% Redefine the paragraph layout +\setlength\parskip{\medskipamount} +\setlength\parindent{5pt} + +%% Redefine some french settings +\babelsetup{fr}{% + \catcode`\�=\active + \catcode`\�=\active + \def�{u\og\ignorespaces} + \def�{v\unskip\fg} +} diff --git a/docs/custom/param.xml b/docs/custom/param.xml new file mode 100644 index 0000000..e7e46f3 --- /dev/null +++ b/docs/custom/param.xml @@ -0,0 +1,910 @@ + + + + + + + + + + +
+ +Parameter + +Role + +Default Value + + + + + +alt.use + +When an (informal) equation contains both alt and +another element (graphic, etc.), and when +tex.math.in.alt is not set to 'latex', the alt element +is not used to display the equation since it is considered as a fallback +element. Set alt.use to force the use of +alt as default rendering element even when +tex.math.in.alt is not set to 'latex'. + +0 + + + + + +annotation.support + +Set to 1 the experimental DocBook 5 annotation +support is enabled. + +0 + + + + + +callout.markup.circled + +Set to 1 the callouts references in a calloutlist +are white numbers in black circles, like the markups in the listing (or +graphic). Set to 0 the references are simple numbers. + +1 + + + + + +callout.linkends.hot + +The callouts referenced in a callout list are hot links if the +parameter is set to 1. Then, the references are in red such like any other +cross-reference link in the document. + +1 + + + + + +calloutlist.style + +Defines how the callout list items are displayed. The value must be +some valid enumitem description list options. + +"leftmargin=1cm,style=sameline" + + + + + +citation.default.style + +Default natbib citation style to apply when natbib is used. See . + +Empty + + + + + +citation.natbib.options + +Options to pass to the natbib package when it is loaded. See also . + +Empty + + + + + +citation.natbib.use + +Load the natbib package, and allows the use of natbib citation styles. +The package is loaded if the parameter is set to 1. See . + +0 + + + + + +cjk.font + +Fonts to use in CJK environments (i.e. for Chinese, Japanese or Korean +documents handled by the CJK package). + +cyberbit + + + + + +co.linkends.show + +Next to a callout markup the links to the corresponding calloutlist +items are shown when the parameter is set to 1. Set to 0 the links are not +shown. + +1 + + + + + +colophon.tocdepth + +Same than preface.tocdepth for colophon +sections. + +0 + + + + + +dedication.tocdepth + +Same than preface.tocdepth for dedication +sections. + +0 + + + + + +doc.alignment + +Defines the text alignment for the whole document. The valid values +are: "left", "center", "right", "justify". An empty string is equivalent to +"justify". + +Empty + + + + + +doc.collab.show + +Show the collaborators (authors, contributors) defined in the document +information block. + +1 + + + + + +doc.lot.show + +Specifies which Lists of Titles should be printed after the Table of +Content. The value is a comma separated list of the LoTs to show. The +supported LoTs are "figure", "table", "equation", and "example". The list +order represents the LoTs order in the output document. + +"figure,table" + + + + + +doc.pdfcreator.show + +Fill the Creator field of the PDF document information section with +"DBLaTeX-<version>" if the parameter is set to 1. Set to 0 this field is +keep untouched. + +1 + + + + + +doc.publisher.show + +Print the dblatex logo on the cover page for the native docbook style +if the parameter is set to 1. + +0 + + + + + +doc.section.depth + +Depth of the section numbering. Used to set the latex +secnumdepth counter. + +5 + + + + + +doc.toc.show + +Print the table of contents when set to 1. + +1 + + + + + +draft.mode + +Print releaseinfo in a framed box in the header, +when the parameter is set to 'yes'. The releaseinfo is +ignored if the parameter is set to 'no', or if the releaseinfo content is +empty. When the parameter is set to 'maybe', the draft mode is deduced from +the status attribute of the root element if set to +'draft'. + +maybe + + + + + +draft.watermark + +Print the draft text (that is, "DRAFT") as a watermark on each page, if +the document is in draft mode and if the parameter is set to '1'. + +1 + + + + + +equation.default.position + +Default equation float placement algorithm to apply. See +figure.default.position for more details about how to use latex float +specifications. + +[H] + + + + + +example.default.position + +Default example float placement algorithm to apply. See +figure.default.position for more details about how to use latex float +specifications. + +[H] + + + + + +figure.caution + +Figure to use to render a caution block. This +parameter is added to allow new latex styles to use their own figures in +admonitions. + +"warning" + + + + + +figure.default.position + +Default figure float placement algorithm to apply. The default +parameter value is [htbp] meaning that latex tries to place the figure where +it occurs first (h, here), then at the top of the page (t), at the bottom of +the page (b), and finally on the next page (p). + +[htbp] + + + +figure.important + +Figure to use to render a important block. This +parameter is added to allow new latex styles to use their own figures in +admonitions. + +"warning" + + + +figure.note + +Figure to use to render a note block. This parameter +is added to allow new latex styles to use their own figures in +admonitions. + +Empty + + + +figure.tip + +Figure to use to render a tip block. This parameter +is added to allow new latex styles to use their own figures in +admonitions. + +Empty + + + +figure.title.top + +Set to 1 the figure float title position is above +the image. Set to 0 the title is under the image. + +0 + + + +figure.warning + +Figure to use to render a warning block. This +parameter is added to allow new latex styles to use their own figures in +admonitions. + +"warning" + + + + + +filename.as.url + +Set to 1 the filenames are handled as URLs, with the +same hyphenation rules. Set to 0 the filename hyphenation +is forced for each character. + +1 + + + + + +glossterm.auto.link + +When set to 1, the glossterms in the document are linked to their +definition in the glossary. + +0 + + + + + +imagedata.boxed + +If set to 1, put the images into a framed box. + +0 + + + + + +imagedata.default.scale + +cf. + +pagebound + + + + + +imagedata.file.check + +When set to 1 some tex code is added to ensure that latex compilation +does not fail when the referenced imagadata file does not exist. + +1 + + + + + +imageobjectco.hide + +When set to 1 the callout numbered circles are not drawn on the image. +Only the anchors are put, allowing callout list items to jump at the +referenced position on the image. The purpose of this parameter is to allow +the use of images that already contain the callout numbers (like for GIMP +manual). + +0 + + + + + +korean.package + +When lang is set to 'ko' and the parameter is set to 'CJK' the CJK +package is included to handle the Korean language. + +CJK + + + + + +latex.babel.language + +This parameter forces the use of the specified babel language whatever +the document language is. + +Empty + + + + + +latex.babel.use + +Set to 1 the babel package corresponding to the document language is +included. Set to 0 no babel package is included whatever the document language +is. + +1 + + + + + +latex.bibfiles + +Defines the default BibTeX database to use. Used when the bibtex PI +does not have a "bibfiles" attribute. See for +more details. + +Empty + + + + + +latex.biblio.output + +Defines how the BibTeX bibliographic entries are printed out. The +available values are defined in . + +all + + + + + +latex.biblio.style + +Defines the default BibTeX style to apply. Meaningful when not empty, +only for the used bibtex databases. See . + +Empty + + + + + +latex.class.article + +This parameter sets the document class to use for +article documents. + +article + + + + + +latex.class.book + +This parameter sets the document class to use for +book documents. + +report + + + + + +latex.class.options + +Options passed to the \documentclass command. + +Empty + + + + + +latex.encoding + +Encoding of the latex document to produce. The supported values are: +"latin1" and "utf8". See for more details +about how to use it. + +"latin1" + + + + + +latex.hyperparam + +See + +empty + + + + + +latex.unicode.use + +Set to 1 the passivetex unicode support is included, allowing to handle +a wider range of Unicode characters (like cyrillic). + +0 + + + + + +literal.layout.options + +Overwrite the default options passed to the \lstset command. + +Empty + + + + + +literal.lines.showall + +Set to 1, all the lines in a verbatim environment like programlisting +or screen are printed, even if they are empty. Set to 0, the last empty lines +are not printed. It is set to 1 by default. + +1 + + + + + +literal.width.ignore + +When set to 1 the programlisting and screen width attribute is ignored. +In this case all the verbatim environment widths are equal to the enclosing +environment width. + +0 + + + + + +make.year.ranges + +If non-zero, copyright years will be collated into ranges. Parameter +taken from the DocBook XSL stylesheets. + +0 + + + + + +make.single.year.ranges + +If non-zero, year ranges that span a single year will be printed in +range notation (1998-1999) instead of discrete notation (1998, 1999). +Parameter taken from the DocBook XSL stylesheets. + +0 + + + + + +mediaobject.caption.style + +Font style of the mediaobject caption text. Its value can be any valid +latex font style command combinations. By default this parameter put the +caption text to italics. + +\slshape + + + + + +monoseq.hyphenation + +When set to 1, aggressively hyphenates the inlined element rendered +with monoseq fonts. When set to 0, let latex do as default. When set to +'nohyphen', dblatex tries to avoid overfull boxes (words in the margins) but +keeps the monoseq words not splittable. + +1 + + + + + +monoseq.small + +When set to 1, choose a smaller font to the element rendered with +monoseq fonts. + +0 + + + + + +newtbl.autowidth + +Defines if the table column widths must be automatically sized by +latex. See . + +Empty + + + +newtbl.bgcolor.thead + +Background color of the thead rows. + +1 + + + +newtbl.default.colsep + +Set to 1, print the column separators when no +colspec attribute is specified. + +1 + + + +newtbl.default.rowsep + +Set to 1, print the row separators when no rowspec +attribute is specified. + +1 + + + +newtbl.format.tbody + +LaTeX formatting for body table cells. + +Empty + + + +newtbl.format.tfoot + +LaTeX formatting for foot table cells. + +Empty + + + +newtbl.format.thead + +LaTeX formatting for head table cells. + +\bfseries% + + + +newtbl.use.hhline + +Set to 1, use the hhline package to draw the table +row separators instead of cline. Using hhline seems more +suited for colored tables. + +0 + + + + + +pdf.annot.options + +Options to change how the PDF text annotations should look. The +supported options are width, height, depth. The options must be comma +separated like: width=5cm,depth=10cm. + +Empty + + + + + +preface.tocdepth + +When greater than 0, the preface headings appear in the TOC. The +parameter value define the preface section depth appearing in the TOC and in +the bookmarks. If set to 0, none of the sections are put in the TOC. If set to +1, only the chapter level appears in the TOC and bookmarks, and so on. When +the parameter is negative, it behaves like with 0, but it uses the previous +implementation (use of unnumbered sections, that is, with latex heading +commands ending with '*'). + +0 + + + + + +qandaset.defaultlabel + +Defines the default label to use in a qandadet when +the defaultlabel attribute is not specified. + +"number" + + + + + +refentry.numbered + +Defines either the refentry titles are numbered or +not. When numbered, it is displayed as any other numbered section. + +1 + + + + + +refentry.tocdepth + +Same than preface.tocdepth for refentry +sections. Meaningful only when refentry.numbered is set +to 0. + +5 + + + + + +seg.item.separator + +Defines the separator to use between several +segitems. + +", " + + + + + +set.book.num + +When the document root element is a set this +parameter can be used to select the book to print, because +dblatex can output only one book from the set. + +1 + + + + + +table.default.position + +Default table float placement algorithm to apply. The default parameter +value is [htbp] meaning that latex tries to place the table where it occurs +first (h, here), then at the top of the page (t), at the bottom of the page +(b), and finally on the next page (p). + +[htbp] + + + + + +table.in.float + +Set to 0 the formal tables are no more put in table floats. They are +displayed with the longtable package, allowing to have formal tables covering +several pages (which is not possible with floats). The limitation is that the +title must necessarily be on the top of the table. + +1 + + + + + +table.title.top + +Set to 1 the table float title position is above the +table. Set to 0 the title is under the table. + +0 + + + + + +term.breakline + +Set to 1 the item following a term in a variable list is put on the +next line. + +0 + + + + + +tex.math.in.alt + +Specifies if the alt element in an (informal) +equation contains some tex equation. If so, and if the tex equation is in +'latex' format, the content is directly used by dblatex. + +latex + + + + + +titleabbrev.in.toc + +Set to 1 the titleabbrev content is put in the TOC instead of the +title. + +1 + + + + + +toc.section.depth + +Depth of the TOC. Used to set the latex tocdepth +counter. + +5 + + + + + +xetex.font + +Font specification for XeTeX. Meaningful only when the xetex backend is +used. + +\setmainfont{DejaVU Serif} \setsansfont{DejaVu Sans} + + + + \ No newline at end of file diff --git a/docs/custom/specparam.xml b/docs/custom/specparam.xml new file mode 100644 index 0000000..a96cf81 --- /dev/null +++ b/docs/custom/specparam.xml @@ -0,0 +1,54 @@ + + + + + +Keyword +Value +Corresponding option +Description + + + + +TexInputs +Directories +--texinputs +Defines extra path to add to TEXINPUTS + + +TexStyle +Latex package name +--texstyle +Defines the LaTeX style package to use. + + +TexPost +Script file name +--texpost +Defines the LaTeX post process script to use. + + +XslParam +Parameter file name +-p +Defines the parameter file to use. + + +FigInputs +Directories +-I +Defines the extra figures path. + + +Options +Command line options +None +Lists command options to use by default when using the tool. The +options specified by the parameter are directly passed to +dblatex + + + + + diff --git a/docs/custom/stycommand.xml b/docs/custom/stycommand.xml new file mode 100644 index 0000000..41d50a9 --- /dev/null +++ b/docs/custom/stycommand.xml @@ -0,0 +1,100 @@ + + + + + + +Command +Description + + + + +\DBKreference +mapped to pubsnumber + + +\DBKsite +mapped to address + + +\DBKcopyright +mapped to copyright + + +\DBKdate +mapped to date + + +\DBKedition +mapped to edition + + +\DBKpubdate +mapped to pubdate + + +\DBKsubtitle +mapped to subtitle + + +\DBKreleaseinfo +mapped to releaseinfo + + +\DBKlegalnotice +environment mapped to a legalnotice. The legal notices +are all put into the \DBKlegalblock command. It is up to the latex stylesheet to +decide where to put it in the document. + + +\DBKlegalblock +wrapper command for the \DBKlegalnotice environments, used by the latex +stylesheet to decide where to put the legal notices in the document. + + +\DBKindexation +This command contains the +othercredit information translated to latex by the XSL. +This command must be placed where the othercredit shall appear in the +document. + + +\DBKindtable +This environnement must be defined by the +user to render the othercredit list. It can be displayed as +a table, listitem, description list, or anything that suits your need. + + + +\DBKinditem +This is an othercredit item. + + +\DBKrevtable +This environnement must be defined by the +user to render the revhistory table. Untill now it is not +really possible to customize it, since it must be a table with four columns, +each column for a revhistory piece of information. + + + +float example +This float is expected to be defined, and +is mapped to example. It is not defined by default by the +dbk_core package to allow the user to define its rendering (ruled or not, +etc.) + + + +float dbequation +This float is expected to be defined, and +is mapped to equation. It is not defined by default by the +dbk_core package to allow the user to define its rendering (ruled or not, +etc.) + + + + + + diff --git a/docs/custom/stydebug.xml b/docs/custom/stydebug.xml new file mode 100644 index 0000000..8025cc6 --- /dev/null +++ b/docs/custom/stydebug.xml @@ -0,0 +1,40 @@ + + +
Debugging your Style +It is not surprising if your first dblatex compilation fails with a fresh +LaTeX style. So, how to debug it when used with dblatex? +The following steps can help you: + +Compile your file in the debug mode (option ). +When the compilation is done, the temporary working directory will not be +removed. + + + +Go under the building temporary directory, and set the environment +with the file env_tex. + + + +Compile the temporary latex file produced by the XSL stylesheets. Its +name has the suffix "_tmp.tex". + + + +Now latex stops when it encounters an error so that you can debug +your stylesheet. + + + +
diff --git a/docs/custom/style.xml b/docs/custom/style.xml new file mode 100644 index 0000000..c65a43f --- /dev/null +++ b/docs/custom/style.xml @@ -0,0 +1,151 @@ + + +
Output Formatting Style +The output rendering done by dblatex can be widely +customized like explained in . By default several +rendering styles are provided, that one can choose by using the option + (see ). The available styles are: + +native + +The rendering uses the default LaTeX stylesheets. It is the style used by +default if dblatex has been configured without using the option +. + + +simple + +The rendering is very close to original latex rendering. The wrapper +around the default latex packages is very thin. + + +db2latex + +The rendering tries to be as close as possible to the +DB2LaTeX formatting. + + + +Choosing the DB2LaTeX style + + +
How it works +The rendering style stuff is under the latex/ +directory. You can see the XSL stylesheets under xsl/ +as the way to produce latex with as little as possible docbook specific things +(even if a large amount of latex packages are used to do the work). Then, it's +up to LaTeX stylesheets to format the document as you wish. +The organization under latex/ is as follow: + +contrib + +Contains the non-default available LaTeX stylesheets (simple and db2latex). + + + +graphics + +Default graphics used in the admonitions (e.g. warning). +These graphics are used by the default output formatting. + + + +scripts + +Scripts used to compile with latex or +pdflatex. + + + +specs + +Contains all the configuration files describing the available styles. +A specification file must have the extension .specs, .conf, or .xml to be +detected as a style description, and its basename is the name of the style. +For example the style db2latex is described by the configuration file +db2latex.xml. + +When dblatex is executed with no parameter, the usage +is displayed. In particular, the list of the available styles is given, like +this: + +The list is built by scanning the specs files found under +specs/. The spec file syntax is described in . + + + +style + +Default LaTeX stylesheets. + + + +
+
Adding a New Formatting Style +To add a new formatting style, do the following steps: + +Let's create the style directories that will contain all the +specific data. We choose to put them under the default +dblatex user configuration directory. + +Note that you could choose another configuration directory (see for more details). + +Create the latex stylesheets you need. It must define the expected +DocBook interface and include some core definitions from the default latex +stylesheets (cf. ). Create also your XSL +stylesheet if necessary. +Put these files under the appropriate directories: + + +Create a configuration file under the directory +$HOME/.dblatex. The configuration file must point to the +new latex stylesheet, and give the specific parameters. Example: + + + + + mystyle/latex// + + + + + + -f fig + +]]> + +That's it. Try to compile your document with your style, and check +the output. The configuration file basename is the name of the style to +call. + + + + +
+
+ diff --git a/docs/custom/styoption.xml b/docs/custom/styoption.xml new file mode 100644 index 0000000..1e556ad --- /dev/null +++ b/docs/custom/styoption.xml @@ -0,0 +1,22 @@ + + + + + + +Option +Role + + + + +hyperlink, nohyperlink +Indicates if links in the document are provided or not + + +article, book +The document is an article or a book + + + + diff --git a/docs/custom/stypackage.xml b/docs/custom/stypackage.xml new file mode 100644 index 0000000..1e31f24 --- /dev/null +++ b/docs/custom/stypackage.xml @@ -0,0 +1,20 @@ + + + + + + +Package +Description + + + + +dbk_core +Core LaTeX definitions and macros needed for +DocBook + + + + + diff --git a/docs/document.xml b/docs/document.xml new file mode 100644 index 0000000..4ebe1bc --- /dev/null +++ b/docs/document.xml @@ -0,0 +1,43 @@ + + + +Documentation + + +Reference + + +TDG + +DocBook: The Definitive Guide + + + +Norman + +Walsh + + + +Leonard + +Muellner + + + + +1999, 2000, 2001 + +O'Reilly & Associates, Inc. + + +156592-580-7 + + +O'Reilly + + + + + diff --git a/docs/faq.xml b/docs/faq.xml new file mode 100644 index 0000000..9db6a54 --- /dev/null +++ b/docs/faq.xml @@ -0,0 +1,112 @@ + +FAQ +The purpose of this mini FAQ is to give some tips about how customizing or +tweaking the PDF output. + +My images are too big. What can I do? + +When an image is included via imagedata with no +scaling attributes (e.g, width, height, contentwidth) it is its +natural size that is used. +One can change individually the size of an imagedata +by defining its attributes (see TDG for more details). One can +also use the parameter imagedata.default.scale to apply a +systematic scaling rule on every image that has no explicit attribute. + +The parameter imagedata.default.scale can take: + + +The default predefined value "pagebound": the image natural size is used, +up to the page boundaries. That is, if an image natural width is greater than the +page width its size is proportionally reduced +so that it is contained in the page. The same control is done for height. + + +Any combination of valid \includegraphics options. For example + + +imagedata.default.scale=scale=40% + +The scale 40% is applied on the images. + + +imagedata.default.scale=width=40%,height=3in + +This example is weird but shows that several options can be used. In this +case the image width is 40% of the page width, and the height is fixed to 3 +inches. The risk to have an anamorphous result is very high here. + + + + + + + +How can I have the PDF fit to height by default? +The behaviour of the PDF file when opened by a reader like Acrobat Reader +can be customized with the parameter latex.hyperparam. See for +more details about this parameter. + +To answer precisely to the question, set the parameter with the option +"pdfstartview=FitV". + + +How can I have all the PDF hyperlinks in blue color? +Same answer than for the previous question. +For this particular case, set the parameter with the options +"linktocpage,colorlinks,linkcolor=blue,citecolor=blue,urlcolor=blue". + + +How can I remove that stupid float rules? +If you wonder about this, you propably use the db2latex style. To remove +the rules, you need to patch the db2latex.sty. You can: + + + +Simply remove the floatstyle definition for the floats for which you don't want +the rules. + + +Explicitely use the plain floatstyle. Note that using this explicit style +does not allow to change the float title position anymore. The plain style +always put the title at the bottom of the float. + + + + +My long tables don't split in several pages. Why? +A formal table (table element) is put in a float, so +that it can have a numbered caption and placed by tex at the best place. The +limitation is that a float cannot split over several pages. +For long tables that need to split, use informaltable +instead. + + +I cannot put a table in an example. +A formal table (table element) is put in a float, and +cannot be put in another float like an example. You can use an informaltable instead. + + +I cannot compile my cyrillic document. Why? +A document using some characters different from the roman alphabet may face some troubles, because latex natively handles only latin1 encoding. +Try the different unicode supports provided by dblatex: + + + +Use the XeTeX backend, a new tex engine that natively supports Unicode +characters: dblatex -b xetex file.xml. + + +Ask for using the latex unicode support by setting the latex.encoding=utf8 parameter: dblatex -P latex.encoding=utf8 file.xml. + + +Use the Passivetex extensions by setting the latex.unicode.use=1 parameter: dblatex -P latex.unicode.use=1 file.xml. + + + + +See for more details. + + + diff --git a/docs/figure.xml b/docs/figure.xml new file mode 100644 index 0000000..0ef5aea --- /dev/null +++ b/docs/figure.xml @@ -0,0 +1,143 @@ + + +
+ + Figure Inclusion + +
+ + Presentation + + + The expected format of the included figures depends on the backend driver used: + + + + + dvips: +EPS format is required. + + + + + + pdftex: +PDF or PNG format is required. + + + + + + In order to be able to use both backends, it is wise to not write the suffix of the file that references the figure. The suffix will be deduced from the backend used. + + + The figures must either already exists in the expected format, or must be able to be converted on the fly. + +Figure inclusion + + +]]>Components +]]> +]]> +]]> +]]> +]]> +]]> +]]> + +
+
+ + Converting on the fly + + When it is needed dblatex tries to automatically convert the figures to + the expected format (i.e. EPS or PDF). The principle is to detect the original + figure format from the suffix of the fileref attribute. If no suffix is given, + the tool checks if a file whose basename is conformant with the + fileref attribute and with one of the predefined suffixes exists (that is, ".eps", + ".fig", ".pdf", or ".png"). If such a file exists, conversion is done from the + original format found. + + + The option allows to specify the default included figures format (fig_format), that will be used when automatic format scanning gives no result. Then, the tool converts the figures from the specified format to the expected one. + + + If the specified format is unknown, no conversion is done. The supported formats are: + + + + + fig: +native format of the figures produced by XFig. + + + + + + eps: +Encapsulated PostScript format. This format shall be specified only when using the pdftex backend. + + + + +Figure conversion + + The following command compiles a document that contains figures produced with XFig. + + + + +
+
+ + Paths Lookup + + + You can use and cumulate the option to specify where the figures are. The given paths can be absolute or relative. + The paths are added to the document root path. + +Figures lookup + + This example shows how figure lookup is done. Let's consider this document source: + + + +]]>Composants +]]> +]]> +]]> +]]> +]]> +]]> +]]> + + And the document is compiled like this: + + + + + The figure1 lookup is done in the following directories, in respect of the order: + + + + + /initial/path/rep1/rep2 ; + + + + + /another/path/rep1/rep2 ; + + + + + /last/case/rep1/rep2. + + + + +
+
diff --git a/docs/footnote.xml b/docs/footnote.xml new file mode 100644 index 0000000..8182734 --- /dev/null +++ b/docs/footnote.xml @@ -0,0 +1,216 @@ + + +
+Footnotes + +
+Footnote Numbering Scope + +The foonotes are well handled by latex. Dblatex just takes care about +special cases like footnotes in headings or in tables. Therefore the default +latex behaviour is applied for footnote numbering. + +By default the footnote numbers are reset for each new chapter. If you +want to change the numbering scope, you can use the latex package chngcntr either in a customized latex style (see ) or in the parameter latex.begindocument. The following example makes the footnote numbers document wide. + + + +% Want document wide footnotes +\usepackage{chngcntr} +\counterwithout{footnote}{chapter} +\begin{document} + + ]]> + +
+
+End Notes + +You can configure dblatex to manage the footnotes as +endnotes. In this case the notes are expected to be displayed in a dedicated +section. The following sections tell how to do this. + +
+Writing a document with endnotes + +To have footnotes behaving as endnotes, you just need to set the +footnote.as.endnote to 1, and to put in your document an +empty index element with the attribute +type set to 'endnotes'. This index is supposed to be included +in a section dedicated to contain the notes, and therefore it does not display +any heading by itself. The section containing the endnotes index can also +contain any other materials. + +Writing a document with endnotes +The following document contains some footnotes and a section for +the End Notes: + + A Chapter + Bla bla]]>First note]]>Second note]]> + + + Another Chapter + Bla bla]]>Third note]]>Fourth note]]> + + + End Notes + This chapter contains all the notes of the book. + + ]]>]]> +]]> + + +dblatex is called with: +$ dblatex -P footnote.as.endnote=1 file.xml + + + +
+
+Setup Properties + +Currently the endnotes are handled by the latex package +endnotes. You can customize its use with +the endnotes.properties attribute set. This attribute set +is filled by default with the values given by the internal attribute set +endnotes.properties.default, and you can override the +following attributes: + + + + package + Recall the latex package in charge to handle the + endnotes. Attribute provided for provision since currently there is + no real alternative with well established packages. + + + heading + Macros to render the heading of the endnotes + to display. + + + font-size + Macro specifying the font size to apply for each endnote. + The package default is \footnotesize. The dblatex default + is \normalsize. + + + note-format + Macros specifying how the render a end note. The + package default is the same formatting that footnotes. The dblatex + default is to print out endnotes like a numbered list. + + + +The default setup: + + + +
+
+Endnotes Setup from scratch + +If you want to fully control the endnotes setup, add some other macros, +you can directly override the +template endnotes.setup, as shown by the example below. +If the endnote setup is already defined in your latex style you can override +the template to make it empty in order to avoid some conflict between the latex style +definition and the default one done by dblatex. + + + + \usepackage{endnotes} + \def\enoteheading{\paragraph*{List Of Notes}% + \mbox{}\par\vskip-\baselineskip} + +]]> + +
+
+Grouping Endnotes + +By default the endnotes are displayed for the whole document as a global +list. You can configure dblatex to show the endnotes grouped per part or per chapter. A heading is put before each group of notes to recall the component (part, chapter, or another section) that contains these notes. The purpose is to make the research of the notes at the end of the document easier for the reader. + +To group the endnotes according to the granularity you wish, +you just need to +set the endnotes.heading.groups with the expected section +types separated by a space. For example, the following setup displays +notes per part and per chapter: + + + +]]> + +
+Adding new Groups + +By default dblatex can group the notes per chapter and/or per part, +provided that the section type is declared in endnotes.heading.groups as explained previously. If you want to add another section type you need to override the template called in mode endnotes, and to add this type to the declared groups. Usually the endnotes mode template only calls the endnotes.add.header template. The example below makes a new group for preface. + + + + + + + + +]]> + +
+
+Formatting the Headings text + +You can use the parameter +endnotes.heading.style to format the headings of the groups with the same syntax than xrefstyle does. The example below gives a template where the title and the page of the chapter containing +the notes are displayed. + + + template:Notes of the chapter "%t", page %p + +]]> + +
+
+LaTeX Command to make the Headings + +By default dblatex creates the headings of the groups +with a section command whose level is just below the level of the endnotes +section. For example, if the endnotes section is a chapter, the headings are +created by using a \section* latex command. If the endnotes +section is a section, the headings are done by using +\subsection*, and so on. + +If this behaviour does not fit your needs you can specify the command to use with the parameter endnotes.heading.command. It can be usefull if you want to format these heading in a specific way. The heading markup produced following the endnotes.heading.style template is passed as an argument of +the specified command. The example below uses the command +\enoteheader* to create the headings. It assumes that this +macro is defined somewhere else (e.g. in a user latex style). + + +]]> + +
+
+Endnotes Counter Scope + +By default the endnotes counter restarts from one in each chapter or +part when they are grouped. You can change this behaviour by overriding +the endnotes.counter.resetby parameter that lists +the section types where the counter is reset. If you want a global +counter running for the whole document, just set the parameter empty. +
+ +
+
+
diff --git a/docs/formatting.xml b/docs/formatting.xml new file mode 100644 index 0000000..eb7a5fe --- /dev/null +++ b/docs/formatting.xml @@ -0,0 +1,205 @@ + + + +
+ Correcting Poor Formatting + + LaTeX does not invariably produce good looking output. To + remedy this it can sometimes be useful to guide LaTeX in the + formatting of individual characters, words, sentences, and pages. + It is best to adjust with caution, making adjustments only to fix + specific problems and limiting adjustments to the affected + area. + + + Adjustments to formatting are best done late in the + production process so that subsequent changes to content do not + produce new problems. + + + This section provides an overview of common problems and + summarizes methods which may be used to resolve issues related to + formatting. Much more detail can be found in the chapter and the + and appendixes. Be sure to look through + these, especially the appendixes, to see whether there is an + adjustment which will solve your particular problem. Of course the + DocBook documentation should also be consulted to see if a DocBook + attribute can be used to adjust document presentation. + +
+ Floats + + Floats are figures, tables, examples, images, and so forth + which do not necessarily appear in the output document in the + location in which they appear in the DocBook source. The + placement of floats can result in visually poor or otherwise + undesirable output. + + One direct approach is to use the informal + versions of the affected DocBook elements. E.g. use + informaltable instead of + table. The informal elements do + not float. Bear in mind though that informal + elements do not appear in the table of contents. + + The alternative to eliminating the float entirely is + to make an adjustment by parameter, attributes, or processing + instruction. For figure, example, and equation, you can play + with these methods: + + + In a specific element, use the + floatstyle attribute to + specify the latex float placement policy. For example + '[H]' tries to place the element where it is + declared. + + Use the parameter + element.defaut.position + to specify globaly the placement policy for this element. + + + + Look at page for more details + about the meaning of the placement choice letters. +
+ +
+ Tables + + Placement problems with tables relate to their + classification as a float. For resolution regarding these issues + see the section on floats above. + + Tables exceeding the length of a page, or tables that + otherwise need to cross page boundaries, have special + requirements. They must not be floats and must be rendered using + the LaTeX longtable environment. Among the + available controls are: use of a informaltable + element in place of a table element, the + table element's tabstyle + attribute, the table.default.tabstyle parameter, + the table.in.float parameter. + + It is worth mentioning that good typesetting design practice + for tables generally calls for eliminating all vertical rules (the + lines between columns) and most horizontal rules. + + Better vertical placement of + table horizontal rules can be obtained by providing values for + the newtbl.format.thead and + newtbl.format.tbody parameters. Depending on the + font in use, a value like + \rule{0pt}{2.6ex}\rule[-0.9ex]{0pt}{0pt} can be + used for both parameters. This inserts a + strut, a 0 width character, in each row + of the table which pushes the horizontal rules + upwards and downwards to provide adequate vertical spacing. +
+ +
+ Examples + + Placement of examples has the same issue than tables, that is, it + is an element that can contain many materials and need to split over + several pages. In this case it cannot be considered as a float. + + To avoid an example floating and to allow it cover several + pages, set the parameter example.float.type + to none. +
+ +
+ Hyphenation and over-long lines + + LaTeX is generally very good at hyphenation, but this + applies only to actual words. Technical writing may include long + character sequences that are not actual words. Hyphenation + failure will typically result in lines of text that flow past the + expected right-hand edge of a line. In LaTeX terminology this is + known as a overfull hbox. + + The hyphenation.format parameter can + be helpful to flag some formats for more agressive + hyphenation. + + Various adjustments can be made with the + latex processing instruction to + add raw latex directives and eliminate + overfull hboxes but it often makes sense to address hyphenation + problems directly. This can be done either on an ad-hoc basis, + telling LaTeX how to hyphenate specific occurrences of words where + a problem exists, or by telling LaTeX how to hyphenate words it + does not know. The first method is accomplished by inserting + soft hyphens into words in your DocBook source + using the processing instruction. This is + described in the section. + + To educate LaTeX as to how to hyphenate your special + vocabulary a custom LaTeX style is required. Setting this up is + described in the section. The + LaTeX command to use is \hyphenation. For example + \hyphenation{PostgreSQL trans-mog-re-fi-ca-tion} + tells LaTeX that PostgreSQL should not be + hyphenated and where to hyphenate + transmogrification. + + Finally, long URLs can cause over-long lines. Especially in + footnotes. Using the LaTeX breakurl package is + one way to solve this. This can be done with a custom latex + stylesheet. See . +
+ + + +
+ Characters and Manual Spacing + + The latex processing instruction + may be used to limit character kerning, the joining of pairs of + characters. + + The following DocBook entity declarations can be useful to + control spacing. These may be declared in your DocBook + DTD within the trailing pair of square braces + ([]) or elsewhere. Once declared the entities + may be used in your document text. E.g. + Von&nbsp;Trapp puts a non-breaking space + between Von and Trapp, + ensuring that these two words will not appear on separate + lines. + + + <!ENTITY nbsp "&#x000A0;" > + <!ENTITY ensp "&#x02002;" > + <!ENTITY emsp "&#x02003;" > + +
+
diff --git a/docs/froglogic-logo.png b/docs/froglogic-logo.png new file mode 100644 index 0000000..0c914f7 Binary files /dev/null and b/docs/froglogic-logo.png differ diff --git a/docs/index.xml b/docs/index.xml new file mode 100644 index 0000000..ec7f26b --- /dev/null +++ b/docs/index.xml @@ -0,0 +1,115 @@ + + +
+Creating an Index + + + An index is automatically generated if some index entries (indexterm), telling the terms to put in the index, are written in the document. The keyword elements are not printed but are also added to the index. + +Index Entry + +In this paragraph is described the function +strcpystrcpy. + +]]> + + + The index is put at the end of the document. It is not possible to put it somewhere else. + + +
Internationalized Indexes + +
Indexing Tools +Makeindex is used by default to build the index. It works fine for latin charset but it is not +suited for other charsets and UTF-8 encoding. Moreover its sorting rule is +not suited for many languages. + +Therefore dblatex gives the possibility to use +xindy that allows internationalized indexing. When xindy +is used, the sorting language used is deduced from the Docbook document lang. +If the document lang has no correspondance for xindy, or if you want to force +the use of a specific sorting language, you can specify the sorting language +to use. With Xindy you can +also provide your own sort rules, but see the official Xindy documentation +for more details. + +A parameter is provided to use xindy instead of makeindex: + +latex.index.tool=xindy tells dblatex +to use xindy instead of makeindex (default). + + + + +A typical use is then: + +dblatex -P latex.index.tool=xindy file.xml + + + +
+ +
Index Sorting +Makeindex has very few methods to change its +index sorting rules, except the and options which are not very hepfull in a DocBook context. On the contrary xindy can sort the index according to +a specific language. + +When xindy is used as index tool, dblatex passes to +xindy through the xindy option +the language name corresponding to the lang attribute of the +document. If the document has no language or if xindy +does not support the document language, the default sorting is applied. In this +case you can use the following parameter: + + +latex.index.language specifies the +language used to sort the indexes. Currently this parameter is relevant +only for xindy. The language set must be known by xindy (see the xindy +documentation). When not set (or empty) the sorting language to apply +is deduced from the document lang. + + + + +The parameter can be used like any other like this: + +dblatex -P latex.index.language=german-din file.xml + + +But it can also be used through an XSL configuration file to provide new mapping +rules between ISO lang codes and known xindy languages, or override the current +mapping done by dblatex as shown in . + + +XSL Index Language Setup +By default dblatex maps the de lang +code to the language named german-din, and has no +correspondance to map cy (Welsh) or eu +(Basque). The following setup provides a mapping for these cases: + + + +xindy + + + + + + + + + + + + german-duden + english + french + + +]]> + + +
+
+
diff --git a/docs/install.xml b/docs/install.xml new file mode 100644 index 0000000..9049e8e --- /dev/null +++ b/docs/install.xml @@ -0,0 +1,310 @@ + + +Installing the Package + +
+Content + +The source package contains the following: + + + +docs/ + + +Contains the files of this document. + + + + +etc/ + + +Contains the XML configuration schemas, to use to validate your +configuration files. + + + + +latex/ + + +Contains all the latex stuff: LaTeX style files, logos, and scripts to +compile the LaTeX output. + + + + +scripts/ + + +Several scripts, including the main script of the package. + + + + +xsl/ + + +XSL stylesheets. + + + + +tests/ + + +Test files. + + + +
+ +
+Installing on Unix like Systems + +
+Dblatex Packages + +Dblatex is packaged for these Systems or Distributions: + + + +Linux Debian, +Ubuntu, + + + +Linux +OpenSUSE (RPM), Linux Fedora +(RPM), + + + +FreeBSD, +NetBSD, + + + +Mac OS X +(Fink). + + + + If you are installing on one of these distributions, follow their +recommended way of installation, and you can safely ignore the next sections +that give details for installing dblatex from the source tarball. +
+ +
+Dependencies + +To work, the following items must be available: + + + +An XSLT. xsltproc is the default XSLT used, but one +can also use 4suite or saxon. + + + +The XML DocBook DTD. + + + +A recent LaTeX distribution. The configure script checks that the needed +latex packages are available. + + + +Python >= 2.4. + + +
+ +
+Installation + +
+Installing the dependencies + +To use the package, install properly the dependencies: + + + +Install Python if necessary. + + + +Install LaTeX. + + + +Install the XSLT. By default xsltproc is +used. + + + +Install the XML DocBook DTD. + + + +Create a catalog file, that defines where to find the DTD. Here is an +example: + + +PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" + "file:///usr/local/share/xml/docbook/dtd/4.1.2/docbookx.dtd" + + +If the XML Gnome tools are available, it's a good idea to create an XML +catalog by using xmlcatalog such like this: + + +% xmlcatalog --noout --create mycatalog +% xmlcatalog --noout --add 'public' '-//OASIS//DTD DocBook XML V4.1.2//EN' \ + 'file://path/to/4.1.2/docbookx.dtd' mycatalog + + + + +Add the catalog path to the SGML_CATALOG_FILES variable: + +export SGML_CATALOG_FILES=$SGML_CATALOG_FILES:/path/to/mycatalog + + +You can skip this step if you configure the dblatex installation with +the option. + + +
+ +
+Installing from the source tarball + +The steps to follow are the following: + + + +Untar the ball. For a bzipped release, do as follow: + +% tar xvfj dblatex-x.x.x.tar.bz2 + +For a gzipped release, do as follow: + +% tar xvfz dblatex-x.x.x.tar.gz + + + +Install the package. The installation script preliminary checks the +dependencies. In the example, the dblatex script is +installed under /usr/local/bin and the other files are +installed under /usr/local/share/dblatex. Besides, the + option tells where to find the catalogs. + + +% cd dblatex-x.x.x +% python ./setup.py install --prefix=/usr/local --catalogs=/path/to/mycatalog + + + +
+
+Installing from the Python Egg + +Since version 0.3.2 dblatex is distributed as a Python Egg in the Python Package Index (PyPI). It requires to have easy_install installed. + +The procedure to follow is: + + + +Call simply easy_install: + +% easy_install dblatex +Searching for dblatex +Reading http://pypi.python.org/simple/dblatex/ +Reading http://dblatex.sf.net +Best match: dblatex 0.3.1.1 +Downloading http://pypi.python.org/packages/2.5/d/dblatex/dblatex-0.3.1.1-py2.5.egg#md5=8520d596e473ff544eb9dcdc5175d7ae +Processing dblatex-0.3.1.1-py2.5.egg +creating /path/to/dblatex-0.3.1.1-py2.5.egg +Extracting dblatex-0.3.1.1-py2.5.egg to /path/to +Adding dblatex 0.3.1.1 to easy-install.pth file +Installing dblatex script to /path/to + +Installed /path/to/dblatex-0.3.1.1-py2.5.egg + + + +That's it! +
+
+
+ +
+Installing on Windows + +The following packages to install and the procedure is for a native +Windows installation. If you want to use dblatex via Cygwin instead, you +should consider it like a unix like install. + +
+Dependencies + +The following applications are required: + +An XSLT. xsltproc is the default XSLT used, but one +can also use 4suite. + + + +The XML DocBook DTD. + + + +MiKTeX > 2.5. + + + +Python >= 2.4. + + +
+ +
+Installation + +
+Installing xsltproc + +You can download the binaries and getting the installation instructions +from: . +
+ +
+Installing MiKTeX + +Install the minimal distribution, and add the following packages: +changebar, colortbl, fancybox, fancyhdr, fancyvrb, listings, overpics, +rotating, subfigure, titlesec, bibtopic, enumitem, eepic, lm, lastpage, +helvetic, times, symbol, courier, footmisc, ifxetex, pdfpages, wasysym. +
+ +
+Installing dblatex + +From the unpacked package directory just type: + +python setup.py install + +If the Python directory is C:\Python25 you can now +try dblatex by typing: + +python C:\Python25\Scripts\dblatex file.xml +
+
+
+
diff --git a/docs/introduction.xml b/docs/introduction.xml new file mode 100644 index 0000000..09a8aa5 --- /dev/null +++ b/docs/introduction.xml @@ -0,0 +1,236 @@ + + + +Introduction + +
+What about DB2LaTeX? + +Dblatex started as a DB2LaTeX clone, but since then +many things have changed and new features have been added or (hopefully) +improved. Now, the portion of shared code is small if any, and the dblatex +purpose is different from DB2LaTeX on these points: + + + +The project is end-user oriented, that is, it tries to hide as much as +possible the latex compiling stuff by providing a single clean script to +produce directly DVI, PostScript and PDF output. + + + +The actual output rendering is done not only by the XSL stylesheets +transformation, but also by a dedicated LaTeX package. The goal is to allow a +deep LaTeX customisation without changing the XSL stylesheets. + + + +Post-processing is done by Python, to make publication faster, convert +the images if needed, and do the whole compilation. + + +
+ +
+Features + +With dblatex you can: + + + +transform a DocBook XML/SGML book or article to pure LaTeX, + + + +compile the temporary LaTeX file with latex, +pdflatex, or xelatex to produce DVI, +PostScript and PDF files, + + + +publish a set of books, + + + +convert on the fly the figures included in the document, + + + +have cross references with hot links, + + + +olink to other documents built with dblatex, + + + +write complex tables, + + + +write several bibliographies, + + + +reuse BibTeX bibliographies, + + + +use callouts on program listings or on images, + + + +create an index with makeindex or xindy, + + + +write mathematical equations in LaTeX, + + + +write mathematical equations in MathML, + + + +have revision bars, + + + +customise the output rendering with an XSL configuration file, + + + +use your own LaTeX style package. + + +
+ +
+Version + +This manual is for dblatex version . +
+ +
+Change History + +See the Release NotesRelease Notes to have the dblatex +change history. +
+ +
+Publishing Principles + +Dblatex transforms a DocBook XML/SGML document to LaTeX. Once +transformed into LaTeX, standard LaTeX tools are used to produce DVI, +Postcript or PDF files. + + explains the process applied. It shows +the tools used and the steps. The emphasized tools are provided by the +package. + +
+Transforming Process + + + + + + +
+ +
+Backend Drivers + +The main script supports the following LaTeX backend drivers: + + + +dvips + + +The driver calls latex, and produces DVI, Postscript +and at the end PDF files. Latex natively accepts only EPS graphics. The +drawback is that converting to PDF can take a while. + + + + +pdftex + + +The driver calls pdflatex, to directly produce PDF +files. The conversion is fast, the file size is smaller. Pdflatex natively +accepts PDF, PNG, JPEG, and TIFF graphics. + + + + +xetex + + +The driver calls xelatex, to directly produce PDF +files through the XeTeX +engine. This engine natively supports UTF-8 which improves multilingual +support. + + + +
+ +
+XSL Stylesheets + +The XSL stylesheets located under xsl/ are used to +transform from XML to “raw” LaTeX. The main file is +latex_book_fast.xsl, that includes the other stylesheets +of the directory. +
+ +
+Python Post Processing + +Actually the XSL stylesheets does not produce valid LaTeX. The reason is +that some DocBook processing is too complex or too time-consuming for XSL +transforming. Besides, some extra actions need sometimes to be done such like +figure conversion. Here are the main actions done by Python Post +processing: + + + +Transform the entities to valid LaTeX characters (e.g. &nbsp; is +transformed to '~'). Python is suited and performant for this task. + + + +Convert the figures to be compatible with the backend driver. See for more detail. + + + +Force some hyphenation in tables or for typed words. + + + +Do the whole LaTeX compilation sequence thanks to the rubber +compilation engine. + + +
+ +
+LaTeX Style Package + +Once valid LaTeX is available, the LaTeX style package (docbook.sty) +under latex/style/ is used to customize the output +rendering. It includes the other files of the directory. You can also provide +your own LaTeX style (cf. ). +
+
+
diff --git a/docs/locale.xml b/docs/locale.xml new file mode 100644 index 0000000..5c15a4a --- /dev/null +++ b/docs/locale.xml @@ -0,0 +1,74 @@ + + +
+Locale Support + +
+Document Encoding + +By default the latex document produced by dblatex is +encoded in latin1, that fits well for roman-characters. This said, +a real international support involves some kind of Unicode (UTF8) +support. + +In dblatex, the Unicode support is done by two methods that can be selected +by some parameters: + + +latex.unicode.use=1 asks for including the +unicode package (initially provided by Passivetex) in order to +handle many of the unicode characters in a latin1 encoded document. + +latex.encoding=utf8 produces a document +encoded in UTF8, that is compiled in UTF8. It requires to have the +ucs package installed. + + + + +In some languages like Chinese, Japanese or Korean, the latex document +must be in UTF8. Therefore, the UTF8 encoding is forced for these languages +whatever the parameter values are. + +
+
Babel Languages + +Dblatex should be able to handle most of the languages supported by the +babel package. Just set the +lang=lang attribute in the root +document element and dblatex will load +the appropriate babel language. + +
+
CJK Languages + +Dblatex can handle the CJK languages thanks to the CJK package. The CJK +package must be installed to have this support available. + +As said in the latex file is encoded +in UTF8. Moreover, the Cyberbit fonts are then used. + +The install of the CJK package and Cyberbit fonts are well described at: +. + + +
Korean Support + +Dblatex does not use the HLatex package to drive Korean documents. It does +not use the hmakeindex nor the hbibtex tool. +Currently, Korean is handled like Chinese and Japanese with the CJK package. + +
+
+ +
Mixing the languages + +Dblatex cannot handle correctly a document containing several elements +with different lang values. In particular, if the main +document lang is not one of the CJK language, a portion of text written in CJK +will not be handled correctly and it can result in a compilation crash. +Even if the langs mixed do not end to a compilation failure, only the +main document lang will be taken into account. +
+
diff --git a/docs/manpage/dblatex.1.gz b/docs/manpage/dblatex.1.gz new file mode 100644 index 0000000..7722e47 Binary files /dev/null and b/docs/manpage/dblatex.1.gz differ diff --git a/docs/manpage/dblatex.1.xml b/docs/manpage/dblatex.1.xml new file mode 100644 index 0000000..41f78a4 --- /dev/null +++ b/docs/manpage/dblatex.1.xml @@ -0,0 +1,520 @@ + +Debian"> + GNU">]> + + + +
+ marsgui@users.sourceforge.net +
+ + Benoit + Guillon + Upstream maintainer + + + Andreas + Hoenen + andreas.hoenen@arcor.de + Debian maintainer + + + 2005 + 2006 + 2007 + 2008 + 2009 + 2010 + 2011 + 2012 + 2013 + 2014 + 2015 + Andreas Hoenen + + + + This manual page was written for the &debian; system (but it may be used + by others). + + + Permission is granted to copy, distribute and/or modify this document + under the terms of the &gnu; General Public License, Version 2 or any + later version published by the Free Software Foundation. + + + On &debian; systems, the complete text of the &gnu; General Public + License can be found in + /usr/share/common-licenses/GPL. + + + March 6, 2015 +
+ + + dblatex + 1 + Dblatex Manual Page + dblatex + + + + dblatex + + convert DocBook to + LaTeX, DVI, + PostScript, and PDF + + + + + + dblatex + + {file | -} + + + + + Description + + + This manual page briefly documents the dblatex + command. For more details read the PDF manual; + see below. + + + + dblatex is a program that transforms your + SGML/XML + DocBook documents to + DVI, PostScript or + PDF by translating them into pure + LaTeX as a first process. + MathML 2.0 markups are supported, too. + It started as a clone of + DB2LaTeX. + + + + + Options + + + A summary of options is included below. For a + complete description, see the PDF + manual. + + + + + + + Show a help message and exit. + + + + + + + + + Backend driver to use: pdftex (default), + dvips, or xetex. + + See also . + + + + + + + All the tex output is printed. + + + + + + + Configuration file. A configuration file can be used to group + all the options and customizations to apply. See + . + + + + + + + + + Debug mode: Keep the temporary directory in which dblatex actually + works. explains how + you can use it. + + + + + + + + + Dump the error stack when an error occurs (debug purpose). + + + + + + + + + Index style file to pass to makeindex instead of + the dblatex default index style. + + + + + + + + + + + Input figure format: fig, + eps. Used when not deduced from figure file + extension. See also + . + + + + + + + + + + + Input file format: sgml, + xml (default). + + + + + + + + + + Path added to TEXINPUTS + + + + + + + + + Additional lookup path of the figures. See . + + + + + + + + + Additional lookup path of the BibTeX styles. See . + + + + + + + + + Additional lookup path of the BibTeX databases. See . + + + + + + + + + XSLT engine to use. The available engines are: + xsltproc (default), 4xslt, saxon. + + + + + + + + Output filename. When not specified, the input filename is used, with + the suffix of the output format. The option is ignored if several + books are chunked from a set. In this case the + option is applied instead. + + + + + + + + + Output directory of the books built from a set. When not specified, + the current working directory is used instead. The option is ignored + if a single document is outputed, and the is + taken into account. + + + + + + + + + + + An XSL user stylesheet to use. Several + user stylesheets can be specified, but the option order is meaningful: a user stylesheet takes precedence over previously defined user stylesheets. + See . + + + + + + + + + + + + Set an XSL parameter from command line. + See . + + + + + + + + + Less verbose, showing only TeX output messages and error messages. + + + + + + + + + + + Script called at the very end of the tex compilation. Its role is to + modify the tex file or one of the compilation files before the last + round. The script can be a python plugin. + In this case add the prefix term 'plugin:'. + See . + + + + + + + + + + + Latex style to apply. It can be a package name, or directly a latex + package path. A package name must be without a directory + path and without the '.sty' extension. On the contrary, + a full latex package path can contain a directory path, but must ends with + the '.sty' extension. + See . + + + + + + + + + Output format. Available formats: tex, + dvi, ps, + pdf (default). + + + + + + + DVI output. Equivalent to . + + + + + + PDF output. Equivalent to . + + + + + + + PostScript output. Equivalent to . + + + + + + + + + Output style, predefined are: db2latex, + simple, native + (default). See . + + + + + + + + Display the dblatex version. + + + + + + Verbose mode, showing the running commands + + + + + + + + + + Arguments directly passed to the XSLT + engine + + + + + + + + + Disable the external text file support. This support is needed for + callouts on external files referenced by textdata + or imagedata, but it can be disabled if the document + does not contain such callouts. Disabling this support can improve the + processing performance for big documents. + + + + + + + + Files and Directories + + + $HOME/.dblatex/ + + + User configuration directory. + + + + + /etc/dblatex/ + + + System-wide configuration directory. + + + + + The predefined output styles are located in the installed package + directory. + + + + Environment Variables + + + DBLATEX_CONFIG_FILES + + + Extra configuration directories that may contain some dblatex + configuration files. + + + + + + + + Examples + + + To produce myfile.pdf from + myfile.xml: + dblatex myfile.xml + + + To set some XSL parameters from the command line: + dblatex -P latex.babel.language=de myfile.xml + + + To use your XSL stylesheet: + dblatex -p myconfig.xsl myfile.xml + + + To use the db2latex output style: + dblatex -T db2latex myfile.xml + + + To apply your own latex style: + dblatex -s mystyle myfile.xml +dblatex -s /path/to/mystyle.sty myfile.xml + + + To pass extra arguments to the XSLT engine: + dblatex -x "--path /path/to/load/entity" myfile.xml + + + To use dblatex and profiling: + +xsltproc --param profile.attribute "'output'" \ + --param profile.value "'pdf'" \ + /path/to/profiling/profile.xsl \ + myfile.xml | dblatex -o myfile.pdf - + + + + To build a set of books: + dblatex -O /path/to/chunk/dir -Pset.book.num=all myfile.xml + + + + + See also + + + The program is documented fully by "DocBook to LaTeX Publishing + - User Manual" available in the package's documentation + directory. + + + +
diff --git a/docs/manual.conf b/docs/manual.conf new file mode 100644 index 0000000..eb0b240 --- /dev/null +++ b/docs/manual.conf @@ -0,0 +1,16 @@ + + + + + ../latex// + + + + + + + diff --git a/docs/manual.css b/docs/manual.css new file mode 100644 index 0000000..ac46671 --- /dev/null +++ b/docs/manual.css @@ -0,0 +1,122 @@ +/* + * Stylesheet copied from the DocBook XSL Stylesheets reference.css + */ + +div.legalnotice { + font-size: 80%; +} + +div.note, div.tip, div.warning { + margin-left: 5%; + margin-right: 10%; + padding: 5px; +} + +div.note, div.tip { + border-left: solid #d5dee3 20px; + border-right: solid #d5dee3 20px; +} + +div.note, div.tip { + border-left: solid palegreen 20px; + border-right: solid palegreen 20px; +} + +div.warning { + border-left: solid yellow 20px; + border-right: solid yellow 20px; +} + +div.note p, div.tip p, div.warning p { + margin-top: 0px; + margin-bottom: 4px; +} + +div.note h3, div.tip h3, div.warning h3 { + margin-top: 0; +} + +div.informalexample { + background-color: #d5dee3; + border-top-width: 2px; + border-top-style: double; + border-top-color: #d3d3d3; + border-bottom-width: 2px; + border-bottom-style: double; + border-bottom-color: #d3d3d3; + padding: 4px; + margin: 0em; + margin-left: 2em; +} + +pre.programlisting, pre.synopsis { + whitespace: pre; + font-family: monospace; + background-color: #d5dee3; + border-top-width: 1px; + border-top-style: single; + border-top-color: #d3d3d3; + border-bottom-width: 1px; + border-bottom-style: single; + border-bottom-color: #d3d3d3; + padding: 4px; + margin: 0em; + margin-top: 6px; + margin-bottom: 6px; +} + +div.informalexample pre { + whitespace: pre; + font-family: monospace; + border-top-width: 0px; + border-bottom-width: 0px; + padding: 0px; +} + +/* Parameter and PI titles */ +div.refnamediv h2 { + font-size: 2em; +} + +/* Table rendering */ +div.revhistory table, div.informaltable table { + border-collapse: collapse; + border-top: 0.5pt solid black; + border-bottom: 0.5pt solid black; + border-left: 0.5pt solid black; + border-right: 0.5pt solid black; +} + +div.revhistory td, div.revhistory th, +div.informaltable td, div.informaltable th { + padding: 2; +} + +/* TOC rendering */ +div.toc span.part { + font-family: Tahoma, Ariel, Helvetica, sans-serif; + font-weight: bold; + font-size: 20; + margin-top: 1in; +} + +div.toc span.glossary { + font-weight: bold; +} + +div.toc span.index { + font-weight: bold; +} + +div.toc span.preface { + font-weight: bold; +} + +div.toc span.appendix { + font-weight: bold; +} + +div.toc span.chapter { + font-weight: bold; +} + diff --git a/docs/manual.db b/docs/manual.db new file mode 100644 index 0000000..8f78627 --- /dev/null +++ b/docs/manual.db @@ -0,0 +1,25 @@ +
DocBook to LaTeX PublishingDocBook to LaTeX Publishing
DocumentationDocumentation
ReferenceReferenceDocBook: The Definitive GuideTDG
IntroductionChapter 1, Introduction
What about DB2LaTeX?the section called “What about DB2LaTeX?”
Featuresthe section called “Features”
Versionthe section called “Version”
Change Historythe section called “Change History”
Publishing Principlesthe section called “Publishing Principles”Transforming ProcessFigure 1.1, “Transforming Process”
Backend Driversthe section called “Backend Drivers”
XSL Stylesheetsthe section called “XSL Stylesheets”
Python Post Processingthe section called “Python Post Processing”
LaTeX Style Packagethe section called “LaTeX Style Package”
Installing the PackageChapter 2, Installing the Package
Contentthe section called “Content”
Installing on Unix like Systemsthe section called “Installing on Unix like Systems”
Dblatex Packagesthe section called “Dblatex Packages”
Dependenciesthe section called “Dependencies”
Installationthe section called “Installation”
Installing the dependenciesthe section called “Installing the dependencies”
Installing from the source tarballthe section called “Installing from the source tarball”
Installing from the Python Eggthe section called “Installing from the Python Egg”
Installing on Windowsthe section called “Installing on Windows”
Dependenciesthe section called “Dependencies”
Installationthe section called “Installation”
Installing xsltprocthe section called “Installing xsltproc”
Installing MiKTeXthe section called “Installing MiKTeX”
Installing dblatexthe section called “Installing dblatex”
Using dblatexChapter 3, Using dblatex
Referencethe section called “Reference”
dblatexdblatex(1)
Descriptionthe section called “Description”
Optionsthe section called “Options”
Files and Directoriesthe section called “Files and Directories”
Environment Variablesthe section called “Environment Variables”
Examplesthe section called “Examples”
See alsothe section called “See also”
Output Formatting Stylethe section called “Output Formatting Style”Choosing the DB2LaTeX styleExample 3.1, “Choosing the DB2LaTeX style”
How it worksthe section called “How it works”
Adding a New Formatting Stylethe section called “Adding a New Formatting Style”
Publishing Outputsthe section called “Publishing Outputs”
Publishing a single documentthe section called “Publishing a single document”
Publishing a Set of Booksthe section called “Publishing a Set of Books”
Global Page Setupthe section called “Global Page Setup”Parameter Lengths used for Page SetupFigure 3.1, “Parameter Lengths used for Page Setup”
Book Coversthe section called “Book Covers”DocBook 5 Front and Back CoversExample 3.2, “DocBook 5 Front and Back Covers”DocBook 4 Front CoverExample 3.3, “DocBook 4 Front Cover”
Chapter and Section numberingthe section called “Chapter and Section numbering”
Depth of Section numbering and Table Of Contentthe section called “Depth of Section numbering and Table Of Content”
Using the latex style for section numberingthe section called “Using the latex style for section numbering”
Using the label attributethe section called “Using the label attribute”
+ Figure Inclusion + the section called “ + Figure Inclusion + ”
+ Presentation + the section called “ + Presentation + ”Figure inclusionExample 3.4, “Figure inclusion”
+ Converting on the fly + the section called “ + Converting on the fly + ”Figure conversionExample 3.5, “Figure conversion”
+ Paths Lookup + the section called “ + Paths Lookup + ”Figures lookupExample 3.6, “Figures lookup”
Creating Tablesthe section called “Creating Tables”
Limitationsthe section called “Limitations”
Table Widththe section called “Table Width”???TITLE??????TITLE???
Tables without colwidththe section called “Tables without colwidth”
Tables with mixed colspecthe section called “Tables with mixed colspec”
Tables with proportional and fixed colwidththe section called “Tables with proportional and fixed colwidth”
Tables with fixed colwidthsthe section called “Tables with fixed colwidths”
Automatic Column Widththe section called “Automatic Column Width”
Global Settingthe section called “Global Setting”???TITLE??????TITLE???
Local Settingthe section called “Local Setting”???TITLE???the section called “Local Setting”???TITLE???the section called “Local Setting”???TITLE??????
Informal Table LaTeX Stylesthe section called “Informal Table LaTeX Styles”
Tables with morerowsthe section called “Tables with morerows”
Landscape tablesthe section called “Landscape tables”
Smaller tablesthe section called “Smaller tables”
Coloured tablesthe section called “Coloured tables”???TITLE???the section called “Coloured tables”???TITLE??????
HTML Tablesthe section called “HTML Tables”???TITLE???1???TITLE???2???TITLE???3???TITLE???4???TITLE???5???TITLE???6???TITLE???7An HTML TableTable 3.1, “An HTML Table”
Correcting Poor Formattingthe section called “Correcting Poor Formatting”
Floatsthe section called “Floats”
Tablesthe section called “Tables”
Examplesthe section called “Examples”
Hyphenation and over-long linesthe section called “Hyphenation and over-long lines”
Characters and Manual Spacingthe section called “Characters and Manual Spacing”
Writing Mathematicsthe section called “Writing Mathematics”
Writing LaTeX Mathematical Equationsthe section called “Writing LaTeX Mathematical Equations”
Presentationthe section called “Presentation”Equation taken from TDGExample 3.7, “Equation taken from TDG”
Implementation choicethe section called “Implementation choice”
Mathematical Delimitersthe section called “Mathematical Delimiters”???TITLE???the section called “Mathematical Delimiters”Equation with user delimitersExample 3.8, “Equation with user delimiters”Equation block with align tabsEquation 3.1, “Equation block with align tabs”
Compatibilitythe section called “Compatibility”
Examplesthe section called “Examples”Inlined EquationExample 3.9, “Inlined Equation”???TITLE??????Equation in a blockExample 3.10, “Equation in a block”Equation in a floatExample 3.11, “Equation in a float”Simple FormulaEquation 3.2, “Simple Formula”Equation without a titleExample 3.12, “Equation without a title”Equation 3.3
+ Writing MathML equations + the section called “ + Writing MathML equations + ”
Musical Notationthe section called “Musical Notation”
Extending the Verbatim Renderingthe section called “Extending the Verbatim Rendering”
Dblatex Specific Optionsthe section called “Dblatex Specific Options”
Scaling Featurethe section called “Scaling Feature”
Formatting embedded elementsthe section called “Formatting embedded elements”???TITLE???1???TITLE???2???TITLE???3???TITLE???4???TITLE???1
Creating a new Verbatim Environmentthe section called “Creating a new Verbatim Environment”
Creating an Indexthe section called “Creating an Index”Index EntryExample 3.13, “Index Entry”
Internationalized Indexesthe section called “Internationalized Indexes”
Indexing Toolsthe section called “Indexing Tools”
Index Sortingthe section called “Index Sorting”XSL Index Language SetupExample 3.14, “XSL Index Language Setup”
Writing a Bibliographythe section called “Writing a Bibliography”
Using Bibliography Entriesthe section called “Using Bibliography Entries”A BibliographyExample 3.15, “A Bibliography”
Using BibTeX Databasesthe section called “Using BibTeX Databases”???TITLE??????TITLE??????TITLE??????TITLE???Bibliography using BibTeX databasesExample 3.16, “Bibliography using BibTeX databases”
Natbib Citationsthe section called “Natbib Citations”
Document Revisionsthe section called “Document Revisions”
Locale Supportthe section called “Locale Support”
Document Encodingthe section called “Document Encoding”
Babel Languagesthe section called “Babel Languages”
CJK Languagesthe section called “CJK Languages”
Korean Supportthe section called “Korean Support”
Mixing the languagesthe section called “Mixing the languages”
Using XRefsyle and Olinksthe section called “Using XRefsyle and Olinks”
Specific xrefstyle for ulinkthe section called “Specific xrefstyle for ulink
Footnotesthe section called “Footnotes”
Footnote Numbering Scopethe section called “Footnote Numbering Scope”
End Notesthe section called “End Notes”
Writing a document with endnotesthe section called “Writing a document with endnotes”Writing a document with endnotesExample 3.17, “Writing a document with endnotes”
Setup Propertiesthe section called “Setup Properties”
Endnotes Setup from scratchthe section called “Endnotes Setup from scratch”
Grouping Endnotesthe section called “Grouping Endnotes”
Adding new Groupsthe section called “Adding new Groups”
Formatting the Headings textthe section called “Formatting the Headings text”
LaTeX Command to make the Headingsthe section called “LaTeX Command to make the Headings”
Endnotes Counter Scopethe section called “Endnotes Counter Scope”
CustomizationChapter 4, Customization
Using XSL Parametersthe section called “Using XSL Parameters”
Setting Command line Parametersthe section called “Setting Command line Parameters”
Using Processing Instructionsthe section called “Using Processing Instructions”Table width specified with a Processing InstructionExample 4.1, “Table width specified with a Processing Instruction”???TITLE??????
XSL User Stylesheetthe section called “XSL User Stylesheet”
Changing the XSL parameter valuesthe section called “Changing the XSL parameter values”
Overriding some templatesthe section called “Overriding some templates”Overriding templatesExample 4.2, “Overriding templates”
Customized LaTeX stylethe section called “Customized LaTeX style”
Reusing an existing LaTeX stylethe section called “Reusing an existing LaTeX style”Reused LaTeX styleExample 4.3, “Reused LaTeX style”
Package optionsthe section called “Package options”
Needed packagesthe section called “Needed packages”
DocBook interfacethe section called “DocBook interface”
Debugging your Stylethe section called “Debugging your Style”
Latex post process scriptthe section called “Latex post process script”
Post latex compilationsthe section called “Post latex compilations”
Post processing with a Python Pluginthe section called “Post processing with a Python Plugin”Texpost Python Plugin ExampleExample 4.4, “Texpost Python Plugin Example”
Dblatex Configuration Filethe section called “Dblatex Configuration File”
XML Configuration File Formatthe section called “XML Configuration File Format”User Manual Configuration FileExample 4.5, “User Manual Configuration File”
<config>config
<latex>latex
<xslt>xslt
<engine>engine
<imagedata>imagedata
<converter>converter
<command>command
<options>options
Deprecated Text Configuration File Formatthe section called “Deprecated Text Configuration File Format”
Style Pathsthe section called “Style Paths”
Customization Precedencethe section called “Customization Precedence”Customization PrecedenceExample 4.6, “Customization Precedence”
FAQChapter 5, FAQ
ThanksChapter 6, Thanks
Sponsorsthe section called “Sponsors”
Contributorsthe section called “Contributors”
Pionersthe section called “Pioners”
Dblatex XSL Parameter ReferenceAppendix A, Dblatex XSL Parameter Reference
Admonitionsthe section called “Admonitions”
figure.cautionfigure.caution
Descriptionthe section called “Description”
figure.importantfigure.important
Descriptionthe section called “Description”
figure.notefigure.note
Descriptionthe section called “Description”
figure.tipfigure.tip
Descriptionthe section called “Description”
figure.warningfigure.warning
Descriptionthe section called “Description”
Calloutsthe section called “Callouts”
callout.linkends.hotcallout.linkends.hot
Descriptionthe section called “Description”
calloutlist.stylecalloutlist.style
Descriptionthe section called “Description”
callout.markup.circledcallout.markup.circled
Descriptionthe section called “Description”
co.linkends.showco.linkends.show
Descriptionthe section called “Description”
imageobjectco.hideimageobjectco.hide
Descriptionthe section called “Description”
ToC/LoT/Index Generationthe section called “ToC/LoT/Index Generation”
doc.lot.showdoc.lot.show
Descriptionthe section called “Description”
doc.toc.showdoc.toc.show
Descriptionthe section called “Description”
titleabbrev.in.toctitleabbrev.in.toc
Descriptionthe section called “Description”
toc.section.depthtoc.section.depth
Descriptionthe section called “Description”
bibliography.tocdepthbibliography.tocdepth
Descriptionthe section called “Description”
See Alsothe section called “See Also”
colophon.tocdepthcolophon.tocdepth
Descriptionthe section called “Description”
dedication.tocdepthdedication.tocdepth
Descriptionthe section called “Description”
preface.tocdepthpreface.tocdepth
Descriptionthe section called “Description”
glossary.tocdepthglossary.tocdepth
Descriptionthe section called “Description”
See Alsothe section called “See Also”
index.tocdepthindex.tocdepth
Descriptionthe section called “Description”
See Alsothe section called “See Also”
latex.index.toollatex.index.tool
Descriptionthe section called “Description”
See Alsothe section called “See Also”
latex.index.languagelatex.index.language
Descriptionthe section called “Description”
See Alsothe section called “See Also”
refentry.tocdepthrefentry.tocdepth
Descriptionthe section called “Description”
Processor Extensionsthe section called “Processor Extensions”
alt.usealt.use
Descriptionthe section called “Description”
tex.math.in.alttex.math.in.alt
Descriptionthe section called “Description”
Automatic labellingthe section called “Automatic labelling”
bibliography.numberedbibliography.numbered
Descriptionthe section called “Description”
See Alsothe section called “See Also”
glossary.numberedglossary.numbered
Descriptionthe section called “Description”
See Alsothe section called “See Also”
index.numberedindex.numbered
Descriptionthe section called “Description”
See Alsothe section called “See Also”
refentry.numberedrefentry.numbered
Descriptionthe section called “Description”
See Alsothe section called “See Also”
Meta/*Infothe section called “Meta/*Info”
doc.pdfcreator.showdoc.pdfcreator.show
Descriptionthe section called “Description”
make.single.year.rangesmake.single.year.ranges
Descriptionthe section called “Description”
make.year.rangesmake.year.ranges
Descriptionthe section called “Description”
Reference Pagesthe section called “Reference Pages”
funcsynopsis.decorationfuncsynopsis.decoration
Descriptionthe section called “Description”
funcsynopsis.stylefuncsynopsis.style
Descriptionthe section called “Description”
function.parensfunction.parens
Descriptionthe section called “Description”
refclass.suppressrefclass.suppress
Descriptionthe section called “Description”
refentry.generate.namerefentry.generate.name
Descriptionthe section called “Description”
refentry.xref.manvolnumrefentry.xref.manvolnum
Descriptionthe section called “Description”
Tablesthe section called “Tables”
newtbl.autowidthnewtbl.autowidth
Descriptionthe section called “Description”???TITLE??????TITLE??????TITLE???the section called “Description”
See Alsothe section called “See Also”
newtbl.bgcolor.theadnewtbl.bgcolor.thead
Descriptionthe section called “Description”
newtbl.default.colsepnewtbl.default.colsep
Descriptionthe section called “Description”
newtbl.default.rowsepnewtbl.default.rowsep
Descriptionthe section called “Description”
newtbl.format.tbodynewtbl.format.tbody
Descriptionthe section called “Description”
newtbl.format.tfootnewtbl.format.tfoot
Descriptionthe section called “Description”
newtbl.format.theadnewtbl.format.thead
Descriptionthe section called “Description”
newtbl.use.hhlinenewtbl.use.hhline
Descriptionthe section called “Description”
table.continue.captiontable.continue.caption
Descriptionthe section called “Description”
table.default.positiontable.default.position
Descriptionthe section called “Description”???TITLE???the section called “Description”
table.default.tabstyletable.default.tabstyle
Descriptionthe section called “Description”
table.in.floattable.in.float
Descriptionthe section called “Description”???TITLE???the section called “Description”???TITLE???the section called “Description”???TITLE???the section called “Description”
table.title.toptable.title.top
Descriptionthe section called “Description”
default.table.rulesdefault.table.rules
Descriptionthe section called “Description”
default.table.widthdefault.table.width
Descriptionthe section called “Description”???TITLE??????TITLE???
See Alsothe section called “See Also”
Linkingthe section called “Linking”
latex.hyperparamlatex.hyperparam
Descriptionthe section called “Description”Configuring with latex.hyperparamExample A.1, “Configuring with latex.hyperparam”
Olink Parameters + + Olink Parameters + +
Descriptionthe section called “Description”
Cross Referencesthe section called “Cross References”
insert.xref.page.numberinsert.xref.page.number
Descriptionthe section called “Description”
insert.xref.page.number.parainsert.xref.page.number.para
Descriptionthe section called “Description”
xref.hypermarkupxref.hypermarkup
Descriptionthe section called “Description”
Liststhe section called “Lists”
term.breaklineterm.breakline
Descriptionthe section called “Description”
variablelist.term.separatorvariablelist.term.separator
Descriptionthe section called “Description”
QAndASetthe section called “QAndASet”
qanda.defaultlabelqanda.defaultlabel
Descriptionthe section called “Description”
Bibliographythe section called “Bibliography”
biblioentry.item.separatorbiblioentry.item.separator
Descriptionthe section called “Description”
biblioentry.numberedbiblioentry.numbered
Descriptionthe section called “Description”
citation.default.stylecitation.default.style
Descriptionthe section called “Description”
See Alsothe section called “See Also”
citation.natbib.optionscitation.natbib.options
Descriptionthe section called “Description”
citation.natbib.usecitation.natbib.use
Descriptionthe section called “Description”
latex.bibfileslatex.bibfiles
Descriptionthe section called “Description”
latex.biblio.outputlatex.biblio.output
Descriptionthe section called “Description”???TITLE??????TITLE???
See Alsothe section called “See Also”
latex.biblio.stylelatex.biblio.style
Descriptionthe section called “Description”
See Alsothe section called “See Also”
latex.bibwidelabellatex.bibwidelabel
Descriptionthe section called “Description”
Glossarythe section called “Glossary”
glossterm.auto.linkglossterm.auto.link
Descriptionthe section called “Description”
Miscellaneousthe section called “Miscellaneous”
annotation.supportannotation.support
Descriptionthe section called “Description”
beginpage.as.pagebreakbeginpage.as.pagebreak
Descriptionthe section called “Description”
doc.section.depthdoc.section.depth
Descriptionthe section called “Description”
endnotes.heading.commandendnotes.heading.command
Descriptionthe section called “Description”
See Alsothe section called “See Also”
endnotes.heading.groupsendnotes.heading.groups
Descriptionthe section called “Description”
See Alsothe section called “See Also”
endnotes.heading.styleendnotes.heading.style
Descriptionthe section called “Description”
See Alsothe section called “See Also”
endnotes.propertiesendnotes.properties
Descriptionthe section called “Description”
See Alsothe section called “See Also”
equation.default.positionequation.default.position
Descriptionthe section called “Description”
example.default.positionexample.default.position
Descriptionthe section called “Description”
example.float.typeexample.float.type
Descriptionthe section called “Description”
See Alsothe section called “See Also”
figure.anchor.topfigure.anchor.top
Descriptionthe section called “Description”
See Alsothe section called “See Also”
figure.default.positionfigure.default.position
Descriptionthe section called “Description”
figure.title.topfigure.title.top
Descriptionthe section called “Description”
filename.as.urlfilename.as.url
Descriptionthe section called “Description”
footnote.as.endnotefootnote.as.endnote
Descriptionthe section called “Description”
See Alsothe section called “See Also”
hyphenation.formathyphenation.format
Descriptionthe section called “Description”
See Alsothe section called “See Also”
linenumbering.scopelinenumbering.scope
Descriptionthe section called “Description”
See Alsothe section called “See Also”
linenumbering.defaultlinenumbering.default
Descriptionthe section called “Description”
See Alsothe section called “See Also”
linenumbering.everyNthlinenumbering.everyNth
Descriptionthe section called “Description”
literal.layout.optionsliteral.layout.options
Descriptionthe section called “Description”
literal.lines.showallliteral.lines.showall
Descriptionthe section called “Description”
literal.width.ignoreliteral.width.ignore
Descriptionthe section called “Description”
literal.classliteral.class
Descriptionthe section called “Description”
literal.roleliteral.role
Descriptionthe section called “Description”
literal.environmentliteral.environment
Descriptionthe section called “Description”
See Alsothe section called “See Also”
literal.extensionsliteral.extensions
Descriptionthe section called “Description”
See Alsothe section called “See Also”
mediaobject.caption.stylemediaobject.caption.style
Descriptionthe section called “Description”
monoseq.hyphenationmonoseq.hyphenation
Descriptionthe section called “Description”
See Alsothe section called “See Also”
monoseq.smallmonoseq.small
Descriptionthe section called “Description”
pdf.annot.optionspdf.annot.options
Descriptionthe section called “Description”
segmentedlist.as.tablesegmentedlist.as.table
Descriptionthe section called “Description”
See Alsothe section called “See Also”
seg.item.separatorseg.item.separator
Descriptionthe section called “Description”
show.commentsshow.comments
Descriptionthe section called “Description”
texlive.versiontexlive.version
Descriptionthe section called “Description”
ulink.footnotesulink.footnotes
Descriptionthe section called “Description”
ulink.showulink.show
Descriptionthe section called “Description”
xref.with.number.and.titlexref.with.number.and.title
Descriptionthe section called “Description”
Graphicsthe section called “Graphics”
imagedata.boxedimagedata.boxed
Descriptionthe section called “Description”
imagedata.default.scaleimagedata.default.scale
Descriptionthe section called “Description”
imagedata.file.checkimagedata.file.check
Descriptionthe section called “Description”
keep.relative.image.uriskeep.relative.image.uris
Descriptionthe section called “Description”
Chunckingthe section called “Chuncking”
set.book.numset.book.num
Descriptionthe section called “Description”
use.id.as.filenameuse.id.as.filename
Descriptionthe section called “Description”
Pagination and General Stylesthe section called “Pagination and General Styles”
page.heightpage.height
Descriptionthe section called “Description”
page.margin.bottompage.margin.bottom
Descriptionthe section called “Description”
page.margin.innerpage.margin.inner
Descriptionthe section called “Description”
page.margin.outerpage.margin.outer
Descriptionthe section called “Description”
page.margin.toppage.margin.top
Descriptionthe section called “Description”
page.widthpage.width
Descriptionthe section called “Description”
paper.typepaper.type
Descriptionthe section called “Description”
geometry.optionsgeometry.options
Descriptionthe section called “Description”
See Alsothe section called “See Also”
doc.alignmentdoc.alignment
Descriptionthe section called “Description”
doc.collab.showdoc.collab.show
Descriptionthe section called “Description”
doc.layoutdoc.layout
Descriptionthe section called “Description”
doc.publisher.showdoc.publisher.show
Descriptionthe section called “Description”
draft.modedraft.mode
Descriptionthe section called “Description”
draft.watermarkdraft.watermark
Descriptionthe section called “Description”
latex.engine.optionslatex.engine.options
Descriptionthe section called “Description”
latex.class.articlelatex.class.article
Descriptionthe section called “Description”
latex.class.booklatex.class.book
Descriptionthe section called “Description”
latex.class.optionslatex.class.options
Descriptionthe section called “Description”
latex.encodinglatex.encoding
Descriptionthe section called “Description”
latex.unicode.uselatex.unicode.use
Descriptionthe section called “Description”
latex.output.revhistorylatex.output.revhistory
Descriptionthe section called “Description”
Font Familiesthe section called “Font Families”
body.font.familybody.font.family
Descriptionthe section called “Description”
See Alsothe section called “See Also”
cjk.fontcjk.font
Descriptionthe section called “Description”
monospace.font.familymonospace.font.family
Descriptionthe section called “Description”
See Alsothe section called “See Also”
sans.font.familysans.font.family
Descriptionthe section called “Description”
See Alsothe section called “See Also”
xetex.fontxetex.font
Descriptionthe section called “Description”
See Alsothe section called “See Also”
Localizationthe section called “Localization”
korean.packagekorean.package
Descriptionthe section called “Description”
latex.babel.languagelatex.babel.language
Descriptionthe section called “Description”
latex.babel.uselatex.babel.use
Descriptionthe section called “Description”
Prepressthe section called “Prepress”
crop.markscrop.marks
Descriptionthe section called “Description”
crop.paper.typecrop.paper.type
Descriptionthe section called “Description”
crop.page.widthcrop.page.width
Descriptionthe section called “Description”
crop.page.heightcrop.page.height
Descriptionthe section called “Description”
crop.modecrop.mode
Descriptionthe section called “Description”
crop.optionscrop.options
Descriptionthe section called “Description”
Dblatex Processing Instruction ReferenceAppendix B, Dblatex Processing Instruction Reference
Bibliographythe section called “Bibliography”
bibtexbibtex
Descriptionthe section called “Description”???TITLE??????TITLE??????TITLE??????TITLE???
Contextthe section called “Context”
See Alsothe section called “See Also”
dblatex citestyledblatex citestyle
Descriptionthe section called “Description”
Contextthe section called “Context”
See Alsothe section called “See Also”
LaTeXthe section called “LaTeX”
latexlatex
Descriptionthe section called “Description”
Safe LaTeX Insertionsthe section called “Safe LaTeX Insertions”???TITLE???\-???TITLE???{}???TITLE???{\kern0pt}???TITLE???\@
Contextthe section called “Context”
Miscellaneousthe section called “Miscellaneous”
dblatex angledblatex angle
Descriptionthe section called “Description”
Contextthe section called “Context”
texmath delimiterstexmath delimiters
Descriptionthe section called “Description”???TITLE???the section called “Description”
Contextthe section called “Context”
See Alsothe section called “See Also”
Tablesthe section called “Tables”
dblatex bgcolordblatex bgcolor
Descriptionthe section called “Description”???TITLE???the section called “Description”
Contextthe section called “Context”
See Alsothe section called “See Also”
dblatex table-widthdblatex table-width
Descriptionthe section called “Description”???TITLE??????TITLE???
Automatic Column Widththe section called “Automatic Column Width”???TITLE???the section called “Automatic Column Width”???TITLE??????TITLE??????TITLE???the section called “Automatic Column Width”
Contextthe section called “Context”
See Alsothe section called “See Also”
Liststhe section called “Lists”
dblatex autowidthdblatex autowidth
Descriptionthe section called “Description”???TITLE??????TITLE??????TITLE???the section called “Description”???TITLE???the section called “Description”
Contextthe section called “Context”
See Alsothe section called “See Also”
dblatex colwidthdblatex colwidth
Descriptionthe section called “Description”???TITLE???the section called “Description”
Contextthe section called “Context”
See Alsothe section called “See Also”
dblatex list-presentationdblatex list-presentation
Descriptionthe section called “Description”
Contextthe section called “Context”
See Alsothe section called “See Also”
diff --git a/docs/manual.pdf b/docs/manual.pdf new file mode 100644 index 0000000..6a8fab5 Binary files /dev/null and b/docs/manual.pdf differ diff --git a/docs/manual.xml b/docs/manual.xml new file mode 100644 index 0000000..520c511 --- /dev/null +++ b/docs/manual.xml @@ -0,0 +1,241 @@ + + + + +DocBook to LaTeX Publishing + + +Benoît + +Guillon + + +3 April 2017 + +User Manual + +Ref A1 + +
Bordeaux
+ +11 + +v + + +Andreas + +Hoenen + +Reviewed by +REVIEWED BY + + + + +01 + +2009/05/05 + +B. Guillon + + +The manual does not include the change history anymore. The change +history is now in the release note. The XSL Parameters are now described as +reference entries. + + + + +02 + +2009/06/21 + +B. Guillon + + +Add a section about the new set support, and a section +about how to extend the verbatim rendering. + + + + +03 + +2011/07/03 + +B. Guillon + + +Add a section about the new HTML table support, and a section +about the PyPI distribution. + + + + +04 + +2012/04/10 + +B. Guillon + + +Update documentation for release 0.3.3. + + + + +05 + +2012/06/03 + +B. Guillon + + +Update documentation for release 0.3.4. + + + + +06 + +2014/05/26 + +B. Guillon + + +Update documentation for release 0.3.5. + + + + +07 + +2015/05/15 + +B. Guillon + + +Update documentation for release 0.3.6: add the ability to use a texpost +python plugin, and new index capabilities. + + + + +08 + +2015/08/06 + +B. Guillon + + +Update documentation for release 0.3.7: add section . + + + + +09 + +2016/07/20 + +B. Guillon / Karl O. Pinc + + +Update documentation for release 0.3.8: add appendix , and sections , +. + + + + +10 + +2016/07/24 + +B. Guillon / Karl O. Pinc + + +Update documentation for release 0.3.9: add new features in and complete some sections. + + + + +11 + +2017/04/03 + +B. Guillon + + +Update documentation for release 0.3.10: add the features of +, and put some +cosmetic changes in . + + + + +
+ + + + + + + + +Using dblatex + +
+Reference + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + +
diff --git a/docs/manual.xsl b/docs/manual.xsl new file mode 100644 index 0000000..77f094b --- /dev/null +++ b/docs/manual.xsl @@ -0,0 +1,87 @@ + + + + + + + + + +scale.by.width + + +colorlinks,linkcolor=blue,pdfstartview=FitH + + +1 + + +figure,table,example + + +1 + + +0 + + + + + + + + + + + + + + + + \index{Parameters! + + } + + + + + + + + + + + + + + + + + + + + + + + + \index{Processing Instructions! + + } + + + + + + + + + diff --git a/docs/math/alttex.xml b/docs/math/alttex.xml new file mode 100644 index 0000000..8341e61 --- /dev/null +++ b/docs/math/alttex.xml @@ -0,0 +1,166 @@ + + +
+Writing LaTeX Mathematical Equations + +
+Presentation + +DocBook doesn't define elements for writing mathematical equations. Only +few elements exist that tell how equation should be displayed (inlined, +block): + + + +inlineequation tells that the equation is +inlined, + + + +informalequation tells that the equation is displayed +as a block, without a title. + + + +equation tells that the equation is displayed as a +block, with or without a title. + + + +These tags include a graphic (graphic or +mediaobject) or an alternative text equation, as shown by +the example. + + +Equation taken from TDG + + +<equation><title>Last Theorem of Fermat</title> + <alt>x^n + y^n &ne; z^n &forall; n &ne; 2</alt> + <graphic fileref="figures/fermat"></graphic> +</equation> + + +
+ +
+Implementation choice + +The principle is to use only the alt element. If +initially alt contains actually the text to print, it is +chosen to use this element to embed LaTeX mathematical equations. This choice +has the following advantages: + + + +The translation done by dblatex is really easy, since the equation is +already written in LaTeX. + + + +LaTeX is one of the best word processor to render mathematical +formulas. + + + +One doesn't need to write the equations in MathML. + + + +This method isn't specific to this tool (see the following +section). + + + +
+ +
+Mathematical Delimiters + +The dblatex implementation is as light as possible. This is why it is +up to the writer to properly use the mathematical delimiters ($, \(, \), \[, +\]). By this way the writer fully controls how he writes equations. + +By default dblatex checks that +consistent mathematical +delimiters or environment are used in alt and it inserts the +default math mode delimiters if dblatex thinks they are missing, but +you can ask dblatex to write directly the alt content +without any action. To do this, use the texmath Processing +Instruction with delimiters set to 'user'. + +For example, has user specific +delimiters: + + +Equation with user delimiters + +In the XML source this equation uses a specific align* environment and the texmath PI to let the equation as is: + + + + +
+ +
+Compatibility + +This implementation is not contradictory nor specific. In particular, +the DBTeXMath +proposal to extend the DSSSL stylesheets used by jade follows the same +approach, and is integrated in the Norman Walsh XSL stylesheets. +
+ +
+Examples + +The following examples show how to write the equations. + + +Inlined Equation + + + + + + + + + +Equation in a block + + + + + + + + + +Equation in a float + + + + + + + + + +Equation without a title + + + + + + + +
+
diff --git a/docs/math/equation-eg1.xml b/docs/math/equation-eg1.xml new file mode 100644 index 0000000..0b89d1f --- /dev/null +++ b/docs/math/equation-eg1.xml @@ -0,0 +1,6 @@ +The formula + + $C = \alpha + \beta Y^{\gamma} + \epsilon$ + + +is inlined in the paragraph. Its XML source is: diff --git a/docs/math/equation-eg2.xml b/docs/math/equation-eg2.xml new file mode 100644 index 0000000..d5752a6 --- /dev/null +++ b/docs/math/equation-eg2.xml @@ -0,0 +1,6 @@ +The following formula: + + \[C = \alpha + \beta Y^{\gamma} + \epsilon\] + + +is displayed in a separate block. The XML source is: diff --git a/docs/math/equation-eg3.xml b/docs/math/equation-eg3.xml new file mode 100644 index 0000000..159a77e --- /dev/null +++ b/docs/math/equation-eg3.xml @@ -0,0 +1,10 @@ + + +The formula below: + + Simple Formula + \[C = \alpha + \beta Y^{\gamma} + \epsilon\] + + +is displayed in a block with a title. Its XML source is: diff --git a/docs/math/equation-eg4.xml b/docs/math/equation-eg4.xml new file mode 100644 index 0000000..5632d8a --- /dev/null +++ b/docs/math/equation-eg4.xml @@ -0,0 +1,10 @@ + + +The formula below: + + C = \alpha + \beta Y^{\gamma} + \epsilon + + +is displayed as a latex equation with its own equation numbering. +Its XML source is: diff --git a/docs/math/equation-eg5.xml b/docs/math/equation-eg5.xml new file mode 100644 index 0000000..9007de0 --- /dev/null +++ b/docs/math/equation-eg5.xml @@ -0,0 +1,11 @@ + + + + Equation block with align tabs + + diff --git a/docs/math/figures/eq1.png b/docs/math/figures/eq1.png new file mode 100644 index 0000000..4765294 Binary files /dev/null and b/docs/math/figures/eq1.png differ diff --git a/docs/math/figures/eq4.png b/docs/math/figures/eq4.png new file mode 100644 index 0000000..228f52d Binary files /dev/null and b/docs/math/figures/eq4.png differ diff --git a/docs/math/math.xml b/docs/math/math.xml new file mode 100644 index 0000000..6487ab3 --- /dev/null +++ b/docs/math/math.xml @@ -0,0 +1,8 @@ + + + +
Writing Mathematics + + +
diff --git a/docs/math/mathml.xml b/docs/math/mathml.xml new file mode 100644 index 0000000..31b6a96 --- /dev/null +++ b/docs/math/mathml.xml @@ -0,0 +1,11 @@ +
+ + Writing MathML equations + + + You can write MathML equations in a DocBook based document, by using the MathML Module for DocBook XML instead of the DocBook DTD. + + + dblatex now translates the MathML equations to latex by using the excellent stylesheets of the XSLT MathML Library by Vasil Yaroshevich. A large amount of tests from the W3C MathML Test Suite 2.0 is supported (657 of 712 tests). The test file used to validate the MathML stylesheets is provided in the package. + +
diff --git a/docs/music.xml b/docs/music.xml new file mode 100644 index 0000000..fb041f6 --- /dev/null +++ b/docs/music.xml @@ -0,0 +1,24 @@ + + +
+Musical Notation + +Dblatex does not itself present musical notation. Of course, +images of musical scores can be incorporated into dblatex output as +can any other sort of images. For a more comprehensive solution which +better integrates the typesetting of text with musical notation the +LilyPond project () provides a +facility for including musical notation within DocBook documents. +LilyPond provides a program, lilypond-book, that +pre-processes DocBook documents containing LilyPond musical notation +and which can automatically invoke dblatex to +produce PDFs integrating musical notation with text. + + +Information regards lilypond-book is, at +present, found in LilyPond's Usage manual, the +Running lilypond-book chapter, the Integrating +music and text section. + +
diff --git a/docs/olinkdb.xml b/docs/olinkdb.xml new file mode 100644 index 0000000..f8b05bd --- /dev/null +++ b/docs/olinkdb.xml @@ -0,0 +1,34 @@ + + + +]> + + + + Dblatex documentation target database. + + + + + + + + &umtargets; + + + &rntargets; + + + + + diff --git a/docs/pagesetup.xml b/docs/pagesetup.xml new file mode 100644 index 0000000..2dd7374 --- /dev/null +++ b/docs/pagesetup.xml @@ -0,0 +1,36 @@ + + +
+Global Page Setup + +Since version 0.3.3 the user can specify to dblatex +the global page layout to apply, through some XSL parameters (see ). It is +also possible to produce pre-press layouts with physical pages having some crops +(see ). + + shows the meaning of each parameter length. +Of course the example is a page with crops, only to be able to display the +crop lengths with the other lengths. + +
+Parameter Lengths used for Page Setup + + + + + + + + +
+ + + +The native dblatex style still contains some hard-coded lengths to format the +revhistory table. You should then disable the revision +history display. + + +
diff --git a/docs/pagesetup2.fig b/docs/pagesetup2.fig new file mode 100644 index 0000000..117dbad --- /dev/null +++ b/docs/pagesetup2.fig @@ -0,0 +1,3101 @@ +#FIG 3.2 Produced by xfig version 3.2.5b +Portrait +Flush left +Inches +Letter +100.00 +Single +0 +1200 2 +# polyline +2 1 0 1 0 0 996 0 -1 4.000 0 0 0 0 0 2 + 1099 1262 1570 1262 +# polyline +2 1 0 1 0 0 993 0 -1 4.000 0 0 0 0 0 2 + 1570 791 1727 791 +# polyline +2 1 0 1 0 0 921 0 -1 4.000 0 0 0 0 0 2 + 8740 1341 8740 1184 +# polyline +2 1 0 1 0 0 919 0 -1 4.000 0 0 0 0 0 2 + 8347 1262 8818 1262 +# polyline +2 1 0 1 0 0 916 0 -1 4.000 0 0 0 0 0 2 + 8189 791 8347 791 +# polyline +2 1 0 1 0 0 914 0 -1 4.000 0 0 0 0 0 2 + 8268 1184 8268 712 +# polyline +2 1 0 1 0 0 910 0 -1 4.000 0 0 0 0 0 2 + 1099 10654 1570 10654 +# polyline +2 1 0 1 0 0 908 0 -1 4.000 0 0 0 0 0 2 + 1570 11126 1727 11126 +# polyline +2 1 0 1 0 0 906 0 -1 4.000 0 0 0 0 0 2 + 1649 11205 1649 10733 +# polyline +2 1 0 1 0 0 903 0 -1 4.000 0 0 0 0 0 2 + 8740 10733 8740 10576 +# polyline +2 1 0 1 0 0 901 0 -1 4.000 0 0 0 0 0 2 + 8347 10654 8818 10654 +# polyline +2 1 0 1 0 0 899 0 -1 4.000 0 0 0 0 0 2 + 8189 11126 8347 11126 +# polyline +2 1 0 1 0 0 897 0 -1 4.000 0 0 0 0 0 2 + 8268 11205 8268 10733 +# polyline +2 1 0 1 0 0 0 0 -1 4.000 0 0 0 0 0 2 + 2443 8772 7076 8772 +# polyline +2 1 0 1 0 7 54 0 -1 0.000 0 0 7 0 0 2 + 1650 1184 1650 712 +# polyline +2 1 0 1 0 7 54 0 -1 0.000 0 0 7 0 0 2 + 1200 1350 1200 1193 +# polyline +2 1 0 1 0 0 912 0 -1 4.000 0 0 0 0 0 2 + 1177 10733 1177 10576 +2 2 0 1 0 7 54 -1 -1 0.000 0 0 -1 0 0 5 + 375 204 9546 204 9546 11674 375 11674 375 204 +2 1 0 1 1 7 54 -1 -1 4.000 0 0 7 1 1 2 + 1 1 1.00 60.00 120.00 + 1 1 1.00 60.00 120.00 + 400 581 9550 581 +2 1 0 1 1 7 54 -1 -1 4.000 0 0 -1 1 1 2 + 1 1 1.00 60.00 120.00 + 1 1 1.00 60.00 120.00 + 9033 197 9033 11679 +2 1 0 1 1 7 54 -1 -1 4.000 0 0 -1 1 1 2 + 1 1 1.00 60.00 120.00 + 1 1 1.00 60.00 120.00 + 1311 1281 1311 10656 +2 1 0 1 1 7 54 -1 -1 4.000 0 0 -1 1 1 2 + 1 1 1.00 60.00 120.00 + 1 1 1.00 60.00 120.00 + 1661 11031 8261 11031 +# polyline +2 1 0 1 0 6 50 0 -1 0.000 0 0 7 0 0 2 + 2443 2581 7076 2581 +2 1 0 1 1 7 50 -1 -1 0.000 0 0 7 1 1 2 + 1 1 1.00 60.00 120.00 + 1 1 1.00 60.00 120.00 + 5475 1275 5475 2175 +2 1 0 1 1 7 54 -1 -1 4.000 0 0 7 1 1 2 + 1 1 1.00 60.00 120.00 + 1 1 1.00 60.00 120.00 + 7125 4650 8250 4650 +2 1 0 1 1 7 54 -1 -1 4.000 0 0 7 1 1 2 + 1 1 1.00 60.00 120.00 + 1 1 1.00 60.00 120.00 + 1650 7725 2400 7725 +2 2 1 1 0 7 54 -1 -1 4.000 0 0 7 0 0 5 + 1650 1262 8266 1262 8266 10650 1650 10650 1650 1262 +2 2 1 1 0 6 50 -1 -1 4.000 0 0 7 0 0 5 + 2400 2175 7125 2175 7125 9300 2400 9300 2400 2175 +2 1 0 1 1 7 50 -1 -1 0.000 0 0 7 1 1 2 + 1 1 1.00 60.00 120.00 + 1 1 1.00 60.00 120.00 + 3675 9300 3675 10650 +# text +4 0 0 990 -1 12 10 0.0000 4 45 90 3020 1143 "\001 +# text +4 0 0 988 -1 12 10 0.0000 4 105 90 3098 1143 p\001 +# text +4 0 0 986 -1 12 10 0.0000 4 75 90 3193 1143 a\001 +# text +4 0 0 984 -1 12 10 0.0000 4 105 90 3271 1143 g\001 +# text +4 0 0 982 -1 12 10 0.0000 4 75 90 3359 1143 e\001 +# text +4 0 0 980 -1 12 10 0.0000 4 75 90 3434 1143 s\001 +# text +4 0 0 978 -1 12 10 0.0000 4 75 90 3501 1143 e\001 +# text +4 0 0 976 -1 12 10 0.0000 4 105 90 3576 1143 t\001 +# text +4 0 0 974 -1 12 10 0.0000 4 75 90 3627 1143 u\001 +# text +4 0 0 972 -1 12 10 0.0000 4 105 90 3722 1143 p\001 +# text +4 0 0 970 -1 12 10 0.0000 4 45 90 3816 1143 "\001 +# text +4 0 0 968 -1 12 10 0.0000 4 15 90 3974 1143 -\001 +# text +4 0 0 967 -1 12 10 0.0000 4 105 90 4209 1143 2\001 +# text +4 0 0 965 -1 12 10 0.0000 4 105 90 4288 1143 0\001 +# text +4 0 0 963 -1 12 10 0.0000 4 105 90 4367 1143 1\001 +# text +4 0 0 961 -1 12 10 0.0000 4 105 90 4445 1143 2\001 +# text +4 0 0 959 -1 12 10 0.0000 4 135 90 4524 1143 /\001 +# text +4 0 0 957 -1 12 10 0.0000 4 105 90 4619 1143 4\001 +# text +4 0 0 955 -1 12 10 0.0000 4 135 90 4698 1143 /\001 +# text +4 0 0 953 -1 12 10 0.0000 4 105 90 4793 1143 1\001 +# text +4 0 0 951 -1 12 10 0.0000 4 105 90 4871 1143 0\001 +# text +4 0 0 949 -1 12 10 0.0000 4 15 90 5029 1143 -\001 +# text +4 0 0 948 -1 12 10 0.0000 4 105 90 5264 1143 2\001 +# text +4 0 0 946 -1 12 10 0.0000 4 105 90 5343 1143 2\001 +# text +4 0 0 944 -1 12 10 0.0000 4 75 90 5422 1143 :\001 +# text +4 0 0 942 -1 12 10 0.0000 4 105 90 5461 1143 4\001 +# text +4 0 0 940 -1 12 10 0.0000 4 105 90 5540 1143 6\001 +# text +4 0 0 938 -1 12 10 0.0000 4 15 90 5697 1143 -\001 +# text +4 0 0 937 -1 12 10 0.0000 4 105 90 5933 1143 p\001 +# text +4 0 0 935 -1 12 10 0.0000 4 75 90 6027 1143 a\001 +# text +4 0 0 933 -1 12 10 0.0000 4 105 90 6106 1143 g\001 +# text +4 0 0 931 -1 12 10 0.0000 4 75 90 6193 1143 e\001 +# text +4 0 0 929 -1 12 10 0.0000 4 105 90 6347 1143 1\001 +# text +4 0 0 927 -1 12 10 0.0000 4 15 90 6504 1143 -\001 +# text +4 0 0 926 -1 12 10 0.0000 4 120 90 6740 1143 #\001 +# text +4 0 0 924 -1 12 10 0.0000 4 105 90 6818 1143 1\001 +# text +4 0 0 849 -1 12 10 0.0000 4 105 90 2443 3588 b\001 +# text +4 0 0 847 -1 12 10 0.0000 4 105 90 2530 3588 l\001 +# text +4 0 0 845 -1 12 10 0.0000 4 75 90 2576 3588 a\001 +# text +4 0 0 843 -1 12 10 0.0000 4 105 90 2703 3588 b\001 +# text +4 0 0 841 -1 12 10 0.0000 4 105 90 2790 3588 l\001 +# text +4 0 0 839 -1 12 10 0.0000 4 75 90 2836 3588 a\001 +# text +4 0 0 837 -1 12 10 0.0000 4 105 90 2963 3588 b\001 +# text +4 0 0 835 -1 12 10 0.0000 4 105 90 3050 3588 l\001 +# text +4 0 0 833 -1 12 10 0.0000 4 75 90 3096 3588 a\001 +# text +4 0 0 831 -1 12 10 0.0000 4 105 90 3223 3588 b\001 +# text +4 0 0 829 -1 12 10 0.0000 4 105 90 3310 3588 l\001 +# text +4 0 0 827 -1 12 10 0.0000 4 75 90 3356 3588 a\001 +# text +4 0 0 825 -1 12 10 0.0000 4 105 90 3484 3588 b\001 +# text +4 0 0 823 -1 12 10 0.0000 4 105 90 3571 3588 l\001 +# text +4 0 0 821 -1 12 10 0.0000 4 75 90 3616 3588 a\001 +# text +4 0 0 819 -1 12 10 0.0000 4 105 90 3744 3588 b\001 +# text +4 0 0 817 -1 12 10 0.0000 4 105 90 3831 3588 l\001 +# text +4 0 0 815 -1 12 10 0.0000 4 75 90 3876 3588 a\001 +# text +4 0 0 813 -1 12 10 0.0000 4 105 90 4004 3588 b\001 +# text +4 0 0 811 -1 12 10 0.0000 4 105 90 4091 3588 l\001 +# text +4 0 0 809 -1 12 10 0.0000 4 75 90 4136 3588 a\001 +# text +4 0 0 807 -1 12 10 0.0000 4 105 90 4264 3588 b\001 +# text +4 0 0 805 -1 12 10 0.0000 4 105 90 4351 3588 l\001 +# text +4 0 0 803 -1 12 10 0.0000 4 75 90 4397 3588 a\001 +# text +4 0 0 801 -1 12 10 0.0000 4 105 90 4524 3588 b\001 +# text +4 0 0 799 -1 12 10 0.0000 4 105 90 4611 3588 l\001 +# text +4 0 0 797 -1 12 10 0.0000 4 75 90 4657 3588 a\001 +# text +4 0 0 795 -1 12 10 0.0000 4 105 90 4784 3588 b\001 +# text +4 0 0 793 -1 12 10 0.0000 4 105 90 4871 3588 l\001 +# text +4 0 0 791 -1 12 10 0.0000 4 75 90 4917 3588 a\001 +# text +4 0 0 789 -1 12 10 0.0000 4 105 90 5044 3588 b\001 +# text +4 0 0 787 -1 12 10 0.0000 4 105 90 5131 3588 l\001 +# text +4 0 0 785 -1 12 10 0.0000 4 75 90 5177 3588 a\001 +# text +4 0 0 783 -1 12 10 0.0000 4 105 90 5304 3588 b\001 +# text +4 0 0 781 -1 12 10 0.0000 4 105 90 5391 3588 l\001 +# text +4 0 0 779 -1 12 10 0.0000 4 75 90 5437 3588 a\001 +# text +4 0 0 777 -1 12 10 0.0000 4 105 90 5565 3588 b\001 +# text +4 0 0 775 -1 12 10 0.0000 4 105 90 5652 3588 l\001 +# text +4 0 0 773 -1 12 10 0.0000 4 75 90 5697 3588 a\001 +# text +4 0 0 771 -1 12 10 0.0000 4 105 90 5825 3588 b\001 +# text +4 0 0 769 -1 12 10 0.0000 4 105 90 5912 3588 l\001 +# text +4 0 0 767 -1 12 10 0.0000 4 75 90 5957 3588 a\001 +# text +4 0 0 765 -1 12 10 0.0000 4 105 90 6085 3588 b\001 +# text +4 0 0 763 -1 12 10 0.0000 4 105 90 6172 3588 l\001 +# text +4 0 0 761 -1 12 10 0.0000 4 75 90 6217 3588 a\001 +# text +4 0 0 759 -1 12 10 0.0000 4 105 90 6345 3588 b\001 +# text +4 0 0 757 -1 12 10 0.0000 4 105 90 6432 3588 l\001 +# text +4 0 0 755 -1 12 10 0.0000 4 75 90 6478 3588 a\001 +# text +4 0 0 753 -1 12 10 0.0000 4 105 90 6605 3588 b\001 +# text +4 0 0 751 -1 12 10 0.0000 4 105 90 6692 3588 l\001 +# text +4 0 0 749 -1 12 10 0.0000 4 75 90 6738 3588 a\001 +# text +4 0 0 747 -1 12 10 0.0000 4 105 90 6865 3588 b\001 +# text +4 0 0 745 -1 12 10 0.0000 4 105 90 6952 3588 l\001 +# text +4 0 0 743 -1 12 10 0.0000 4 75 90 6998 3588 a\001 +# text +4 0 0 742 -1 12 10 0.0000 4 105 90 2443 3777 b\001 +# text +4 0 0 740 -1 12 10 0.0000 4 105 90 2530 3777 l\001 +# text +4 0 0 738 -1 12 10 0.0000 4 75 90 2576 3777 a\001 +# text +4 0 0 736 -1 12 10 0.0000 4 105 90 2703 3777 b\001 +# text +4 0 0 734 -1 12 10 0.0000 4 105 90 2790 3777 l\001 +# text +4 0 0 732 -1 12 10 0.0000 4 75 90 2836 3777 a\001 +# text +4 0 0 730 -1 12 10 0.0000 4 105 90 2963 3777 b\001 +# text +4 0 0 728 -1 12 10 0.0000 4 105 90 3050 3777 l\001 +# text +4 0 0 726 -1 12 10 0.0000 4 75 90 3096 3777 a\001 +# text +4 0 0 724 -1 12 10 0.0000 4 105 90 3223 3777 b\001 +# text +4 0 0 722 -1 12 10 0.0000 4 105 90 3310 3777 l\001 +# text +4 0 0 720 -1 12 10 0.0000 4 75 90 3356 3777 a\001 +# text +4 0 0 718 -1 12 10 0.0000 4 105 90 3484 3777 b\001 +# text +4 0 0 716 -1 12 10 0.0000 4 105 90 3571 3777 l\001 +# text +4 0 0 714 -1 12 10 0.0000 4 75 90 3616 3777 a\001 +# text +4 0 0 712 -1 12 10 0.0000 4 105 90 3744 3777 b\001 +# text +4 0 0 710 -1 12 10 0.0000 4 105 90 3831 3777 l\001 +# text +4 0 0 708 -1 12 10 0.0000 4 75 90 3876 3777 a\001 +# text +4 0 0 706 -1 12 10 0.0000 4 105 90 4004 3777 b\001 +# text +4 0 0 704 -1 12 10 0.0000 4 105 90 4091 3777 l\001 +# text +4 0 0 702 -1 12 10 0.0000 4 75 90 4136 3777 a\001 +# text +4 0 0 700 -1 12 10 0.0000 4 105 90 4264 3777 b\001 +# text +4 0 0 698 -1 12 10 0.0000 4 105 90 4351 3777 l\001 +# text +4 0 0 696 -1 12 10 0.0000 4 75 90 4397 3777 a\001 +# text +4 0 0 694 -1 12 10 0.0000 4 105 90 4524 3777 b\001 +# text +4 0 0 692 -1 12 10 0.0000 4 105 90 4611 3777 l\001 +# text +4 0 0 690 -1 12 10 0.0000 4 75 90 4657 3777 a\001 +# text +4 0 0 688 -1 12 10 0.0000 4 105 90 4784 3777 b\001 +# text +4 0 0 686 -1 12 10 0.0000 4 105 90 4871 3777 l\001 +# text +4 0 0 684 -1 12 10 0.0000 4 75 90 4917 3777 a\001 +# text +4 0 0 682 -1 12 10 0.0000 4 105 90 5044 3777 b\001 +# text +4 0 0 680 -1 12 10 0.0000 4 105 90 5131 3777 l\001 +# text +4 0 0 678 -1 12 10 0.0000 4 75 90 5177 3777 a\001 +# text +4 0 0 676 -1 12 10 0.0000 4 105 90 5304 3777 b\001 +# text +4 0 0 674 -1 12 10 0.0000 4 105 90 5391 3777 l\001 +# text +4 0 0 672 -1 12 10 0.0000 4 75 90 5437 3777 a\001 +# text +4 0 0 670 -1 12 10 0.0000 4 105 90 5565 3777 b\001 +# text +4 0 0 668 -1 12 10 0.0000 4 105 90 5652 3777 l\001 +# text +4 0 0 666 -1 12 10 0.0000 4 75 90 5697 3777 a\001 +# text +4 0 0 664 -1 12 10 0.0000 4 105 90 5825 3777 b\001 +# text +4 0 0 662 -1 12 10 0.0000 4 105 90 5912 3777 l\001 +# text +4 0 0 660 -1 12 10 0.0000 4 75 90 5957 3777 a\001 +# text +4 0 0 658 -1 12 10 0.0000 4 105 90 6085 3777 b\001 +# text +4 0 0 656 -1 12 10 0.0000 4 105 90 6172 3777 l\001 +# text +4 0 0 654 -1 12 10 0.0000 4 75 90 6217 3777 a\001 +# text +4 0 0 652 -1 12 10 0.0000 4 105 90 6345 3777 b\001 +# text +4 0 0 650 -1 12 10 0.0000 4 105 90 6432 3777 l\001 +# text +4 0 0 648 -1 12 10 0.0000 4 75 90 6478 3777 a\001 +# text +4 0 0 646 -1 12 10 0.0000 4 105 90 6605 3777 b\001 +# text +4 0 0 644 -1 12 10 0.0000 4 105 90 6692 3777 l\001 +# text +4 0 0 642 -1 12 10 0.0000 4 75 90 6738 3777 a\001 +# text +4 0 0 640 -1 12 10 0.0000 4 105 90 6865 3777 b\001 +# text +4 0 0 638 -1 12 10 0.0000 4 105 90 6952 3777 l\001 +# text +4 0 0 636 -1 12 10 0.0000 4 75 90 6998 3777 a\001 +# text +4 0 0 635 -1 12 10 0.0000 4 105 90 2443 3965 b\001 +# text +4 0 0 633 -1 12 10 0.0000 4 105 90 2530 3965 l\001 +# text +4 0 0 631 -1 12 10 0.0000 4 75 90 2576 3965 a\001 +# text +4 0 0 629 -1 12 10 0.0000 4 105 90 2703 3965 b\001 +# text +4 0 0 627 -1 12 10 0.0000 4 105 90 2790 3965 l\001 +# text +4 0 0 625 -1 12 10 0.0000 4 75 90 2836 3965 a\001 +# text +4 0 0 623 -1 12 10 0.0000 4 105 90 2963 3965 b\001 +# text +4 0 0 621 -1 12 10 0.0000 4 105 90 3050 3965 l\001 +# text +4 0 0 619 -1 12 10 0.0000 4 75 90 3096 3965 a\001 +# text +4 0 0 617 -1 12 10 0.0000 4 105 90 3223 3965 b\001 +# text +4 0 0 615 -1 12 10 0.0000 4 105 90 3310 3965 l\001 +# text +4 0 0 613 -1 12 10 0.0000 4 75 90 3356 3965 a\001 +# text +4 0 0 611 -1 12 10 0.0000 4 105 90 3484 3965 b\001 +# text +4 0 0 609 -1 12 10 0.0000 4 105 90 3571 3965 l\001 +# text +4 0 0 607 -1 12 10 0.0000 4 75 90 3616 3965 a\001 +# text +4 0 0 605 -1 12 10 0.0000 4 105 90 3744 3965 b\001 +# text +4 0 0 603 -1 12 10 0.0000 4 105 90 3831 3965 l\001 +# text +4 0 0 601 -1 12 10 0.0000 4 75 90 3876 3965 a\001 +# text +4 0 0 599 -1 12 10 0.0000 4 105 90 4004 3965 b\001 +# text +4 0 0 597 -1 12 10 0.0000 4 105 90 4091 3965 l\001 +# text +4 0 0 595 -1 12 10 0.0000 4 75 90 4136 3965 a\001 +# text +4 0 0 593 -1 12 10 0.0000 4 105 90 4264 3965 b\001 +# text +4 0 0 591 -1 12 10 0.0000 4 105 90 4351 3965 l\001 +# text +4 0 0 589 -1 12 10 0.0000 4 75 90 4397 3965 a\001 +# text +4 0 0 587 -1 12 10 0.0000 4 105 90 4524 3965 b\001 +# text +4 0 0 585 -1 12 10 0.0000 4 105 90 4611 3965 l\001 +# text +4 0 0 583 -1 12 10 0.0000 4 75 90 4657 3965 a\001 +# text +4 0 0 581 -1 12 10 0.0000 4 105 90 4784 3965 b\001 +# text +4 0 0 579 -1 12 10 0.0000 4 105 90 4871 3965 l\001 +# text +4 0 0 577 -1 12 10 0.0000 4 75 90 4917 3965 a\001 +# text +4 0 0 575 -1 12 10 0.0000 4 105 90 5044 3965 b\001 +# text +4 0 0 573 -1 12 10 0.0000 4 105 90 5131 3965 l\001 +# text +4 0 0 571 -1 12 10 0.0000 4 75 90 5177 3965 a\001 +# text +4 0 0 569 -1 12 10 0.0000 4 105 90 5304 3965 b\001 +# text +4 0 0 567 -1 12 10 0.0000 4 105 90 5391 3965 l\001 +# text +4 0 0 565 -1 12 10 0.0000 4 75 90 5437 3965 a\001 +# text +4 0 0 563 -1 12 10 0.0000 4 105 90 5565 3965 b\001 +# text +4 0 0 561 -1 12 10 0.0000 4 105 90 5652 3965 l\001 +# text +4 0 0 559 -1 12 10 0.0000 4 75 90 5697 3965 a\001 +# text +4 0 0 557 -1 12 10 0.0000 4 105 90 5825 3965 b\001 +# text +4 0 0 555 -1 12 10 0.0000 4 105 90 5912 3965 l\001 +# text +4 0 0 553 -1 12 10 0.0000 4 75 90 5957 3965 a\001 +# text +4 0 0 551 -1 12 10 0.0000 4 105 90 6085 3965 b\001 +# text +4 0 0 549 -1 12 10 0.0000 4 105 90 6172 3965 l\001 +# text +4 0 0 547 -1 12 10 0.0000 4 75 90 6217 3965 a\001 +# text +4 0 0 545 -1 12 10 0.0000 4 105 90 6345 3965 b\001 +# text +4 0 0 543 -1 12 10 0.0000 4 105 90 6432 3965 l\001 +# text +4 0 0 541 -1 12 10 0.0000 4 75 90 6478 3965 a\001 +# text +4 0 0 539 -1 12 10 0.0000 4 105 90 6605 3965 b\001 +# text +4 0 0 537 -1 12 10 0.0000 4 105 90 6692 3965 l\001 +# text +4 0 0 535 -1 12 10 0.0000 4 75 90 6738 3965 a\001 +# text +4 0 0 533 -1 12 10 0.0000 4 105 90 6865 3965 b\001 +# text +4 0 0 531 -1 12 10 0.0000 4 105 90 6952 3965 l\001 +# text +4 0 0 529 -1 12 10 0.0000 4 75 90 6998 3965 a\001 +# text +4 0 0 528 -1 12 10 0.0000 4 105 90 2443 4154 b\001 +# text +4 0 0 526 -1 12 10 0.0000 4 105 90 2530 4154 l\001 +# text +4 0 0 524 -1 12 10 0.0000 4 75 90 2576 4154 a\001 +# text +4 0 0 522 -1 12 10 0.0000 4 105 90 2703 4154 b\001 +# text +4 0 0 520 -1 12 10 0.0000 4 105 90 2790 4154 l\001 +# text +4 0 0 518 -1 12 10 0.0000 4 75 90 2836 4154 a\001 +# text +4 0 0 516 -1 12 10 0.0000 4 105 90 2963 4154 b\001 +# text +4 0 0 514 -1 12 10 0.0000 4 105 90 3050 4154 l\001 +# text +4 0 0 512 -1 12 10 0.0000 4 75 90 3096 4154 a\001 +# text +4 0 0 510 -1 12 10 0.0000 4 105 90 3223 4154 b\001 +# text +4 0 0 508 -1 12 10 0.0000 4 105 90 3310 4154 l\001 +# text +4 0 0 506 -1 12 10 0.0000 4 75 90 3356 4154 a\001 +# text +4 0 0 504 -1 12 10 0.0000 4 105 90 3484 4154 b\001 +# text +4 0 0 502 -1 12 10 0.0000 4 105 90 3571 4154 l\001 +# text +4 0 0 500 -1 12 10 0.0000 4 75 90 3616 4154 a\001 +# text +4 0 0 498 -1 12 10 0.0000 4 105 90 3744 4154 b\001 +# text +4 0 0 496 -1 12 10 0.0000 4 105 90 3831 4154 l\001 +# text +4 0 0 494 -1 12 10 0.0000 4 75 90 3876 4154 a\001 +# text +4 0 0 492 -1 12 10 0.0000 4 105 90 4004 4154 b\001 +# text +4 0 0 490 -1 12 10 0.0000 4 105 90 4091 4154 l\001 +# text +4 0 0 488 -1 12 10 0.0000 4 75 90 4136 4154 a\001 +# text +4 0 0 486 -1 12 10 0.0000 4 105 90 4264 4154 b\001 +# text +4 0 0 484 -1 12 10 0.0000 4 105 90 4351 4154 l\001 +# text +4 0 0 482 -1 12 10 0.0000 4 75 90 4397 4154 a\001 +# text +4 0 0 480 -1 12 10 0.0000 4 105 90 4524 4154 b\001 +# text +4 0 0 478 -1 12 10 0.0000 4 105 90 4611 4154 l\001 +# text +4 0 0 476 -1 12 10 0.0000 4 75 90 4657 4154 a\001 +# text +4 0 0 474 -1 12 10 0.0000 4 105 90 4784 4154 b\001 +# text +4 0 0 472 -1 12 10 0.0000 4 105 90 4871 4154 l\001 +# text +4 0 0 470 -1 12 10 0.0000 4 75 90 4917 4154 a\001 +# text +4 0 0 468 -1 12 10 0.0000 4 105 90 5044 4154 b\001 +# text +4 0 0 466 -1 12 10 0.0000 4 105 90 5131 4154 l\001 +# text +4 0 0 464 -1 12 10 0.0000 4 75 90 5177 4154 a\001 +# text +4 0 0 462 -1 12 10 0.0000 4 105 90 5304 4154 b\001 +# text +4 0 0 460 -1 12 10 0.0000 4 105 90 5391 4154 l\001 +# text +4 0 0 458 -1 12 10 0.0000 4 75 90 5437 4154 a\001 +# text +4 0 0 456 -1 12 10 0.0000 4 105 90 5565 4154 b\001 +# text +4 0 0 454 -1 12 10 0.0000 4 105 90 5652 4154 l\001 +# text +4 0 0 452 -1 12 10 0.0000 4 75 90 5697 4154 a\001 +# text +4 0 0 450 -1 12 10 0.0000 4 105 90 5825 4154 b\001 +# text +4 0 0 448 -1 12 10 0.0000 4 105 90 5912 4154 l\001 +# text +4 0 0 446 -1 12 10 0.0000 4 75 90 5957 4154 a\001 +# text +4 0 0 444 -1 12 10 0.0000 4 105 90 6085 4154 b\001 +# text +4 0 0 442 -1 12 10 0.0000 4 105 90 6172 4154 l\001 +# text +4 0 0 440 -1 12 10 0.0000 4 75 90 6217 4154 a\001 +# text +4 0 0 438 -1 12 10 0.0000 4 105 90 6345 4154 b\001 +# text +4 0 0 436 -1 12 10 0.0000 4 105 90 6432 4154 l\001 +# text +4 0 0 434 -1 12 10 0.0000 4 75 90 6478 4154 a\001 +# text +4 0 0 432 -1 12 10 0.0000 4 105 90 6605 4154 b\001 +# text +4 0 0 430 -1 12 10 0.0000 4 105 90 6692 4154 l\001 +# text +4 0 0 428 -1 12 10 0.0000 4 75 90 6738 4154 a\001 +# text +4 0 0 426 -1 12 10 0.0000 4 105 90 6865 4154 b\001 +# text +4 0 0 424 -1 12 10 0.0000 4 105 90 6952 4154 l\001 +# text +4 0 0 422 -1 12 10 0.0000 4 75 90 6998 4154 a\001 +# text +4 0 0 421 -1 12 10 0.0000 4 105 90 2443 4342 b\001 +# text +4 0 0 419 -1 12 10 0.0000 4 105 90 2530 4342 l\001 +# text +4 0 0 417 -1 12 10 0.0000 4 75 90 2576 4342 a\001 +# text +4 0 0 415 -1 12 10 0.0000 4 105 90 2703 4342 b\001 +# text +4 0 0 413 -1 12 10 0.0000 4 105 90 2790 4342 l\001 +# text +4 0 0 411 -1 12 10 0.0000 4 75 90 2836 4342 a\001 +# text +4 0 0 409 -1 12 10 0.0000 4 105 90 2963 4342 b\001 +# text +4 0 0 407 -1 12 10 0.0000 4 105 90 3050 4342 l\001 +# text +4 0 0 405 -1 12 10 0.0000 4 75 90 3096 4342 a\001 +# text +4 0 0 403 -1 12 10 0.0000 4 105 90 3223 4342 b\001 +# text +4 0 0 401 -1 12 10 0.0000 4 105 90 3310 4342 l\001 +# text +4 0 0 399 -1 12 10 0.0000 4 75 90 3356 4342 a\001 +# text +4 0 0 397 -1 12 10 0.0000 4 105 90 3484 4342 b\001 +# text +4 0 0 395 -1 12 10 0.0000 4 105 90 3571 4342 l\001 +# text +4 0 0 393 -1 12 10 0.0000 4 75 90 3616 4342 a\001 +# text +4 0 0 391 -1 12 10 0.0000 4 105 90 3744 4342 b\001 +# text +4 0 0 389 -1 12 10 0.0000 4 105 90 3831 4342 l\001 +# text +4 0 0 387 -1 12 10 0.0000 4 75 90 3876 4342 a\001 +# text +4 0 0 385 -1 12 10 0.0000 4 105 90 4004 4342 b\001 +# text +4 0 0 383 -1 12 10 0.0000 4 105 90 4091 4342 l\001 +# text +4 0 0 381 -1 12 10 0.0000 4 75 90 4136 4342 a\001 +# text +4 0 0 379 -1 12 10 0.0000 4 105 90 4264 4342 b\001 +# text +4 0 0 377 -1 12 10 0.0000 4 105 90 4351 4342 l\001 +# text +4 0 0 375 -1 12 10 0.0000 4 75 90 4397 4342 a\001 +# text +4 0 0 373 -1 12 10 0.0000 4 105 90 4524 4342 b\001 +# text +4 0 0 371 -1 12 10 0.0000 4 105 90 4611 4342 l\001 +# text +4 0 0 369 -1 12 10 0.0000 4 75 90 4657 4342 a\001 +# text +4 0 0 367 -1 12 10 0.0000 4 105 90 4784 4342 b\001 +# text +4 0 0 365 -1 12 10 0.0000 4 105 90 4871 4342 l\001 +# text +4 0 0 363 -1 12 10 0.0000 4 75 90 4917 4342 a\001 +# text +4 0 0 361 -1 12 10 0.0000 4 105 90 5044 4342 b\001 +# text +4 0 0 359 -1 12 10 0.0000 4 105 90 5131 4342 l\001 +# text +4 0 0 357 -1 12 10 0.0000 4 75 90 5177 4342 a\001 +# text +4 0 0 355 -1 12 10 0.0000 4 105 90 5304 4342 b\001 +# text +4 0 0 353 -1 12 10 0.0000 4 105 90 5391 4342 l\001 +# text +4 0 0 351 -1 12 10 0.0000 4 75 90 5437 4342 a\001 +# text +4 0 0 349 -1 12 10 0.0000 4 105 90 5565 4342 b\001 +# text +4 0 0 347 -1 12 10 0.0000 4 105 90 5652 4342 l\001 +# text +4 0 0 345 -1 12 10 0.0000 4 75 90 5697 4342 a\001 +# text +4 0 0 343 -1 12 10 0.0000 4 105 90 5825 4342 b\001 +# text +4 0 0 341 -1 12 10 0.0000 4 105 90 5912 4342 l\001 +# text +4 0 0 339 -1 12 10 0.0000 4 75 90 5957 4342 a\001 +# text +4 0 0 337 -1 12 10 0.0000 4 105 90 6085 4342 b\001 +# text +4 0 0 335 -1 12 10 0.0000 4 105 90 6172 4342 l\001 +# text +4 0 0 333 -1 12 10 0.0000 4 75 90 6217 4342 a\001 +# text +4 0 0 331 -1 12 10 0.0000 4 105 90 6345 4342 b\001 +# text +4 0 0 329 -1 12 10 0.0000 4 105 90 6432 4342 l\001 +# text +4 0 0 327 -1 12 10 0.0000 4 75 90 6478 4342 a\001 +# text +4 0 0 325 -1 12 10 0.0000 4 105 90 6605 4342 b\001 +# text +4 0 0 323 -1 12 10 0.0000 4 105 90 6692 4342 l\001 +# text +4 0 0 321 -1 12 10 0.0000 4 75 90 6738 4342 a\001 +# text +4 0 0 319 -1 12 10 0.0000 4 105 90 6865 4342 b\001 +# text +4 0 0 317 -1 12 10 0.0000 4 105 90 6952 4342 l\001 +# text +4 0 0 315 -1 12 10 0.0000 4 75 90 6998 4342 a\001 +# text +4 0 0 314 -1 12 10 0.0000 4 105 90 2443 4531 b\001 +# text +4 0 0 312 -1 12 10 0.0000 4 105 90 2530 4531 l\001 +# text +4 0 0 310 -1 12 10 0.0000 4 75 90 2576 4531 a\001 +# text +4 0 0 308 -1 12 10 0.0000 4 105 90 2703 4531 b\001 +# text +4 0 0 306 -1 12 10 0.0000 4 105 90 2790 4531 l\001 +# text +4 0 0 304 -1 12 10 0.0000 4 75 90 2836 4531 a\001 +# text +4 0 0 302 -1 12 10 0.0000 4 105 90 2963 4531 b\001 +# text +4 0 0 300 -1 12 10 0.0000 4 105 90 3050 4531 l\001 +# text +4 0 0 298 -1 12 10 0.0000 4 75 90 3096 4531 a\001 +# text +4 0 0 296 -1 12 10 0.0000 4 105 90 3223 4531 b\001 +# text +4 0 0 294 -1 12 10 0.0000 4 105 90 3310 4531 l\001 +# text +4 0 0 292 -1 12 10 0.0000 4 75 90 3356 4531 a\001 +# text +4 0 0 290 -1 12 10 0.0000 4 105 90 3484 4531 b\001 +# text +4 0 0 288 -1 12 10 0.0000 4 105 90 3571 4531 l\001 +# text +4 0 0 286 -1 12 10 0.0000 4 75 90 3616 4531 a\001 +# text +4 0 0 284 -1 12 10 0.0000 4 105 90 3744 4531 b\001 +# text +4 0 0 282 -1 12 10 0.0000 4 105 90 3831 4531 l\001 +# text +4 0 0 280 -1 12 10 0.0000 4 75 90 3876 4531 a\001 +# text +4 0 0 278 -1 12 10 0.0000 4 105 90 4004 4531 b\001 +# text +4 0 0 276 -1 12 10 0.0000 4 105 90 4091 4531 l\001 +# text +4 0 0 274 -1 12 10 0.0000 4 75 90 4136 4531 a\001 +# text +4 0 0 272 -1 12 10 0.0000 4 105 90 4264 4531 b\001 +# text +4 0 0 270 -1 12 10 0.0000 4 105 90 4351 4531 l\001 +# text +4 0 0 268 -1 12 10 0.0000 4 75 90 4397 4531 a\001 +# text +4 0 0 266 -1 12 10 0.0000 4 105 90 4524 4531 b\001 +# text +4 0 0 264 -1 12 10 0.0000 4 105 90 4611 4531 l\001 +# text +4 0 0 262 -1 12 10 0.0000 4 75 90 4657 4531 a\001 +# text +4 0 0 260 -1 12 10 0.0000 4 105 90 4784 4531 b\001 +# text +4 0 0 258 -1 12 10 0.0000 4 105 90 4871 4531 l\001 +# text +4 0 0 256 -1 12 10 0.0000 4 75 90 4917 4531 a\001 +# text +4 0 0 254 -1 12 10 0.0000 4 105 90 5044 4531 b\001 +# text +4 0 0 252 -1 12 10 0.0000 4 105 90 5131 4531 l\001 +# text +4 0 0 250 -1 12 10 0.0000 4 75 90 5177 4531 a\001 +# text +4 0 0 248 -1 12 10 0.0000 4 105 90 5304 4531 b\001 +# text +4 0 0 246 -1 12 10 0.0000 4 105 90 5391 4531 l\001 +# text +4 0 0 244 -1 12 10 0.0000 4 75 90 5437 4531 a\001 +# text +4 0 0 242 -1 12 10 0.0000 4 105 90 5565 4531 b\001 +# text +4 0 0 240 -1 12 10 0.0000 4 105 90 5652 4531 l\001 +# text +4 0 0 238 -1 12 10 0.0000 4 75 90 5697 4531 a\001 +# text +4 0 0 236 -1 12 10 0.0000 4 105 90 5825 4531 b\001 +# text +4 0 0 234 -1 12 10 0.0000 4 105 90 5912 4531 l\001 +# text +4 0 0 232 -1 12 10 0.0000 4 75 90 5957 4531 a\001 +# text +4 0 0 230 -1 12 10 0.0000 4 105 90 6085 4531 b\001 +# text +4 0 0 228 -1 12 10 0.0000 4 105 90 6172 4531 l\001 +# text +4 0 0 226 -1 12 10 0.0000 4 75 90 6217 4531 a\001 +# text +4 0 0 224 -1 12 10 0.0000 4 105 90 6345 4531 b\001 +# text +4 0 0 222 -1 12 10 0.0000 4 105 90 6432 4531 l\001 +# text +4 0 0 220 -1 12 10 0.0000 4 75 90 6478 4531 a\001 +# text +4 0 0 218 -1 12 10 0.0000 4 105 90 6605 4531 b\001 +# text +4 0 0 216 -1 12 10 0.0000 4 105 90 6692 4531 l\001 +# text +4 0 0 214 -1 12 10 0.0000 4 75 90 6738 4531 a\001 +# text +4 0 0 212 -1 12 10 0.0000 4 105 90 6865 4531 b\001 +# text +4 0 0 210 -1 12 10 0.0000 4 105 90 6952 4531 l\001 +# text +4 0 0 208 -1 12 10 0.0000 4 75 90 6998 4531 a\001 +# text +4 0 0 207 -1 12 10 0.0000 4 105 90 2443 4720 b\001 +# text +4 0 0 205 -1 12 10 0.0000 4 105 90 2530 4720 l\001 +# text +4 0 0 203 -1 12 10 0.0000 4 75 90 2576 4720 a\001 +# text +4 0 0 201 -1 12 10 0.0000 4 105 90 2703 4720 b\001 +# text +4 0 0 199 -1 12 10 0.0000 4 105 90 2790 4720 l\001 +# text +4 0 0 197 -1 12 10 0.0000 4 75 90 2836 4720 a\001 +# text +4 0 0 195 -1 12 10 0.0000 4 105 90 2963 4720 b\001 +# text +4 0 0 193 -1 12 10 0.0000 4 105 90 3050 4720 l\001 +# text +4 0 0 191 -1 12 10 0.0000 4 75 90 3096 4720 a\001 +# text +4 0 0 189 -1 12 10 0.0000 4 105 90 3223 4720 b\001 +# text +4 0 0 187 -1 12 10 0.0000 4 105 90 3310 4720 l\001 +# text +4 0 0 185 -1 12 10 0.0000 4 75 90 3356 4720 a\001 +# text +4 0 0 183 -1 12 10 0.0000 4 105 90 3484 4720 b\001 +# text +4 0 0 181 -1 12 10 0.0000 4 105 90 3571 4720 l\001 +# text +4 0 0 179 -1 12 10 0.0000 4 75 90 3616 4720 a\001 +# text +4 0 0 177 -1 12 10 0.0000 4 105 90 3744 4720 b\001 +# text +4 0 0 175 -1 12 10 0.0000 4 105 90 3831 4720 l\001 +# text +4 0 0 173 -1 12 10 0.0000 4 75 90 3876 4720 a\001 +# text +4 0 0 171 -1 12 10 0.0000 4 105 90 4004 4720 b\001 +# text +4 0 0 169 -1 12 10 0.0000 4 105 90 4091 4720 l\001 +# text +4 0 0 167 -1 12 10 0.0000 4 75 90 4136 4720 a\001 +# text +4 0 0 165 -1 12 10 0.0000 4 105 90 4264 4720 b\001 +# text +4 0 0 163 -1 12 10 0.0000 4 105 90 4351 4720 l\001 +# text +4 0 0 161 -1 12 10 0.0000 4 75 90 4397 4720 a\001 +# text +4 0 0 159 -1 12 10 0.0000 4 105 90 4524 4720 b\001 +# text +4 0 0 157 -1 12 10 0.0000 4 105 90 4611 4720 l\001 +# text +4 0 0 155 -1 12 10 0.0000 4 75 90 4657 4720 a\001 +# text +4 0 0 153 -1 12 10 0.0000 4 105 90 4784 4720 b\001 +# text +4 0 0 151 -1 12 10 0.0000 4 105 90 4871 4720 l\001 +# text +4 0 0 149 -1 12 10 0.0000 4 75 90 4917 4720 a\001 +# text +4 0 0 147 -1 12 10 0.0000 4 105 90 5044 4720 b\001 +# text +4 0 0 145 -1 12 10 0.0000 4 105 90 5131 4720 l\001 +# text +4 0 0 143 -1 12 10 0.0000 4 75 90 5177 4720 a\001 +# text +4 0 0 141 -1 12 10 0.0000 4 105 90 5304 4720 b\001 +# text +4 0 0 139 -1 12 10 0.0000 4 105 90 5391 4720 l\001 +# text +4 0 0 137 -1 12 10 0.0000 4 75 90 5437 4720 a\001 +# text +4 0 0 135 -1 12 10 0.0000 4 105 90 5565 4720 b\001 +# text +4 0 0 133 -1 12 10 0.0000 4 105 90 5652 4720 l\001 +# text +4 0 0 131 -1 12 10 0.0000 4 75 90 5697 4720 a\001 +# text +4 0 0 129 -1 12 10 0.0000 4 105 90 5825 4720 b\001 +# text +4 0 0 127 -1 12 10 0.0000 4 105 90 5912 4720 l\001 +# text +4 0 0 125 -1 12 10 0.0000 4 75 90 5957 4720 a\001 +# text +4 0 0 123 -1 12 10 0.0000 4 105 90 6085 4720 b\001 +# text +4 0 0 121 -1 12 10 0.0000 4 105 90 6172 4720 l\001 +# text +4 0 0 119 -1 12 10 0.0000 4 75 90 6217 4720 a\001 +# text +4 0 0 117 -1 12 10 0.0000 4 105 90 6345 4720 b\001 +# text +4 0 0 115 -1 12 10 0.0000 4 105 90 6432 4720 l\001 +# text +4 0 0 113 -1 12 10 0.0000 4 75 90 6478 4720 a\001 +# text +4 0 0 111 -1 12 10 0.0000 4 105 90 6605 4720 b\001 +# text +4 0 0 109 -1 12 10 0.0000 4 105 90 6692 4720 l\001 +# text +4 0 0 107 -1 12 10 0.0000 4 75 90 6738 4720 a\001 +# text +4 0 0 105 -1 12 10 0.0000 4 105 90 6865 4720 b\001 +# text +4 0 0 103 -1 12 10 0.0000 4 105 90 6952 4720 l\001 +# text +4 0 0 101 -1 12 10 0.0000 4 75 90 6998 4720 a\001 +# text +4 0 0 100 -1 12 10 0.0000 4 105 90 2443 4908 b\001 +# text +4 0 0 98 -1 12 10 0.0000 4 105 90 2530 4908 l\001 +# text +4 0 0 96 -1 12 10 0.0000 4 75 90 2576 4908 a\001 +# text +4 0 0 94 -1 12 10 0.0000 4 105 90 2703 4908 b\001 +# text +4 0 0 92 -1 12 10 0.0000 4 105 90 2790 4908 l\001 +# text +4 0 0 90 -1 12 10 0.0000 4 75 90 2836 4908 a\001 +# text +4 0 0 88 -1 12 10 0.0000 4 105 90 2963 4908 b\001 +# text +4 0 0 86 -1 12 10 0.0000 4 105 90 3050 4908 l\001 +# text +4 0 0 84 -1 12 10 0.0000 4 75 90 3096 4908 a\001 +# text +4 0 0 82 -1 12 10 0.0000 4 105 90 3223 4908 b\001 +# text +4 0 0 80 -1 12 10 0.0000 4 105 90 3310 4908 l\001 +# text +4 0 0 78 -1 12 10 0.0000 4 75 90 3356 4908 a\001 +# text +4 0 0 76 -1 12 10 0.0000 4 105 90 3484 4908 b\001 +# text +4 0 0 74 -1 12 10 0.0000 4 105 90 3571 4908 l\001 +# text +4 0 0 72 -1 12 10 0.0000 4 75 90 3616 4908 a\001 +# text +4 0 0 70 -1 12 10 0.0000 4 105 90 3744 4908 b\001 +# text +4 0 0 68 -1 12 10 0.0000 4 105 90 3831 4908 l\001 +# text +4 0 0 66 -1 12 10 0.0000 4 75 90 3876 4908 a\001 +# text +4 0 0 64 -1 12 10 0.0000 4 105 90 4004 4908 b\001 +# text +4 0 0 62 -1 12 10 0.0000 4 105 90 4091 4908 l\001 +# text +4 0 0 60 -1 12 10 0.0000 4 75 90 4136 4908 a\001 +# text +4 0 0 58 -1 12 10 0.0000 4 105 90 4264 4908 b\001 +# text +4 0 0 56 -1 12 10 0.0000 4 105 90 4351 4908 l\001 +# text +4 0 0 54 -1 12 10 0.0000 4 75 90 4397 4908 a\001 +# text +4 0 0 52 -1 12 10 0.0000 4 105 90 4524 4908 b\001 +# text +4 0 0 50 -1 12 10 0.0000 4 105 90 4611 4908 l\001 +# text +4 0 0 48 -1 12 10 0.0000 4 75 90 4657 4908 a\001 +# text +4 0 0 46 -1 12 10 0.0000 4 105 90 4784 4908 b\001 +# text +4 0 0 44 -1 12 10 0.0000 4 105 90 4871 4908 l\001 +# text +4 0 0 42 -1 12 10 0.0000 4 75 90 4917 4908 a\001 +# text +4 0 0 40 -1 12 10 0.0000 4 105 90 5044 4908 b\001 +# text +4 0 0 38 -1 12 10 0.0000 4 105 90 5131 4908 l\001 +# text +4 0 0 36 -1 12 10 0.0000 4 75 90 5177 4908 a\001 +# text +4 0 0 34 -1 12 10 0.0000 4 105 90 5304 4908 b\001 +# text +4 0 0 32 -1 12 10 0.0000 4 105 90 5391 4908 l\001 +# text +4 0 0 30 -1 12 10 0.0000 4 75 90 5437 4908 a\001 +# text +4 0 0 28 -1 12 10 0.0000 4 105 90 5565 4908 b\001 +# text +4 0 0 26 -1 12 10 0.0000 4 105 90 5652 4908 l\001 +# text +4 0 0 24 -1 12 10 0.0000 4 75 90 5697 4908 a\001 +# text +4 0 0 22 -1 12 10 0.0000 4 105 90 5825 4908 b\001 +# text +4 0 0 20 -1 12 10 0.0000 4 105 90 5912 4908 l\001 +# text +4 0 0 18 -1 12 10 0.0000 4 75 90 5957 4908 a\001 +# text +4 0 0 16 -1 12 10 0.0000 4 105 90 6085 4908 b\001 +# text +4 0 0 14 -1 12 10 0.0000 4 105 90 6172 4908 l\001 +# text +4 0 0 12 -1 12 10 0.0000 4 75 90 6217 4908 a\001 +# text +4 0 0 10 -1 12 10 0.0000 4 105 90 6345 4908 b\001 +# text +4 0 0 8 -1 12 10 0.0000 4 105 90 6432 4908 l\001 +# text +4 0 0 6 -1 12 10 0.0000 4 75 90 6478 4908 a\001 +# text +4 0 0 4 -1 12 10 0.0000 4 105 90 6605 4908 b\001 +# text +4 0 0 2 -1 12 10 0.0000 4 105 90 6692 4908 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6738 4908 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6865 4908 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6952 4908 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6998 4908 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2443 5097 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2530 5097 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2576 5097 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2703 5097 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2790 5097 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2836 5097 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2963 5097 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3050 5097 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3096 5097 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3223 5097 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3310 5097 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3356 5097 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3484 5097 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3571 5097 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3616 5097 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3744 5097 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3831 5097 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3876 5097 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4004 5097 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4091 5097 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4136 5097 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4264 5097 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4351 5097 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4397 5097 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4524 5097 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4611 5097 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4657 5097 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4784 5097 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4871 5097 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4917 5097 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5044 5097 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5131 5097 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5177 5097 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5304 5097 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5391 5097 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5437 5097 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5565 5097 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5652 5097 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5697 5097 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5825 5097 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5912 5097 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5957 5097 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6085 5097 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6172 5097 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6217 5097 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6345 5097 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6432 5097 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6478 5097 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6605 5097 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6692 5097 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6738 5097 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6865 5097 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6952 5097 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6998 5097 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2443 5286 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2530 5286 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2576 5286 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2703 5286 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2790 5286 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2836 5286 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2963 5286 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3050 5286 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3096 5286 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3223 5286 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3310 5286 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3356 5286 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3484 5286 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3571 5286 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3616 5286 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3744 5286 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3831 5286 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3876 5286 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4004 5286 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4091 5286 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4136 5286 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4264 5286 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4351 5286 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4397 5286 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4524 5286 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4611 5286 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4657 5286 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4784 5286 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4871 5286 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4917 5286 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5044 5286 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5131 5286 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5177 5286 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5304 5286 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5391 5286 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5437 5286 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5565 5286 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5652 5286 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5697 5286 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5825 5286 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5912 5286 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5957 5286 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6085 5286 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6172 5286 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6217 5286 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6345 5286 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6432 5286 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6478 5286 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6605 5286 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6692 5286 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6738 5286 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6865 5286 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6952 5286 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6998 5286 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2443 5474 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2530 5474 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2576 5474 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2703 5474 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2790 5474 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2836 5474 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2963 5474 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3050 5474 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3096 5474 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3223 5474 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3310 5474 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3356 5474 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3484 5474 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3571 5474 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3616 5474 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3744 5474 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3831 5474 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3876 5474 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4004 5474 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4091 5474 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4136 5474 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4264 5474 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4351 5474 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4397 5474 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4524 5474 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4611 5474 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4657 5474 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4784 5474 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4871 5474 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4917 5474 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5044 5474 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5131 5474 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5177 5474 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5304 5474 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5391 5474 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5437 5474 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5565 5474 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5652 5474 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5697 5474 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5825 5474 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5912 5474 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5957 5474 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6085 5474 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6172 5474 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6217 5474 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6345 5474 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6432 5474 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6478 5474 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6605 5474 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6692 5474 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6738 5474 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6865 5474 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6952 5474 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6998 5474 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2443 5663 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2530 5663 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2576 5663 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2703 5663 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2790 5663 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2836 5663 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2963 5663 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3050 5663 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3096 5663 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3223 5663 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3310 5663 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3356 5663 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3484 5663 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3571 5663 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3616 5663 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3744 5663 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3831 5663 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3876 5663 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4004 5663 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4091 5663 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4136 5663 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4264 5663 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4351 5663 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4397 5663 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4524 5663 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4611 5663 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4657 5663 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4784 5663 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4871 5663 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4917 5663 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5044 5663 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5131 5663 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5177 5663 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5304 5663 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5391 5663 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5437 5663 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5565 5663 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5652 5663 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5697 5663 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5825 5663 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5912 5663 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5957 5663 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6085 5663 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6172 5663 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6217 5663 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6345 5663 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6432 5663 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6478 5663 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6605 5663 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6692 5663 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6738 5663 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6865 5663 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6952 5663 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6998 5663 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2443 5851 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2530 5851 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2576 5851 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2703 5851 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2790 5851 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2836 5851 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2963 5851 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3050 5851 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3096 5851 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3223 5851 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3310 5851 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3356 5851 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3484 5851 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3571 5851 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3616 5851 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3744 5851 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3831 5851 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3876 5851 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4004 5851 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4091 5851 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4136 5851 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4264 5851 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4351 5851 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4397 5851 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4524 5851 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4611 5851 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4657 5851 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4784 5851 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4871 5851 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4917 5851 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5044 5851 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5131 5851 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5177 5851 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5304 5851 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5391 5851 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5437 5851 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5565 5851 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5652 5851 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5697 5851 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5825 5851 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5912 5851 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5957 5851 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6085 5851 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6172 5851 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6217 5851 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6345 5851 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6432 5851 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6478 5851 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6605 5851 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6692 5851 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6738 5851 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6865 5851 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6952 5851 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6998 5851 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2443 6040 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2530 6040 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2576 6040 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2703 6040 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2790 6040 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2836 6040 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2963 6040 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3050 6040 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3096 6040 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3223 6040 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3310 6040 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3356 6040 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3484 6040 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3571 6040 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3616 6040 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3744 6040 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3831 6040 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3876 6040 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4004 6040 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4091 6040 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4136 6040 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4264 6040 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4351 6040 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4397 6040 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4524 6040 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4611 6040 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4657 6040 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4784 6040 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4871 6040 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4917 6040 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5044 6040 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5131 6040 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5177 6040 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5304 6040 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5391 6040 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5437 6040 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5565 6040 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5652 6040 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5697 6040 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5825 6040 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5912 6040 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5957 6040 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6085 6040 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6172 6040 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6217 6040 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6345 6040 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6432 6040 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6478 6040 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6605 6040 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6692 6040 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6738 6040 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6865 6040 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6952 6040 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6998 6040 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2443 6229 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2530 6229 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2576 6229 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2703 6229 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2790 6229 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2836 6229 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2963 6229 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3050 6229 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3096 6229 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3223 6229 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3310 6229 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3356 6229 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3484 6229 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3571 6229 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3616 6229 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3744 6229 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3831 6229 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3876 6229 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4004 6229 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4091 6229 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4136 6229 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4264 6229 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4351 6229 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4397 6229 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4524 6229 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4611 6229 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4657 6229 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4784 6229 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4871 6229 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4917 6229 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5044 6229 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5131 6229 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5177 6229 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5304 6229 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5391 6229 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5437 6229 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5565 6229 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5652 6229 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5697 6229 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5825 6229 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5912 6229 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5957 6229 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6085 6229 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6172 6229 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6217 6229 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6345 6229 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6432 6229 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6478 6229 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6605 6229 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6692 6229 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6738 6229 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6865 6229 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6952 6229 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6998 6229 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2443 6417 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2530 6417 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2576 6417 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2703 6417 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2790 6417 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2836 6417 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2963 6417 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3050 6417 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3096 6417 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3223 6417 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3310 6417 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3356 6417 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3484 6417 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3571 6417 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3616 6417 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3744 6417 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3831 6417 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3876 6417 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4004 6417 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4091 6417 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4136 6417 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4264 6417 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4351 6417 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4397 6417 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4524 6417 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4611 6417 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4657 6417 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4784 6417 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4871 6417 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4917 6417 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5044 6417 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5131 6417 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5177 6417 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5304 6417 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5391 6417 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5437 6417 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5565 6417 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5652 6417 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5697 6417 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5825 6417 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5912 6417 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5957 6417 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6085 6417 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6172 6417 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6217 6417 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6345 6417 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6432 6417 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6478 6417 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6605 6417 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6692 6417 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6738 6417 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6865 6417 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6952 6417 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6998 6417 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2443 6606 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2530 6606 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2576 6606 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2703 6606 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2790 6606 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2836 6606 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2963 6606 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3050 6606 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3096 6606 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3223 6606 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3310 6606 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3356 6606 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3484 6606 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3571 6606 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3616 6606 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3744 6606 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3831 6606 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3876 6606 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4004 6606 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4091 6606 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4136 6606 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4264 6606 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4351 6606 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4397 6606 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4524 6606 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4611 6606 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4657 6606 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4784 6606 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4871 6606 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4917 6606 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5044 6606 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5131 6606 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5177 6606 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5304 6606 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5391 6606 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5437 6606 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5565 6606 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5652 6606 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5697 6606 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5825 6606 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5912 6606 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5957 6606 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6085 6606 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6172 6606 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6217 6606 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6345 6606 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6432 6606 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6478 6606 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6605 6606 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6692 6606 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6738 6606 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6865 6606 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6952 6606 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6998 6606 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2443 6795 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2530 6795 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2576 6795 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2703 6795 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2790 6795 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2836 6795 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2963 6795 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3050 6795 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3096 6795 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3223 6795 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3310 6795 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3356 6795 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3484 6795 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3571 6795 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3616 6795 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3744 6795 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3831 6795 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3876 6795 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4004 6795 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4091 6795 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4136 6795 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4264 6795 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4351 6795 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4397 6795 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4524 6795 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4611 6795 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4657 6795 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4784 6795 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4871 6795 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4917 6795 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5044 6795 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5131 6795 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5177 6795 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5304 6795 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5391 6795 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5437 6795 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5565 6795 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5652 6795 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5697 6795 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5825 6795 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5912 6795 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5957 6795 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6085 6795 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6172 6795 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6217 6795 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6345 6795 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6432 6795 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6478 6795 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6605 6795 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6692 6795 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6738 6795 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6865 6795 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6952 6795 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6998 6795 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2443 6983 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2530 6983 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2576 6983 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2703 6983 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2790 6983 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2836 6983 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2963 6983 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3050 6983 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3096 6983 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3223 6983 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3310 6983 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3356 6983 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3484 6983 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3571 6983 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3616 6983 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3744 6983 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3831 6983 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3876 6983 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4004 6983 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4091 6983 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4136 6983 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4264 6983 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4351 6983 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4397 6983 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4524 6983 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4611 6983 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4657 6983 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4784 6983 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4871 6983 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4917 6983 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5044 6983 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5131 6983 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5177 6983 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5304 6983 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5391 6983 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5437 6983 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5565 6983 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5652 6983 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5697 6983 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5825 6983 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5912 6983 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5957 6983 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6085 6983 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6172 6983 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6217 6983 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6345 6983 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6432 6983 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6478 6983 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6605 6983 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6692 6983 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6738 6983 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6865 6983 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6952 6983 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6998 6983 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2443 7172 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2530 7172 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2576 7172 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2703 7172 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2790 7172 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2836 7172 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2963 7172 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3050 7172 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3096 7172 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3223 7172 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3310 7172 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3356 7172 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3484 7172 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3571 7172 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3616 7172 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3744 7172 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3831 7172 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3876 7172 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4004 7172 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4091 7172 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4136 7172 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4264 7172 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4351 7172 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4397 7172 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4524 7172 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4611 7172 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4657 7172 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4784 7172 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4871 7172 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4917 7172 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5044 7172 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5131 7172 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5177 7172 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5304 7172 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5391 7172 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5437 7172 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5565 7172 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5652 7172 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5697 7172 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5825 7172 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5912 7172 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5957 7172 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6085 7172 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6172 7172 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6217 7172 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6345 7172 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6432 7172 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6478 7172 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6605 7172 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6692 7172 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6738 7172 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6865 7172 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6952 7172 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6998 7172 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2443 7360 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2530 7360 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2576 7360 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2703 7360 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2790 7360 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2836 7360 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2963 7360 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3050 7360 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3096 7360 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3223 7360 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3310 7360 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3356 7360 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3484 7360 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3571 7360 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3616 7360 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3744 7360 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3831 7360 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3876 7360 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4004 7360 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4091 7360 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4136 7360 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4264 7360 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4351 7360 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4397 7360 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4524 7360 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4611 7360 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4657 7360 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4784 7360 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4871 7360 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4917 7360 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5044 7360 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5131 7360 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5177 7360 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5304 7360 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5391 7360 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5437 7360 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5565 7360 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5652 7360 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5697 7360 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5825 7360 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5912 7360 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5957 7360 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6085 7360 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6172 7360 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6217 7360 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6345 7360 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6432 7360 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6478 7360 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6605 7360 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6692 7360 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6738 7360 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6865 7360 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6952 7360 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6998 7360 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2443 7549 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2530 7549 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2576 7549 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2703 7549 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2790 7549 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2836 7549 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2963 7549 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3050 7549 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3096 7549 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3223 7549 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3310 7549 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3356 7549 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3484 7549 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3571 7549 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3616 7549 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3744 7549 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3831 7549 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3876 7549 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4004 7549 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4091 7549 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4136 7549 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4264 7549 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4351 7549 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4397 7549 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4524 7549 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4611 7549 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4657 7549 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4784 7549 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4871 7549 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4917 7549 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5044 7549 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5131 7549 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5177 7549 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5304 7549 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5391 7549 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5437 7549 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5565 7549 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5652 7549 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5697 7549 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5825 7549 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5912 7549 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5957 7549 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6085 7549 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6172 7549 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6217 7549 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6345 7549 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6432 7549 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6478 7549 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6605 7549 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6692 7549 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6738 7549 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6865 7549 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6952 7549 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6998 7549 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2443 7738 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2530 7738 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2576 7738 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2703 7738 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2790 7738 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2836 7738 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2963 7738 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3050 7738 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3096 7738 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3223 7738 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3310 7738 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3356 7738 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3484 7738 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3571 7738 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3616 7738 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3744 7738 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3831 7738 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3876 7738 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4004 7738 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4091 7738 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4136 7738 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4264 7738 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4351 7738 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4397 7738 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4524 7738 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4611 7738 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4657 7738 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4784 7738 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4871 7738 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4917 7738 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5044 7738 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5131 7738 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5177 7738 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5304 7738 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5391 7738 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5437 7738 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5565 7738 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5652 7738 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5697 7738 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5825 7738 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5912 7738 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5957 7738 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6085 7738 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6172 7738 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6217 7738 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6345 7738 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6432 7738 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6478 7738 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6605 7738 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6692 7738 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6738 7738 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6865 7738 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6952 7738 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6998 7738 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2443 7926 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2530 7926 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2576 7926 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2703 7926 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2790 7926 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2836 7926 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2963 7926 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3050 7926 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3096 7926 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3223 7926 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3310 7926 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3356 7926 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3484 7926 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3571 7926 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3616 7926 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3744 7926 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3831 7926 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3876 7926 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4004 7926 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4091 7926 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4136 7926 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4264 7926 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4351 7926 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4397 7926 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4524 7926 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4611 7926 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4657 7926 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4784 7926 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4871 7926 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4917 7926 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5044 7926 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5131 7926 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5177 7926 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5304 7926 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5391 7926 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5437 7926 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5565 7926 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5652 7926 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5697 7926 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5825 7926 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5912 7926 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5957 7926 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6085 7926 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6172 7926 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6217 7926 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6345 7926 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6432 7926 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6478 7926 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6605 7926 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6692 7926 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6738 7926 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6865 7926 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6952 7926 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6998 7926 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2443 8115 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2530 8115 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2576 8115 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2703 8115 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2790 8115 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2836 8115 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2963 8115 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3050 8115 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3096 8115 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3223 8115 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3310 8115 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3356 8115 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3484 8115 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3571 8115 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3616 8115 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3744 8115 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3831 8115 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3876 8115 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4004 8115 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4091 8115 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4136 8115 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4264 8115 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4351 8115 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4397 8115 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4524 8115 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4611 8115 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4657 8115 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4784 8115 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4871 8115 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4917 8115 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5044 8115 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5131 8115 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5177 8115 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5304 8115 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5391 8115 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5437 8115 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5565 8115 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5652 8115 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5697 8115 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5825 8115 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5912 8115 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5957 8115 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6085 8115 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6172 8115 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6217 8115 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6345 8115 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6432 8115 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6478 8115 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6605 8115 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6692 8115 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6738 8115 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6865 8115 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6952 8115 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6998 8115 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2443 8304 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2530 8304 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2576 8304 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2703 8304 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2790 8304 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2836 8304 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2963 8304 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3050 8304 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3096 8304 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3223 8304 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3310 8304 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3356 8304 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3484 8304 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3571 8304 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3616 8304 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3744 8304 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3831 8304 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3876 8304 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4004 8304 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4091 8304 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4136 8304 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4264 8304 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4351 8304 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4397 8304 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4524 8304 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4611 8304 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4657 8304 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4784 8304 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4871 8304 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4917 8304 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5044 8304 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5131 8304 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5177 8304 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5304 8304 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5391 8304 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5437 8304 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5565 8304 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5652 8304 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5697 8304 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5825 8304 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5912 8304 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5957 8304 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6085 8304 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6172 8304 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6217 8304 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6345 8304 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6432 8304 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6478 8304 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6605 8304 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6692 8304 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6738 8304 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6865 8304 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6952 8304 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6998 8304 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2443 8492 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2530 8492 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2576 8492 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2703 8492 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2790 8492 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 2836 8492 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 2963 8492 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3050 8492 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3096 8492 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3223 8492 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3310 8492 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3356 8492 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3484 8492 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3571 8492 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3616 8492 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3744 8492 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 3831 8492 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 3876 8492 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4004 8492 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4091 8492 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4136 8492 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4264 8492 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4351 8492 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4397 8492 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4524 8492 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4611 8492 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4657 8492 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4784 8492 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4871 8492 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 4917 8492 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5044 8492 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5131 8492 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5177 8492 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5304 8492 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5391 8492 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5437 8492 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5565 8492 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5652 8492 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5697 8492 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5825 8492 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 5912 8492 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 5957 8492 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6085 8492 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6172 8492 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6217 8492 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6345 8492 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6432 8492 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6478 8492 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6605 8492 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6692 8492 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6738 8492 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6865 8492 b\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 6952 8492 l\001 +# text +4 0 0 0 -1 12 10 0.0000 4 75 90 6998 8492 a\001 +# text +4 0 0 0 -1 12 10 0.0000 4 105 90 4720 8964 1\001 +4 0 0 50 -1 1 12 0.0000 4 195 1440 2475 2550 1 Page Example\001 +4 0 0 50 -1 18 12 0.0000 4 210 1740 2475 3150 1 Page Example\001 +4 0 1 54 -1 -1 12 0.0000 4 195 1410 4290 495 crop.page.width\001 +4 0 1 54 -1 -1 12 1.5708 4 195 1455 8959 7280 crop.page.height\001 +4 0 1 54 -1 -1 12 1.5708 4 195 1005 1204 7325 page.height\001 +4 0 1 54 -1 -1 12 0.0000 4 195 960 4370 10935 page.width\001 +4 0 1 54 -1 -1 12 0.0000 4 195 1410 5550 1725 page.margin.top\001 +4 0 1 54 -1 -1 12 1.5708 4 195 1500 2100 7650 page.magin.inner\001 +4 0 1 54 -1 -1 12 1.5708 4 195 1590 7725 6375 page.margin.outer\001 +4 0 1 54 -1 -1 12 0.0000 4 195 1740 3750 10050 page.margin.bottom\001 diff --git a/docs/pagesetup2.pdf b/docs/pagesetup2.pdf new file mode 100644 index 0000000..7cf052b Binary files /dev/null and b/docs/pagesetup2.pdf differ diff --git a/docs/params/README.BUILD b/docs/params/README.BUILD new file mode 100644 index 0000000..122be22 --- /dev/null +++ b/docs/params/README.BUILD @@ -0,0 +1,28 @@ +XSL Parameter Documentation Principle +------------------------------------- +- Each parameter is documented through an individual refentry file, like + the DocBook Project does. These refentries stored unders params/ are the + sources to maintain. + + There were built from the original parameter table (../custom/param.xml) with + the command: + + xsltproc --xinclude ../../tools/param2ref.xsl ../custom/param.xml + + Each refentries XIncludes its related synopsis file. The reason of this + structure (and not putting the synopsis directly in the refentries) is to be + able to automatically update/sync the synopsis from the XSL stylesheets + without modifying the refentries. + +- The parameter synopsis are stored under the ./syn directory. They are + automatically produced from the dblatex XSL stylesheets with the following + command: + + ../../tools/parambuild ./syn + +- params/param.xml is the appendix that groups the whole refentries by + XIncluding them. This file is currently maintained by hand, but it could be + possible to build it through scripts. + +- the params/param.xml file is XIncluded in the main documentation (manual.xml). + diff --git a/docs/params/alt.use.xml b/docs/params/alt.use.xml new file mode 100644 index 0000000..1bd3df9 --- /dev/null +++ b/docs/params/alt.use.xml @@ -0,0 +1,26 @@ + + + + + alt.use + + + alt.use + Always use alt to display equations + + + + + + + + Description + When an (informal) equation contains both alt and +another element (graphic, etc.), and when +tex.math.in.alt is not set to 'latex', the alt element +is not used to display the equation since it is considered as a fallback +element. Set alt.use to force the use of +alt as default rendering element even when +tex.math.in.alt is not set to 'latex'. + + diff --git a/docs/params/annotation.support.xml b/docs/params/annotation.support.xml new file mode 100644 index 0000000..8a537e4 --- /dev/null +++ b/docs/params/annotation.support.xml @@ -0,0 +1,21 @@ + + + + + annotation.support + + + annotation.support + Enable the annotation support + + + + + + + + Description + Set to 1 the experimental DocBook 5 annotation +support is enabled. + + diff --git a/docs/params/beginpage.as.pagebreak.xml b/docs/params/beginpage.as.pagebreak.xml new file mode 100644 index 0000000..ff56bba --- /dev/null +++ b/docs/params/beginpage.as.pagebreak.xml @@ -0,0 +1,20 @@ + + + + + beginpage.as.pagebreak + + + beginpage.as.pagebreak + Force a page break when set to 1. Otherwise + beginpage does nothing. + + + + + + + Description +The legacy behaviour of dblatex is that it inserts a page break when beginpage appears. You can keep this behaviour by setting this parameter to 1 (default value) or inhibit it by setting to 0. + + diff --git a/docs/params/biblioentry.item.separator.xml b/docs/params/biblioentry.item.separator.xml new file mode 100644 index 0000000..1944956 --- /dev/null +++ b/docs/params/biblioentry.item.separator.xml @@ -0,0 +1,18 @@ + + + + + biblioentry.item.separator + + + biblioentry.item.separator + Text to separate bibliography entries + + + + + + Description + Text to separate bibliography entries. + + diff --git a/docs/params/biblioentry.numbered.xml b/docs/params/biblioentry.numbered.xml new file mode 100644 index 0000000..f416626 --- /dev/null +++ b/docs/params/biblioentry.numbered.xml @@ -0,0 +1,22 @@ + + + + + biblioentry.numbered + + + biblioentry.numbered + Should biblioentry item labels be numbered? + + + + + + + Description + When non-zero, the reference labels of the bibliography entries are + numbers instead of label strings, even if explicit labels are set through + an xreflabel attribute or an abbrev + tag. + + diff --git a/docs/params/bibliography.numbered.xml b/docs/params/bibliography.numbered.xml new file mode 100644 index 0000000..04bc43a --- /dev/null +++ b/docs/params/bibliography.numbered.xml @@ -0,0 +1,29 @@ + + + + + bibliography.numbered + + + bibliography.numbered + Should bibliography headings be numbered? + + + + + + + + Description + Defines either the bibliography titles are numbered or +not. When numbered, it is displayed as any other numbered section. + + + See Also + bibliography.tocdepth. + glossary.numbered, glossary.tocdepth. + refentry.numbered, refentry.tocdepth. + index.numbered, index.tocdepth. + + + diff --git a/docs/params/bibliography.tocdepth.xml b/docs/params/bibliography.tocdepth.xml new file mode 100644 index 0000000..07e4c5a --- /dev/null +++ b/docs/params/bibliography.tocdepth.xml @@ -0,0 +1,29 @@ + + + + + bibliography.tocdepth + + + bibliography.tocdepth + How bibliography section and subsections appear in TOC + + + + + + + + Description + Same than preface.tocdepth for bibliography +sections. Meaningful only when bibliography.numbered is set +to 0. + + + See Also + bibliography.numbered. + refentry.numbered, refentry.tocdepth. + glossary.numbered, glossary.tocdepth. + index.numbered, index.tocdepth. + + diff --git a/docs/params/body.font.family.xml b/docs/params/body.font.family.xml new file mode 100644 index 0000000..cb8b9aa --- /dev/null +++ b/docs/params/body.font.family.xml @@ -0,0 +1,26 @@ + + + + + body.font.family + + + body.font.family + The default font family for body text + + + + + + + Description + The body font family is the default font used for text in the page + body. + Currently this parameter is taken into account only when the xetex + backend is used, through the xetex.font. + + + See Also + xetex.font + + diff --git a/docs/params/callout.linkends.hot.xml b/docs/params/callout.linkends.hot.xml new file mode 100644 index 0000000..4073305 --- /dev/null +++ b/docs/params/callout.linkends.hot.xml @@ -0,0 +1,21 @@ + + + + + callout.linkends.hot + + + callout.linkends.hot + Hot links callout items + + + + + + + Description + The callouts referenced in a callout list are hot links if the +parameter is set to 1. Then, the references are in red such like any other +cross-reference link in the document. + + diff --git a/docs/params/callout.markup.circled.xml b/docs/params/callout.markup.circled.xml new file mode 100644 index 0000000..0f750db --- /dev/null +++ b/docs/params/callout.markup.circled.xml @@ -0,0 +1,21 @@ + + + + + callout.markup.circled + + + callout.markup.circled + Use black circles for numbering the callout items? + + + + + + + Description + Set to 1 the callouts references in a calloutlist +are white numbers in black circles, like the markups in the listing (or +graphic). Set to 0 the references are simple numbers. + + diff --git a/docs/params/calloutlist.style.xml b/docs/params/calloutlist.style.xml new file mode 100644 index 0000000..8b1d957 --- /dev/null +++ b/docs/params/calloutlist.style.xml @@ -0,0 +1,20 @@ + + + + + calloutlist.style + + + calloutlist.style + Callout list style to apply + + + + + + + Description + Defines how the callout list items are displayed. The value must be +some valid enumitem description list options. + + diff --git a/docs/params/citation.default.style.xml b/docs/params/citation.default.style.xml new file mode 100644 index 0000000..a370b7c --- /dev/null +++ b/docs/params/citation.default.style.xml @@ -0,0 +1,25 @@ + + + + + citation.default.style + + + citation.default.style + Default natbib citation style to apply + + + + + + Description + Default natbib citation style to apply when natbib is used. + + + See Also + + + + + + diff --git a/docs/params/citation.natbib.options.xml b/docs/params/citation.natbib.options.xml new file mode 100644 index 0000000..550e937 --- /dev/null +++ b/docs/params/citation.natbib.options.xml @@ -0,0 +1,20 @@ + + + + + citation.natbib.options + + + citation.natbib.options + Specifies the natbib package options + + + + + + + + Description + Options to pass to the natbib package when it is loaded. See also . + + diff --git a/docs/params/citation.natbib.use.xml b/docs/params/citation.natbib.use.xml new file mode 100644 index 0000000..724dc78 --- /dev/null +++ b/docs/params/citation.natbib.use.xml @@ -0,0 +1,20 @@ + + + + + citation.natbib.use + + + citation.natbib.use + Use natbib to display citations + + + + + + + Description + Load the natbib package, and allows the use of natbib citation styles. +The package is loaded if the parameter is set to 1. See . + + diff --git a/docs/params/cjk.font.xml b/docs/params/cjk.font.xml new file mode 100644 index 0000000..73b7237 --- /dev/null +++ b/docs/params/cjk.font.xml @@ -0,0 +1,20 @@ + + + + + cjk.font + + + cjk.font + Fonts to use in CJK environments + + + + + + + Description + Fonts to use in CJK environments (i.e. for Chinese, Japanese or Korean +documents handled by the CJK package). + + diff --git a/docs/params/classsynopsis.default.language.xml b/docs/params/classsynopsis.default.language.xml new file mode 100644 index 0000000..a03af62 --- /dev/null +++ b/docs/params/classsynopsis.default.language.xml @@ -0,0 +1,20 @@ + + + + + classsynopsis.default.language + + + classsynopsis.default.language + Default language of a classynopsis + + + + + + + Description + Language used when the language attribute is + missing. + + diff --git a/docs/params/co.linkends.show.xml b/docs/params/co.linkends.show.xml new file mode 100644 index 0000000..3aa1ce8 --- /dev/null +++ b/docs/params/co.linkends.show.xml @@ -0,0 +1,22 @@ + + + + + co.linkends.show + + + co.linkends.show + Show the references to calloutlist items next to the markup + + + + + + + + Description + Next to a callout markup the links to the corresponding calloutlist +items are shown when the parameter is set to 1. Set to 0 the links are not +shown. + + diff --git a/docs/params/colophon.tocdepth.xml b/docs/params/colophon.tocdepth.xml new file mode 100644 index 0000000..3d85e48 --- /dev/null +++ b/docs/params/colophon.tocdepth.xml @@ -0,0 +1,21 @@ + + + + + colophon.tocdepth + + + colophon.tocdepth + How colophon section and subsections appear in TOC + + + + + + + + Description + Same than preface.tocdepth for colophon +sections. + + diff --git a/docs/params/crop.marks.xml b/docs/params/crop.marks.xml new file mode 100644 index 0000000..83dcca1 --- /dev/null +++ b/docs/params/crop.marks.xml @@ -0,0 +1,23 @@ + + + + +crop.marks +boolean + + +crop.marks +Output crop marks? + + + + + + + +Description + +If non-zero, crop marks will be added to each page. Crop marks are +produced with the latex crop package. + + diff --git a/docs/params/crop.mode.xml b/docs/params/crop.mode.xml new file mode 100644 index 0000000..831b458 --- /dev/null +++ b/docs/params/crop.mode.xml @@ -0,0 +1,21 @@ + + + + + crop.mode + + + crop.mode + How to display crops + + + + + + + Description + Mode to pass to the crop package defining the form of the crops to + display when crop.marks is not set to zero. + The allowed values are detailed in the crop package manual. + + diff --git a/docs/params/crop.options.xml b/docs/params/crop.options.xml new file mode 100644 index 0000000..11c1071 --- /dev/null +++ b/docs/params/crop.options.xml @@ -0,0 +1,20 @@ + + + + + crop.options + + + crop.options + Raw options passed to the crop package + + + + + + + Description + Options directly passed to the crop package when crop marks are asked + with the crop.marks set to non-zero. + + diff --git a/docs/params/crop.page.height.xml b/docs/params/crop.page.height.xml new file mode 100644 index 0000000..69ee623 --- /dev/null +++ b/docs/params/crop.page.height.xml @@ -0,0 +1,30 @@ + + + + +crop.page.height +length + + +crop.page.height +The height of the physical crop page + + + + + + + +Description + +The crop page height is generally calculated from the +crop.paper.type parameter. + +The parameter is used only if +crop.marks parameter is not set to zero. + +The usefull page is always centered in the crop page, and there is +no parameter to change this behaviour. + + + diff --git a/docs/params/crop.page.width.xml b/docs/params/crop.page.width.xml new file mode 100644 index 0000000..f6117cb --- /dev/null +++ b/docs/params/crop.page.width.xml @@ -0,0 +1,30 @@ + + + + +crop.page.width +length + + +crop.page.width +The width of the physical crop page + + + + + + + + +Description + +The crop page width does not need to be specified when +crop.paper.type is set. +The parameter is used only if +crop.marks parameter is not set to zero. + +The usefull page is always centered in the crop page, and there is +no parameter to change this behaviour. + + + diff --git a/docs/params/crop.paper.type.xml b/docs/params/crop.paper.type.xml new file mode 100644 index 0000000..fe26d9a --- /dev/null +++ b/docs/params/crop.paper.type.xml @@ -0,0 +1,36 @@ + + + + +crop.paper.type +list +open + + +crop.paper.type +Select the paper type for paper with crops + + + + + + + +Description + +The paper type is a convenient way to specify the paper size. +The list of known paper sizes includes USletter and most of the A, +B, and C sizes. +This parameter gives the paper type of the physical page containing +crops and the usefull page. The crop paper type is valid only if the overall +size actually +contains the usefull page whose sizes are defined with the page layout +parameters. +The crop paper type is used only if +crop.marks parameter is not set to zero. + +The usefull page is always centered in the crop page, and there is +no parameter to change this behaviour. + + + diff --git a/docs/params/dedication.tocdepth.xml b/docs/params/dedication.tocdepth.xml new file mode 100644 index 0000000..ef73a00 --- /dev/null +++ b/docs/params/dedication.tocdepth.xml @@ -0,0 +1,21 @@ + + + + + dedication.tocdepth + + + dedication.tocdepth + How dedication section and subsections appear in TOC + + + + + + + + Description + Same than preface.tocdepth for dedication +sections. + + diff --git a/docs/params/default.table.rules.xml b/docs/params/default.table.rules.xml new file mode 100644 index 0000000..ddb8854 --- /dev/null +++ b/docs/params/default.table.rules.xml @@ -0,0 +1,70 @@ + + + + + default.table.rules + + + default.table.rules + The default column and row rules for tables using HTML markup + + + + + + +Description + +Tables using HTML markup elements can use an attribute +named rules on the table or +informaltable element +to specify whether column and row border rules should be +displayed. This parameter lets you specify a global default +style for all HTML tables that don't otherwise have +that attribute. +These are the supported values: + + +all + +Rules will appear between all rows and columns. + + + +rows + +Rules will appear between rows only. + + + +cols + +Rules will appear between columns only. + + + +groups + +Rules will appear between row groups (thead, tfoot, tbody). +No support for rules between column groups yet. + + + + +none + +No rules. This is the default value. + + + + + + +The border after the last row and the border after +the last column are not affected by +this setting. Those borders are controlled by +the frame attribute on the table element. + + + + diff --git a/docs/params/default.table.width.xml b/docs/params/default.table.width.xml new file mode 100644 index 0000000..914abca --- /dev/null +++ b/docs/params/default.table.width.xml @@ -0,0 +1,40 @@ + + + + + default.table.width + + + default.table.width + The default width of tables + + + + + + + Description + If non-empty, this value controls table width. It is used for the +width attribute on tables that do not specify an +alternate width (with the +dblatex table-width processing instruction, or with +the newtbl.autowidth parameter). + + The parameter takes one of the following values: + + + + + + See Also + + + + + + + diff --git a/docs/params/doc.alignment.xml b/docs/params/doc.alignment.xml new file mode 100644 index 0000000..022e14f --- /dev/null +++ b/docs/params/doc.alignment.xml @@ -0,0 +1,22 @@ + + + + + doc.alignment + + + doc.alignment + Specifies the text alignement of the document + + + + + + + + Description + Defines the text alignment for the whole document. The valid values +are: "left", "center", "right", "justify". An empty string is equivalent to +"justify". + + diff --git a/docs/params/doc.collab.show.xml b/docs/params/doc.collab.show.xml new file mode 100644 index 0000000..52324f6 --- /dev/null +++ b/docs/params/doc.collab.show.xml @@ -0,0 +1,20 @@ + + + + + doc.collab.show + + + doc.collab.show + Print the document collaborators (authors, etc.) in a table + + + + + + + Description + Show the collaborators (authors, contributors) defined in the document +information block. + + diff --git a/docs/params/doc.layout.xml b/docs/params/doc.layout.xml new file mode 100644 index 0000000..b5885c9 --- /dev/null +++ b/docs/params/doc.layout.xml @@ -0,0 +1,26 @@ + + + + + doc.layout + + + doc.layout + Specifies the overall document layout. + + + + + + + Description + The parameter configures the overall document layout, i.e. it + specifies if the document must contain a coverpage, some TOC/LOTs, + a frontmatter + layout (for metadata/preface/dedication rendering), an index section, + etc. + See also the doc.lot.show and + doc.toc.show parameters to specify the + content of the TOC/LOTs. + + diff --git a/docs/params/doc.lot.show.xml b/docs/params/doc.lot.show.xml new file mode 100644 index 0000000..cc1437b --- /dev/null +++ b/docs/params/doc.lot.show.xml @@ -0,0 +1,23 @@ + + + + + doc.lot.show + + + doc.lot.show + Specifies the Lists of Titles to display + + + + + + + + Description + Specifies which Lists of Titles should be printed after the Table of +Content. The value is a comma separated list of the LoTs to show. The +supported LoTs are "figure", "table", "equation", and "example". The list +order represents the LoTs order in the output document. + + diff --git a/docs/params/doc.pdfcreator.show.xml b/docs/params/doc.pdfcreator.show.xml new file mode 100644 index 0000000..82a75bf --- /dev/null +++ b/docs/params/doc.pdfcreator.show.xml @@ -0,0 +1,21 @@ + + + + + doc.pdfcreator.show + + + doc.pdfcreator.show + Set the PDF metadata Creator field + + + + + + + Description + Fill the Creator field of the PDF document information section with +"DBLaTeX-<version>" if the parameter is set to 1. Set to 0 this field is +keep untouched. + + diff --git a/docs/params/doc.publisher.show.xml b/docs/params/doc.publisher.show.xml new file mode 100644 index 0000000..dbd2376 --- /dev/null +++ b/docs/params/doc.publisher.show.xml @@ -0,0 +1,21 @@ + + + + + doc.publisher.show + + + doc.publisher.show + Print the dblatex logo on the cover page? + + + + + + + + Description + Print the dblatex logo on the cover page for the native docbook style +if the parameter is set to 1. + + diff --git a/docs/params/doc.section.depth.xml b/docs/params/doc.section.depth.xml new file mode 100644 index 0000000..d704e0e --- /dev/null +++ b/docs/params/doc.section.depth.xml @@ -0,0 +1,20 @@ + + + + + doc.section.depth + + + doc.section.depth + Depth of the section numbering + + + + + + + Description + Depth of the section numbering. Used to set the latex +secnumdepth counter. + + diff --git a/docs/params/doc.toc.show.xml b/docs/params/doc.toc.show.xml new file mode 100644 index 0000000..279fffc --- /dev/null +++ b/docs/params/doc.toc.show.xml @@ -0,0 +1,19 @@ + + + + + doc.toc.show + + + doc.toc.show + Print the Table Of Contents + + + + + + + Description + Print the table of contents when set to 1. + + diff --git a/docs/params/draft.mode.xml b/docs/params/draft.mode.xml new file mode 100644 index 0000000..3c64198 --- /dev/null +++ b/docs/params/draft.mode.xml @@ -0,0 +1,24 @@ + + + + + draft.mode + + + draft.mode + Select draft mode + + + + + + + Description + Print releaseinfo in a framed box in the header, +when the parameter is set to 'yes'. The releaseinfo is +ignored if the parameter is set to 'no', or if the releaseinfo content is +empty. When the parameter is set to 'maybe', the draft mode is deduced from +the status attribute of the root element if set to +'draft'. + + diff --git a/docs/params/draft.watermark.xml b/docs/params/draft.watermark.xml new file mode 100644 index 0000000..1e65c6d --- /dev/null +++ b/docs/params/draft.watermark.xml @@ -0,0 +1,20 @@ + + + + + draft.watermark + + + draft.watermark + Print a Watermak on each page in draft mode? + + + + + + + Description + Print the draft text (that is, "DRAFT") as a watermark on each page, if +the document is in draft mode and if the parameter is set to '1'. + + diff --git a/docs/params/endnotes.heading.command.xml b/docs/params/endnotes.heading.command.xml new file mode 100644 index 0000000..4080609 --- /dev/null +++ b/docs/params/endnotes.heading.command.xml @@ -0,0 +1,29 @@ + + + + + endnotes.heading.command + + + endnotes.heading.command + LaTeX command of the endnotes headings + + + + + + + Description + With this parameter you can provide your own latex macro to make the + endnotes headings. If not set, dblatex uses the default + sectionning commands like \section*, + \subsection*, and so on. The command takes one + parameter that is the title markup of the heading. + For more details see . + + + See Also + endnotes.heading.groups + endnotes.heading.command + + diff --git a/docs/params/endnotes.heading.groups.xml b/docs/params/endnotes.heading.groups.xml new file mode 100644 index 0000000..ff7ac67 --- /dev/null +++ b/docs/params/endnotes.heading.groups.xml @@ -0,0 +1,29 @@ + + + + + endnotes.heading.groups + + + endnotes.heading.groups + Display the endnotes by groups + + + + + + + Description + In the endnote section, the notes are grouped according to the level + defined by the elements listed in this parameter. Each group has a heading + that references the element that contains these notes. + By default, dblatex can group per chapter or per + part. For more details + see . + + + See Also + endnotes.heading.style + endnotes.heading.command + + diff --git a/docs/params/endnotes.heading.style.xml b/docs/params/endnotes.heading.style.xml new file mode 100644 index 0000000..1015da7 --- /dev/null +++ b/docs/params/endnotes.heading.style.xml @@ -0,0 +1,27 @@ + + + + + endnotes.heading.style + + + endnotes.heading.style + Style of the heading of endnotes groups + + + + + + + Description + This parameter is provided to format the heading of an endnote group. + It uses the xrefstyle syntax, and therefore one can + specify directly a template, or select some keywords to substitute. + For more details see . + + + See Also + endnotes.heading.groups + endnotes.heading.command + + diff --git a/docs/params/endnotes.properties.xml b/docs/params/endnotes.properties.xml new file mode 100644 index 0000000..f563aa7 --- /dev/null +++ b/docs/params/endnotes.properties.xml @@ -0,0 +1,31 @@ + + + + + endnotes.properties + + + endnotes.properties + Properties of the latex package endnotes setup + + + + + + Description +These properties are used to configure the endnotes +package when the foonotes are printed as endnotes. +Each attribute defines the content of the setup macros of the package. +The user should always override the attributes of +endnotes.properties and leave +endnotes.properties.default untouched. +See for +more details. + + + + See Also + footnote.as.endnote + + + diff --git a/docs/params/equation.default.position.xml b/docs/params/equation.default.position.xml new file mode 100644 index 0000000..d2564ce --- /dev/null +++ b/docs/params/equation.default.position.xml @@ -0,0 +1,21 @@ + + + + + equation.default.position + + + equation.default.position + Default equation float placement to apply + + + + + + + Description + Default equation float placement algorithm to apply. See +figure.default.position for more details about how to use latex float +specifications. + + diff --git a/docs/params/example.default.position.xml b/docs/params/example.default.position.xml new file mode 100644 index 0000000..4716777 --- /dev/null +++ b/docs/params/example.default.position.xml @@ -0,0 +1,22 @@ + + + + + example.default.position + + + example.default.position + Default example float placement to apply + + + + + + + + Description + Default example float placement algorithm to apply. See +figure.default.position for more details about how to use latex float +specifications. + + diff --git a/docs/params/example.float.type.xml b/docs/params/example.float.type.xml new file mode 100644 index 0000000..102c945 --- /dev/null +++ b/docs/params/example.float.type.xml @@ -0,0 +1,34 @@ + + + + + example.float.type + + + example.float.type + Select the type of float for example elements + + + + + + + Description + Selects the type of float for example elements. + + + + If example.float.type is “none”, then no float is used. It may be usefull when the example must be displayed exactly where it is defined or when it must cover several pages. + + + If example.float.type is "float”, then the float environment is used. The actual float placement is computed by latex according to the floatstyle attribute if specified, or according to the example.default.position parameter. + + + + + + See Also + example.default.position. + figure.default.position. + + diff --git a/docs/params/figure.anchor.top.xml b/docs/params/figure.anchor.top.xml new file mode 100644 index 0000000..2e7baeb --- /dev/null +++ b/docs/params/figure.anchor.top.xml @@ -0,0 +1,31 @@ + + + + + figure.anchor.top + + + figure.anchor.top + Cross reference anchor on top of the figure float + + + + + + + + Description + By default the anchor of a formal figure is where the figure title + appears. It means that a link to the figure points after the + image when the title is below the image, and at the top of the image when + the title is on the top. + This parameter allows to put the anchor at the top of the image even if the + title is below the figure. + Note that it is not possible to have the anchor below the image + if the title is on the top. + + + See Also + figure.title.top + + diff --git a/docs/params/figure.caution.xml b/docs/params/figure.caution.xml new file mode 100644 index 0000000..40ca870 --- /dev/null +++ b/docs/params/figure.caution.xml @@ -0,0 +1,21 @@ + + + + + figure.caution + + + figure.caution + Figure to use to render a caution block. + + + + + + + Description + Figure to use to render a caution block. This +parameter is added to allow new latex styles to use their own figures in +admonitions. + + diff --git a/docs/params/figure.default.position.xml b/docs/params/figure.default.position.xml new file mode 100644 index 0000000..0d2a106 --- /dev/null +++ b/docs/params/figure.default.position.xml @@ -0,0 +1,23 @@ + + + + + figure.default.position + + + figure.default.position + Figure float placement policy + + + + + + + + Description + Default figure float placement algorithm to apply. The default +parameter value is [htbp] meaning that latex tries to place the figure where +it occurs first (h, here), then at the top of the page (t), at the bottom of +the page (b), and finally on the next page (p). + + diff --git a/docs/params/figure.important.xml b/docs/params/figure.important.xml new file mode 100644 index 0000000..73058b0 --- /dev/null +++ b/docs/params/figure.important.xml @@ -0,0 +1,21 @@ + + + + + figure.important + + + figure.important + Figure to use to render a important block + + + + + + + Description + Figure to use to render a important block. This +parameter is added to allow new latex styles to use their own figures in +admonitions. + + diff --git a/docs/params/figure.note.xml b/docs/params/figure.note.xml new file mode 100644 index 0000000..fb29ba1 --- /dev/null +++ b/docs/params/figure.note.xml @@ -0,0 +1,21 @@ + + + + + figure.note + + + figure.note + Figure to use to render a note block + + + + + + + Description + Figure to use to render a note block. This parameter +is added to allow new latex styles to use their own figures in +admonitions. + + diff --git a/docs/params/figure.tip.xml b/docs/params/figure.tip.xml new file mode 100644 index 0000000..da399c0 --- /dev/null +++ b/docs/params/figure.tip.xml @@ -0,0 +1,21 @@ + + + + + figure.tip + + + figure.tip + Figure to use to render a tip block + + + + + + + Description + Figure to use to render a tip block. This parameter +is added to allow new latex styles to use their own figures in +admonitions. + + diff --git a/docs/params/figure.title.top.xml b/docs/params/figure.title.top.xml new file mode 100644 index 0000000..9212097 --- /dev/null +++ b/docs/params/figure.title.top.xml @@ -0,0 +1,21 @@ + + + + + figure.title.top + + + figure.title.top + Title on top of the figure float + + + + + + + + Description + Set to 1 the figure float title position is above +the image. Set to 0 the title is under the image. + + diff --git a/docs/params/figure.warning.xml b/docs/params/figure.warning.xml new file mode 100644 index 0000000..3b966a7 --- /dev/null +++ b/docs/params/figure.warning.xml @@ -0,0 +1,22 @@ + + + + + figure.warning + + + figure.warning + Figure to use to render a warning + block + + + + + + + Description + Figure to use to render a warning block. This +parameter is added to allow new latex styles to use their own figures in +admonitions. + + diff --git a/docs/params/filename.as.url.xml b/docs/params/filename.as.url.xml new file mode 100644 index 0000000..459a760 --- /dev/null +++ b/docs/params/filename.as.url.xml @@ -0,0 +1,21 @@ + + + + + filename.as.url + + + filename.as.url + Hyphenate a filename like if is was an URL + + + + + + + Description + Set to 1 the filenames are handled as URLs, with the +same hyphenation rules. Set to 0 the filename hyphenation +is forced for each character. + + diff --git a/docs/params/footnote.as.endnote.xml b/docs/params/footnote.as.endnote.xml new file mode 100644 index 0000000..e244e00 --- /dev/null +++ b/docs/params/footnote.as.endnote.xml @@ -0,0 +1,28 @@ + + + + + footnote.as.endnote + + + footnote.as.endnote + Use footnotes as endnotes + + + + + + + Description +When set to 1, the footnotes are displayed as endnotes, that is, all the +notes appear in a section at the end of the document. See for +more details. + + + + See Also + endnotes.properties + + + diff --git a/docs/params/funcsynopsis.decoration.xml b/docs/params/funcsynopsis.decoration.xml new file mode 100644 index 0000000..6347330 --- /dev/null +++ b/docs/params/funcsynopsis.decoration.xml @@ -0,0 +1,22 @@ + + + + + funcsynopsis.decoration + + + funcsynopsis.decoration + Decorate elements of a funcsynopsis? + + + + + + Description + If non-zero, elements of the funcsynopsis will be +decorated (e.g. rendered as bold or italic text). The decoration is controlled by +templates that can be redefined in a customization layer. + +This parameter is taken from the DocBook Project XSL parameters. + + diff --git a/docs/params/funcsynopsis.style.xml b/docs/params/funcsynopsis.style.xml new file mode 100644 index 0000000..26b78dd --- /dev/null +++ b/docs/params/funcsynopsis.style.xml @@ -0,0 +1,23 @@ + + + + + funcsynopsis.style + + + funcsynopsis.style + What style of funcsynopsis should be generated? + + + + + + Description + If funcsynopsis.style is ansi, +ANSI-style function synopses are generated for a +funcsynopsis, otherwise K&R-style +function synopses are generated. + +This parameter is taken from the DocBook Project XSL parameters. + + diff --git a/docs/params/function.parens.xml b/docs/params/function.parens.xml new file mode 100644 index 0000000..aa93f1c --- /dev/null +++ b/docs/params/function.parens.xml @@ -0,0 +1,21 @@ + + + + + function.parens + + + function.parens + Generate parens after a function? + + + + + + Description + If non-zero, the formatting of a function element +will include generated parentheses. + +This parameter is taken from the DocBook Project XSL parameters. + + diff --git a/docs/params/geometry.options.xml b/docs/params/geometry.options.xml new file mode 100644 index 0000000..cdee3e8 --- /dev/null +++ b/docs/params/geometry.options.xml @@ -0,0 +1,36 @@ + + + + + geometry.options + + + geometry.options + Raw options to pass to the geometry package + + + + + + + Description + The content of this parameter is directly passed as options to the + latex geometry package, when the page layout setup is customized by the + user. Page layout customization is done through setting one or more of the + pagination parameters (see below). If + geometry.options is set but none of the other + parameters is set, nothing is passed to geometry because the package is + loaded only when the layout is not the default one. + + + See Also + +page.height, +page.margin.bottom, +page.margin.inner, +page.margin.outer, +page.margin.top, +page.width, +paper.type. + + diff --git a/docs/params/glossary.numbered.xml b/docs/params/glossary.numbered.xml new file mode 100644 index 0000000..ffe2074 --- /dev/null +++ b/docs/params/glossary.numbered.xml @@ -0,0 +1,28 @@ + + + + + glossary.numbered + + + glossary.numbered + Should glossary headings be numbered? + + + + + + + + Description + Defines either the glossary titles are numbered or +not. When numbered, it is displayed as any other numbered section. + + + See Also + glossary.tocdepth. + refentry.numbered, refentry.tocdepth. + bibliography.numbered, bibliography.tocdepth. + index.numbered, index.tocdepth. + + diff --git a/docs/params/glossary.tocdepth.xml b/docs/params/glossary.tocdepth.xml new file mode 100644 index 0000000..39cd731 --- /dev/null +++ b/docs/params/glossary.tocdepth.xml @@ -0,0 +1,30 @@ + + + + + glossary.tocdepth + + + glossary.tocdepth + How glossary section and subsections appear in TOC + + + + + + + + Description + Same than preface.tocdepth for glossary +sections. Meaningful only when glossary.numbered is set +to 0. + + + See Also + glossary.numbered. + refentry.numbered, refentry.tocdepth. + bibliography.numbered, bibliography.tocdepth. + index.numbered, index.tocdepth. + + + diff --git a/docs/params/glossterm.auto.link.xml b/docs/params/glossterm.auto.link.xml new file mode 100644 index 0000000..f857953 --- /dev/null +++ b/docs/params/glossterm.auto.link.xml @@ -0,0 +1,21 @@ + + + + + glossterm.auto.link + + + glossterm.auto.link + Generate links from glossterm to glossentry automatically? + + + + + + + + Description + When set to 1, the glossterms in the document are linked to their +definition in the glossary. + + diff --git a/docs/params/hyphenation.format.xml b/docs/params/hyphenation.format.xml new file mode 100644 index 0000000..a9c6e0c --- /dev/null +++ b/docs/params/hyphenation.format.xml @@ -0,0 +1,61 @@ + + + + + hyphenation.format + + + hyphenation.format + Predefined formats to hyphenate + + + + + + + Description + This parameter replaces the parameter + monoseq.hyphenation and its role is more general. + It contains a comma separated list of the predefined inline + formats that must be agressively hyphenated. It means that all the + elements rendered with these formats are then hyphenated. + The predefined formats that can be hyphenated when contained in the + list are: + + + monoseq + + Monospaced font. + + + + sansseq + + Sans serif like font. + + + + boldmonoseq + + Bold monospaced font. + + + + italicmonoseq + + Italic monospaced font. + + + + + If one wants no hyphenation at all, he must set the parameter to + "nohyphen". In this case dblatex tries to avoid overfull boxes (words in + the margins) but keeps the words splittable only on their natural + hyphenation points which can end up to no hyphenation at all for literal + words like URLs or technical terms. + + + See Also + monoseq.hyphenation + + diff --git a/docs/params/imagedata.boxed.xml b/docs/params/imagedata.boxed.xml new file mode 100644 index 0000000..035c37c --- /dev/null +++ b/docs/params/imagedata.boxed.xml @@ -0,0 +1,20 @@ + + + + + imagedata.boxed + + + imagedata.boxed + Put the images into a framed box + + + + + + + + Description + If set to 1, put the images into a framed box. + + diff --git a/docs/params/imagedata.default.scale.xml b/docs/params/imagedata.default.scale.xml new file mode 100644 index 0000000..1c65653 --- /dev/null +++ b/docs/params/imagedata.default.scale.xml @@ -0,0 +1,35 @@ + + + + + imagedata.default.scale + + + imagedata.default.scale + Specifies the default image scaling properties + + + + + + + Description + + Default scale to apply to every imagedata that does not contain any scaling attribute. +By default this parameter is set to `pagebound` +so that the included images keep their natural size up to the page +boundaries. +Two other special parameters are available: +'maxwidth=width' and +'maxheight=height' where width +and height define the maximum image +dimensions, i.e. the image keeps its natural size up to the specified +maximum dimension. Both 'maxwidth' and 'maxheight' settings can be combined in a +comma separated list. +Example: +dblatex -P imagedata.default.scale=maxwidth=10cm,maxheight=8cm file.xml + +Except these special reserved values, the expected value of the parameter +must be some valid options passed to the \includegraphics command. + + diff --git a/docs/params/imagedata.file.check.xml b/docs/params/imagedata.file.check.xml new file mode 100644 index 0000000..ecaf399 --- /dev/null +++ b/docs/params/imagedata.file.check.xml @@ -0,0 +1,20 @@ + + + + + imagedata.file.check + + + imagedata.file.check + Make the latex compilation robust to missing images + + + + + + + Description + When set to 1 some tex code is added to ensure that latex compilation +does not fail when the referenced imagedata file does not exist. + + diff --git a/docs/params/imageobjectco.hide.xml b/docs/params/imageobjectco.hide.xml new file mode 100644 index 0000000..2d64466 --- /dev/null +++ b/docs/params/imageobjectco.hide.xml @@ -0,0 +1,24 @@ + + + + + imageobjectco.hide + + + imageobjectco.hide + Hide the callout markups on the image + + + + + + + + Description + When set to 1 the callout numbered circles are not drawn on the image. +Only the anchors are put, allowing callout list items to jump at the +referenced position on the image. The purpose of this parameter is to allow +the use of images that already contain the callout numbers (like for GIMP +manual). + + diff --git a/docs/params/index.numbered.xml b/docs/params/index.numbered.xml new file mode 100644 index 0000000..ab58ceb --- /dev/null +++ b/docs/params/index.numbered.xml @@ -0,0 +1,28 @@ + + + + + index.numbered + + + index.numbered + Should index headings be numbered? + + + + + + + + Description + Defines either the index titles are numbered or +not. When numbered, it is displayed as any other numbered section. + + + See Also + index.tocdepth. + refentry.numbered, refentry.tocdepth. + bibliography.numbered, bibliography.tocdepth. + glossary.numbered, glossary.tocdepth. + + diff --git a/docs/params/index.tocdepth.xml b/docs/params/index.tocdepth.xml new file mode 100644 index 0000000..e7ba308 --- /dev/null +++ b/docs/params/index.tocdepth.xml @@ -0,0 +1,30 @@ + + + + + index.tocdepth + + + index.tocdepth + How index section and subsections appear in TOC + + + + + + + + Description + Same than preface.tocdepth for index +sections. Meaningful only when index.numbered is set +to 0. + + + See Also + index.numbered. + refentry.numbered, refentry.tocdepth. + bibliography.numbered, bibliography.tocdepth. + glossary.numbered, glossary.tocdepth. + + + diff --git a/docs/params/insert.xref.page.number.para.xml b/docs/params/insert.xref.page.number.para.xml new file mode 100644 index 0000000..493211a --- /dev/null +++ b/docs/params/insert.xref.page.number.para.xml @@ -0,0 +1,44 @@ + + + + + insert.xref.page.number.para + list + yes + maybe + + + insert.xref.page.number.para + Turns page numbers in xrefs to paragraphs on and + off + + + + + + + Description + The value of this parameter determines if + cross references (xrefs) to paragraphs in + printed output will include page number citations. + + Historically, cross references to paragraphs + included page number citations unconditionally, regardless + of the insert.xref.page.number + value. + + + yes + Page number references will be generated + for paragraphs. + + + maybe + Whether page number references are generated + for an xref element referring to a paragraph will + be controlled by the insert.xref.page.number + rules. + + + + diff --git a/docs/params/insert.xref.page.number.xml b/docs/params/insert.xref.page.number.xml new file mode 100644 index 0000000..ae97fb4 --- /dev/null +++ b/docs/params/insert.xref.page.number.xml @@ -0,0 +1,49 @@ + + + + + insert.xref.page.number + + + insert.xref.page.number + Turns page numbers in xrefs on and off + + + + + + + Description + The value of this parameter determines if +cross references (xrefs) in +printed output will +include page number citations. +It has three possible values. + + + +no +No page number references will be generated. + + + +yes +Page number references will be generated +for all xref elements. +The style of page reference may be changed +if an xrefstyle +attribute is used. + + + +maybe +Page number references will not be generated +for an xref element unless +it has an +xrefstyle +attribute whose value specifies a page reference. + + + + + diff --git a/docs/params/keep.relative.image.uris.xml b/docs/params/keep.relative.image.uris.xml new file mode 100644 index 0000000..6268e5e --- /dev/null +++ b/docs/params/keep.relative.image.uris.xml @@ -0,0 +1,26 @@ + + + + + keep.relative.image.uris + + + keep.relative.image.uris + Should image URIs be resolved against xml:base? + + + + + + + Description + If non-zero, relative URIs (in, for example +fileref attributes) will be used in the generated +output. Otherwise, the URIs will be made absolute with respect to the +base URI. + +Note that the stylesheets calculate (and use) the absolute form +for some purposes, this only applies to the resulting output. + + + diff --git a/docs/params/korean.package.xml b/docs/params/korean.package.xml new file mode 100644 index 0000000..f1094e8 --- /dev/null +++ b/docs/params/korean.package.xml @@ -0,0 +1,21 @@ + + + + + korean.package + + + korean.package + Package included when Korean language is used + + + + + + + + Description + When lang is set to 'ko' and the parameter is set to 'CJK' the CJK +package is included to handle the Korean language. + + diff --git a/docs/params/latex.babel.language.xml b/docs/params/latex.babel.language.xml new file mode 100644 index 0000000..78309ad --- /dev/null +++ b/docs/params/latex.babel.language.xml @@ -0,0 +1,21 @@ + + + + + latex.babel.language + + + latex.babel.language + Force the loaded babel language + + + + + + + + Description + This parameter forces the use of the specified babel language whatever +the document language is. + + diff --git a/docs/params/latex.babel.use.xml b/docs/params/latex.babel.use.xml new file mode 100644 index 0000000..9cd07ad --- /dev/null +++ b/docs/params/latex.babel.use.xml @@ -0,0 +1,22 @@ + + + + + latex.babel.use + + + latex.babel.use + Disable the use of babel, whatever the document language is + + + + + + + + Description + Set to 1 the babel package corresponding to the document language is +included. Set to 0 no babel package is included whatever the document language +is. + + diff --git a/docs/params/latex.bibfiles.xml b/docs/params/latex.bibfiles.xml new file mode 100644 index 0000000..314bbc4 --- /dev/null +++ b/docs/params/latex.bibfiles.xml @@ -0,0 +1,22 @@ + + + + + latex.bibfiles + + + latex.bibfiles + Defines the default BibTeX database to use + + + + + + + + Description + Defines the default BibTeX database to use. Used when the bibtex PI +does not have a "bibfiles" attribute. See for +more details. + + diff --git a/docs/params/latex.biblio.output.xml b/docs/params/latex.biblio.output.xml new file mode 100644 index 0000000..b56e1d6 --- /dev/null +++ b/docs/params/latex.biblio.output.xml @@ -0,0 +1,34 @@ + + + + + latex.biblio.output + + + latex.biblio.output + Defines how the BibTeX bibliographic entries are printed out + + + + + + + Description + The available print mode values are: + + + + The default print mode is 'all'. + + + See Also + + + + + + diff --git a/docs/params/latex.biblio.style.xml b/docs/params/latex.biblio.style.xml new file mode 100644 index 0000000..b6a345c --- /dev/null +++ b/docs/params/latex.biblio.style.xml @@ -0,0 +1,26 @@ + + + + + latex.biblio.style + + + latex.biblio.style + Default BibTeX style to apply + + + + + + Description + Defines the default BibTeX style to apply. Meaningful when not empty, +only for the used bibtex databases. + + + See Also + + + + + + diff --git a/docs/params/latex.bibwidelabel.xml b/docs/params/latex.bibwidelabel.xml new file mode 100644 index 0000000..2c1ee20 --- /dev/null +++ b/docs/params/latex.bibwidelabel.xml @@ -0,0 +1,23 @@ + + + + + latex.bibwidelabel + + + latex.bibwidelabel + Template of the widest bibliography label + + + + + + + Description + The environment bibliography accepts a parameter that indicates the + widest label, which is used to correctly format the bibliography output. + The value of this parameter is output inside the + \begin{thebibliography[]} LaTeX command. + + + diff --git a/docs/params/latex.class.article.xml b/docs/params/latex.class.article.xml new file mode 100644 index 0000000..4fdb9f3 --- /dev/null +++ b/docs/params/latex.class.article.xml @@ -0,0 +1,21 @@ + + + + + latex.class.article + + + latex.class.article + LaTeX document class to use for +article documents + + + + + + + Description + This parameter sets the document class to use for +article documents. + + diff --git a/docs/params/latex.class.book.xml b/docs/params/latex.class.book.xml new file mode 100644 index 0000000..b2201c0 --- /dev/null +++ b/docs/params/latex.class.book.xml @@ -0,0 +1,21 @@ + + + + + latex.class.book + + + latex.class.book + LaTeX document class to use for +book documents + + + + + + + Description + This parameter sets the document class to use for +book documents. + + diff --git a/docs/params/latex.class.options.xml b/docs/params/latex.class.options.xml new file mode 100644 index 0000000..4cb3e58 --- /dev/null +++ b/docs/params/latex.class.options.xml @@ -0,0 +1,19 @@ + + + + + latex.class.options + + + latex.class.options + Options passed to the \documentclass command + + + + + + + Description + Options passed to the \documentclass command. + + diff --git a/docs/params/latex.encoding.xml b/docs/params/latex.encoding.xml new file mode 100644 index 0000000..15a7e62 --- /dev/null +++ b/docs/params/latex.encoding.xml @@ -0,0 +1,22 @@ + + + + + latex.encoding + + + latex.encoding + Encoding of the latex document to produce + + + + + + + + Description + Encoding of the latex document to produce. The supported values are: +"latin1" and "utf8". See for more details +about how to use it. + + diff --git a/docs/params/latex.engine.options.xml b/docs/params/latex.engine.options.xml new file mode 100644 index 0000000..9f9a889 --- /dev/null +++ b/docs/params/latex.engine.options.xml @@ -0,0 +1,33 @@ + + + + + latex.engine.options + + + latex.engine.options + Extra arguments to pass to the TeX engine + + + + + + + Description + This parameter enables to pass some options or extra arguments to the + TeX engine used to compile the latex file built by + dblatex. + This can be usefull to tweak the PDF generation to meet some specific + needs that cannot be set through latex commands. The following example asks + to xelatex to produce PDF version 1.3 and to embed all + the fonts in the PDF file: + +$ dblatex -b xetex -V -P latex.engine.options="-output-driver='xdvipdfmx -V3 -E'" file.xml +[...] +xelatex -output-driver=xdvipdfmx -V3 -E -interaction=batchmode file.tex +[...] +xelatex -output-driver=xdvipdfmx -V3 -E -interaction=batchmode file.tex +[...] + + + diff --git a/docs/params/latex.hyperparam.xml b/docs/params/latex.hyperparam.xml new file mode 100644 index 0000000..6c154e5 --- /dev/null +++ b/docs/params/latex.hyperparam.xml @@ -0,0 +1,37 @@ + + + + + latex.hyperparam + + + latex.hyperparam + Options/parameters passed to hyperref + + + + + + + + Description + + This parameter gives the options to pass to the LaTeX hyperref package. No validity check is done. + + + For instance, the Table of Content rendering (link color, etc.) can be changed. Look at the hyperref.sty documentation to know all the hyperref options available. + +Configuring with latex.hyperparam + + +]]> +]]> +]]>colorlinks,linkcolor=blue +]]> +]]> + + + diff --git a/docs/params/latex.index.language.xml b/docs/params/latex.index.language.xml new file mode 100644 index 0000000..53826ae --- /dev/null +++ b/docs/params/latex.index.language.xml @@ -0,0 +1,28 @@ + + + + + latex.index.language + + + latex.index.language + Force the language to use for index sorting + + + + + + + + Description + This parameter forces the use of the specified index language whatever +the document language is. The index language is used by some index tools like +xindy that +builds and sorts the index list. Read for more +information about index building. + + + See Also + latex.index.tool. + + diff --git a/docs/params/latex.index.tool.xml b/docs/params/latex.index.tool.xml new file mode 100644 index 0000000..6cb9584 --- /dev/null +++ b/docs/params/latex.index.tool.xml @@ -0,0 +1,27 @@ + + + + + latex.index.tool + + + latex.index.tool + Define the tool to use to build an index + + + + + + + + Description + This parameter defines the LaTeX compatible index tool +to use to build the document index. When empty the default tool used is makeindex. Currenty xindy is the only other +tool supported by dblatex. Read for more +information about index building. + + + See Also + latex.index.language. + + diff --git a/docs/params/latex.output.revhistory.xml b/docs/params/latex.output.revhistory.xml new file mode 100644 index 0000000..774a7a1 --- /dev/null +++ b/docs/params/latex.output.revhistory.xml @@ -0,0 +1,21 @@ + + + + + latex.output.revhistory + + + latex.output.revhistory + Print the revhistory table? + + + + + + + Description + The revhistory data are formatted as a table of the + revisions if the parameter is non-zero. If the parameter is zero all the + revhistory data are skipped. + + diff --git a/docs/params/latex.unicode.use.xml b/docs/params/latex.unicode.use.xml new file mode 100644 index 0000000..fa1ae7e --- /dev/null +++ b/docs/params/latex.unicode.use.xml @@ -0,0 +1,20 @@ + + + + + latex.unicode.use + + + latex.unicode.use + Use passivetex unicode support? + + + + + + + Description + Set to 1 the passivetex unicode support is included, allowing to handle +a wider range of Unicode characters (like cyrillic). + + diff --git a/docs/params/linenumbering.default.xml b/docs/params/linenumbering.default.xml new file mode 100644 index 0000000..598619a --- /dev/null +++ b/docs/params/linenumbering.default.xml @@ -0,0 +1,27 @@ + + + + + linenumbering.default + + + linenumbering.default + Default linenumbering setup for literal environments + + + + + + + Description + This parameter defines the default linenumbering setup to apply to the + templates listed in linenumbering.scope that do not + have a linenumbering attribute. + The parameter value must be consistent and therefore compliant to the + values allowed for the linenumbering attribute. + + + See Also + linenumbering.scope, linenumbering.everyNth. + + diff --git a/docs/params/linenumbering.everyNth.xml b/docs/params/linenumbering.everyNth.xml new file mode 100644 index 0000000..1fd9449 --- /dev/null +++ b/docs/params/linenumbering.everyNth.xml @@ -0,0 +1,21 @@ + + + + + linenumbering.everyNth + + + linenumbering.everyNth + Indicate which lines should be numbered + + + + + + + Description + If line numbering is enabled, everyNth line will be +numbered. Note that numbering is one based, not zero based. + + + diff --git a/docs/params/linenumbering.scope.xml b/docs/params/linenumbering.scope.xml new file mode 100644 index 0000000..29576fa --- /dev/null +++ b/docs/params/linenumbering.scope.xml @@ -0,0 +1,29 @@ + + + + + linenumbering.scope + + + linenumbering.scope + Templates on which the global linenumbering setup applies + + + + + + + Description + List of the templates for which the + linenumbering.default + parameter applies. The list + separator is a space. For example, when the parameter is set to + "screen programlisting", the two other linenumbering parameters will have + effects only on screen and + programlisting templates. + + + See Also + linenumbering.default, linenumbering.everyNth. + + diff --git a/docs/params/literal.class.xml b/docs/params/literal.class.xml new file mode 100644 index 0000000..4619305 --- /dev/null +++ b/docs/params/literal.class.xml @@ -0,0 +1,21 @@ + + + + + literal.class + + + literal.class + Default class to apply to literallayout + blocks + + + + + + + Description + Default class to apply when no class attribute is + set, to render literallayout environments. + + diff --git a/docs/params/literal.environment.xml b/docs/params/literal.environment.xml new file mode 100644 index 0000000..9fa236f --- /dev/null +++ b/docs/params/literal.environment.xml @@ -0,0 +1,33 @@ + + + + + literal.environment + + + literal.environment + Latex environment used to format verbatim blocks + + + + + + + Description + It specifies the Latex environment to use to render a verbatim + block. + Since dblatex uses the listings package + capabilities to + handle the DocBook attributes, the specified environment must have the same + capabilities if written from scratch, but it is recommended to just extend + the listings environment with you own listings extension. See for more details. + The specified environment name must starts with + "lst". Otherwise dblatex raises an + error and exits. + + + See Also + literal.extensions. + + diff --git a/docs/params/literal.extensions.xml b/docs/params/literal.extensions.xml new file mode 100644 index 0000000..b1e4514 --- /dev/null +++ b/docs/params/literal.extensions.xml @@ -0,0 +1,27 @@ + + + + + literal.extensions + + + literal.extensions + Enable extended verbatim features + + + + + + + Description + When this parameter is empty, dblatex only uses options supported by the listings package, in order to ensure that any verbatim environment built upon this standard package will work. + When this parameter contains "scale", dblatex uses + additionnal options handled only by the dblatex version of the + verbatim environment to provide scaling capabilities (see ). + + + See Also + literal.environment. + + diff --git a/docs/params/literal.layout.options.xml b/docs/params/literal.layout.options.xml new file mode 100644 index 0000000..2aaaa1e --- /dev/null +++ b/docs/params/literal.layout.options.xml @@ -0,0 +1,20 @@ + + + + + literal.layout.options + + + literal.layout.options + Override the options passed to the listing + package + + + + + + + Description + Overwrite the default options passed to the \lstset command. + + diff --git a/docs/params/literal.lines.showall.xml b/docs/params/literal.lines.showall.xml new file mode 100644 index 0000000..c118e42 --- /dev/null +++ b/docs/params/literal.lines.showall.xml @@ -0,0 +1,22 @@ + + + + + literal.lines.showall + + + literal.lines.showall + Show the last empty lines in the literal environments? + + + + + + + + Description + Set to 1, all the lines in a verbatim environment like programlisting +or screen are printed, even if they are empty. Set to 0, the last empty lines +are not printed. It is set to 1 by default. + + diff --git a/docs/params/literal.role.xml b/docs/params/literal.role.xml new file mode 100644 index 0000000..0d694e6 --- /dev/null +++ b/docs/params/literal.role.xml @@ -0,0 +1,23 @@ + + + + + literal.role + + + literal.role + Default role to apply to verbatim blocks + + + + + + + Description + When not empty and when no role attribute is + specified for a block verbatim block to render, this parameter is applied as + formatting role. + The allowed values are specified in . If the value + is not one of the allowed value, the role is then ignored. + + diff --git a/docs/params/literal.width.ignore.xml b/docs/params/literal.width.ignore.xml new file mode 100644 index 0000000..533f528 --- /dev/null +++ b/docs/params/literal.width.ignore.xml @@ -0,0 +1,21 @@ + + + + + literal.width.ignore + + + literal.width.ignore + Ignore the literal environment width attribute + + + + + + + Description + When set to 1 the programlisting and screen width attribute is ignored. +In this case all the verbatim environment widths are equal to the enclosing +environment width. + + diff --git a/docs/params/make.single.year.ranges.xml b/docs/params/make.single.year.ranges.xml new file mode 100644 index 0000000..1260108 --- /dev/null +++ b/docs/params/make.single.year.ranges.xml @@ -0,0 +1,22 @@ + + + + + make.single.year.ranges + + + make.single.year.ranges + Print single-year ranges (e.g., 1998-1999) + + + + + + + + Description + If non-zero, year ranges that span a single year will be printed in +range notation (1998-1999) instead of discrete notation (1998, 1999). +Parameter taken from the DocBook XSL stylesheets. + + diff --git a/docs/params/make.year.ranges.xml b/docs/params/make.year.ranges.xml new file mode 100644 index 0000000..1b33693 --- /dev/null +++ b/docs/params/make.year.ranges.xml @@ -0,0 +1,20 @@ + + + + + make.year.ranges + + + make.year.ranges + Collate copyright years into ranges? + + + + + + + Description + If non-zero, copyright years will be collated into ranges. Parameter +taken from the DocBook XSL stylesheets. + + diff --git a/docs/params/mediaobject.caption.style.xml b/docs/params/mediaobject.caption.style.xml new file mode 100644 index 0000000..45d258e --- /dev/null +++ b/docs/params/mediaobject.caption.style.xml @@ -0,0 +1,21 @@ + + + + + mediaobject.caption.style + + + mediaobject.caption.style + Font style of the mediaobject caption text + + + + + + + Description + Font style of the mediaobject caption text. Its value can be any valid +latex font style command combinations. By default this parameter put the +caption text to italics. + + diff --git a/docs/params/monoseq.hyphenation.xml b/docs/params/monoseq.hyphenation.xml new file mode 100644 index 0000000..ed05f20 --- /dev/null +++ b/docs/params/monoseq.hyphenation.xml @@ -0,0 +1,29 @@ + + + + + monoseq.hyphenation + + + monoseq.hyphenation + Specifies one of the supported monoseq hyphenation policy + + + + + + + Description + This parameter is obsoleted in version 0.3.4 and has no more + effect. It has been replaced by the hyphenation.format. + Its role was: + when set to 1, aggressively hyphenates the inlined element rendered +with monoseq fonts. When set to 0, let latex do as default. When set to +'nohyphen', dblatex tries to avoid overfull boxes (words in the margins) but +keeps the monoseq words not splittable. + + + See Also + hyphenation.format + + diff --git a/docs/params/monoseq.small.xml b/docs/params/monoseq.small.xml new file mode 100644 index 0000000..6776b2f --- /dev/null +++ b/docs/params/monoseq.small.xml @@ -0,0 +1,31 @@ + + + + + monoseq.small + + + monoseq.small + Use a smaller font to render monoseq portions of text + + + + + + + Description + When set to 1, choose a smaller font to the element rendered with +monoseq fonts. + + If you use the XeTeX backend you do not need to use this parameter. + Instead, you can configure + the monospaced font used with a scale option as follow, + through the parameter xetex.font or via a user + latex style: + +\setmonofont[Scale=MatchLowercase]{DejaVu Sans Mono} + + + + + diff --git a/docs/params/monospace.font.family.xml b/docs/params/monospace.font.family.xml new file mode 100644 index 0000000..cdf2fc1 --- /dev/null +++ b/docs/params/monospace.font.family.xml @@ -0,0 +1,26 @@ + + + + + monospace.font.family + + + monospace.font.family + The default font family for monospace environments + + + + + + + Description + The monospace font family is used for verbatim environments +(program listings, screens, etc.). + Currently this parameter is taken into account only when the xetex + backend is used, through the xetex.font. + + + See Also + xetex.font + + diff --git a/docs/params/newtbl.autowidth.xml b/docs/params/newtbl.autowidth.xml new file mode 100644 index 0000000..40e1fd9 --- /dev/null +++ b/docs/params/newtbl.autowidth.xml @@ -0,0 +1,45 @@ + + + + + newtbl.autowidth + + + newtbl.autowidth + Table column widths sized by latex + + + + + + + + Description + Defines if the table column widths must be automatically sized by + latex. The allowed values are: + + + + The default value is empty. This is the + same as none. + + The values + all and default have + identical effect in the tabular presentation of + segmentedlists. + (segmentedlist elements have no + colwidth attribute.) + + + See Also + + + + + + + diff --git a/docs/params/newtbl.bgcolor.thead.xml b/docs/params/newtbl.bgcolor.thead.xml new file mode 100644 index 0000000..663856e --- /dev/null +++ b/docs/params/newtbl.bgcolor.thead.xml @@ -0,0 +1,20 @@ + + + + + newtbl.bgcolor.thead + + + newtbl.bgcolor.thead + Background color of the thead rows + + + + + + + + Description + Background color of the thead rows. + + diff --git a/docs/params/newtbl.default.colsep.xml b/docs/params/newtbl.default.colsep.xml new file mode 100644 index 0000000..55a4b6f --- /dev/null +++ b/docs/params/newtbl.default.colsep.xml @@ -0,0 +1,21 @@ + + + + + newtbl.default.colsep + + + newtbl.default.colsep + By default draw a vertical line between columns + + + + + + + + Description + Set to 1, print the column separators when no +colspec attribute is specified. + + diff --git a/docs/params/newtbl.default.rowsep.xml b/docs/params/newtbl.default.rowsep.xml new file mode 100644 index 0000000..8238478 --- /dev/null +++ b/docs/params/newtbl.default.rowsep.xml @@ -0,0 +1,21 @@ + + + + + newtbl.default.rowsep + + + newtbl.default.rowsep + By default draw a horizontal line between rows + + + + + + + + Description + Set to 1, print the row separators when no rowspec +attribute is specified. + + diff --git a/docs/params/newtbl.format.tbody.xml b/docs/params/newtbl.format.tbody.xml new file mode 100644 index 0000000..3e35d66 --- /dev/null +++ b/docs/params/newtbl.format.tbody.xml @@ -0,0 +1,19 @@ + + + + + newtbl.format.tbody + + + newtbl.format.tbody + LaTeX formatting for body table cells + + + + + + + Description + LaTeX formatting for body table cells. + + diff --git a/docs/params/newtbl.format.tfoot.xml b/docs/params/newtbl.format.tfoot.xml new file mode 100644 index 0000000..e94e12f --- /dev/null +++ b/docs/params/newtbl.format.tfoot.xml @@ -0,0 +1,19 @@ + + + + + newtbl.format.tfoot + + + newtbl.format.tfoot + LaTeX formatting for foot table cells + + + + + + + Description + LaTeX formatting for foot table cells. + + diff --git a/docs/params/newtbl.format.thead.xml b/docs/params/newtbl.format.thead.xml new file mode 100644 index 0000000..5bf4a55 --- /dev/null +++ b/docs/params/newtbl.format.thead.xml @@ -0,0 +1,19 @@ + + + + + newtbl.format.thead + + + newtbl.format.thead + LaTeX formatting for head table cells + + + + + + + Description + LaTeX formatting for head table cells. + + diff --git a/docs/params/newtbl.use.hhline.xml b/docs/params/newtbl.use.hhline.xml new file mode 100644 index 0000000..ce9916a --- /dev/null +++ b/docs/params/newtbl.use.hhline.xml @@ -0,0 +1,21 @@ + + + + + newtbl.use.hhline + + + newtbl.use.hhline + Draw the horizontal lines with the hhline package + + + + + + + Description + Set to 1, use the hhline package to draw the table +row separators instead of cline. Using hhline seems more +suited for colored tables. + + diff --git a/docs/params/olink.params.xml b/docs/params/olink.params.xml new file mode 100644 index 0000000..9b3f631 --- /dev/null +++ b/docs/params/olink.params.xml @@ -0,0 +1,67 @@ + + + + + Olink Parameters + + + + + current.docid + insert.olink.page.number + insert.olink.pdf.frag + olink.base.uri + olink.debug + olink.doctitle + olink.lang.fallback.sequence + prefer.internal.olink + target.database.document + targets.filename + use.local.olink.style + Parameters to configure Olinks + + + + + + + + + + + + + + + + Description + These parameters are taken from the DocBook Project XSL parameters and + must be used as described in the original reference: + +current.docid, +insert.olink.page.number, +insert.olink.pdf.frag, +olink.base.uri, +olink.debug, +olink.doctitle, +olink.lang.fallback.sequence, +prefer.internal.olink, +target.database.document, +targets.filename, +use.local.olink.style, + + + + diff --git a/docs/params/page.height.xml b/docs/params/page.height.xml new file mode 100644 index 0000000..6e2f7e3 --- /dev/null +++ b/docs/params/page.height.xml @@ -0,0 +1,26 @@ + + + + +page.height +length + + +page.height +The height of the physical page + + + + + + + +Description + +The page height is generally calculated from the +paper.type +parameter. + + + + diff --git a/docs/params/page.margin.bottom.xml b/docs/params/page.margin.bottom.xml new file mode 100644 index 0000000..86ba570 --- /dev/null +++ b/docs/params/page.margin.bottom.xml @@ -0,0 +1,26 @@ + + + + +page.margin.bottom +length + + +page.margin.bottom +The bottom margin of the page + + + + + + + +Description + +The bottom page margin is the distance from the bottom of the body +including the footer to the physical bottom of the page. + +When empty the used latex style layout applies. + + + diff --git a/docs/params/page.margin.inner.xml b/docs/params/page.margin.inner.xml new file mode 100644 index 0000000..b8b955f --- /dev/null +++ b/docs/params/page.margin.inner.xml @@ -0,0 +1,36 @@ + + + + +page.margin.inner +length + + +page.margin.inner +The inner page margin + + + + + + + +Description + +The inner page margin is the distance from bound edge of the +page to the first column of text. + +The inner page margin is the distance from bound edge of the +page to the outer edge of the first column of text. + +In left-to-right text direction, +this is the left margin of recto (front side) pages. +For single-sided output, it is the left margin +of all pages. + +In right-to-left text direction, +this is the right margin of recto pages. +For single-sided output, this is the +right margin of all pages. + + diff --git a/docs/params/page.margin.outer.xml b/docs/params/page.margin.outer.xml new file mode 100644 index 0000000..96e9147 --- /dev/null +++ b/docs/params/page.margin.outer.xml @@ -0,0 +1,34 @@ + + + + +page.margin.outer +length + + +page.margin.outer +The outer page margin + + + + + + + +Description + +The outer page margin is the distance from non-bound edge of the +page to the outer edge of the last column of text. + +In left-to-right text direction, +this is the right margin of recto (front side) pages. +For single-sided output, it is the right margin +of all pages. + +In right-to-left text direction, +this is the left margin of recto pages. +For single-sided output, this is the +left margin of all pages. + + + diff --git a/docs/params/page.margin.top.xml b/docs/params/page.margin.top.xml new file mode 100644 index 0000000..48e2655 --- /dev/null +++ b/docs/params/page.margin.top.xml @@ -0,0 +1,24 @@ + + + + +page.margin.top +length + + +page.margin.top +The top margin of the page + + + + + + + +Description + +The top page margin is the distance from the physical top of the +page to the top of the body including the header. + + + diff --git a/docs/params/page.width.xml b/docs/params/page.width.xml new file mode 100644 index 0000000..e8f03a1 --- /dev/null +++ b/docs/params/page.width.xml @@ -0,0 +1,25 @@ + + + + +page.width +length + + +page.width +The width of the physical page + + + + + + + + +Description + +The page width does not need to be specified when +paper.type is set. + + + diff --git a/docs/params/paper.type.xml b/docs/params/paper.type.xml new file mode 100644 index 0000000..0a87f06 --- /dev/null +++ b/docs/params/paper.type.xml @@ -0,0 +1,68 @@ + + + + +paper.type +list +open +open +USletter8.5x11in +USlandscape11x8.5in +4A02378x1682mm +2A01682x1189mm +A01189x841mm +A1841x594mm +A2594x420mm +A3420x297mm +A4297x210mm +A5210x148mm +A6148x105mm +A7105x74mm +A874x52mm +A952x37mm +A1037x26mm +B01414x1000mm +B11000x707mm +B2707x500mm +B3500x353mm +B4353x250mm +B5250x176mm +B6176x125mm +B7125x88mm +B888x62mm +B962x44mm +B1044x31mm +C01297x917mm +C1917x648mm +C2648x458mm +C3458x324mm +C4324x229mm +C5229x162mm +C6162x114mm +C7114x81mm +C881x57mm +C957x40mm +C1040x28mm + + +paper.type +Select the paper type + + + + + + + +Description + +The paper type is a convenient way to specify the paper size. +The list of known paper sizes includes USletter and most of the A, +B, and C sizes. +When the parameter is empty, the default layout of the latex style used is +applied. +When not empty, the value is directly passed to the latex geometry +package, and therefore it must be a valid value understood by this +package. + + diff --git a/docs/params/param.xml b/docs/params/param.xml new file mode 100644 index 0000000..5f33b45 --- /dev/null +++ b/docs/params/param.xml @@ -0,0 +1,264 @@ + + + +Dblatex XSL Parameter Reference + +This is reference documentation for all user-configurable +parametersParameters +in the dblatex XSL stylesheets. +The organization of the reference entries mimics the +FO Parameter Reference for people familiar with +the DocBook Project documentation. + +
Admonitions + + + + + + + +
+
Callouts + + + + + + + +
+
ToC/LoT/Index Generation + + + + + + + + + + + + + + + +
+
Processor Extensions + + + + +
+ +
Automatic labelling + + + + + + +
+ +
Meta/*Info + + + + + +
+
Reference Pages + + + + + + + + + +
+
Tables + + + + + + + + + + + + + + + + + +
+
Linking + + + + +
+
Cross References + + + + + +
+
Lists + + + + +
+
QAndASet + + + +
+
Bibliography + + + + + + + + + + + +
+
Glossary + + + +
+
Miscellaneous + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Graphics + + + + + + +
+
Chuncking + + + + +
+
Pagination and General Styles + + + + + + + + + + + + + + + + + + + + + + + +
+
Font Families + + + + + + + +
+ +
Localization + + + + + +
+ +
Prepress + + + + + + + + +
+
diff --git a/docs/params/pdf.annot.options.xml b/docs/params/pdf.annot.options.xml new file mode 100644 index 0000000..3daa4e6 --- /dev/null +++ b/docs/params/pdf.annot.options.xml @@ -0,0 +1,21 @@ + + + + + pdf.annot.options + + + pdf.annot.options + PDF text annotations rendering options + + + + + + + Description + Options to change how the PDF text annotations should look. The +supported options are width, height, depth. The options must be comma +separated like: width=5cm,depth=10cm. + + diff --git a/docs/params/preface.tocdepth.xml b/docs/params/preface.tocdepth.xml new file mode 100644 index 0000000..9e7323c --- /dev/null +++ b/docs/params/preface.tocdepth.xml @@ -0,0 +1,26 @@ + + + + + preface.tocdepth + + + preface.tocdepth + How preface section and subsections appear in TOC + + + + + + + + Description + When greater than 0, the preface headings appear in the TOC. The +parameter value define the preface section depth appearing in the TOC and in +the bookmarks. If set to 0, none of the sections are put in the TOC. If set to +1, only the chapter level appears in the TOC and bookmarks, and so on. When +the parameter is negative, it behaves like with 0, but it uses the previous +implementation (use of unnumbered sections, that is, with latex heading +commands ending with '*'). + + diff --git a/docs/params/qanda.defaultlabel.xml b/docs/params/qanda.defaultlabel.xml new file mode 100644 index 0000000..3ca4945 --- /dev/null +++ b/docs/params/qanda.defaultlabel.xml @@ -0,0 +1,28 @@ + + + + + qanda.defaultlabel + + + qanda.defaultlabel + Sets the default for defaultlabel on QandASet. + + + + + + + Description + If no defaultlabel attribute is specified on +a qandaset, this value is used. It must be one of the legal +values for the defaultlabel attribute, one from none, number or +qanda. The default value is 'number'. + +Meaning +qanda - questions are labeled “Q:” and answers are labeled “A:”. +number - The entries are enumerated. +none - No distinguishing label precedes Questions or Answers. + + + diff --git a/docs/params/refclass.suppress.xml b/docs/params/refclass.suppress.xml new file mode 100644 index 0000000..ba7110a --- /dev/null +++ b/docs/params/refclass.suppress.xml @@ -0,0 +1,20 @@ + + + + + refclass.suppress + + + refclass.suppress + Suppress display of refclass contents? + + + + + + + Description + Parameter taken from the DocBook Project. + See refclass.suppress. + + diff --git a/docs/params/refentry.generate.name.xml b/docs/params/refentry.generate.name.xml new file mode 100644 index 0000000..4e7cdfe --- /dev/null +++ b/docs/params/refentry.generate.name.xml @@ -0,0 +1,20 @@ + + + + + refentry.generate.name + + + refentry.generate.name + Output NAME header before refnames? + + + + + + + Description +If non-zero, a "NAME" section title is output before the list +of refnames. + + diff --git a/docs/params/refentry.numbered.xml b/docs/params/refentry.numbered.xml new file mode 100644 index 0000000..7b66629 --- /dev/null +++ b/docs/params/refentry.numbered.xml @@ -0,0 +1,28 @@ + + + + + refentry.numbered + + + refentry.numbered + Should refentry headings be numbered? + + + + + + + + Description + Defines either the refentry titles are numbered or +not. When numbered, it is displayed as any other numbered section. + + + See Also + refentry.tocdepth. + glossary.numbered, glossary.tocdepth. + bibliography.numbered, bibliography.tocdepth. + index.numbered, index.tocdepth. + + diff --git a/docs/params/refentry.tocdepth.xml b/docs/params/refentry.tocdepth.xml new file mode 100644 index 0000000..83fa36b --- /dev/null +++ b/docs/params/refentry.tocdepth.xml @@ -0,0 +1,22 @@ + + + + + refentry.tocdepth + + + refentry.tocdepth + How refentry section and subsections appear in TOC + + + + + + + + Description + Same than preface.tocdepth for refentry +sections. Meaningful only when refentry.numbered is set +to 0. + + diff --git a/docs/params/refentry.xref.manvolnum.xml b/docs/params/refentry.xref.manvolnum.xml new file mode 100644 index 0000000..2a15316 --- /dev/null +++ b/docs/params/refentry.xref.manvolnum.xml @@ -0,0 +1,23 @@ + + + + + refentry.xref.manvolnum + + + refentry.xref.manvolnum + Output manvolnum as part of +refentry cross-reference? + + + + + + + Description +if non-zero, the manvolnum is used when +cross-referencing refentrys, either with +xref or citerefentry. + + + diff --git a/docs/params/sans.font.family.xml b/docs/params/sans.font.family.xml new file mode 100644 index 0000000..3822026 --- /dev/null +++ b/docs/params/sans.font.family.xml @@ -0,0 +1,25 @@ + + + + + sans.font.family + + + sans.font.family + The default sans-serif font family + + + + + + + Description + The default sans-serif font family. + Currently this parameter is taken into account only when the xetex + backend is used, through the xetex.font. + + + See Also + xetex.font + + diff --git a/docs/params/seg.item.separator.xml b/docs/params/seg.item.separator.xml new file mode 100644 index 0000000..ff7b025 --- /dev/null +++ b/docs/params/seg.item.separator.xml @@ -0,0 +1,21 @@ + + + + + seg.item.separator + + + seg.item.separator + Separator to use between several +segs + + + + + + + Description + Defines the separator to use between several +segs. + + diff --git a/docs/params/segmentedlist.as.table.xml b/docs/params/segmentedlist.as.table.xml new file mode 100644 index 0000000..626b361 --- /dev/null +++ b/docs/params/segmentedlist.as.table.xml @@ -0,0 +1,50 @@ + + + + + segmentedlist.as.table + + + segmentedlist.as.table + Format segmented lists as tables? + + + + + + + Description + If non-zero, segmentedlists will be formatted as + tables. If you want a local setup for a specific segmentedlist you can use + the list-presentation Processing Instruction instead. + When formatted as table, some table Processing Instructions can be + used to customize the rendering. + + + See Also + + + + + + Inline presentation: + + + + + + + Table presentation: + + + + + + + + + + + + + diff --git a/docs/params/set.book.num.xml b/docs/params/set.book.num.xml new file mode 100644 index 0000000..245657b --- /dev/null +++ b/docs/params/set.book.num.xml @@ -0,0 +1,24 @@ + + + + + set.book.num + + + set.book.num + Select a single book or all the books to compile from a + set + + + + + + + Description + When the document root element is a set this +parameter can be used to select the book to print, or to publish all the +books contained in the set when the value is "all". +dblatex can only chunk the set in several books, and is not able to publish several books in a single file. +See for more details. + + diff --git a/docs/params/show.comments.xml b/docs/params/show.comments.xml new file mode 100644 index 0000000..8bc97be --- /dev/null +++ b/docs/params/show.comments.xml @@ -0,0 +1,25 @@ + + + + + show.comments + + + show.comments + Display remark elements? + + + + + + Description + If non-zero, comments will be displayed, otherwise they +are suppressed. Comments here refers to the remark element +(which was called comment prior to DocBook +4.0), not XML comments (<-- like this -->) which are +unavailable. + +Dblatex uses the PDF Text Annotations capabilities to handle +comments and remarks. + + diff --git a/docs/params/syn/alt.use.xml b/docs/params/syn/alt.use.xml new file mode 100644 index 0000000..6ddc768 --- /dev/null +++ b/docs/params/syn/alt.use.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/annotation.support.xml b/docs/params/syn/annotation.support.xml new file mode 100644 index 0000000..bcf2023 --- /dev/null +++ b/docs/params/syn/annotation.support.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/appendix.autolabel.xml b/docs/params/syn/appendix.autolabel.xml new file mode 100644 index 0000000..8741b4d --- /dev/null +++ b/docs/params/syn/appendix.autolabel.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/author.othername.in.middle.xml b/docs/params/syn/author.othername.in.middle.xml new file mode 100644 index 0000000..996baf5 --- /dev/null +++ b/docs/params/syn/author.othername.in.middle.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/beginpage.as.pagebreak.xml b/docs/params/syn/beginpage.as.pagebreak.xml new file mode 100644 index 0000000..d330e57 --- /dev/null +++ b/docs/params/syn/beginpage.as.pagebreak.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/biblioentry.item.separator.xml b/docs/params/syn/biblioentry.item.separator.xml new file mode 100644 index 0000000..110cb8f --- /dev/null +++ b/docs/params/syn/biblioentry.item.separator.xml @@ -0,0 +1 @@ +, diff --git a/docs/params/syn/biblioentry.numbered.xml b/docs/params/syn/biblioentry.numbered.xml new file mode 100644 index 0000000..ffbd363 --- /dev/null +++ b/docs/params/syn/biblioentry.numbered.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/bibliography.numbered.xml b/docs/params/syn/bibliography.numbered.xml new file mode 100644 index 0000000..527706c --- /dev/null +++ b/docs/params/syn/bibliography.numbered.xml @@ -0,0 +1 @@ +1 diff --git a/docs/params/syn/bibliography.tocdepth.xml b/docs/params/syn/bibliography.tocdepth.xml new file mode 100644 index 0000000..ed570fb --- /dev/null +++ b/docs/params/syn/bibliography.tocdepth.xml @@ -0,0 +1 @@ +5 diff --git a/docs/params/syn/body.font.family.xml b/docs/params/syn/body.font.family.xml new file mode 100644 index 0000000..959123b --- /dev/null +++ b/docs/params/syn/body.font.family.xml @@ -0,0 +1 @@ +DejaVu Serif diff --git a/docs/params/syn/callout.linkends.hot.xml b/docs/params/syn/callout.linkends.hot.xml new file mode 100644 index 0000000..990e401 --- /dev/null +++ b/docs/params/syn/callout.linkends.hot.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/callout.markup.circled.xml b/docs/params/syn/callout.markup.circled.xml new file mode 100644 index 0000000..bf90a03 --- /dev/null +++ b/docs/params/syn/callout.markup.circled.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/calloutlist.style.xml b/docs/params/syn/calloutlist.style.xml new file mode 100644 index 0000000..3db69bc --- /dev/null +++ b/docs/params/syn/calloutlist.style.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/chapter.autolabel.xml b/docs/params/syn/chapter.autolabel.xml new file mode 100644 index 0000000..c941554 --- /dev/null +++ b/docs/params/syn/chapter.autolabel.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/chunker.output.cdata-section-elements.xml b/docs/params/syn/chunker.output.cdata-section-elements.xml new file mode 100644 index 0000000..beac73a --- /dev/null +++ b/docs/params/syn/chunker.output.cdata-section-elements.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/chunker.output.doctype-public.xml b/docs/params/syn/chunker.output.doctype-public.xml new file mode 100644 index 0000000..2147822 --- /dev/null +++ b/docs/params/syn/chunker.output.doctype-public.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/chunker.output.doctype-system.xml b/docs/params/syn/chunker.output.doctype-system.xml new file mode 100644 index 0000000..20544cc --- /dev/null +++ b/docs/params/syn/chunker.output.doctype-system.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/chunker.output.encoding.xml b/docs/params/syn/chunker.output.encoding.xml new file mode 100644 index 0000000..9fe7e9f --- /dev/null +++ b/docs/params/syn/chunker.output.encoding.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/chunker.output.indent.xml b/docs/params/syn/chunker.output.indent.xml new file mode 100644 index 0000000..a04cb1d --- /dev/null +++ b/docs/params/syn/chunker.output.indent.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/chunker.output.media-type.xml b/docs/params/syn/chunker.output.media-type.xml new file mode 100644 index 0000000..2da6571 --- /dev/null +++ b/docs/params/syn/chunker.output.media-type.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/chunker.output.method.xml b/docs/params/syn/chunker.output.method.xml new file mode 100644 index 0000000..dc16ac4 --- /dev/null +++ b/docs/params/syn/chunker.output.method.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/chunker.output.omit-xml-declaration.xml b/docs/params/syn/chunker.output.omit-xml-declaration.xml new file mode 100644 index 0000000..e93f10d --- /dev/null +++ b/docs/params/syn/chunker.output.omit-xml-declaration.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/chunker.output.standalone.xml b/docs/params/syn/chunker.output.standalone.xml new file mode 100644 index 0000000..85f0140 --- /dev/null +++ b/docs/params/syn/chunker.output.standalone.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/citation.default.style.xml b/docs/params/syn/citation.default.style.xml new file mode 100644 index 0000000..2935686 --- /dev/null +++ b/docs/params/syn/citation.default.style.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/citation.natbib.options.xml b/docs/params/syn/citation.natbib.options.xml new file mode 100644 index 0000000..240bd4c --- /dev/null +++ b/docs/params/syn/citation.natbib.options.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/citation.natbib.use.xml b/docs/params/syn/citation.natbib.use.xml new file mode 100644 index 0000000..933c9b4 --- /dev/null +++ b/docs/params/syn/citation.natbib.use.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/cjk.font.xml b/docs/params/syn/cjk.font.xml new file mode 100644 index 0000000..d12b738 --- /dev/null +++ b/docs/params/syn/cjk.font.xml @@ -0,0 +1 @@ +cyberbit diff --git a/docs/params/syn/classsynopsis.default.language.xml b/docs/params/syn/classsynopsis.default.language.xml new file mode 100644 index 0000000..90b5832 --- /dev/null +++ b/docs/params/syn/classsynopsis.default.language.xml @@ -0,0 +1 @@ +java diff --git a/docs/params/syn/co.linkends.show.xml b/docs/params/syn/co.linkends.show.xml new file mode 100644 index 0000000..f069164 --- /dev/null +++ b/docs/params/syn/co.linkends.show.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/co.tagout.xml b/docs/params/syn/co.tagout.xml new file mode 100644 index 0000000..4c3961c --- /dev/null +++ b/docs/params/syn/co.tagout.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/colophon.tocdepth.xml b/docs/params/syn/colophon.tocdepth.xml new file mode 100644 index 0000000..2152e28 --- /dev/null +++ b/docs/params/syn/colophon.tocdepth.xml @@ -0,0 +1 @@ +0 diff --git a/docs/params/syn/component.label.includes.part.label.xml b/docs/params/syn/component.label.includes.part.label.xml new file mode 100644 index 0000000..60e7040 --- /dev/null +++ b/docs/params/syn/component.label.includes.part.label.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/crop.marks.xml b/docs/params/syn/crop.marks.xml new file mode 100644 index 0000000..1d8b835 --- /dev/null +++ b/docs/params/syn/crop.marks.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/crop.mode.xml b/docs/params/syn/crop.mode.xml new file mode 100644 index 0000000..662a1bf --- /dev/null +++ b/docs/params/syn/crop.mode.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/crop.options.xml b/docs/params/syn/crop.options.xml new file mode 100644 index 0000000..b756cc4 --- /dev/null +++ b/docs/params/syn/crop.options.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/crop.page.height.xml b/docs/params/syn/crop.page.height.xml new file mode 100644 index 0000000..0547bb0 --- /dev/null +++ b/docs/params/syn/crop.page.height.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/crop.page.width.xml b/docs/params/syn/crop.page.width.xml new file mode 100644 index 0000000..517c01c --- /dev/null +++ b/docs/params/syn/crop.page.width.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/crop.paper.type.xml b/docs/params/syn/crop.paper.type.xml new file mode 100644 index 0000000..d9c152f --- /dev/null +++ b/docs/params/syn/crop.paper.type.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/current.docid.xml b/docs/params/syn/current.docid.xml new file mode 100644 index 0000000..3625c6e --- /dev/null +++ b/docs/params/syn/current.docid.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/dedication.tocdepth.xml b/docs/params/syn/dedication.tocdepth.xml new file mode 100644 index 0000000..3c2a1df --- /dev/null +++ b/docs/params/syn/dedication.tocdepth.xml @@ -0,0 +1 @@ +0 diff --git a/docs/params/syn/default.table.rules.xml b/docs/params/syn/default.table.rules.xml new file mode 100644 index 0000000..8d3f987 --- /dev/null +++ b/docs/params/syn/default.table.rules.xml @@ -0,0 +1 @@ +none diff --git a/docs/params/syn/default.table.width.xml b/docs/params/syn/default.table.width.xml new file mode 100644 index 0000000..05f8a40 --- /dev/null +++ b/docs/params/syn/default.table.width.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/doc.alignment.xml b/docs/params/syn/doc.alignment.xml new file mode 100644 index 0000000..3b1e673 --- /dev/null +++ b/docs/params/syn/doc.alignment.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/doc.collab.show.xml b/docs/params/syn/doc.collab.show.xml new file mode 100644 index 0000000..dbc3f09 --- /dev/null +++ b/docs/params/syn/doc.collab.show.xml @@ -0,0 +1 @@ +1 diff --git a/docs/params/syn/doc.layout.xml b/docs/params/syn/doc.layout.xml new file mode 100644 index 0000000..d3288e4 --- /dev/null +++ b/docs/params/syn/doc.layout.xml @@ -0,0 +1 @@ +coverpage toc frontmatter mainmatter index diff --git a/docs/params/syn/doc.lot.show.xml b/docs/params/syn/doc.lot.show.xml new file mode 100644 index 0000000..c95bd33 --- /dev/null +++ b/docs/params/syn/doc.lot.show.xml @@ -0,0 +1 @@ +figure,table diff --git a/docs/params/syn/doc.pdfcreator.show.xml b/docs/params/syn/doc.pdfcreator.show.xml new file mode 100644 index 0000000..fcaf63b --- /dev/null +++ b/docs/params/syn/doc.pdfcreator.show.xml @@ -0,0 +1 @@ +1 diff --git a/docs/params/syn/doc.publisher.show.xml b/docs/params/syn/doc.publisher.show.xml new file mode 100644 index 0000000..7465e33 --- /dev/null +++ b/docs/params/syn/doc.publisher.show.xml @@ -0,0 +1 @@ +0 diff --git a/docs/params/syn/doc.section.depth.xml b/docs/params/syn/doc.section.depth.xml new file mode 100644 index 0000000..8b3df3f --- /dev/null +++ b/docs/params/syn/doc.section.depth.xml @@ -0,0 +1 @@ +5 diff --git a/docs/params/syn/doc.toc.show.xml b/docs/params/syn/doc.toc.show.xml new file mode 100644 index 0000000..bcda4c0 --- /dev/null +++ b/docs/params/syn/doc.toc.show.xml @@ -0,0 +1 @@ +1 diff --git a/docs/params/syn/draft.mode.xml b/docs/params/syn/draft.mode.xml new file mode 100644 index 0000000..12c8c9c --- /dev/null +++ b/docs/params/syn/draft.mode.xml @@ -0,0 +1 @@ +maybe diff --git a/docs/params/syn/draft.watermark.xml b/docs/params/syn/draft.watermark.xml new file mode 100644 index 0000000..9e26b39 --- /dev/null +++ b/docs/params/syn/draft.watermark.xml @@ -0,0 +1 @@ +1 diff --git a/docs/params/syn/endnotes.heading.command.xml b/docs/params/syn/endnotes.heading.command.xml new file mode 100644 index 0000000..2c651f8 --- /dev/null +++ b/docs/params/syn/endnotes.heading.command.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/endnotes.heading.groups.xml b/docs/params/syn/endnotes.heading.groups.xml new file mode 100644 index 0000000..8fa5380 --- /dev/null +++ b/docs/params/syn/endnotes.heading.groups.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/endnotes.heading.style.xml b/docs/params/syn/endnotes.heading.style.xml new file mode 100644 index 0000000..1636eba --- /dev/null +++ b/docs/params/syn/endnotes.heading.style.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/endnotes.properties.xml b/docs/params/syn/endnotes.properties.xml new file mode 100644 index 0000000..1762599 --- /dev/null +++ b/docs/params/syn/endnotes.properties.xml @@ -0,0 +1,16 @@ + + endnotes + + + \mbox{}\par + + + \normalsize + % + \leftskip=1.8em\noindent + \makebox[0pt][r]{\theenmark.~~\rule{0pt}{\baselineskip}}\ignorespaces + + + + diff --git a/docs/params/syn/equation.default.position.xml b/docs/params/syn/equation.default.position.xml new file mode 100644 index 0000000..d9cd08d --- /dev/null +++ b/docs/params/syn/equation.default.position.xml @@ -0,0 +1 @@ +[H] diff --git a/docs/params/syn/example.default.position.xml b/docs/params/syn/example.default.position.xml new file mode 100644 index 0000000..6926816 --- /dev/null +++ b/docs/params/syn/example.default.position.xml @@ -0,0 +1 @@ +[H] diff --git a/docs/params/syn/example.float.type.xml b/docs/params/syn/example.float.type.xml new file mode 100644 index 0000000..04cda36 --- /dev/null +++ b/docs/params/syn/example.float.type.xml @@ -0,0 +1 @@ +none diff --git a/docs/params/syn/figure.anchor.top.xml b/docs/params/syn/figure.anchor.top.xml new file mode 100644 index 0000000..964a178 --- /dev/null +++ b/docs/params/syn/figure.anchor.top.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/figure.caution.xml b/docs/params/syn/figure.caution.xml new file mode 100644 index 0000000..597334d --- /dev/null +++ b/docs/params/syn/figure.caution.xml @@ -0,0 +1 @@ +warning diff --git a/docs/params/syn/figure.default.position.xml b/docs/params/syn/figure.default.position.xml new file mode 100644 index 0000000..3498721 --- /dev/null +++ b/docs/params/syn/figure.default.position.xml @@ -0,0 +1 @@ +[htbp] diff --git a/docs/params/syn/figure.important.xml b/docs/params/syn/figure.important.xml new file mode 100644 index 0000000..2b1903a --- /dev/null +++ b/docs/params/syn/figure.important.xml @@ -0,0 +1 @@ +warning diff --git a/docs/params/syn/figure.note.xml b/docs/params/syn/figure.note.xml new file mode 100644 index 0000000..c4be27a --- /dev/null +++ b/docs/params/syn/figure.note.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/figure.tip.xml b/docs/params/syn/figure.tip.xml new file mode 100644 index 0000000..1f20528 --- /dev/null +++ b/docs/params/syn/figure.tip.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/figure.title.top.xml b/docs/params/syn/figure.title.top.xml new file mode 100644 index 0000000..5ecb89f --- /dev/null +++ b/docs/params/syn/figure.title.top.xml @@ -0,0 +1 @@ +0 diff --git a/docs/params/syn/figure.warning.xml b/docs/params/syn/figure.warning.xml new file mode 100644 index 0000000..3fa04a1 --- /dev/null +++ b/docs/params/syn/figure.warning.xml @@ -0,0 +1 @@ +warning diff --git a/docs/params/syn/filename.as.url.xml b/docs/params/syn/filename.as.url.xml new file mode 100644 index 0000000..3395eb6 --- /dev/null +++ b/docs/params/syn/filename.as.url.xml @@ -0,0 +1 @@ +1 diff --git a/docs/params/syn/footnote.as.endnote.xml b/docs/params/syn/footnote.as.endnote.xml new file mode 100644 index 0000000..4b53237 --- /dev/null +++ b/docs/params/syn/footnote.as.endnote.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/funcsynopsis.decoration.xml b/docs/params/syn/funcsynopsis.decoration.xml new file mode 100644 index 0000000..a558716 --- /dev/null +++ b/docs/params/syn/funcsynopsis.decoration.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/funcsynopsis.style.xml b/docs/params/syn/funcsynopsis.style.xml new file mode 100644 index 0000000..2532ccd --- /dev/null +++ b/docs/params/syn/funcsynopsis.style.xml @@ -0,0 +1 @@ +ansi diff --git a/docs/params/syn/function.parens.xml b/docs/params/syn/function.parens.xml new file mode 100644 index 0000000..0720df6 --- /dev/null +++ b/docs/params/syn/function.parens.xml @@ -0,0 +1 @@ +0 diff --git a/docs/params/syn/geometry.options.xml b/docs/params/syn/geometry.options.xml new file mode 100644 index 0000000..052a266 --- /dev/null +++ b/docs/params/syn/geometry.options.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/glossary.numbered.xml b/docs/params/syn/glossary.numbered.xml new file mode 100644 index 0000000..b15b75b --- /dev/null +++ b/docs/params/syn/glossary.numbered.xml @@ -0,0 +1 @@ +1 diff --git a/docs/params/syn/glossary.tocdepth.xml b/docs/params/syn/glossary.tocdepth.xml new file mode 100644 index 0000000..518d858 --- /dev/null +++ b/docs/params/syn/glossary.tocdepth.xml @@ -0,0 +1 @@ +5 diff --git a/docs/params/syn/glossterm.auto.link.xml b/docs/params/syn/glossterm.auto.link.xml new file mode 100644 index 0000000..6f6b473 --- /dev/null +++ b/docs/params/syn/glossterm.auto.link.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/graphic.default.extension.xml b/docs/params/syn/graphic.default.extension.xml new file mode 100644 index 0000000..2ac6f1f --- /dev/null +++ b/docs/params/syn/graphic.default.extension.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/hyphenation.format.xml b/docs/params/syn/hyphenation.format.xml new file mode 100644 index 0000000..f9e011d --- /dev/null +++ b/docs/params/syn/hyphenation.format.xml @@ -0,0 +1 @@ +monoseq,sansseq diff --git a/docs/params/syn/imagedata.boxed.xml b/docs/params/syn/imagedata.boxed.xml new file mode 100644 index 0000000..2e4c3e7 --- /dev/null +++ b/docs/params/syn/imagedata.boxed.xml @@ -0,0 +1 @@ +0 diff --git a/docs/params/syn/imagedata.default.scale.xml b/docs/params/syn/imagedata.default.scale.xml new file mode 100644 index 0000000..b31bdfe --- /dev/null +++ b/docs/params/syn/imagedata.default.scale.xml @@ -0,0 +1 @@ +pagebound diff --git a/docs/params/syn/imagedata.file.check.xml b/docs/params/syn/imagedata.file.check.xml new file mode 100644 index 0000000..44eebf9 --- /dev/null +++ b/docs/params/syn/imagedata.file.check.xml @@ -0,0 +1 @@ +1 diff --git a/docs/params/syn/imageobjectco.hide.xml b/docs/params/syn/imageobjectco.hide.xml new file mode 100644 index 0000000..72b6d4e --- /dev/null +++ b/docs/params/syn/imageobjectco.hide.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/index.numbered.xml b/docs/params/syn/index.numbered.xml new file mode 100644 index 0000000..a38eab3 --- /dev/null +++ b/docs/params/syn/index.numbered.xml @@ -0,0 +1 @@ +1 diff --git a/docs/params/syn/index.tocdepth.xml b/docs/params/syn/index.tocdepth.xml new file mode 100644 index 0000000..288ae89 --- /dev/null +++ b/docs/params/syn/index.tocdepth.xml @@ -0,0 +1 @@ +5 diff --git a/docs/params/syn/insert.olink.page.number.xml b/docs/params/syn/insert.olink.page.number.xml new file mode 100644 index 0000000..53b7c9e --- /dev/null +++ b/docs/params/syn/insert.olink.page.number.xml @@ -0,0 +1 @@ +yes diff --git a/docs/params/syn/insert.olink.pdf.frag.xml b/docs/params/syn/insert.olink.pdf.frag.xml new file mode 100644 index 0000000..c7b4fb5 --- /dev/null +++ b/docs/params/syn/insert.olink.pdf.frag.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/insert.xref.page.number.para.xml b/docs/params/syn/insert.xref.page.number.para.xml new file mode 100644 index 0000000..47b42a6 --- /dev/null +++ b/docs/params/syn/insert.xref.page.number.para.xml @@ -0,0 +1 @@ +yes diff --git a/docs/params/syn/insert.xref.page.number.xml b/docs/params/syn/insert.xref.page.number.xml new file mode 100644 index 0000000..cd17a32 --- /dev/null +++ b/docs/params/syn/insert.xref.page.number.xml @@ -0,0 +1 @@ +maybe diff --git a/docs/params/syn/keep.relative.image.uris.xml b/docs/params/syn/keep.relative.image.uris.xml new file mode 100644 index 0000000..ce91822 --- /dev/null +++ b/docs/params/syn/keep.relative.image.uris.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/korean.package.xml b/docs/params/syn/korean.package.xml new file mode 100644 index 0000000..4f86d67 --- /dev/null +++ b/docs/params/syn/korean.package.xml @@ -0,0 +1 @@ +CJK diff --git a/docs/params/syn/l10n.gentext.default.language.xml b/docs/params/syn/l10n.gentext.default.language.xml new file mode 100644 index 0000000..a6e4c22 --- /dev/null +++ b/docs/params/syn/l10n.gentext.default.language.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/l10n.gentext.language.xml b/docs/params/syn/l10n.gentext.language.xml new file mode 100644 index 0000000..56b61b5 --- /dev/null +++ b/docs/params/syn/l10n.gentext.language.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/l10n.gentext.use.xref.language.xml b/docs/params/syn/l10n.gentext.use.xref.language.xml new file mode 100644 index 0000000..c52f0ee --- /dev/null +++ b/docs/params/syn/l10n.gentext.use.xref.language.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/l10n.xml.xml b/docs/params/syn/l10n.xml.xml new file mode 100644 index 0000000..4494f69 --- /dev/null +++ b/docs/params/syn/l10n.xml.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/label.from.part.xml b/docs/params/syn/label.from.part.xml new file mode 100644 index 0000000..43cbbc5 --- /dev/null +++ b/docs/params/syn/label.from.part.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/latex.babel.language.xml b/docs/params/syn/latex.babel.language.xml new file mode 100644 index 0000000..fa9260e --- /dev/null +++ b/docs/params/syn/latex.babel.language.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/latex.babel.use.xml b/docs/params/syn/latex.babel.use.xml new file mode 100644 index 0000000..5037cd7 --- /dev/null +++ b/docs/params/syn/latex.babel.use.xml @@ -0,0 +1 @@ +1 diff --git a/docs/params/syn/latex.bibfiles.xml b/docs/params/syn/latex.bibfiles.xml new file mode 100644 index 0000000..b668363 --- /dev/null +++ b/docs/params/syn/latex.bibfiles.xml @@ -0,0 +1 @@ +'' diff --git a/docs/params/syn/latex.biblio.output.xml b/docs/params/syn/latex.biblio.output.xml new file mode 100644 index 0000000..6e66994 --- /dev/null +++ b/docs/params/syn/latex.biblio.output.xml @@ -0,0 +1 @@ +all diff --git a/docs/params/syn/latex.biblio.style.xml b/docs/params/syn/latex.biblio.style.xml new file mode 100644 index 0000000..2bae4bc --- /dev/null +++ b/docs/params/syn/latex.biblio.style.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/latex.bibwidelabel.xml b/docs/params/syn/latex.bibwidelabel.xml new file mode 100644 index 0000000..e205201 --- /dev/null +++ b/docs/params/syn/latex.bibwidelabel.xml @@ -0,0 +1 @@ +WIDELABEL diff --git a/docs/params/syn/latex.class.article.xml b/docs/params/syn/latex.class.article.xml new file mode 100644 index 0000000..86f3b14 --- /dev/null +++ b/docs/params/syn/latex.class.article.xml @@ -0,0 +1 @@ +article diff --git a/docs/params/syn/latex.class.book.xml b/docs/params/syn/latex.class.book.xml new file mode 100644 index 0000000..93bccd7 --- /dev/null +++ b/docs/params/syn/latex.class.book.xml @@ -0,0 +1 @@ +report diff --git a/docs/params/syn/latex.class.options.xml b/docs/params/syn/latex.class.options.xml new file mode 100644 index 0000000..4d3fc63 --- /dev/null +++ b/docs/params/syn/latex.class.options.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/latex.encoding.xml b/docs/params/syn/latex.encoding.xml new file mode 100644 index 0000000..07175fb --- /dev/null +++ b/docs/params/syn/latex.encoding.xml @@ -0,0 +1 @@ +latin1 diff --git a/docs/params/syn/latex.engine.options.xml b/docs/params/syn/latex.engine.options.xml new file mode 100644 index 0000000..d6d6c26 --- /dev/null +++ b/docs/params/syn/latex.engine.options.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/latex.hyperparam.xml b/docs/params/syn/latex.hyperparam.xml new file mode 100644 index 0000000..f07afd7 --- /dev/null +++ b/docs/params/syn/latex.hyperparam.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/latex.index.language.xml b/docs/params/syn/latex.index.language.xml new file mode 100644 index 0000000..a723b1f --- /dev/null +++ b/docs/params/syn/latex.index.language.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/latex.index.tool.xml b/docs/params/syn/latex.index.tool.xml new file mode 100644 index 0000000..2ab445a --- /dev/null +++ b/docs/params/syn/latex.index.tool.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/latex.output.revhistory.xml b/docs/params/syn/latex.output.revhistory.xml new file mode 100644 index 0000000..7104a8e --- /dev/null +++ b/docs/params/syn/latex.output.revhistory.xml @@ -0,0 +1 @@ +1 diff --git a/docs/params/syn/latex.style.xml b/docs/params/syn/latex.style.xml new file mode 100644 index 0000000..1fc7168 --- /dev/null +++ b/docs/params/syn/latex.style.xml @@ -0,0 +1 @@ +docbook diff --git a/docs/params/syn/latex.unicode.use.xml b/docs/params/syn/latex.unicode.use.xml new file mode 100644 index 0000000..14b70cb --- /dev/null +++ b/docs/params/syn/latex.unicode.use.xml @@ -0,0 +1 @@ +0 diff --git a/docs/params/syn/linenumbering.default.xml b/docs/params/syn/linenumbering.default.xml new file mode 100644 index 0000000..d8ee189 --- /dev/null +++ b/docs/params/syn/linenumbering.default.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/linenumbering.everyNth.xml b/docs/params/syn/linenumbering.everyNth.xml new file mode 100644 index 0000000..46c0618 --- /dev/null +++ b/docs/params/syn/linenumbering.everyNth.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/linenumbering.scope.xml b/docs/params/syn/linenumbering.scope.xml new file mode 100644 index 0000000..d1018fe --- /dev/null +++ b/docs/params/syn/linenumbering.scope.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/listings.xml.xml b/docs/params/syn/listings.xml.xml new file mode 100644 index 0000000..65a7cdd --- /dev/null +++ b/docs/params/syn/listings.xml.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/literal.class.xml b/docs/params/syn/literal.class.xml new file mode 100644 index 0000000..3406fbe --- /dev/null +++ b/docs/params/syn/literal.class.xml @@ -0,0 +1 @@ +monospaced diff --git a/docs/params/syn/literal.environment.xml b/docs/params/syn/literal.environment.xml new file mode 100644 index 0000000..923a5f7 --- /dev/null +++ b/docs/params/syn/literal.environment.xml @@ -0,0 +1,10 @@ + + + + lstcode + + + lstlisting + + + diff --git a/docs/params/syn/literal.extensions.xml b/docs/params/syn/literal.extensions.xml new file mode 100644 index 0000000..f963899 --- /dev/null +++ b/docs/params/syn/literal.extensions.xml @@ -0,0 +1 @@ +0 diff --git a/docs/params/syn/literal.layout.options.xml b/docs/params/syn/literal.layout.options.xml new file mode 100644 index 0000000..8e89d9e --- /dev/null +++ b/docs/params/syn/literal.layout.options.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/literal.lines.showall.xml b/docs/params/syn/literal.lines.showall.xml new file mode 100644 index 0000000..6c8f8aa --- /dev/null +++ b/docs/params/syn/literal.lines.showall.xml @@ -0,0 +1 @@ +1 diff --git a/docs/params/syn/literal.role.xml b/docs/params/syn/literal.role.xml new file mode 100644 index 0000000..b046e26 --- /dev/null +++ b/docs/params/syn/literal.role.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/literal.width.ignore.xml b/docs/params/syn/literal.width.ignore.xml new file mode 100644 index 0000000..0d006a5 --- /dev/null +++ b/docs/params/syn/literal.width.ignore.xml @@ -0,0 +1 @@ +0 diff --git a/docs/params/syn/local.l10n.xml.xml b/docs/params/syn/local.l10n.xml.xml new file mode 100644 index 0000000..11ec6c2 --- /dev/null +++ b/docs/params/syn/local.l10n.xml.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/make.single.year.ranges.xml b/docs/params/syn/make.single.year.ranges.xml new file mode 100644 index 0000000..17483f2 --- /dev/null +++ b/docs/params/syn/make.single.year.ranges.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/make.year.ranges.xml b/docs/params/syn/make.year.ranges.xml new file mode 100644 index 0000000..3dd530c --- /dev/null +++ b/docs/params/syn/make.year.ranges.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/mediaobject.caption.style.xml b/docs/params/syn/mediaobject.caption.style.xml new file mode 100644 index 0000000..8f66d53 --- /dev/null +++ b/docs/params/syn/mediaobject.caption.style.xml @@ -0,0 +1 @@ +\slshape diff --git a/docs/params/syn/monoseq.hyphenation.xml b/docs/params/syn/monoseq.hyphenation.xml new file mode 100644 index 0000000..d9a06b0 --- /dev/null +++ b/docs/params/syn/monoseq.hyphenation.xml @@ -0,0 +1 @@ +1 diff --git a/docs/params/syn/monoseq.small.xml b/docs/params/syn/monoseq.small.xml new file mode 100644 index 0000000..2ed4db3 --- /dev/null +++ b/docs/params/syn/monoseq.small.xml @@ -0,0 +1 @@ +0 diff --git a/docs/params/syn/monospace.font.family.xml b/docs/params/syn/monospace.font.family.xml new file mode 100644 index 0000000..f8bf584 --- /dev/null +++ b/docs/params/syn/monospace.font.family.xml @@ -0,0 +1 @@ +DejaVu Sans Mono diff --git a/docs/params/syn/newtbl.autowidth.xml b/docs/params/syn/newtbl.autowidth.xml new file mode 100644 index 0000000..d546d37 --- /dev/null +++ b/docs/params/syn/newtbl.autowidth.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/newtbl.bgcolor.thead.xml b/docs/params/syn/newtbl.bgcolor.thead.xml new file mode 100644 index 0000000..f3f17d8 --- /dev/null +++ b/docs/params/syn/newtbl.bgcolor.thead.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/newtbl.default.colsep.xml b/docs/params/syn/newtbl.default.colsep.xml new file mode 100644 index 0000000..330add9 --- /dev/null +++ b/docs/params/syn/newtbl.default.colsep.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/newtbl.default.rowsep.xml b/docs/params/syn/newtbl.default.rowsep.xml new file mode 100644 index 0000000..463df05 --- /dev/null +++ b/docs/params/syn/newtbl.default.rowsep.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/newtbl.format.tbody.xml b/docs/params/syn/newtbl.format.tbody.xml new file mode 100644 index 0000000..6996bdc --- /dev/null +++ b/docs/params/syn/newtbl.format.tbody.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/newtbl.format.tfoot.xml b/docs/params/syn/newtbl.format.tfoot.xml new file mode 100644 index 0000000..03f4f8e --- /dev/null +++ b/docs/params/syn/newtbl.format.tfoot.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/newtbl.format.thead.xml b/docs/params/syn/newtbl.format.thead.xml new file mode 100644 index 0000000..3b79b44 --- /dev/null +++ b/docs/params/syn/newtbl.format.thead.xml @@ -0,0 +1,2 @@ +\bfseries% + diff --git a/docs/params/syn/newtbl.use.hhline.xml b/docs/params/syn/newtbl.use.hhline.xml new file mode 100644 index 0000000..4380134 --- /dev/null +++ b/docs/params/syn/newtbl.use.hhline.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/olink.base.uri.xml b/docs/params/syn/olink.base.uri.xml new file mode 100644 index 0000000..0696281 --- /dev/null +++ b/docs/params/syn/olink.base.uri.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/olink.debug.xml b/docs/params/syn/olink.debug.xml new file mode 100644 index 0000000..c2643b5 --- /dev/null +++ b/docs/params/syn/olink.debug.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/olink.doctitle.xml b/docs/params/syn/olink.doctitle.xml new file mode 100644 index 0000000..9dcb483 --- /dev/null +++ b/docs/params/syn/olink.doctitle.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/olink.lang.fallback.sequence.xml b/docs/params/syn/olink.lang.fallback.sequence.xml new file mode 100644 index 0000000..5998da4 --- /dev/null +++ b/docs/params/syn/olink.lang.fallback.sequence.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/page.height.xml b/docs/params/syn/page.height.xml new file mode 100644 index 0000000..713bae6 --- /dev/null +++ b/docs/params/syn/page.height.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/page.margin.bottom.xml b/docs/params/syn/page.margin.bottom.xml new file mode 100644 index 0000000..84186e5 --- /dev/null +++ b/docs/params/syn/page.margin.bottom.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/page.margin.inner.xml b/docs/params/syn/page.margin.inner.xml new file mode 100644 index 0000000..eb6ee09 --- /dev/null +++ b/docs/params/syn/page.margin.inner.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/page.margin.outer.xml b/docs/params/syn/page.margin.outer.xml new file mode 100644 index 0000000..538dbd2 --- /dev/null +++ b/docs/params/syn/page.margin.outer.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/page.margin.top.xml b/docs/params/syn/page.margin.top.xml new file mode 100644 index 0000000..01588b9 --- /dev/null +++ b/docs/params/syn/page.margin.top.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/page.width.xml b/docs/params/syn/page.width.xml new file mode 100644 index 0000000..978284d --- /dev/null +++ b/docs/params/syn/page.width.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/paper.type.xml b/docs/params/syn/paper.type.xml new file mode 100644 index 0000000..bbde69b --- /dev/null +++ b/docs/params/syn/paper.type.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/part.autolabel.xml b/docs/params/syn/part.autolabel.xml new file mode 100644 index 0000000..1eee752 --- /dev/null +++ b/docs/params/syn/part.autolabel.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/pdf.annot.options.xml b/docs/params/syn/pdf.annot.options.xml new file mode 100644 index 0000000..5b96904 --- /dev/null +++ b/docs/params/syn/pdf.annot.options.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/preface.autolabel.xml b/docs/params/syn/preface.autolabel.xml new file mode 100644 index 0000000..bd2378b --- /dev/null +++ b/docs/params/syn/preface.autolabel.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/preface.tocdepth.xml b/docs/params/syn/preface.tocdepth.xml new file mode 100644 index 0000000..beb05d5 --- /dev/null +++ b/docs/params/syn/preface.tocdepth.xml @@ -0,0 +1 @@ +0 diff --git a/docs/params/syn/prefer.internal.olink.xml b/docs/params/syn/prefer.internal.olink.xml new file mode 100644 index 0000000..a28a243 --- /dev/null +++ b/docs/params/syn/prefer.internal.olink.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/procedure.step.numeration.formats.xml b/docs/params/syn/procedure.step.numeration.formats.xml new file mode 100644 index 0000000..44f6f0e --- /dev/null +++ b/docs/params/syn/procedure.step.numeration.formats.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/punct.honorific.xml b/docs/params/syn/punct.honorific.xml new file mode 100644 index 0000000..507b22c --- /dev/null +++ b/docs/params/syn/punct.honorific.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/qanda.defaultlabel.xml b/docs/params/syn/qanda.defaultlabel.xml new file mode 100644 index 0000000..1261232 --- /dev/null +++ b/docs/params/syn/qanda.defaultlabel.xml @@ -0,0 +1 @@ +number diff --git a/docs/params/syn/qanda.inherit.numeration.xml b/docs/params/syn/qanda.inherit.numeration.xml new file mode 100644 index 0000000..7179774 --- /dev/null +++ b/docs/params/syn/qanda.inherit.numeration.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/qandadiv.autolabel.xml b/docs/params/syn/qandadiv.autolabel.xml new file mode 100644 index 0000000..82de56c --- /dev/null +++ b/docs/params/syn/qandadiv.autolabel.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/refclass.suppress.xml b/docs/params/syn/refclass.suppress.xml new file mode 100644 index 0000000..116a6ce --- /dev/null +++ b/docs/params/syn/refclass.suppress.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/refentry.generate.name.xml b/docs/params/syn/refentry.generate.name.xml new file mode 100644 index 0000000..6e87128 --- /dev/null +++ b/docs/params/syn/refentry.generate.name.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/refentry.numbered.xml b/docs/params/syn/refentry.numbered.xml new file mode 100644 index 0000000..e4512cd --- /dev/null +++ b/docs/params/syn/refentry.numbered.xml @@ -0,0 +1 @@ +1 diff --git a/docs/params/syn/refentry.tocdepth.xml b/docs/params/syn/refentry.tocdepth.xml new file mode 100644 index 0000000..896bcd6 --- /dev/null +++ b/docs/params/syn/refentry.tocdepth.xml @@ -0,0 +1 @@ +5 diff --git a/docs/params/syn/refentry.xref.manvolnum.xml b/docs/params/syn/refentry.xref.manvolnum.xml new file mode 100644 index 0000000..9367ece --- /dev/null +++ b/docs/params/syn/refentry.xref.manvolnum.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/sans.font.family.xml b/docs/params/syn/sans.font.family.xml new file mode 100644 index 0000000..7863273 --- /dev/null +++ b/docs/params/syn/sans.font.family.xml @@ -0,0 +1 @@ +DejaVu Sans diff --git a/docs/params/syn/section.autolabel.max.depth.xml b/docs/params/syn/section.autolabel.max.depth.xml new file mode 100644 index 0000000..c115652 --- /dev/null +++ b/docs/params/syn/section.autolabel.max.depth.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/section.autolabel.xml b/docs/params/syn/section.autolabel.xml new file mode 100644 index 0000000..7e4a71a --- /dev/null +++ b/docs/params/syn/section.autolabel.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/section.label.includes.component.label.xml b/docs/params/syn/section.label.includes.component.label.xml new file mode 100644 index 0000000..5bb5267 --- /dev/null +++ b/docs/params/syn/section.label.includes.component.label.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/seg.item.separator.xml b/docs/params/syn/seg.item.separator.xml new file mode 100644 index 0000000..990bd52 --- /dev/null +++ b/docs/params/syn/seg.item.separator.xml @@ -0,0 +1 @@ +, diff --git a/docs/params/syn/segmentedlist.as.table.xml b/docs/params/syn/segmentedlist.as.table.xml new file mode 100644 index 0000000..a121cb3 --- /dev/null +++ b/docs/params/syn/segmentedlist.as.table.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/set.book.num.xml b/docs/params/syn/set.book.num.xml new file mode 100644 index 0000000..648603c --- /dev/null +++ b/docs/params/syn/set.book.num.xml @@ -0,0 +1 @@ +1 diff --git a/docs/params/syn/show.comments.xml b/docs/params/syn/show.comments.xml new file mode 100644 index 0000000..9520de2 --- /dev/null +++ b/docs/params/syn/show.comments.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/table.continue.caption.xml b/docs/params/syn/table.continue.caption.xml new file mode 100644 index 0000000..44910c4 --- /dev/null +++ b/docs/params/syn/table.continue.caption.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/table.default.position.xml b/docs/params/syn/table.default.position.xml new file mode 100644 index 0000000..9380c37 --- /dev/null +++ b/docs/params/syn/table.default.position.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/table.default.tabstyle.xml b/docs/params/syn/table.default.tabstyle.xml new file mode 100644 index 0000000..778637b --- /dev/null +++ b/docs/params/syn/table.default.tabstyle.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/table.in.float.xml b/docs/params/syn/table.in.float.xml new file mode 100644 index 0000000..e341bba --- /dev/null +++ b/docs/params/syn/table.in.float.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/table.title.top.xml b/docs/params/syn/table.title.top.xml new file mode 100644 index 0000000..939cc74 --- /dev/null +++ b/docs/params/syn/table.title.top.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/target.database.document.xml b/docs/params/syn/target.database.document.xml new file mode 100644 index 0000000..877efe8 --- /dev/null +++ b/docs/params/syn/target.database.document.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/targets.filename.xml b/docs/params/syn/targets.filename.xml new file mode 100644 index 0000000..1512c98 --- /dev/null +++ b/docs/params/syn/targets.filename.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/term.breakline.xml b/docs/params/syn/term.breakline.xml new file mode 100644 index 0000000..ccce2c3 --- /dev/null +++ b/docs/params/syn/term.breakline.xml @@ -0,0 +1 @@ +0 diff --git a/docs/params/syn/tex.math.in.alt.xml b/docs/params/syn/tex.math.in.alt.xml new file mode 100644 index 0000000..b0bee75 --- /dev/null +++ b/docs/params/syn/tex.math.in.alt.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/texlive.version.xml b/docs/params/syn/texlive.version.xml new file mode 100644 index 0000000..3b425d3 --- /dev/null +++ b/docs/params/syn/texlive.version.xml @@ -0,0 +1 @@ +2007-10 diff --git a/docs/params/syn/titleabbrev.in.toc.xml b/docs/params/syn/titleabbrev.in.toc.xml new file mode 100644 index 0000000..db7fee7 --- /dev/null +++ b/docs/params/syn/titleabbrev.in.toc.xml @@ -0,0 +1 @@ +1 diff --git a/docs/params/syn/toc.section.depth.xml b/docs/params/syn/toc.section.depth.xml new file mode 100644 index 0000000..c8e9d6b --- /dev/null +++ b/docs/params/syn/toc.section.depth.xml @@ -0,0 +1 @@ +5 diff --git a/docs/params/syn/ulink.footnotes.xml b/docs/params/syn/ulink.footnotes.xml new file mode 100644 index 0000000..9808a96 --- /dev/null +++ b/docs/params/syn/ulink.footnotes.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/ulink.show.xml b/docs/params/syn/ulink.show.xml new file mode 100644 index 0000000..666c904 --- /dev/null +++ b/docs/params/syn/ulink.show.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/use.id.as.filename.xml b/docs/params/syn/use.id.as.filename.xml new file mode 100644 index 0000000..780c64e --- /dev/null +++ b/docs/params/syn/use.id.as.filename.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/use.local.olink.style.xml b/docs/params/syn/use.local.olink.style.xml new file mode 100644 index 0000000..c8c64a1 --- /dev/null +++ b/docs/params/syn/use.local.olink.style.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/variablelist.term.separator.xml b/docs/params/syn/variablelist.term.separator.xml new file mode 100644 index 0000000..d0e8825 --- /dev/null +++ b/docs/params/syn/variablelist.term.separator.xml @@ -0,0 +1 @@ +, diff --git a/docs/params/syn/xetex.font.xml b/docs/params/syn/xetex.font.xml new file mode 100644 index 0000000..5bc0c45 --- /dev/null +++ b/docs/params/syn/xetex.font.xml @@ -0,0 +1,6 @@ + + + + + diff --git a/docs/params/syn/xref.hypermarkup.xml b/docs/params/syn/xref.hypermarkup.xml new file mode 100644 index 0000000..83e31ec --- /dev/null +++ b/docs/params/syn/xref.hypermarkup.xml @@ -0,0 +1 @@ + diff --git a/docs/params/syn/xref.label-page.separator.xml b/docs/params/syn/xref.label-page.separator.xml new file mode 100644 index 0000000..01873be --- /dev/null +++ b/docs/params/syn/xref.label-page.separator.xml @@ -0,0 +1,3 @@ + + + diff --git a/docs/params/syn/xref.label-title.separator.xml b/docs/params/syn/xref.label-title.separator.xml new file mode 100644 index 0000000..494addb --- /dev/null +++ b/docs/params/syn/xref.label-title.separator.xml @@ -0,0 +1 @@ +: diff --git a/docs/params/syn/xref.title-page.separator.xml b/docs/params/syn/xref.title-page.separator.xml new file mode 100644 index 0000000..439646f --- /dev/null +++ b/docs/params/syn/xref.title-page.separator.xml @@ -0,0 +1,3 @@ + + + diff --git a/docs/params/syn/xref.with.number.and.title.xml b/docs/params/syn/xref.with.number.and.title.xml new file mode 100644 index 0000000..1ca8adb --- /dev/null +++ b/docs/params/syn/xref.with.number.and.title.xml @@ -0,0 +1 @@ + diff --git a/docs/params/table.continue.caption.xml b/docs/params/table.continue.caption.xml new file mode 100644 index 0000000..bdfe164 --- /dev/null +++ b/docs/params/table.continue.caption.xml @@ -0,0 +1,21 @@ + + + + + table.continue.caption + + + table.continue.caption + Caption text for continued table titles + + + + + + + Description + Text to display in the second (and following) captions +of long tables expanding over more than one page. The default parameter +value is '(continued)' (including the parentheses). + + diff --git a/docs/params/table.default.position.xml b/docs/params/table.default.position.xml new file mode 100644 index 0000000..6b82392 --- /dev/null +++ b/docs/params/table.default.position.xml @@ -0,0 +1,64 @@ + + + + + table.default.position + + + table.default.position + Default table float placement policy + + + + + + + + Description + Default table float placement algorithm. The value + must contain enclosing square braces ([]). + Order is significant, the first match which produces acceptable + output is used. + + The meaning of the characters are: + + + h + + Meaning: here + Place the float where it occurs in the DocBook source. + + + + + t + + Meaning: top + Place the float at the top of the page. + + + + + b + + Meaning: bottom + Place the float at the bottom of the page. + + + + + p + + Meaning: page + Place the float on a special page just for floats. + + + + + Any of the characters may be followed by an exclamation + point (!) to force LaTeX to be more aggressive + when trying the placement algorithm. + + The default value is [htbp]. + + diff --git a/docs/params/table.default.tabstyle.xml b/docs/params/table.default.tabstyle.xml new file mode 100644 index 0000000..83e08ef --- /dev/null +++ b/docs/params/table.default.tabstyle.xml @@ -0,0 +1,47 @@ + + + + + table.default.tabstyle + + + table.default.tabstyle + Default table style to apply + + + + + + + Description + The parameter applies only for informaltables that + do not have a tabstyle attribute. With dblatex its role + is to specify the latex table environment to use, so the set value must be + a valid latex environment. The supported values are: + + + +longtable + + +The default table type used by dblatex, in order to be able to split over several pages. When the parameter is empty and no tabstyle attribute is defined, it is the applied value. + + + +tabular + + +The most usual table type. Such table can only be on a single page. + + + +tabularx + + +An advanced table type that allows to stretch column widths to the available remained page width. Such table can only be on a single page. + + + + + + diff --git a/docs/params/table.in.float.xml b/docs/params/table.in.float.xml new file mode 100644 index 0000000..39a059d --- /dev/null +++ b/docs/params/table.in.float.xml @@ -0,0 +1,44 @@ + + + + + table.in.float + + + table.in.float + Use or emulate a float to display a formal table? + + + + + + Description + + Determines whether formal tables + float. Floating tables do not necessarily appear in the output + document in the location in which they appear in the DocBook + input, they may move when this improves the overall document + layout. Non-floating tables always appear in the rendered + document in the same place as they appear in the input DocBook + document. + + Informal tables never float. + Tables that do not float are processed using the + longtable package. Unlike the methods used to + process floating tables, tables processed with + longtable may span page boundaries. Floating + tables may not cross page boundaries and so may not be larger than + a single page. + + The longtable + package is limited in that titles must be positioned at the top of + the table. This limits the positioning of non-floating table + titles to the top of the table. + + When table.in.float is + 0 formal tables do not float. + + The default is 1, formal tables + float. + + diff --git a/docs/params/table.title.top.xml b/docs/params/table.title.top.xml new file mode 100644 index 0000000..d705a1f --- /dev/null +++ b/docs/params/table.title.top.xml @@ -0,0 +1,22 @@ + + + + + table.title.top + + + table.title.top + Title on top of the table float + + + + + + + + Description + Set to 1 the table + float title position is above the +table. Set to 0 the title is under the table. Meaningless when the table is not in a float (see table.in.float). + + diff --git a/docs/params/template.xml b/docs/params/template.xml new file mode 100644 index 0000000..62aa8b9 --- /dev/null +++ b/docs/params/template.xml @@ -0,0 +1,18 @@ + + + + + template + + + template + ??? + + + + + + + Description + + diff --git a/docs/params/term.breakline.xml b/docs/params/term.breakline.xml new file mode 100644 index 0000000..94dceda --- /dev/null +++ b/docs/params/term.breakline.xml @@ -0,0 +1,21 @@ + + + + + term.breakline + + + term.breakline + Put the term description on the next line? + + + + + + + + Description + Set to 1 the item following a term in a variable list is put on the +next line. + + diff --git a/docs/params/tex.math.in.alt.xml b/docs/params/tex.math.in.alt.xml new file mode 100644 index 0000000..fce54c2 --- /dev/null +++ b/docs/params/tex.math.in.alt.xml @@ -0,0 +1,22 @@ + + + + + tex.math.in.alt + + + tex.math.in.alt + TeX notation used for equations + + + + + + + + Description + Specifies if the alt element in an (informal) +equation contains some tex equation. If so, and if the tex equation is in +'latex' format, the content is directly used by dblatex. + + diff --git a/docs/params/texlive.version.xml b/docs/params/texlive.version.xml new file mode 100644 index 0000000..83e13e1 --- /dev/null +++ b/docs/params/texlive.version.xml @@ -0,0 +1,21 @@ + + + + + texlive.version + + + texlive.version + Version of the installed Tex Live Distribution + + + + + + + Description + The version number is used to adapt the tex output. For instance the + URL output depends on the url package behaviour that differs from one + release to another. + + diff --git a/docs/params/titleabbrev.in.toc.xml b/docs/params/titleabbrev.in.toc.xml new file mode 100644 index 0000000..a8be30a --- /dev/null +++ b/docs/params/titleabbrev.in.toc.xml @@ -0,0 +1,21 @@ + + + + + titleabbrev.in.toc + + + titleabbrev.in.toc + Should titleabbrev be put in the TOC + instead of title? + + + + + + + Description + Set to 1 the titleabbrev content is put in the TOC instead of the +title. + + diff --git a/docs/params/toc.section.depth.xml b/docs/params/toc.section.depth.xml new file mode 100644 index 0000000..c5ca81c --- /dev/null +++ b/docs/params/toc.section.depth.xml @@ -0,0 +1,20 @@ + + + + + toc.section.depth + + + toc.section.depth + How deep should recursive sections appear in the TOC? + + + + + + + Description + Depth of the TOC. Used to set the latex tocdepth +counter. + + diff --git a/docs/params/ulink.footnotes.xml b/docs/params/ulink.footnotes.xml new file mode 100644 index 0000000..1a945ab --- /dev/null +++ b/docs/params/ulink.footnotes.xml @@ -0,0 +1,26 @@ + + + + + ulink.footnotes + + + ulink.footnotes + Generate footnotes for ulinks? + + + + + + + Description + If non-zero, and if ulink.show also is non-zero, +the URL of each ulink will appear as a footnote. + +Dblatex Limitation +The URL cannot be shown in a footnote if the ulinks +are in list terms or heading titles. + + + + diff --git a/docs/params/ulink.show.xml b/docs/params/ulink.show.xml new file mode 100644 index 0000000..c4b3d69 --- /dev/null +++ b/docs/params/ulink.show.xml @@ -0,0 +1,50 @@ + + + + + ulink.show + + + ulink.show + Display URLs after ulinks? + + + + + + + Description +If non-zero, the URL of each ulink will +appear after the text of the link. If the text of the link and the URL +are identical, the URL is suppressed. + +See also ulink.footnotes. + +The global ulink.show and ulink.footnotes +setting can be overriden +for each ulink that uses an xrefstyle +like the following examples: + + +Hot Text + + +Hot Text + + +Hot Text + + +Hot Text + + +Hot Text + + +Hot Text + +]]> + + + diff --git a/docs/params/use.id.as.filename.xml b/docs/params/use.id.as.filename.xml new file mode 100644 index 0000000..44be68e --- /dev/null +++ b/docs/params/use.id.as.filename.xml @@ -0,0 +1,25 @@ + + + + + use.id.as.filename + + + use.id.as.filename + Use ID value of chunk elements as the filename? + + + + + + + Description + +If use.id.as.filename +is non-zero, the filename of chunk elements that have IDs will be +derived from the ID value. + +This parameter is used only when chuncking occurs, that is, when a set of +books is published. + + diff --git a/docs/params/variablelist.term.separator.xml b/docs/params/variablelist.term.separator.xml new file mode 100644 index 0000000..c03c0a2 --- /dev/null +++ b/docs/params/variablelist.term.separator.xml @@ -0,0 +1,24 @@ + + + + + variablelist.term.separator + + + variablelist.term.separator + Text to separate terms within a multi-term +varlistentry + + + + + + Description + +When a varlistentry contains multiple +term elements, the string specified in the value of the +variablelist.term.separator parameter is placed +after each term except the last. + + + diff --git a/docs/params/xetex.font.xml b/docs/params/xetex.font.xml new file mode 100644 index 0000000..7918a2e --- /dev/null +++ b/docs/params/xetex.font.xml @@ -0,0 +1,31 @@ + + + + + xetex.font + + + xetex.font + Specifies the fonts that XeTeX must use + + + + + + + + Description + Font specification for XeTeX. Meaningful only when the xetex backend + is used. By default the parameter sets the XeTeX configuration from the + parameters body.font.family, + sans.font.family, and + monospace.font.family but you can completely + override it to define a more complex setup. + + + See Also + body.font.family, + sans.font.family, + monospace.font.family + + diff --git a/docs/params/xref.hypermarkup.xml b/docs/params/xref.hypermarkup.xml new file mode 100644 index 0000000..7227edb --- /dev/null +++ b/docs/params/xref.hypermarkup.xml @@ -0,0 +1,22 @@ + + + + + xref.hypermarkup + + + xref.hypermarkup + Wrap the entire the xref markups with an hyperlink? + + + + + + + Description + When set to 1, the whole cross reference markup produced for an + xref is converted to an hyperlink. + When not set, the default latex hyperlinking is done, that usually + means that only the reference numbers are hot. + + diff --git a/docs/params/xref.with.number.and.title.xml b/docs/params/xref.with.number.and.title.xml new file mode 100644 index 0000000..0c7d3f1 --- /dev/null +++ b/docs/params/xref.with.number.and.title.xml @@ -0,0 +1,21 @@ + + + + + xref.with.number.and.title + + + xref.with.number.and.title + Use number and title in cross references + + + + + + + Description + A cross reference may include the number (for example, the number of +an example or figure) and the title which is a required child of some targets. This parameter inserts both the relevant number as well as +the title into the link. + + diff --git a/docs/pis/bibtex.xml b/docs/pis/bibtex.xml new file mode 100644 index 0000000..e98b1df --- /dev/null +++ b/docs/pis/bibtex.xml @@ -0,0 +1,47 @@ + + + + + bibtex + + + bibtex + Specify how to fill a Bibliography with BibTeX + + + ]]> + + + Description + This Programming Instruction is usefull to include a bibliography + coming from an external bibliography database written in the well known + BibTeX format. Dblatex will call + bibtex to process the database. + + The attributes supported by the PI are: + + + + + + + + Context + Recognized in the bibliomixed element. + + + + See Also + + + + + + + diff --git a/docs/pis/dblatex_angle.xml b/docs/pis/dblatex_angle.xml new file mode 100644 index 0000000..a2e904d --- /dev/null +++ b/docs/pis/dblatex_angle.xml @@ -0,0 +1,27 @@ + + + + + dblatex angle + + + dblatex + angle + Rotates an imagedata Image + + + ]]> + + + Description + Rotates the designated image by the angle given, expressed in + degrees. + + The default is no rotation. + + + + Context + Recognized in the imagedata element. + + diff --git a/docs/pis/dblatex_autowidth.xml b/docs/pis/dblatex_autowidth.xml new file mode 100644 index 0000000..6c0a3eb --- /dev/null +++ b/docs/pis/dblatex_autowidth.xml @@ -0,0 +1,68 @@ + + + + + dblatex autowidth + + + dblatex + autowidth + Column sizing by LaTeX in + segmentedlist tables + + + ]]> + + + Description + Defines, when segmentedlists are presented + in tabular form, whether the column widths are automatically sized + by latex. The allowed values are: + + + + In addition to these keywords, + autowidth can also take for its value + keywords of the form column: + N + ..., where N is + the number of the column (counting from 1) which is to have its + width automatically sized. Columns with numbers not referenced, + and not otherwise sized, will all have widths equally apportioned + from available space. + + + + The dblatex + autowidth processing instruction + supersedes column width sizing specified by the parameter or processing instruction. + + + + + + Context + Recognized in the segmentedlist element. + + + + See Also + + + + + + + + + + + diff --git a/docs/pis/dblatex_bgcolor.xml b/docs/pis/dblatex_bgcolor.xml new file mode 100644 index 0000000..2089871 --- /dev/null +++ b/docs/pis/dblatex_bgcolor.xml @@ -0,0 +1,57 @@ + + + + + dblatex bgcolor + + + dblatex + bgcolor + Sets the Background Color of A Table Element + + + + +]]> + + + Description + + Set the background color of a table element. The color of a + child element is inherited from its parent, with the exception of + the color of row cells. These have a color which is inherited from + the column in which they appear so long as no color is specified + for the row. How the color is set, whether by attribute or by + processing instruction, does not matter. + + + + The default is the value of the table's + bgcolor attribute, or white when not otherwise + specified. + + + + Context + Recognized in the following elements + HTML table elements have attributes which allow color to + be specified. + : + + col + colgroup + entry + entrytbl + row + + + + + See Also + + See + + + diff --git a/docs/pis/dblatex_citestyle.xml b/docs/pis/dblatex_citestyle.xml new file mode 100644 index 0000000..94c2ee7 --- /dev/null +++ b/docs/pis/dblatex_citestyle.xml @@ -0,0 +1,36 @@ + + + + + dblatex citestyle + + + dblatex + citestyle + Sets Natbib Citation Style + + + ]]> + + + Description + Applies the given natbib citation command to a citation. As + the value of citestyle is a LaTeX command, + if square brackets [ ] are part of the citation + text then the text must be enclosed in curly brackets { + } to protect them. + + + + Context + Recognized in the citation element, only + when the parameter is set to + 1. + + + + See Also + + + + diff --git a/docs/pis/dblatex_colwidth.xml b/docs/pis/dblatex_colwidth.xml new file mode 100644 index 0000000..31d3ece --- /dev/null +++ b/docs/pis/dblatex_colwidth.xml @@ -0,0 +1,88 @@ + + + + + dblatex colwidth + + + dblatex + colwidth + Specifies a column width for + segmentedlists presented as tables + + + ]]> + + + Description + Specifies a column width for the columns of a + segmentedlist when presented as a table. (See + .) This is the width of the + cell content and does not include inter-cell spacing. + + The colwidth attribute may take any + of the colspec's + colwidth attribute's values. These + are: + + + + A valid TeX length (e.g. 4cm). + + + A proportional width specification of the form + N*, where + Nis a positive integer. + + + A combination of the above + (e.g. 3*+1cm). Spaces are not + allowed. + + + Any of the keywords allowed the parameter: + autowidth.default, + autowidth.all, and + autowidth.none. The first two, + autowidth.default and + autowidth.none, have the same meaning -- + LaTeX determines the width of the column based on the width of + the widest cell value. autowidth.none + means the same as *, + proportional spacing. + + + + The dblatex + colwidth processing instruction supersedes + any column width specified by the parameter or processing instruction. + + The default depends on + whether the overall table width is specified. When there is no + fixed table width columns default to the LaTeX default, the width + of the widest cell. This is the default when no parameters or + processing instructions are used. When a fixed table width is + specified the default is *, + proportional spacing. + + + + Context + Recognized in the segtitle element. + + + + See Also + + + + + + + + + + diff --git a/docs/pis/dblatex_list-presentation.xml b/docs/pis/dblatex_list-presentation.xml new file mode 100644 index 0000000..61e3ea4 --- /dev/null +++ b/docs/pis/dblatex_list-presentation.xml @@ -0,0 +1,82 @@ + + + + + dblatex list-presentation + + + dblatex + list-presentation + + Specifies presentation style for a + segmentedlist + + + ]]> + + + Description + Use the dblatex list-presentation PI + as a child of a segmentedlist to + control the presentation style for the list (to cause it, for + example, to be displayed as a table). + + The value of list-presentation must be one of the + following: + + + + list + + Display as a term-by-term list. The + segmentedlist's seg + values are output like variablelist + listitem values, one per line. The + segtitle values appear as + variablelist terms + values do. Unlike a variablelist, the + list is formatted without indentation. + + + + table + + Display as a table. The segtitle + values are the column headings. + + + + + + + Context + Recognized in the segmentedlist element. + + + See Also + + + + + + Inline presentation: + + + + + + + Table presentation: + + + + + + + + + + + + + diff --git a/docs/pis/dblatex_table-width.xml b/docs/pis/dblatex_table-width.xml new file mode 100644 index 0000000..2162e57 --- /dev/null +++ b/docs/pis/dblatex_table-width.xml @@ -0,0 +1,67 @@ + + + + + dblatex table-width + + + dblatex + table-width + Control the Automatic Width of a Table + + + ]]> + + + Description + Set the width of a table. Used only when there is at least + one column in the table without a fixed width, the + table-width has precedence over other + determinants of a table's width. + + The table.width takes the values + allowed for the param, plus + more. The values shared with are: + + + + + + Automatic Column Width + + + + The scope can take the following values, + like in the newtbl.autowidth parameter: + + + + + + There is no default. + + + + Context + Recognized in the table element. + + + + See Also + + + + + + + + diff --git a/docs/pis/latex.xml b/docs/pis/latex.xml new file mode 100644 index 0000000..16f8304 --- /dev/null +++ b/docs/pis/latex.xml @@ -0,0 +1,139 @@ + + + + + latex + + + latex, db2latex + Insert Arbitrary text into the LaTeX file + + + content]]> + + + Description + These Processing Instructions are unusual in that they have no + attribute. Instead, the + content is put directly into the + generated LaTeX document. + + The db2latex PI is deprecated + and should not be used anymore. It was provided for backward + compatibility. Use the latex PI + instead. + + This can provide the ultimate in customization, but can be + very dangerous since it breaks the abstractions provided by + dblatex. + + + These Processing Instructions can be used + to inject arbitrary LaTeX into the output stream. Please check if a + safer customization method can be used instead. See the other + customization methods. + + While it is pretty clear that insertion of certain sorts + of LaTeX text, at some points within the document, will always + be expected to work, there is no guarantee that + any inserted LaTeX will continue to work in + the future with newer versions of dblatex or its underlying + software stack. + + Inserting LaTeX into CDATA, i.e. in places + where document text appears, is likely to be more robust than + inserting LaTeX elsewhere. But again, no guarantees are + made. + + + Care must be taken with whitespace. Leading and trailing + spaces matter within the processing instruction. The + content consists of everything + following the first space and before the closing + ?>. Further care must be taken with any + whitespace which follows the processing instruction -- the TeX + tokenization scan may consume whitespace which follows the + processing instruction. One possible solution when this happens + is to end your content with the + \ character. + + The latex Processing Instruction + takes special steps to work in verbatim blocks, + screen, programlisting, and + literallayout elements, while + db2latex is directly written as is. + + + + Safe LaTeX Insertions + + Although the latex processing instruction + can be dangerous there are a few latex + content values that are safe to use within + CDATA words, within the words of the actual text of + your document. The following content + values provide LaTeX with information it can use to improve your + document's formatting: + + + + \- + + Soft hyphen. A backslash followed by a dash indicates + a soft hyphen. LaTeX may or may not break the line and + hyphenate at this point. Useful when over-long variable + names and similar fail to hyphenate and thereby cause lines + to exceed their normal lengths. + + Once a soft hyphen is inserted into a word the + insertion point becomes the only place at which hyphenation + is permitted in that occurrence of the word. + + + + + {} + + Do not kern (join together) characters. An empty pair + of curly braces placed between two characters indicates that + the characters should not be joined together. Depending on + the font and the characters, some pairs of characters may be + joined together. E.g. a pair of lower-case + f characters may be have a their + crossbars joined. This may not be desirable, as when each + of the characters is a component of a separate word within a + larger compound word. Placing this PI between the + characters which are to remain separated prevents the two + characters from kerning. + + + + + {\kern0pt} + + Really, do not kern (join together) characters. A + stronger version of {}. + + + + + \@ + + A backslash followed by the at sign, when placed after + a capital letter and before a period, indicates that the + period is the end of a sentence. Periods following capital + letters do not otherwise end sentences and sentences may be + used by LaTeX when determining layout. + + + + + + + + + Context + Recognized in all elements. + + diff --git a/docs/pis/pi.xml b/docs/pis/pi.xml new file mode 100644 index 0000000..328d19e --- /dev/null +++ b/docs/pis/pi.xml @@ -0,0 +1,48 @@ + + + +Dblatex Processing Instruction Reference + +This is reference documentation for all processing +instructionsProcessing Instructions +in the dblatex XSL stylesheets. + +
Bibliography + + + + +
+ +
LaTeX + +If you do inject arbitrary LaTeX into the output stream you will +probably need to use the techniques found in . + + + +
+ +
Miscellaneous + + + + +
+ +
Tables + + + + +
+
Lists + + + + + +
+
diff --git a/docs/pis/texmath.xml b/docs/pis/texmath.xml new file mode 100644 index 0000000..75c33f9 --- /dev/null +++ b/docs/pis/texmath.xml @@ -0,0 +1,36 @@ + + + + + texmath delimiters + + + texmath + delimiters + Disable The LaTeX Mathematical Delimiters Control + + + ]]> + + + Description + + + + + + + + Context + Recognized in the alt element. + + + + See Also + . + + diff --git a/docs/processus.eps b/docs/processus.eps new file mode 100644 index 0000000..6c50e06 --- /dev/null +++ b/docs/processus.eps @@ -0,0 +1,379 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: processus.fig +%%Creator: fig2dev Version 3.2 Patchlevel 5 +%%CreationDate: Sun May 3 19:03:13 2009 +%%For: ben@venus (ben,,,) +%%BoundingBox: 0 0 393 438 +%Magnification: 1.0000 +%%EndComments +%%BeginProlog +/$F2psDict 200 dict def +$F2psDict begin +$F2psDict /mtrx matrix put +/col-1 {0 setgray} bind def +/col0 {0.000 0.000 0.000 srgb} bind def +/col1 {0.000 0.000 1.000 srgb} bind def +/col2 {0.000 1.000 0.000 srgb} bind def +/col3 {0.000 1.000 1.000 srgb} bind def +/col4 {1.000 0.000 0.000 srgb} bind def +/col5 {1.000 0.000 1.000 srgb} bind def +/col6 {1.000 1.000 0.000 srgb} bind def +/col7 {1.000 1.000 1.000 srgb} bind def +/col8 {0.000 0.000 0.560 srgb} bind def +/col9 {0.000 0.000 0.690 srgb} bind def +/col10 {0.000 0.000 0.820 srgb} bind def +/col11 {0.530 0.810 1.000 srgb} bind def +/col12 {0.000 0.560 0.000 srgb} bind def +/col13 {0.000 0.690 0.000 srgb} bind def +/col14 {0.000 0.820 0.000 srgb} bind def +/col15 {0.000 0.560 0.560 srgb} bind def +/col16 {0.000 0.690 0.690 srgb} bind def +/col17 {0.000 0.820 0.820 srgb} bind def +/col18 {0.560 0.000 0.000 srgb} bind def +/col19 {0.690 0.000 0.000 srgb} bind def +/col20 {0.820 0.000 0.000 srgb} bind def +/col21 {0.560 0.000 0.560 srgb} bind def +/col22 {0.690 0.000 0.690 srgb} bind def +/col23 {0.820 0.000 0.820 srgb} bind def +/col24 {0.500 0.190 0.000 srgb} bind def +/col25 {0.630 0.250 0.000 srgb} bind def +/col26 {0.750 0.380 0.000 srgb} bind def +/col27 {1.000 0.500 0.500 srgb} bind def +/col28 {1.000 0.630 0.630 srgb} bind def +/col29 {1.000 0.750 0.750 srgb} bind def +/col30 {1.000 0.880 0.880 srgb} bind def +/col31 {1.000 0.840 0.000 srgb} bind def + +end + +/cp {closepath} bind def +/ef {eofill} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth} bind def +/tr {translate} bind def +/tnt {dup dup currentrgbcolor + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} + bind def +/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul + 4 -2 roll mul srgb} bind def +/reencdict 12 dict def /ReEncode { reencdict begin +/newcodesandnames exch def /newfontname exch def /basefontname exch def +/basefontdict basefontname findfont def /newfont basefontdict maxlength dict def +basefontdict { exch dup /FID ne { dup /Encoding eq +{ exch dup length array copy newfont 3 1 roll put } +{ exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall +newfont /FontName newfontname put newcodesandnames aload pop +128 1 255 { newfont /Encoding get exch /.notdef put } for +newcodesandnames length 2 idiv { newfont /Encoding get 3 1 roll put } repeat +newfontname newfont definefont pop end } def +/isovec [ +8#055 /minus 8#200 /grave 8#201 /acute 8#202 /circumflex 8#203 /tilde +8#204 /macron 8#205 /breve 8#206 /dotaccent 8#207 /dieresis +8#210 /ring 8#211 /cedilla 8#212 /hungarumlaut 8#213 /ogonek 8#214 /caron +8#220 /dotlessi 8#230 /oe 8#231 /OE +8#240 /space 8#241 /exclamdown 8#242 /cent 8#243 /sterling +8#244 /currency 8#245 /yen 8#246 /brokenbar 8#247 /section 8#250 /dieresis +8#251 /copyright 8#252 /ordfeminine 8#253 /guillemotleft 8#254 /logicalnot +8#255 /hyphen 8#256 /registered 8#257 /macron 8#260 /degree 8#261 /plusminus +8#262 /twosuperior 8#263 /threesuperior 8#264 /acute 8#265 /mu 8#266 /paragraph +8#267 /periodcentered 8#270 /cedilla 8#271 /onesuperior 8#272 /ordmasculine +8#273 /guillemotright 8#274 /onequarter 8#275 /onehalf +8#276 /threequarters 8#277 /questiondown 8#300 /Agrave 8#301 /Aacute +8#302 /Acircumflex 8#303 /Atilde 8#304 /Adieresis 8#305 /Aring +8#306 /AE 8#307 /Ccedilla 8#310 /Egrave 8#311 /Eacute +8#312 /Ecircumflex 8#313 /Edieresis 8#314 /Igrave 8#315 /Iacute +8#316 /Icircumflex 8#317 /Idieresis 8#320 /Eth 8#321 /Ntilde 8#322 /Ograve +8#323 /Oacute 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply +8#330 /Oslash 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex +8#334 /Udieresis 8#335 /Yacute 8#336 /Thorn 8#337 /germandbls 8#340 /agrave +8#341 /aacute 8#342 /acircumflex 8#343 /atilde 8#344 /adieresis 8#345 /aring +8#346 /ae 8#347 /ccedilla 8#350 /egrave 8#351 /eacute +8#352 /ecircumflex 8#353 /edieresis 8#354 /igrave 8#355 /iacute +8#356 /icircumflex 8#357 /idieresis 8#360 /eth 8#361 /ntilde 8#362 /ograve +8#363 /oacute 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /divide +8#370 /oslash 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex +8#374 /udieresis 8#375 /yacute 8#376 /thorn 8#377 /ydieresis] def +/Times-Roman /Times-Roman-iso isovec ReEncode +/Times-Italic /Times-Italic-iso isovec ReEncode +/Times-BoldItalic /Times-BoldItalic-iso isovec ReEncode +/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def +/$F2psEnd {$F2psEnteredState restore end} def + +/pageheader { +save +newpath 0 438 moveto 0 0 lineto 393 0 lineto 393 438 lineto closepath clip newpath +-161.3 522.7 translate +1 -1 scale +$F2psBegin +10 setmiterlimit +0 slj 0 slc + 0.06000 0.06000 sc +} bind def +/pagefooter { +$F2psEnd +restore +} bind def +%%EndProlog +pageheader +% +% Fig objects follow +% +% +% here starts figure with depth 51 +% Polyline +0 slj +0 slc +7.500 slw + [15 45] 45 sd +n 3030 4650 m 2925 4650 2925 6195 105 arcto 4 {pop} repeat + 2925 6300 4395 6300 105 arcto 4 {pop} repeat + 4500 6300 4500 4755 105 arcto 4 {pop} repeat + 4500 4650 3030 4650 105 arcto 4 {pop} repeat + cp gs col0 s gr [] 0 sd +% Polyline + [15 45] 45 sd +n 5655 4650 m 5550 4650 5550 8295 105 arcto 4 {pop} repeat + 5550 8400 7020 8400 105 arcto 4 {pop} repeat + 7125 8400 7125 4755 105 arcto 4 {pop} repeat + 7125 4650 5655 4650 105 arcto 4 {pop} repeat + cp gs col0 s gr [] 0 sd +% Polyline + [15 45] 45 sd +n 2805 2025 m 2700 2025 2700 8595 105 arcto 4 {pop} repeat + 2700 8700 7245 8700 105 arcto 4 {pop} repeat + 7350 8700 7350 2130 105 arcto 4 {pop} repeat + 7350 2025 2805 2025 105 arcto 4 {pop} repeat + cp gs col0 s gr [] 0 sd +/Times-Roman-iso ff 200.00 scf sf +6300 6450 m +gs 1 -1 sc (dvips) col0 sh gr +/Times-Roman-iso ff 200.00 scf sf +6300 7500 m +gs 1 -1 sc (ps2pdf) col0 sh gr +/Times-Italic-iso ff 200.00 scf sf +5175 4350 m +gs 1 -1 sc (texclean) col0 sh gr +% Polyline +n 4650 3525 m 5400 3525 l 5400 4050 l 4650 4050 l + cp gs col0 s gr +% Polyline +n 4650 4575 m 5400 4575 l 5400 5100 l 4650 5100 l + cp gs col0 s gr +% Polyline +n 5775 5625 m 6525 5625 l 6525 6150 l 5775 6150 l + cp gs col7 1.00 shd ef gr gs col0 s gr +% Polyline +n 5775 6675 m 6525 6675 l 6525 7200 l 5775 7200 l + cp gs col0 s gr +% Polyline +n 5775 7725 m 6525 7725 l 6525 8250 l 5775 8250 l + cp gs col0 s gr +% Polyline +gs clippath +6120 6539 m 6120 6690 l 6180 6690 l 6180 6539 l 6180 6539 l 6150 6659 l 6120 6539 l cp +eoclip +n 6150 6150 m + 6150 6675 l gs col0 s gr gr + +% arrowhead +n 6120 6539 m 6150 6659 l 6180 6539 l 6120 6539 l cp gs 0.00 setgray ef gr col0 s +% Polyline +gs clippath +6120 7589 m 6120 7740 l 6180 7740 l 6180 7589 l 6180 7589 l 6150 7709 l 6120 7589 l cp +eoclip +n 6150 7200 m + 6150 7725 l gs col0 s gr gr + +% arrowhead +n 6120 7589 m 6150 7709 l 6180 7589 l 6120 7589 l cp gs 0.00 setgray ef gr col0 s +% Polyline +n 3525 5625 m 4275 5625 l 4275 6150 l 3525 6150 l + cp gs col7 1.00 shd ef gr gs col0 s gr +% Polyline +n 7575 2925 m 9225 2925 l 9225 3525 l 7575 3525 l + cp gs col0 s gr +% Polyline +n 7575 4875 m 9225 4875 l 9225 5475 l 7575 5475 l + cp gs col0 s gr +% Polyline +n 4650 1425 m 5400 1425 l 5400 1950 l 4650 1950 l + cp gs col0 s gr +% Polyline +gs clippath +4995 3389 m 4995 3540 l 5055 3540 l 5055 3389 l 5055 3389 l 5025 3509 l 4995 3389 l cp +eoclip +n 5025 3000 m + 5025 3525 l gs col0 s gr gr + +% arrowhead +n 4995 3389 m 5025 3509 l 5055 3389 l 4995 3389 l cp gs 0.00 setgray ef gr col0 s +% Polyline +gs clippath +4995 4439 m 4995 4590 l 5055 4590 l 5055 4439 l 5055 4439 l 5025 4559 l 4995 4439 l cp +eoclip +n 5025 4050 m + 5025 4575 l gs col0 s gr gr + +% arrowhead +n 4995 4439 m 5025 4559 l 5055 4439 l 4995 4439 l cp gs 0.00 setgray ef gr col0 s +% Polyline +n 4650 4575 m 5400 4575 l 5400 5100 l 4650 5100 l + cp gs col7 1.00 shd ef gr gs col0 s gr +% Polyline +gs clippath +3720 5489 m 3720 5640 l 3780 5640 l 3780 5489 l 3780 5489 l 3750 5609 l 3720 5489 l cp +eoclip +n 4650 4800 m 3750 4800 l + 3750 5625 l gs col0 s gr gr + +% arrowhead +n 3720 5489 m 3750 5609 l 3780 5489 l 3720 5489 l cp gs 0.00 setgray ef gr col0 s +% Polyline +gs clippath +4095 5489 m 4095 5640 l 4155 5640 l 4155 5489 l 4155 5489 l 4125 5609 l 4095 5489 l cp +eoclip +n 4650 5025 m 4125 5025 l + 4125 5625 l gs col0 s gr gr + +% arrowhead +n 4095 5489 m 4125 5609 l 4155 5489 l 4095 5489 l cp gs 0.00 setgray ef gr col0 s +% Polyline +gs clippath +5895 5489 m 5895 5640 l 5955 5640 l 5955 5489 l 5955 5489 l 5925 5609 l 5895 5489 l cp +eoclip +n 5400 5025 m 5925 5025 l + 5925 5625 l gs col0 s gr gr + +% arrowhead +n 5895 5489 m 5925 5609 l 5955 5489 l 5895 5489 l cp gs 0.00 setgray ef gr col0 s +% Polyline +gs clippath +6270 5489 m 6270 5640 l 6330 5640 l 6330 5489 l 6330 5489 l 6300 5609 l 6270 5489 l cp +eoclip +n 5400 4800 m 6300 4800 l + 6300 5625 l gs col0 s gr gr + +% arrowhead +n 6270 5489 m 6300 5609 l 6330 5489 l 6270 5489 l cp gs 0.00 setgray ef gr col0 s +% Polyline +gs clippath +6061 3195 m 5910 3195 l 5910 3255 l 6061 3255 l 6061 3255 l 5941 3225 l 6061 3195 l cp +eoclip +n 7575 3225 m + 5925 3225 l gs col0 s gr gr + +% arrowhead +n 6061 3195 m 5941 3225 l 6061 3255 l 6061 3195 l cp gs 0.00 setgray ef gr col0 s +% Polyline +gs clippath +7036 5145 m 6885 5145 l 6885 5205 l 7036 5205 l 7036 5205 l 6916 5175 l 7036 5145 l cp +eoclip +n 7575 5175 m + 6900 5175 l gs col0 s gr gr + +% arrowhead +n 7036 5145 m 6916 5175 l 7036 5205 l 7036 5145 l cp gs 0.00 setgray ef gr col0 s +% Polyline +n 4650 2475 m 5400 2475 l 5400 3000 l 4650 3000 l + cp gs col0 s gr +% Polyline +gs clippath +4995 2339 m 4995 2490 l 5055 2490 l 5055 2339 l 5055 2339 l 5025 2459 l 4995 2339 l cp +eoclip +n 5025 1950 m + 5025 2475 l gs col0 s gr gr + +% arrowhead +n 4995 2339 m 5025 2459 l 5055 2339 l 4995 2339 l cp gs 0.00 setgray ef gr col0 s +/Times-Roman-iso ff 200.00 scf sf +4875 3825 m +gs 1 -1 sc (.rtex) col0 sh gr +/Times-Roman-iso ff 200.00 scf sf +4875 4875 m +gs 1 -1 sc (.tex) col0 sh gr +/Times-Roman-iso ff 200.00 scf sf +6000 6975 m +gs 1 -1 sc (.ps) col0 sh gr +/Times-Roman-iso ff 200.00 scf sf +6000 8025 m +gs 1 -1 sc (.pdf) col0 sh gr +/Times-Roman-iso ff 200.00 scf sf +7800 3300 m +gs 1 -1 sc (XSL Stylesheets) col0 sh gr +/Times-Roman-iso ff 200.00 scf sf +7800 5250 m +gs 1 -1 sc (LaTeX Package) col0 sh gr +/Times-Roman-iso ff 200.00 scf sf +4800 1725 m +gs 1 -1 sc (.sgml) col0 sh gr +/Times-Roman-iso ff 200.00 scf sf +5175 3300 m +gs 1 -1 sc (xsltproc) col0 sh gr +/Times-Roman-iso ff 200.00 scf sf +4725 5400 m +gs 1 -1 sc (makeindex) col0 sh gr +/Times-Roman-iso ff 200.00 scf sf +4875 5700 m +gs 1 -1 sc (bibtex) col0 sh gr +/Times-Roman-iso ff 200.00 scf sf +6000 8625 m +gs 1 -1 sc (-b dvips) col0 sh gr +/Times-Roman-iso ff 200.00 scf sf +6450 5250 m +gs 1 -1 sc (latex) col0 sh gr +/Times-BoldItalic-iso ff 200.00 scf sf +6600 1950 m +gs 1 -1 sc (dblatex) col0 sh gr +/Times-Roman-iso ff 200.00 scf sf +3300 6525 m +gs 1 -1 sc (-b pdftex) col0 sh gr +/Times-Roman-iso ff 200.00 scf sf +3300 6750 m +gs 1 -1 sc (-b xetex) col0 sh gr +/Times-Roman-iso ff 200.00 scf sf +3000 5100 m +gs 1 -1 sc (pdflatex) col0 sh gr +/Times-Roman-iso ff 200.00 scf sf +3000 5325 m +gs 1 -1 sc (xelatex) col0 sh gr +/Times-Roman-iso ff 200.00 scf sf +4875 2775 m +gs 1 -1 sc (.xml) col0 sh gr +/Times-Roman-iso ff 200.00 scf sf +5175 2250 m +gs 1 -1 sc (osx) col0 sh gr +/Times-Roman-iso ff 200.00 scf sf +6000 5925 m +gs 1 -1 sc (.dvi) col0 sh gr +/Times-Roman-iso ff 200.00 scf sf +3750 5925 m +gs 1 -1 sc (.pdf) col0 sh gr +/Times-Roman-iso ff 200.00 scf sf +4875 4875 m +gs 1 -1 sc (.tex) col0 sh gr +% here ends figure; +pagefooter +showpage +%%Trailer +%EOF diff --git a/docs/processus.fig b/docs/processus.fig new file mode 100644 index 0000000..c2179af --- /dev/null +++ b/docs/processus.fig @@ -0,0 +1,111 @@ +#FIG 3.2 Produced by xfig version 3.2.5 +Landscape +Center +Inches +Letter +100.00 +Single +-2 +1200 2 +6 4650 3525 5400 4050 +2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 + 4650 3525 5400 3525 5400 4050 4650 4050 4650 3525 +4 0 0 50 0 0 12 0.0000 4 135 450 4875 3825 .rtex\001 +-6 +6 4650 4575 5400 5100 +2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 + 4650 4575 5400 4575 5400 5100 4650 5100 4650 4575 +4 0 0 50 0 0 12 0.0000 4 135 360 4875 4875 .tex\001 +-6 +6 5775 5625 6525 6150 +2 2 0 1 0 7 50 0 20 0.000 0 0 7 0 0 5 + 5775 5625 6525 5625 6525 6150 5775 6150 5775 5625 +4 0 0 49 0 0 12 0.0000 4 150 360 6000 5925 .dvi\001 +-6 +6 5775 6150 6825 8250 +2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 + 5775 6675 6525 6675 6525 7200 5775 7200 5775 6675 +2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 + 5775 7725 6525 7725 6525 8250 5775 8250 5775 7725 +2 1 0 1 0 7 50 0 -1 0.000 0 0 7 1 0 2 + 1 1 1.00 60.00 120.00 + 6150 6150 6150 6675 +2 1 0 1 0 7 50 0 -1 0.000 0 0 7 1 0 2 + 1 1 1.00 60.00 120.00 + 6150 7200 6150 7725 +4 0 0 50 0 0 12 0.0000 4 120 270 6000 6975 .ps\001 +4 0 0 50 0 0 12 0.0000 4 165 360 6000 8025 .pdf\001 +4 0 0 51 0 0 12 0.0000 4 165 450 6300 6450 dvips\001 +4 0 0 51 0 0 12 0.0000 4 165 540 6300 7500 ps2pdf\001 +-6 +6 3525 5625 4275 6150 +2 2 0 1 0 7 50 0 20 0.000 0 0 7 0 0 5 + 3525 5625 4275 5625 4275 6150 3525 6150 3525 5625 +4 0 0 49 0 0 12 0.0000 4 165 360 3750 5925 .pdf\001 +-6 +6 7575 2925 9225 3525 +2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 + 7575 2925 9225 2925 9225 3525 7575 3525 7575 2925 +4 0 0 50 0 0 12 0.0000 4 165 1350 7800 3300 XSL Stylesheets\001 +-6 +6 7575 4875 9225 5475 +2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 + 7575 4875 9225 4875 9225 5475 7575 5475 7575 4875 +4 0 0 50 0 0 12 0.0000 4 165 1170 7800 5250 LaTeX Package\001 +-6 +6 4650 1425 5400 1950 +2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 + 4650 1425 5400 1425 5400 1950 4650 1950 4650 1425 +4 0 0 50 0 0 12 0.0000 4 165 450 4800 1725 .sgml\001 +-6 +2 1 0 1 0 7 50 0 -1 0.000 0 0 7 1 0 2 + 1 1 1.00 60.00 120.00 + 5025 3000 5025 3525 +2 1 0 1 0 7 50 0 -1 0.000 0 0 7 1 0 2 + 1 1 1.00 60.00 120.00 + 5025 4050 5025 4575 +2 2 0 1 0 7 50 0 20 0.000 0 0 7 0 0 5 + 4650 4575 5400 4575 5400 5100 4650 5100 4650 4575 +2 4 2 1 0 7 51 0 -1 3.000 0 0 7 0 0 5 + 4500 6300 4500 4650 2925 4650 2925 6300 4500 6300 +2 4 2 1 0 7 51 0 -1 3.000 0 0 7 0 0 5 + 7125 8400 7125 4650 5550 4650 5550 8400 7125 8400 +2 4 2 1 0 7 51 0 -1 3.000 0 0 7 0 0 5 + 7350 8700 7350 2025 2700 2025 2700 8700 7350 8700 +2 1 0 1 0 7 50 0 -1 0.000 0 0 7 1 0 3 + 1 1 1.00 60.00 120.00 + 4650 4800 3750 4800 3750 5625 +2 1 0 1 0 7 50 0 -1 0.000 0 0 7 1 0 3 + 1 1 1.00 60.00 120.00 + 4650 5025 4125 5025 4125 5625 +2 1 0 1 0 7 50 0 -1 0.000 0 0 7 1 0 3 + 1 1 1.00 60.00 120.00 + 5400 5025 5925 5025 5925 5625 +2 1 0 1 0 7 50 0 -1 0.000 0 0 7 1 0 3 + 1 1 1.00 60.00 120.00 + 5400 4800 6300 4800 6300 5625 +2 1 0 1 0 7 50 0 -1 0.000 0 0 7 1 0 2 + 1 1 1.00 60.00 120.00 + 7575 3225 5925 3225 +2 1 0 1 0 7 50 0 -1 0.000 0 0 7 1 0 2 + 1 1 1.00 60.00 120.00 + 7575 5175 6900 5175 +2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 + 4650 2475 5400 2475 5400 3000 4650 3000 4650 2475 +2 1 0 1 0 7 50 0 -1 0.000 0 0 7 1 0 2 + 1 1 1.00 60.00 120.00 + 5025 1950 5025 2475 +4 0 0 50 0 0 12 0.0000 4 165 720 5175 3300 xsltproc\001 +4 0 0 51 0 1 12 0.0000 4 135 720 5175 4350 texclean\001 +4 0 0 49 0 0 12 0.0000 4 135 360 4875 4875 .tex\001 +4 0 0 50 0 0 12 0.0000 4 135 810 4725 5400 makeindex\001 +4 0 0 50 0 0 12 0.0000 4 135 540 4875 5700 bibtex\001 +4 0 0 50 0 0 12 0.0000 4 165 720 6000 8625 -b dvips\001 +4 0 0 50 0 0 12 0.0000 4 135 450 6450 5250 latex\001 +4 0 0 50 0 3 12 0.0000 4 135 630 6600 1950 dblatex\001 +4 0 0 50 0 0 12 0.0000 4 165 810 3300 6525 -b pdftex\001 +4 0 0 50 0 0 12 0.0000 4 135 720 3300 6750 -b xetex\001 +4 0 0 50 0 0 12 0.0000 4 165 720 3000 5100 pdflatex\001 +4 0 0 50 0 0 12 0.0000 4 135 630 3000 5325 xelatex\001 +4 0 0 50 0 0 12 0.0000 4 150 360 4875 2775 .xml\001 +4 0 0 50 0 0 12 0.0000 4 90 270 5175 2250 osx\001 diff --git a/docs/publish.xml b/docs/publish.xml new file mode 100644 index 0000000..9f30a9a --- /dev/null +++ b/docs/publish.xml @@ -0,0 +1,118 @@ + + +
+Publishing Outputs + +
+Publishing a single document + +The default publishing document units are: article +and book. The output file name is optionnaly specified by +the option. + +You can also publish an article or book subset, i.e. you can run dblatex +on an XML input whose root element is a chapter, a +section, or anything else. In this case, dblatex wraps the +root element in an article or in a book +and print out a warning. The output subset does not contain any front matter +data found in an article or in a book (cover page, revision history, etc.), +but it can contain some back matter materials like an index. + +$ dblatex subset.xml +Build the book set list... +Build the listings... +XSLT stylesheets DocBook - LaTeX 2e (0.2.11) +=================================================== +Warning: the root element is not an article nor a book +Warning: element section(sec-subset) wrapped with article +Build subset.pdf +... + +
+ +
+Publishing a Set of Books + +When the document root element is a set, and when +set.book.num is set to 'all', +dblatex ouputs a file per book contained in the set (and in the nested sets). +In this case the option is ignored, and only the + option is taken into account to specify the output +directory that will contain the generated files. + +Instead of building all the books, the user can publish a single book +from the set, by setting the set.book.num parameter to +the absolute position of the book in the set(s). By default +set.book.num is set to 1 to publish only the first +book. + +The output file names are the book identifiers when +use.id.as.filename is non zero, and when an identifier +exists. If one of the two conditions are not met, the filename pattern is +"book<position in set>". + + +Example: given the following set: + +<?xml version="1.0" encoding="UTF-8"?> + +<!-- setfile.xml. An example of set. All the books have an @id except one --> + +<!DOCTYPE set PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" +"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"> +<set lang="en" id="a_set" xmlns:xi="http://www.w3.org/2001/XInclude"> +<title>Set Title</title> + <set> + <xi:include href="book1.xml"/> <!-- book #1 --> + <xi:include href="book2.xml"/> <!-- book #2 --> + <xi:include href="book3.xml"/> <!-- book #3 --> + </set> + <set> + <set> + <xi:include href="bookA.xml"/> <!-- book #4 --> + <xi:include href="bookB.xml"/> <!-- book #5 --> + </set> + <set> + <xi:include href="bookC.xml"/> <!-- book #6 --> + </set> + </set> + <set> + <xi:include href="book4.xml"/> <!-- book #7 --> + <!-- The following book, at 8th position in the sets, has no @id --> + <xi:include href="book5.xml"/> <!-- book #8 --> + <xi:include href="book6.xml"/> <!-- book #9 --> + </set> +</set>Publishing this set produces 9 books in the +pdfdir directory: + +$ dblatex -O./pdfdir -Pset.book.num=all -Puse.id.as.filename=1 setfile.xml +Build the book set list... +Build the listings... +XSLT stylesheets DocBook - LaTeX 2e (0.2.11) +=================================================== +Output all the books from the set +Writing sec1-mybook.rtex for book(sec1-mybook) +Writing sec2-mybook.rtex for book(sec2-mybook) +Writing sec3-mybook.rtex for book(sec3-mybook) +Writing secA-mybook.rtex for book(secA-mybook) +Writing book8.rtex for book +Writing secC-mybook.rtex for book(secC-mybook) +Writing sec4-mybook.rtex for book(sec4-mybook) +Writing sec5-mybook.rtex for book(sec5-mybook) +Writing sec6-mybook.rtex for book(sec6-mybook) +... +Files successfully built in '/path/to/set/pdfdir': +sec1-mybook.pdf +sec2-mybook.pdf +sec3-mybook.pdf +sec4-mybook.pdf +book8.pdf +sec6-mybook.pdf +secA-mybook.pdf +secB-mybook.pdf +secC-mybook.pdf + + +
+
\ No newline at end of file diff --git a/docs/release-notes.db b/docs/release-notes.db new file mode 100644 index 0000000..a03b193 --- /dev/null +++ b/docs/release-notes.db @@ -0,0 +1 @@ +
Release Notes for dblatexRelease Notes for dblatex
Introductionthe section called “Introduction”
Release 0.3.10the section called “Release 0.3.10”
Release 0.3.9the section called “Release 0.3.9”
Release 0.3.8the section called “Release 0.3.8”
Release 0.3.7the section called “Release 0.3.7”
Release 0.3.6the section called “Release 0.3.6”
Release 0.3.5the section called “Release 0.3.5”
Release 0.3.4the section called “Release 0.3.4”
Release 0.3.3the section called “Release 0.3.3”
Release 0.3.2the section called “Release 0.3.2”
Release 0.3.1the section called “Release 0.3.1”
Release 0.3the section called “Release 0.3”
Release 0.2.12the section called “Release 0.2.12”
Release 0.2.11the section called “Release 0.2.11”
Release 0.2.10the section called “Release 0.2.10”
Release 0.2.9the section called “Release 0.2.9”
Release 0.2.8the section called “Release 0.2.8”
Release 0.2.7the section called “Release 0.2.7”
Release 0.2.6the section called “Release 0.2.6”
Release 0.2.5the section called “Release 0.2.5”
Release 0.2.4the section called “Release 0.2.4”
Release 0.2.3the section called “Release 0.2.3”
Release 0.2.2the section called “Release 0.2.2”
Release 0.2.1the section called “Release 0.2.1”
Release 0.2the section called “Release 0.2”
Release 0.2prethe section called “Release 0.2pre”
Release 0.1.10the section called “Release 0.1.10”
Release 0.1.9the section called “Release 0.1.9”
Release 0.1.8the section called “Release 0.1.8”
Release 0.1.7the section called “Release 0.1.7”
Release 0.1.6the section called “Release 0.1.6”
Release 0.1.5the section called “Release 0.1.5”
Release 0.1.4.1the section called “Release 0.1.4.1”
Release 0.1.4the section called “Release 0.1.4”
Change LogAppendix A, Change Log
diff --git a/docs/release-notes.pdf b/docs/release-notes.pdf new file mode 100644 index 0000000..53c9c92 Binary files /dev/null and b/docs/release-notes.pdf differ diff --git a/docs/revision.xml b/docs/revision.xml new file mode 100644 index 0000000..a12fd5d --- /dev/null +++ b/docs/revision.xml @@ -0,0 +1,13 @@ +
Document Revisions + + The attribute revisionflag is usefull to identify the changes between two revisions of a document. This information is managed by dblatex, that adds revision bars in the margin of the paragraphs changed, such like in this paragraph. + + + Adding the revision flags can be manual, but its is tedious and error prone. The diffmk tool by Norman Walsh can do the work for you. See for more details about how to use it. + + +With old changebar packages the revision bars only appear when using the "dvips" +driver. This limitation has been fixed with changebar greater or equal +to v3.5c. + +
diff --git a/docs/secnum.xml b/docs/secnum.xml new file mode 100644 index 0000000..d671af9 --- /dev/null +++ b/docs/secnum.xml @@ -0,0 +1,145 @@ + + +
+Chapter and Section numbering + +
+Depth of Section numbering and Table Of Content + +Dblatex relies on latex to automatically compute the +chapter and section numbers. It also relies on latex to produce the headings +with these numbers, and to produce the Table Of Content containing these +entries. + +Some specific sections like preface, +colophon, or dedication are not numbered +because they are displayed in front and back matters, but they can be listed in +the TOC if the related parameters are set +(dedication.tocdepth, preface.tocdepth, colophon.tocdepth). + +More generally you can configure the depth of the chapter and section +numbering with the parameter doc.section.depth, and the +depth of the entries in the TOC with the parameter +toc.section.depth. + +Note however that an unumbered section +becomes an informal component, and therefore you can only link to such a section +by using a specific xrefstyle because their label built with the +automatic number does not exist anymore. The other drawback is that +all the sections included in an unnumbered section or chapter are +unnumbered. + +
+
+Using the latex style for section numbering + +A well customized latex style can be a powerfull yet versatile +alternative to the use of section and/or TOC depth parameter. With some latex +packages you can easily format the headings to remove the numbers, or transform them. See to know how to use your own latex +style with dblatex. + +The benefit of this method is that you can fully control how the titles +must be displayed, you do not have to play with latex counters to have the right +depth, and the sections do not lost their formal number label. + +The following example shows how you can customize the chapter title by +using the latex package titlesec, and shows how to remove the chapter label in +the Table Of Content with the package titletoc. Look in particular in the +listing where text is emphasized. + + +" +\newcommand\makeletterof[1]{% +\ifthenelse{\equal{#1}{1}}{ONE}{% +\ifthenelse{\equal{#1}{2}}{TWO}{% +\ifthenelse{\equal{#1}{3}}{THREE}{% +\ifthenelse{\equal{#1}{4}}{FOUR}{% +\ifthenelse{\equal{#1}{5}}{FIVE}{% +\ifthenelse{\equal{#1}{6}}{SIX}{% +\ifthenelse{\equal{#1}{7}}{SEVEN}{% +\ifthenelse{\equal{#1}{8}}{EIGHT}{% +\ifthenelse{\equal{#1}{9}}{NINE}{% +\ifthenelse{\equal{#1}{10}}{TEN}{% +\ifthenelse{\equal{#1}{11}}{ELEVEN}{% +\ifthenelse{\equal{#1}{12}}{TWELVE}{% +#1}}}}}}}}}}}}} + +\titleformat{\chapter}[block] +{\filcenter\ttfamily\huge}% +{]]> + +
+
+Using the <sgmltag>label</sgmltag> attribute + +If you need to mix numbered and not numbered chapters, the numbering depth +parameters will not help. The latex style will not easily detect that for +some chapters the number should be displayed and for others it should not. + + +To mix numbered and unnumbered chapters you can use a label with an +empty string for the chapters that must not be numbered, as shown by the example +below. + + +label=""Introduction + + +label=""Pre-requisite + + +First chapter + + +... +label=""Conclusion + + +... +]]> + +You can also set a label to a specific integer to force a section +counter. In this case there is no more automatic numbering. The automatic +numbering then applies to the following sections that increment the counter +set for this section if there is no label. + + +label="2"Introduction + +
label="3"Section 2.3 + +
label="4"Section 2.3.4 + +
+
+ +]]>
+ +
+ +
diff --git a/docs/tables/coloured.xml b/docs/tables/coloured.xml new file mode 100644 index 0000000..6963cb7 --- /dev/null +++ b/docs/tables/coloured.xml @@ -0,0 +1,31 @@ + + + + + + +
+ + Column 1Column 2 + Column 3Column 4 + + + + + yellowgreen column + yellowyellow + + + + blue row + red cell + blue rowblue row + + + yellowgreen column + yellow + gray + + + + diff --git a/docs/tables/img-tbl-color.png b/docs/tables/img-tbl-color.png new file mode 100644 index 0000000..af63b46 Binary files /dev/null and b/docs/tables/img-tbl-color.png differ diff --git a/docs/tables/img-tbl-html.png b/docs/tables/img-tbl-html.png new file mode 100644 index 0000000..7648479 Binary files /dev/null and b/docs/tables/img-tbl-html.png differ diff --git a/docs/tables/table-auto1.xml b/docs/tables/table-auto1.xml new file mode 100644 index 0000000..a8dbf56 --- /dev/null +++ b/docs/tables/table-auto1.xml @@ -0,0 +1,39 @@ + + + + + + + + + +Column 1 +Column 2 +Column 3 +Column 4 + + + + +cell on 4 lines +simple cell +cell on 2 lines +cell without morerow attribute + + +cell in column 2 +cell on 2 +lines + + +left aligned on 2 lines +cell in line 3, column 3 + + +4 cm column width +last cell in column 4 + + + + + diff --git a/docs/tables/table-auto2.xml b/docs/tables/table-auto2.xml new file mode 100644 index 0000000..dc915ad --- /dev/null +++ b/docs/tables/table-auto2.xml @@ -0,0 +1,39 @@ + + + + + + + + + +Column 1 +Column 2 +Column 3 +Column 4 + + + + +cell on 4 lines +simple cell +cell on 2 lines +cell without morerow attribute + + +cell in column 2 +cell on 2 +lines + + +left aligned on 2 lines +cell in line 3, column 3 + + +4 cm column width +last cell in column 4 + + + + + diff --git a/docs/tables/table-eg00.xml b/docs/tables/table-eg00.xml new file mode 100644 index 0000000..fece683 --- /dev/null +++ b/docs/tables/table-eg00.xml @@ -0,0 +1,18 @@ + + + + + + +Column 1 + + + + +left aligned + +no specified width, so it takes all the page + + + + diff --git a/docs/tables/table-eg01.xml b/docs/tables/table-eg01.xml new file mode 100644 index 0000000..06e0889 --- /dev/null +++ b/docs/tables/table-eg01.xml @@ -0,0 +1,22 @@ + + + + + + + +Column 1 +Column 2 + + + + +left aligned +centered cell + +no specified width +idem + + + + diff --git a/docs/tables/table-eg02.xml b/docs/tables/table-eg02.xml new file mode 100644 index 0000000..c53193d --- /dev/null +++ b/docs/tables/table-eg02.xml @@ -0,0 +1,36 @@ + + + + + + + + + + +Column 1 +Column 2 +Column 3 +Column 4 +Column 5 + + + + +left aligned +left aligned +right aligned +centered cell +centered + + +no specified width +idem +idem +idem +idem + + + + + diff --git a/docs/tables/table-eg1.xml b/docs/tables/table-eg1.xml new file mode 100644 index 0000000..995f427 --- /dev/null +++ b/docs/tables/table-eg1.xml @@ -0,0 +1,36 @@ + + + + + + + + + + +Column 1 +Column 2 +Column 3 +Column 4 +Column 5 + + + + +left aligned (tgroup order) +left aligned +right aligned +centered cell +in the centre + + +no specified width +4 cm column width +5 cm column width +no width +3 cm column width + + + + + diff --git a/docs/tables/table-eg2.xml b/docs/tables/table-eg2.xml new file mode 100644 index 0000000..87ce004 --- /dev/null +++ b/docs/tables/table-eg2.xml @@ -0,0 +1,36 @@ + + + + + + + + + + +Column 1 +Column 2 +Column 3 +Column 4 +Column 5 + + + + +left aligned (tgroup level) +left aligned +right aligned +centered cell +in the centre + + +proportional column (*) +proportional column (2*) +proportional column (3*) +no specified width +3 cm column width + + + + + diff --git a/docs/tables/table-eg3.xml b/docs/tables/table-eg3.xml new file mode 100644 index 0000000..6fd1878 --- /dev/null +++ b/docs/tables/table-eg3.xml @@ -0,0 +1,32 @@ + + + + + + + + + +Column 1 +Column 2 +Column 3 +Column 4 + + + + +left aligned (tgroup level) +left aligned +right aligned +centered cell + + +2 cm column width +2,5 cm column width +5 cm column width +4 cm column width + + + + + diff --git a/docs/tables/table-eg4.0.xml b/docs/tables/table-eg4.0.xml new file mode 100644 index 0000000..5b128d0 --- /dev/null +++ b/docs/tables/table-eg4.0.xml @@ -0,0 +1,43 @@ + + + + + + + + + + +Colonne 1 +Colonne 2 +Colonne 3 +Colonne 4 + + + + +� gauche (au niveau tgroup) +� gauche +� droite +cellule centr�e + + +colonne de 2 cm +colonne de 2,5 cm +colonne de 4 cm + + +colonne de 2 cm +colonne de 2,5 cm +colonne de 4 cm + + +colonne de 2 cm +colonne de 2,5 cm +colonne de 4 cm +colonne de 4 cm + + + + + diff --git a/docs/tables/table-eg4.1.xml b/docs/tables/table-eg4.1.xml new file mode 100644 index 0000000..a280550 --- /dev/null +++ b/docs/tables/table-eg4.1.xml @@ -0,0 +1,44 @@ + + + + + + + + + + +Colonne 1 +Colonne 2 +Colonne 3 +Colonne 4 + + + + +� gauche (au niveau tgroup) +� gauche +� droite +cellule centr�e + + +colonne de 2 cm +colonne de 2,5 cm +colonne de 4 cm + + +colonne de 2 cm +colonne de 2,5 cm +colonne de 4 cm +colonne de 4 cm + + +colonne de 2 cm +colonne de 2,5 cm +colonne de 4 cm +colonne de 4 cm + + + + + diff --git a/docs/tables/table-eg4.2.xml b/docs/tables/table-eg4.2.xml new file mode 100644 index 0000000..0347f33 --- /dev/null +++ b/docs/tables/table-eg4.2.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + +Colonne 1 +Colonne 2 +Colonne 3 +Colonne 4 +Colonne 5 + + + + +� gauche (au niveau tgroup) +� gauche +� droite +cellule centr�e +cellule centr�e + + +colonne de 2 cm +colonne de 2,5 cm +colonne de 4 cm +cellule centr�e + + +colonne de 2 cm +colonne de 2,5 cm +colonne de 4 cm +cellule centr�e + + +colonne de 2 cm +colonne de 2,5 cm +colonne de 4 cm +colonne de 4 cm +cellule centr�e + + + + + diff --git a/docs/tables/table-eg4.3.xml b/docs/tables/table-eg4.3.xml new file mode 100644 index 0000000..8ae8b1e --- /dev/null +++ b/docs/tables/table-eg4.3.xml @@ -0,0 +1,42 @@ + + + + + + + + + + +Colonne 1 +Colonne 2 +Colonne 3 +Colonne 4 + + + + +� gauche (au niveau tgroup) +� gauche +� droite +cellule centr�e + + +colonne de 2 cm +colonne de 2,5 cm +colonne de 4 cm + + +colonne de 2 cm +colonne de 2,5 cm +colonne de 4 cm + + +colonne de 2 cm +colonne de 4 cm +colonne de 4 cm + + + + + diff --git a/docs/tables/table-eg4.4.xml b/docs/tables/table-eg4.4.xml new file mode 100644 index 0000000..64e9e9f --- /dev/null +++ b/docs/tables/table-eg4.4.xml @@ -0,0 +1,41 @@ + + + + + + + + + + +Colonne 1 +Colonne 2 +Colonne 3 +Colonne 4 + + + + +� gauche sur 4 lignes +� gauche +� droite sur deux +lignes +� droite + + +cellule 2,1 +cellule � droite sur 2 +lignes + + +� gauche sur 2 lignes +cellule 3,3 + + +colonne de 4 cm +cellule 4,4 + + + + + diff --git a/docs/tables/table-eg4.xml b/docs/tables/table-eg4.xml new file mode 100644 index 0000000..a951708 --- /dev/null +++ b/docs/tables/table-eg4.xml @@ -0,0 +1,39 @@ + + + + + + + + + +Column 1 +Column 2 +Column 3 +Column 4 + + + + +cell on 4 lines +simple cell +cell on 2 lines +cell without morerow attribute + + +cell in column 2 +cell on 2 +lines + + +left aligned on 2 lines +cell in line 3, column 3 + + +4 cm column width +last cell in column 4 + + + + + diff --git a/docs/tables/table-html.xml b/docs/tables/table-html.xml new file mode 100644 index 0000000..07ac9f4 --- /dev/null +++ b/docs/tables/table-html.xml @@ -0,0 +1,41 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
An HTML Table
Head A1Head B1Head C1
Foot A1Foot B1Foot C1
A1B1C1
A2B2C-E2F2
A3B3F3G3H3
A4B4F4G4
A5B5C5D5
A6B6C6D6E6F6
diff --git a/docs/tables/table-land.xml b/docs/tables/table-land.xml new file mode 100644 index 0000000..20c9767 --- /dev/null +++ b/docs/tables/table-land.xml @@ -0,0 +1,36 @@ + + + + + + + + + + +Column 1 +Column 2 +Column 3 +Column 4 +Column 5 + + + + +left aligned +left aligned +right aligned +centered cell +centered + + +no specified width +idem +idem +idem +idem + + + + + diff --git a/docs/tables/table-small1.xml b/docs/tables/table-small1.xml new file mode 100644 index 0000000..3435fce --- /dev/null +++ b/docs/tables/table-small1.xml @@ -0,0 +1,36 @@ + + + + + + + + + + +Column 1 +Column 2 +Column 3 +Column 4 +Column 5 + + + + +left aligned +left aligned +right aligned +centered cell +centered + + +no specified width +idem +idem +idem +idem + + + + + diff --git a/docs/tables/table-small2.xml b/docs/tables/table-small2.xml new file mode 100644 index 0000000..6df4f09 --- /dev/null +++ b/docs/tables/table-small2.xml @@ -0,0 +1,36 @@ + + + + + + + + + + +Column 1 +Column 2 +Column 3 +Column 4 +Column 5 + + + + +left aligned +left aligned +right aligned +centered cell +centered + + +no specified width +idem +idem +idem +idem + + + + + diff --git a/docs/tables/table-small3.xml b/docs/tables/table-small3.xml new file mode 100644 index 0000000..e28cf15 --- /dev/null +++ b/docs/tables/table-small3.xml @@ -0,0 +1,36 @@ + + + + + + + + + + +Column 1 +Column 2 +Column 3 +Column 4 +Column 5 + + + + +left aligned +left aligned +right aligned +centered cell +centered + + +no specified width +idem +idem +idem +idem + + + + + diff --git a/docs/tables/table-small4.xml b/docs/tables/table-small4.xml new file mode 100644 index 0000000..99a9684 --- /dev/null +++ b/docs/tables/table-small4.xml @@ -0,0 +1,36 @@ + + + + + + + + + + +Column 1 +Column 2 +Column 3 +Column 4 +Column 5 + + + + +left aligned +left aligned +right aligned +centered cell +centered + + +no specified width +idem +idem +idem +idem + + + + + diff --git a/docs/tables/table-style1.xml b/docs/tables/table-style1.xml new file mode 100644 index 0000000..f2d8ba9 --- /dev/null +++ b/docs/tables/table-style1.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + +C1 +Column 2 +Column 3 +Column 4 +Column 5 + + + + +A +left aligned +right aligned +centered cell +centered + + +B +idem +idem +idem +idem + + + + diff --git a/docs/tables/table-style2.xml b/docs/tables/table-style2.xml new file mode 100644 index 0000000..e1c3579 --- /dev/null +++ b/docs/tables/table-style2.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + +C1 +Column 2 +Column 3 +Column 4 +Column 5 + + + + +A +left aligned +right aligned +centered cell +centered + + +B +idem +idem +idem +idem + + + + diff --git a/docs/tables/table.xml b/docs/tables/table.xml new file mode 100644 index 0000000..87f854e --- /dev/null +++ b/docs/tables/table.xml @@ -0,0 +1,652 @@ + + + + + + +]> +
+Creating Tables + +DocBook tables can be quite complex, but dblatex +should be able to drive most of cases thanks to the excellent newtbl +implementation by David Hedley completely written in XSL. + +Here is what is supported: + + + +Columns without specified widths (colspec without +colwidth attribute) have the same size. + + + +A table width is always equal to the page width, if at least one column +doesn't contain a fixed width attribute (e.g. colwidth=“12cm”). + + + +Fixed column widths are supported (e.g. colwidth=“10cm”). The unit can +be whatever is understood by latex (e.g. cm, em, in, pt). + + + +Proportional column widths are supported (e.g. colwidth= “5*”). +Combination of fixed and proportional width is supported too (e.g. +colwidth=“5*+10cm”). + + + +The morerows attribute of a table entry +(entry element) is supported. + + + +The namest and nameend attributes +of a table entry (entry element) are supported. It is +possible to have a cell spanned on several columns. + + + +The orient table attribute is supported (portrait and +landscape). + + + +It is possible to have missing cell entries in a table. + + + +
+Limitations + +Currently the following things are known to fail with tables: + + +Program listings and screens cannot be embedded in tables. Some other +verbatim environments like litterallayout are allowed. + + + +Footnotes in table cells can fail, especially if the footnote contains +several paragraphs. Moreover they are lost is a float like a table. + + +
+ +
+Table Width + +A table width is explicit when all the columns have a fixed size. In +this case it is the sum of the colum widths. In the other cases (columns with +no colwidth or proportional columns widths) the total table width is deduced +by dblatex as follow: it looks for the Processing Instruction +<?dblatex table-with="width" +?> first, then the @width attribute, the +default.table.width parameter, and finally use the page +width. + +A table width can be expressed as: + + + +A valid length (e.g. 15cm), + + + +A percentage of the page width (e.g. 75%), + + + +A keyword telling to apply an automatic column width (e.g. +autowidth.all). + + + +The automatic column width setup is detailed in . +
+ +
+Tables without colwidth + +When none of the colspec elements contains the +colwidth attribute, all the columns have the same size, and +the table width is fixed to the maximum available size. Several examples of +these tables are given in the PDF version of this +manual. + + +&__table-eg00__g468a1wg; + +&__table-eg01__g468a1wg; + +&__table-eg02__g468a1wh; + +
+ +
+Tables with mixed colspec + +A table can have colspec elements containing +colwidth attribute mixed with colspec +elements without colwidth. Here is an XML source +example: + + +<informaltable> + <tgroup cols="5" colsep="1" rowsep="1" align="left"> + <colspec colname="c1"/> + <colspec align="left" colwidth="4cm"/> + <colspec align="right" colwidth="5cm"/> + <colspec align="center"/> + <colspec align="center" colwidth="3cm"/> + <tbody> + ... + </tbody> + </tgroup> +</informaltable> + + +It is rendered like this: + +See the PDF version of this manual to see how it is +rendered. +
+ +
+Tables with proportional and fixed colwidth + +Proportional column widths are supported. Here is an example: + + +<informaltable> + <tgroup cols="5" colsep="1" rowsep="1" align="left"> + <colspec colname="c1" colwidth="*"/> + <colspec align="left" colwidth="2*"/> + <colspec align="right" colwidth="3*"/> + <colspec align="center"/> + <colspec align="center" colwidth="3cm"/> + <tbody> + ... + </tbody> + </tgroup> +</informaltable> + + +It gives this table: +
+ +
+Tables with fixed colwidths + +All the columns can have fixed size, like this: + +<informaltable> + <tgroup cols="4" colsep="1" rowsep="1" align="left"> + <colspec colname="c1" colwidth="2cm"/> + <colspec align="left" colwidth="2.5cm"/> + <colspec align="right" colwidth="5cm"/> + <colspec align="center" colwidth="3cm"/> + <tbody> + ... + </tbody> + </tgroup> +</informaltable> + + +It gives the following table: +
+ +
+Automatic Column Width + +
+Global Setting + +In the previous sections the columns widths are computed from a +proportional basis, when no colwidth is specified or when the colwidths +contain a star ("*"). Of course, a colwidth containing a fixed width +incidently sets the column width with this size. + +It is possible to change this sizing policy of not-fixed-width columns +by playing with the newtbl.autowidth parameter. The +parameter can take the following values: + + + +default + + +The automatic width (that is, latex is in charge to size the column +width) is applied only to columns not having a specified +colspec colwidth. It includes both undefined +colspec, and colspec without the +colwidth attribute. + + + + +all + + +the automatic width is applied to any column, whether a colspec is +provided or not. + + + + +By default the parameter is unset, and no automatic width is applied. +Using automatic width is handy in some situations but there is no more control +if the tables fit in the page or not, since in this case the column is as wide +as its content, with no more paragraph breaking. The parameter is global for +all the tables in the document. + +You can also perform the same thing by setting the +default.table.width parameter to +autowidth.default or autowidth.all +instead of using newtbl.autowidth. +
+ +
+Local Setting + +If you want to apply an automatic width only to some +specific tables you can put the Processing Instruction <?dblatex +table-with="autowidth.scope" ?> in the +related tables. The PI has precedence over the +newtbl.autowidth parameter. + +The scope can take the same values and have +the same effects than for the newtbl.autowidth +parameter (default or all). + +In addition to these keywords, table.width +can also take for its value keywords of the form +autowidth.column: N ..., where N is the number of the +column (counting from 1) which is to have its width automatically sized. + +See the following example: + + +<informaltable><?dblatex table-width="autowidth.column: 1 3"?> + <tgroup cols="4" colsep="1" rowsep="1" align="left"> + <colspec colname="c1"/> <!-- automatic width is applied to column #1 --> + <colspec align="left" colwidth="*"/> + <colspec align="right" colwidth="5cm"/> <!-- automatic width is applied to column #3 --> + <colspec align="center" colwidth="3cm"/> + ... +</informaltable> + + + +Here are two other examples with the all and default scopes: + +The following table has columns 1 and 2 sized by latex with +autowidth.all: + + + +It is written as follow: + + +<informaltable><?dblatex table-width="autowidth.all"?> + <tgroup cols="4" colsep="1" rowsep="1" align="left"> + <colspec colname="c1"/> <!-- 'default' and 'all' apply on this column --> + <colspec align="left" colwidth="*"/> <!-- only 'all' applies on this column --> + <colspec align="right" colwidth="5cm"/> + <colspec align="center" colwidth="3cm"/> + ... +</informaltable> + + + +The following table has only columns 1 sized by latex with +autowidth.default: + + + +The only difference is that the PI attribute value is +autowidth.default: + +<informaltable><?dblatex table-width="autowidth.default"?> + <tgroup cols="4" colsep="1" rowsep="1" align="left"> + <colspec colname="c1"/> <!-- 'default' and 'all' apply on this column --> + <colspec align="left" colwidth="*"/> <!-- only 'all' applies on this column --> + <colspec align="right" colwidth="5cm"/> + <colspec align="center" colwidth="3cm"/> + ... +</informaltable> + +
+
+ +
+Informal Table LaTeX Styles + +By default dblatex translates an informal table to +the LaTeX environment specified by the +table.default.tabstyle parameter (usually +longtable), but you can specify which Latex tabular +environment to use, globally through the parameter, or per table through the +tabstyle attribute. Of course the +tabstyle attribute value is specific to dblatex. The +supported values are: + + + + +longtable + + +The default table type used by dblatex when +table.default.tabstyle is empty, in order to be able to +split over several pages. + + + + +tabular + + +The most usual table type. Such table can only be on a single +page. + + + + +tabularx + + +An advanced table type that allows to stretch column widths to the +available remained page width. Such table can only be on a single page like +for "tabular". + + + + + +The two following examples show how tabular and tabularx rendering +differ when the automatic width feature is used. Here is the XML source +code: + +<informaltable tabstyle="tabular"> + <?dblatex table-width="autowitdh.column: 1 3"?> + <tgroup cols="5" colsep="1" rowsep="1" align="left"> + <colspec colname="c1"/> + <colspec align="left"/> + <colspec align="right"/> + <colspec align="center"/> + ... + </tgroup> +</informaltable> + +<informaltable tabstyle="tabularx"> + <?dblatex table-width="autowitdh.column: 1 3"?> + <tgroup cols="5" colsep="1" rowsep="1" align="left"> + <colspec colname="c1"/> + <colspec align="left"/> + <colspec align="right"/> + <colspec align="center"/> + ... + </tgroup> +</informaltable> + + +It is rendered as follow: + + +&__table-style1; + +&__table-style2; + +
+ +
+Tables with morerows + +A table can contain entries that cover several lines. The following XML +source contains an entry covering 4 lines: + +<informaltable> + <tgroup cols="4" colsep="1" rowsep="1" align="left"> + <colspec colname="c1" colwidth="*"/> + ... + <tbody> + <entry morerows="3">it covers 4 lines</entry> + ... + </tbody> + </tgroup> +</informaltable> + + +Here is an example of table containing several entries with +morerows attribute: +
+ +
+Landscape tables + +A table can be displayed in a lanscape format by using the +orient attribute. Here is an XML source example: + +<informaltable orient="land"> + <tgroup cols="5" colsep="1" rowsep="1" align="left"> + <colspec colname="c1" colwidth="*"/> + ... + <tbody> + ... + </tbody> + </tgroup> +</informaltable> + + +Here is how it is displayed. +
+ +
+Smaller tables + +For big tables it can be usefull to have smaller text, so that the table +is not too large or too long and it can be displayed within a page. It is +possible to specify smaller table text by using the role +attribute of the elements table or +informaltable. + +The values and the “role” dedicated to this attribute are specific to +dblatex, but it is compliant with the DocBook specification because in general +the role attribute purpose is never defined. + +The available text size definitions supported by role +are directly taken from LaTeX: + + + +small, + + + +footnotesize, + + + +scriptsize, + + + +tiny. + + + +Here are examples for each size. + + +
+ +
+Coloured tables + +You can color all the table by setting its bgcolor +attribute. + +You can also color only some cells by using the Processing Instruction +<?dblatex bgcolor="color"?>. The PI can apply to +columns when put in a colspec, to rows when put at the +beginning of a row, or to cells when put in a +entry. + +The entry colour has precedence over the row colour, that has precedence +over the column colour, that has precedence over the table colour. + +The color can be expressed in hexadecimal +notation like for HTML (e.g. #C0C0C0) or in a syntax +understood by the colortbl latex package. + +Here is an PDF +output example. + + + + + + + + + + + + + +This table is coded like this: + + + +
+ +
+HTML Tables + +Since version 0.3.2 dblatex supports HTML tables. Some features are +handled differently from CALS tables as illustrated by the following HTML +table source example: + +<table border="1" width="100%" rules="all"> + <caption>An HTML Table</caption> + <colgroup span="2" valign="top" align="right"/> + <?dblatex bgcolor="red"?> + </colgroup> + <colgroup valign="bottom" align="left" width="5%"> + <col align="right" span="2"/> + <col valign="top"/> + </colgroup> + <colgroup bgcolor="yellow" width="0*"><?dblatex bgcolor="yellow"?></colgroup> + <colgroup valign="bottom" align="left" width="15%"/> + <colgroup valign="bottom" align="left" width="10%"/> + <thead> + <tr> <td width="10%">Head A1</td><td>Head B1</td><td>Head C1</td> </tr> + </thead> + <tfoot> + <tr> <td width="10%">Foot A1</td><td>Foot B1</td><td>Foot C1</td> </tr> + </tfoot> + + <tr> + <td width="10%">A1</td><td>B1</td><td>C1</td> + </tr> + <tr> + <td>A2</td><td bgcolor="yellow">B2</td><td colspan="3" rowspan="3">C-E2</td><td>F2</td> + </tr> + <tr> + <td>A3</td><td width="25.3">B3</td><td>F3</td><td rowspan="2">G3</td><td rowspan="3">H3</td> + </tr> + <tr> + <td>A4</td><td>B4</td><td>F4</td><td>G4</td> + </tr> + <tr> + <td>A5</td><td>B5</td><td width="5%">C5</td><td>D5</td> + </tr> + <tr bgcolor="blue"> + <td>A6</td><td>B6</td><td>C6</td><td>D6</td><td>E6</td><td bgcolor="green">F6</td> + </tr> +</table> + + + +The cell borders are specified through the table rules attribute, and not by any +rowsep and colsep attributes. Therefore +it is not possible to set the borders of an individual cell. If no rules attribute is provided the default setup +defined by default.table.rules parameter is +used. + + + +The title of a formal HTML table is set through the +caption element, because the title +element is not available. + + + +The cell background colors can be set directly with the bgcolor +attribute in row (for an entire row color setting), +th, or td, but the dblatex bgcolor +Processing Instruction is required in colgroup or +col to set a column color. + + + +The relative widths can be expressed as a percentage. The proportional +syntax (e.g. "3*") is still available in colgroups. + + + +To specify that a column must be as wide as its content, there is no +need to use the dblatex autowidth Processing Instruction. You just need to set +the related colgroup width attribute to "0*". + + + +The fixed widths must be expressed as numbers, and the implicit unit is +the point ("pt"). You cannot set a width expressed in a unit like inchs +("in"), centimeters ("cm") and so on. + + + +The closest enclosing element attribute has precedence over ancestor +attributes. This applies to background color too. + + + +This source example is rendered as follow: + + + + + + + + + + + + +
+
diff --git a/docs/thanks.xml b/docs/thanks.xml new file mode 100644 index 0000000..dd8fe85 --- /dev/null +++ b/docs/thanks.xml @@ -0,0 +1,45 @@ + + + +Thanks + +
+Sponsors +Thanks to the companies that sponsored dblatex at a time or another: + + + + + + +, and the Raphael Hertzog's company + + + + + + +. + +
+
+Contributors +Thanks to Andreas Hoenen who packages and maintains dblatex for Debian, +provides patches and so on. +Thanks also to other contributors: David Hedley (newtbl +implementor), and Nicolas Pernetty +(Windows port). +
+
+Pioners +Thanks to the people who contributed to the project at its early age: +Jean-Yves Le Ruyet, precursory and hard-working user, Julien Ducourthial for +his precious help, Vincent Hottier who asked for the embedded LaTeX equations +support. +Special thanks to the KDE documentation team (especially Philip +Rodrigues), Michael Smith (from the DocBook Project), and Kai Brommann, for +their feedbacks, encouragements, and advice. They were the first people who +believed in this project and boosted dblatex. +
+
diff --git a/docs/verbatim.xml b/docs/verbatim.xml new file mode 100644 index 0000000..559f439 --- /dev/null +++ b/docs/verbatim.xml @@ -0,0 +1,262 @@ + + +
+Extending the Verbatim Rendering + +
+Dblatex Specific Options + +There are few attributes or options specific to +dblatex to render verbatim blocks: + + +The role attribute of +screen, programlisting, and +literallayout can take the following special values: + + + +wrap + +The verbatim lines can break and wrap when they are longer than the +available width. It is the default behaviour. + + + +overflow + +The verbatim lines never break and go into the margin when they are too +long. + + + +scale + +The verbatim block is automatically scaled so that the longest line or +specified column count +fits in the available page width. See . + + + + + + + +The parameter literal.role can be used +to set the default role to apply. By default the value is an empty string. + + + +The parameter literal.class can be used +to set the default literallayout class when +no class attribute is given. By default the value is +monospaced. + + +
+
+Scaling Feature + +The user can scale the verbatim block so that the longest line fits in +the available page width, or so that the page contains at least a specified width expressed in columns. + +The scaling feature is enabled when the parameter literal.extensions is set as follow: + + + +scale + +The scaling is performed only when the role attribute +is set to "scale", or when the role attribute is not set and the parameter literal.role is set to "scale". + + + +scale.by.width + +The scaling is performed when the role attribute +or literal.role is properly set, or when the attribute +width is set. When width is set the block is scaled so that +the specified width fits in the page width. + + + + + +Here are some listing examples with several attribute combinations producing or not the scaling. In these examples the parameter literal.extensions is set to "scale.by.width". + + + +The listing is scaled and lines are wrapped after 110 characters. Check yourself: + +123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 1234567 9 123456789 +0 1 2 3 4 5 6 7 8 9 10 11 + +]]> + + + + +There is no scaling because the role has precedence over the width attribute: + +123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 1234567 9 123456789 +0 1 2 3 4 5 6 7 8 9 10 11 + +]]> + + + + +The listing is scaled to display the longest line with no break: + +123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 1234567 9 123456789 +0 1 2 3 4 5 6 7 8 9 10 11 + +]]> + + + + +The listing is scaled to fit up to 110 columns, and the lines are wrapped. In this case role is redundant because @width automatically produces scaling. + +123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 1234567 9 123456789 +0 1 2 3 4 5 6 7 8 9 10 11 + +]]> + +
+
+Formatting embedded elements + +The programlisting and screen environments are supported by dblatex, but +the implementation is rather conservative, that is, most of the elements +embedded in such environments are not rendered like in normal environment +(e.g. bold, enphasis, etc.). Only the contained text is printed out. For the +elements whose rendering is lost, dblatex prints out a +warning message. + +For example, let's compile the following programlisting fragment: + +<programlisting> + +zone <replaceable>zone_name</replaceable> +<optional><replaceable>class</replaceable></optional> { + type delegation-only; +}; + +</programlisting> + +dblatex warns that the optional +and replaceable elements are not supported (i.e. not +rendered) in the programlisting: + +$ dblatex progfrag.xml +Build the book set list... +Build the listings... +XSLT stylesheets DocBook - LaTeX 2e (devel) +=================================================== +Warning: the root element is not an article nor a book +Warning: programlisting wrapped with article +replaceable not supported in programlisting or screen +optional not supported in programlisting or screen +replaceable not supported in programlisting or screen +replaceable not supported in programlisting or screen +optional not supported in programlisting or screen +replaceable not supported in programlisting or screen +... + + +If you want those elements be formatted in bold, or italic you need to +override the templates used in latex.programlisting mode, +as follow: + +<xsl:template match="replaceable|optional" mode="latex.programlisting"> + <xsl:param name="co-tagin" select="'&lt;:'"/> + <xsl:param name="rnode" select="/"/> + <xsl:param name="probe" select="0"/> + + <xsl:call-template name="verbatim.boldseq"> + <xsl:with-param name="co-tagin" select="$co-tagin"/> + <xsl:with-param name="rnode" select="$rnode"/> + <xsl:with-param name="probe" select="$probe"/> + </xsl:call-template> +</xsl:template> + +These parameters are required in latex.programlisting +mode. + + + +The predefined template makes bold the verbatim text of the +element. + + + +If formatting setup is not enough, you can also render these elements +as if they were in a normal environment. To do this, you need to override the +templates used in latex.programlisting mode, as +follow: + +<xsl:template match="replaceable|optional" mode="latex.programlisting"> + <xsl:param name="co-tagin" select="'&lt;:'"/> + <xsl:param name="rnode" select="/"/> + <xsl:param name="probe" select="0"/> + + <xsl:call-template name="verbatim.embed"> + <xsl:with-param name="co-tagin" select="$co-tagin"/> + <xsl:with-param name="rnode" select="$rnode"/> + <xsl:with-param name="probe" select="$probe"/> + </xsl:call-template> +</xsl:template> + +To enable the normal mode rendering within a verbatim environment, call +the verbatim.embed template, and pass the mandatory parameters. + + + + +
+
+Creating a new Verbatim Environment + +dblatex heavily relies upon the listing latex package +to display the screen, programlisting, and +literallayout blocks. + +The global listing setup can be overwritten with +literal.layout.options but the user can also provide its +own listing environment to use instead of the default environment, by using the following procedure: + +Create the new listing environment in a customized latex style, like +the following example. It is required that the environment name starts with the +string "lst". If not, dblatex raises an +error because it cannot recognize it as a special verbatim environment. + + +Specify to dblatex the listing environment name +through the literal.environment parameter, either on the +command line or with a user XSL stylesheet. + + + + + +
+
diff --git a/docs/version.xml b/docs/version.xml new file mode 100644 index 0000000..2990684 --- /dev/null +++ b/docs/version.xml @@ -0,0 +1 @@ +0.3.10 diff --git a/docs/xhtml/manual/Logo_Freexian.png b/docs/xhtml/manual/Logo_Freexian.png new file mode 100644 index 0000000..8d82333 Binary files /dev/null and b/docs/xhtml/manual/Logo_Freexian.png differ diff --git a/docs/xhtml/manual/alt.use.html b/docs/xhtml/manual/alt.use.html new file mode 100644 index 0000000..5bab300 --- /dev/null +++ b/docs/xhtml/manual/alt.use.html @@ -0,0 +1,12 @@ + + +alt.use

alt.use

alt.use — Always use alt to display equations

Synopsis

+      <xsl:param name="alt.use" select="0"/>
+
+    

Description

When an (informal) equation contains both alt and +another element (graphic, etc.), and when +tex.math.in.alt is not set to 'latex', the alt element +is not used to display the equation since it is considered as a fallback +element. Set alt.use to force the use of +alt as default rendering element even when +tex.math.in.alt is not set to 'latex'.

diff --git a/docs/xhtml/manual/annotation.support.html b/docs/xhtml/manual/annotation.support.html new file mode 100644 index 0000000..e38c07a --- /dev/null +++ b/docs/xhtml/manual/annotation.support.html @@ -0,0 +1,7 @@ + + +annotation.support

annotation.support

annotation.support — Enable the annotation support

Synopsis

+      <xsl:param name="annotation.support" select="'0'"/>
+
+    

Description

Set to 1 the experimental DocBook 5 annotation +support is enabled.

diff --git a/docs/xhtml/manual/apas02.html b/docs/xhtml/manual/apas02.html new file mode 100644 index 0000000..2518ac6 --- /dev/null +++ b/docs/xhtml/manual/apas02.html @@ -0,0 +1,3 @@ + + +Callouts

Callouts

callout.linkends.hot — Hot links callout items
calloutlist.style — Callout list style to apply
callout.markup.circled — Use black circles for numbering the callout items?
co.linkends.show — Show the references to calloutlist items next to the markup
imageobjectco.hide — Hide the callout markups on the image
diff --git a/docs/xhtml/manual/apas03.html b/docs/xhtml/manual/apas03.html new file mode 100644 index 0000000..55a13b9 --- /dev/null +++ b/docs/xhtml/manual/apas03.html @@ -0,0 +1,4 @@ + + +ToC/LoT/Index Generation

ToC/LoT/Index Generation

doc.lot.show — Specifies the Lists of Titles to display
doc.toc.show — Print the Table Of Contents
titleabbrev.in.toc — Should titleabbrev be put in the TOC + instead of title?
toc.section.depth — How deep should recursive sections appear in the TOC?
bibliography.tocdepth — How bibliography section and subsections appear in TOC
colophon.tocdepth — How colophon section and subsections appear in TOC
dedication.tocdepth — How dedication section and subsections appear in TOC
preface.tocdepth — How preface section and subsections appear in TOC
glossary.tocdepth — How glossary section and subsections appear in TOC
index.tocdepth — How index section and subsections appear in TOC
latex.index.tool — Define the tool to use to build an index
latex.index.language — Force the language to use for index sorting
refentry.tocdepth — How refentry section and subsections appear in TOC
diff --git a/docs/xhtml/manual/apas04.html b/docs/xhtml/manual/apas04.html new file mode 100644 index 0000000..81008a9 --- /dev/null +++ b/docs/xhtml/manual/apas04.html @@ -0,0 +1,3 @@ + + +Processor Extensions

Processor Extensions

alt.use — Always use alt to display equations
tex.math.in.alt — TeX notation used for equations
diff --git a/docs/xhtml/manual/apas05.html b/docs/xhtml/manual/apas05.html new file mode 100644 index 0000000..0a54c8c --- /dev/null +++ b/docs/xhtml/manual/apas05.html @@ -0,0 +1,3 @@ + + +Automatic labelling

Automatic labelling

bibliography.numbered — Should bibliography headings be numbered?
glossary.numbered — Should glossary headings be numbered?
index.numbered — Should index headings be numbered?
refentry.numbered — Should refentry headings be numbered?
diff --git a/docs/xhtml/manual/apas06.html b/docs/xhtml/manual/apas06.html new file mode 100644 index 0000000..dea2a5e --- /dev/null +++ b/docs/xhtml/manual/apas06.html @@ -0,0 +1,3 @@ + + +Meta/*Info

Meta/*Info

doc.pdfcreator.show — Set the PDF metadata Creator field
make.single.year.ranges — Print single-year ranges (e.g., 1998-1999)
make.year.ranges — Collate copyright years into ranges?
diff --git a/docs/xhtml/manual/apas07.html b/docs/xhtml/manual/apas07.html new file mode 100644 index 0000000..575bbc4 --- /dev/null +++ b/docs/xhtml/manual/apas07.html @@ -0,0 +1,4 @@ + + +Reference Pages

Reference Pages

funcsynopsis.decoration — Decorate elements of a funcsynopsis?
funcsynopsis.style — What style of funcsynopsis should be generated?
function.parens — Generate parens after a function?
refclass.suppress — Suppress display of refclass contents?
refentry.generate.name — Output NAME header before refnames?
refentry.xref.manvolnum — Output manvolnum as part of +refentry cross-reference?
diff --git a/docs/xhtml/manual/apas08.html b/docs/xhtml/manual/apas08.html new file mode 100644 index 0000000..83b3754 --- /dev/null +++ b/docs/xhtml/manual/apas08.html @@ -0,0 +1,3 @@ + + +Tables

Tables

newtbl.autowidth — Table column widths sized by latex
newtbl.bgcolor.thead — Background color of the thead rows
newtbl.default.colsep — By default draw a vertical line between columns
newtbl.default.rowsep — By default draw a horizontal line between rows
newtbl.format.tbody — LaTeX formatting for body table cells
newtbl.format.tfoot — LaTeX formatting for foot table cells
newtbl.format.thead — LaTeX formatting for head table cells
newtbl.use.hhline — Draw the horizontal lines with the hhline package
table.continue.caption — Caption text for continued table titles
table.default.position — Default table float placement policy
table.default.tabstyle — Default table style to apply
table.in.float — Use or emulate a float to display a formal table?
table.title.top — Title on top of the table float
default.table.rules — The default column and row rules for tables using HTML markup
default.table.width — The default width of tables
diff --git a/docs/xhtml/manual/apas09.html b/docs/xhtml/manual/apas09.html new file mode 100644 index 0000000..401f1ca --- /dev/null +++ b/docs/xhtml/manual/apas09.html @@ -0,0 +1,5 @@ + + +Linking

Linking

latex.hyperparam — Options/parameters passed to hyperref
Olink Parameters + + — Parameters to configure Olinks
diff --git a/docs/xhtml/manual/apas10.html b/docs/xhtml/manual/apas10.html new file mode 100644 index 0000000..56b2ca8 --- /dev/null +++ b/docs/xhtml/manual/apas10.html @@ -0,0 +1,6 @@ + + +Cross References

Cross References

insert.xref.page.number — Turns page numbers in xrefs on and off
insert.xref.page.number.para — Turns page numbers in xrefs to paragraphs on and + off
xref.hypermarkup — Wrap the entire the xref markups with an hyperlink?
diff --git a/docs/xhtml/manual/apas11.html b/docs/xhtml/manual/apas11.html new file mode 100644 index 0000000..d08c9d9 --- /dev/null +++ b/docs/xhtml/manual/apas11.html @@ -0,0 +1,4 @@ + + +Lists

Lists

term.breakline — Put the term description on the next line?
variablelist.term.separator — Text to separate terms within a multi-term +varlistentry
diff --git a/docs/xhtml/manual/apas12.html b/docs/xhtml/manual/apas12.html new file mode 100644 index 0000000..fcd0671 --- /dev/null +++ b/docs/xhtml/manual/apas12.html @@ -0,0 +1,3 @@ + + +QAndASet

QAndASet

qanda.defaultlabel — Sets the default for defaultlabel on QandASet.
diff --git a/docs/xhtml/manual/apas13.html b/docs/xhtml/manual/apas13.html new file mode 100644 index 0000000..619d13d --- /dev/null +++ b/docs/xhtml/manual/apas13.html @@ -0,0 +1,3 @@ + + +Bibliography

Bibliography

biblioentry.item.separator — Text to separate bibliography entries
biblioentry.numbered — Should biblioentry item labels be numbered?
citation.default.style — Default natbib citation style to apply
citation.natbib.options — Specifies the natbib package options
citation.natbib.use — Use natbib to display citations
latex.bibfiles — Defines the default BibTeX database to use
latex.biblio.output — Defines how the BibTeX bibliographic entries are printed out
latex.biblio.style — Default BibTeX style to apply
latex.bibwidelabel — Template of the widest bibliography label
diff --git a/docs/xhtml/manual/apas14.html b/docs/xhtml/manual/apas14.html new file mode 100644 index 0000000..c0fecaa --- /dev/null +++ b/docs/xhtml/manual/apas14.html @@ -0,0 +1,3 @@ + + +Glossary

Glossary

glossterm.auto.link — Generate links from glossterm to glossentry automatically?
diff --git a/docs/xhtml/manual/apas15.html b/docs/xhtml/manual/apas15.html new file mode 100644 index 0000000..f1f87d2 --- /dev/null +++ b/docs/xhtml/manual/apas15.html @@ -0,0 +1,7 @@ + + +Miscellaneous

Miscellaneous

annotation.support — Enable the annotation support
beginpage.as.pagebreak — Force a page break when set to 1. Otherwise + beginpage does nothing.
doc.section.depth — Depth of the section numbering
endnotes.heading.command — LaTeX command of the endnotes headings
endnotes.heading.groups — Display the endnotes by groups
endnotes.heading.style — Style of the heading of endnotes groups
endnotes.properties — Properties of the latex package endnotes setup
equation.default.position — Default equation float placement to apply
example.default.position — Default example float placement to apply
example.float.type — Select the type of float for example elements
figure.anchor.top — Cross reference anchor on top of the figure float
figure.default.position — Figure float placement policy
figure.title.top — Title on top of the figure float
filename.as.url — Hyphenate a filename like if is was an URL
footnote.as.endnote — Use footnotes as endnotes
hyphenation.format — Predefined formats to hyphenate
linenumbering.scope — Templates on which the global linenumbering setup applies
linenumbering.default — Default linenumbering setup for literal environments
linenumbering.everyNth — Indicate which lines should be numbered
literal.layout.options — Override the options passed to the listing + package
literal.lines.showall — Show the last empty lines in the literal environments?
literal.width.ignore — Ignore the literal environment width attribute
literal.class — Default class to apply to literallayout + blocks
literal.role — Default role to apply to verbatim blocks
literal.environment — Latex environment used to format verbatim blocks
literal.extensions — Enable extended verbatim features
mediaobject.caption.style — Font style of the mediaobject caption text
monoseq.hyphenation — Specifies one of the supported monoseq hyphenation policy
monoseq.small — Use a smaller font to render monoseq portions of text
pdf.annot.options — PDF text annotations rendering options
segmentedlist.as.table — Format segmented lists as tables?
seg.item.separator — Separator to use between several +segs
show.comments — Display remark elements?
texlive.version — Version of the installed Tex Live Distribution
ulink.footnotes — Generate footnotes for ulinks?
ulink.show — Display URLs after ulinks?
xref.with.number.and.title — Use number and title in cross references
diff --git a/docs/xhtml/manual/apas16.html b/docs/xhtml/manual/apas16.html new file mode 100644 index 0000000..b1c9051 --- /dev/null +++ b/docs/xhtml/manual/apas16.html @@ -0,0 +1,3 @@ + + +Graphics

Graphics

imagedata.boxed — Put the images into a framed box
imagedata.default.scale — Specifies the default image scaling properties
imagedata.file.check — Make the latex compilation robust to missing images
keep.relative.image.uris — Should image URIs be resolved against xml:base?
diff --git a/docs/xhtml/manual/apas17.html b/docs/xhtml/manual/apas17.html new file mode 100644 index 0000000..f7e72cc --- /dev/null +++ b/docs/xhtml/manual/apas17.html @@ -0,0 +1,4 @@ + + +Chuncking

Chuncking

set.book.num — Select a single book or all the books to compile from a + set
use.id.as.filename — Use ID value of chunk elements as the filename?
diff --git a/docs/xhtml/manual/apas19.html b/docs/xhtml/manual/apas19.html new file mode 100644 index 0000000..9ff7602 --- /dev/null +++ b/docs/xhtml/manual/apas19.html @@ -0,0 +1,3 @@ + + +Font Families

Font Families

body.font.family — The default font family for body text
cjk.font — Fonts to use in CJK environments
monospace.font.family — The default font family for monospace environments
sans.font.family — The default sans-serif font family
xetex.font — Specifies the fonts that XeTeX must use
diff --git a/docs/xhtml/manual/apas20.html b/docs/xhtml/manual/apas20.html new file mode 100644 index 0000000..46e89ca --- /dev/null +++ b/docs/xhtml/manual/apas20.html @@ -0,0 +1,3 @@ + + +Localization

Localization

korean.package — Package included when Korean language is used
latex.babel.language — Force the loaded babel language
latex.babel.use — Disable the use of babel, whatever the document language is
diff --git a/docs/xhtml/manual/apbs02.html b/docs/xhtml/manual/apbs02.html new file mode 100644 index 0000000..714438d --- /dev/null +++ b/docs/xhtml/manual/apbs02.html @@ -0,0 +1,4 @@ + + +LaTeX

LaTeX

latex — Insert Arbitrary text into the LaTeX file

If you do inject arbitrary LaTeX into the output stream you will +probably need to use the techniques found in the section called “Debugging your Style”.

diff --git a/docs/xhtml/manual/apbs03.html b/docs/xhtml/manual/apbs03.html new file mode 100644 index 0000000..d57fc3f --- /dev/null +++ b/docs/xhtml/manual/apbs03.html @@ -0,0 +1,3 @@ + + +Miscellaneous

Miscellaneous

dblatex angle — Rotates an imagedata Image
texmath delimiters — Disable The LaTeX Mathematical Delimiters Control
diff --git a/docs/xhtml/manual/apbs04.html b/docs/xhtml/manual/apbs04.html new file mode 100644 index 0000000..d39948c --- /dev/null +++ b/docs/xhtml/manual/apbs04.html @@ -0,0 +1,3 @@ + + +Tables

Tables

dblatex bgcolor — Sets the Background Color of A Table Element
dblatex table-width — Control the Automatic Width of a Table
diff --git a/docs/xhtml/manual/beginpage.as.pagebreak.html b/docs/xhtml/manual/beginpage.as.pagebreak.html new file mode 100644 index 0000000..dad8c1e --- /dev/null +++ b/docs/xhtml/manual/beginpage.as.pagebreak.html @@ -0,0 +1,6 @@ + + +beginpage.as.pagebreak

beginpage.as.pagebreak

beginpage.as.pagebreak — Force a page break when set to 1. Otherwise + beginpage does nothing.

Synopsis

+      <xsl:param name="beginpage.as.pagebreak" select="1"/>
+

Description

The legacy behaviour of dblatex is that it inserts a page break when beginpage appears. You can keep this behaviour by setting this parameter to 1 (default value) or inhibit it by setting to 0.

diff --git a/docs/xhtml/manual/bi01.html b/docs/xhtml/manual/bi01.html new file mode 100644 index 0000000..ac10d81 --- /dev/null +++ b/docs/xhtml/manual/bi01.html @@ -0,0 +1,3 @@ + + +Documentation

Documentation

Reference

[TDG] DocBook: The Definitive Guide. Norman Walsh and Leonard Muellner. Copyright © 1999, 2000, 2001 O'Reilly & Associates, Inc.. 156592-580-7. O'Reilly.

diff --git a/docs/xhtml/manual/biblioentry.item.separator.html b/docs/xhtml/manual/biblioentry.item.separator.html new file mode 100644 index 0000000..5ee1920 --- /dev/null +++ b/docs/xhtml/manual/biblioentry.item.separator.html @@ -0,0 +1,5 @@ + + +biblioentry.item.separator

biblioentry.item.separator

biblioentry.item.separator — Text to separate bibliography entries

Synopsis

+      <xsl:param name="biblioentry.item.separator">, </xsl:param>
+

Description

Text to separate bibliography entries.

diff --git a/docs/xhtml/manual/biblioentry.numbered.html b/docs/xhtml/manual/biblioentry.numbered.html new file mode 100644 index 0000000..64e918e --- /dev/null +++ b/docs/xhtml/manual/biblioentry.numbered.html @@ -0,0 +1,8 @@ + + +biblioentry.numbered

biblioentry.numbered

biblioentry.numbered — Should biblioentry item labels be numbered?

Synopsis

+      <xsl:param name="biblioentry.numbered" select="0"/>
+

Description

When non-zero, the reference labels of the bibliography entries are + numbers instead of label strings, even if explicit labels are set through + an xreflabel attribute or an abbrev + tag.

diff --git a/docs/xhtml/manual/bibliography.numbered.html b/docs/xhtml/manual/bibliography.numbered.html new file mode 100644 index 0000000..85e8d66 --- /dev/null +++ b/docs/xhtml/manual/bibliography.numbered.html @@ -0,0 +1,7 @@ + + +bibliography.numbered

bibliography.numbered

bibliography.numbered — Should bibliography headings be numbered?

Synopsis

+      <xsl:param name="bibliography.numbered">1</xsl:param>
+
+    

Description

Defines either the bibliography titles are numbered or +not. When numbered, it is displayed as any other numbered section.

See Also

bibliography.tocdepth.

glossary.numbered, glossary.tocdepth.

refentry.numbered, refentry.tocdepth.

index.numbered, index.tocdepth.

diff --git a/docs/xhtml/manual/bibliography.tocdepth.html b/docs/xhtml/manual/bibliography.tocdepth.html new file mode 100644 index 0000000..231b931 --- /dev/null +++ b/docs/xhtml/manual/bibliography.tocdepth.html @@ -0,0 +1,8 @@ + + +bibliography.tocdepth

bibliography.tocdepth

bibliography.tocdepth — How bibliography section and subsections appear in TOC

Synopsis

+      <xsl:param name="bibliography.tocdepth">5</xsl:param>
+
+    

Description

Same than preface.tocdepth for bibliography +sections. Meaningful only when bibliography.numbered is set +to 0.

See Also

bibliography.numbered.

refentry.numbered, refentry.tocdepth.

glossary.numbered, glossary.tocdepth.

index.numbered, index.tocdepth.

diff --git a/docs/xhtml/manual/body.font.family.html b/docs/xhtml/manual/body.font.family.html new file mode 100644 index 0000000..968ee54 --- /dev/null +++ b/docs/xhtml/manual/body.font.family.html @@ -0,0 +1,7 @@ + + +body.font.family

body.font.family

body.font.family — The default font family for body text

Synopsis

+      <xsl:param name="body.font.family">DejaVu Serif</xsl:param>
+ 

Description

The body font family is the default font used for text in the page + body.

Currently this parameter is taken into account only when the xetex + backend is used, through the xetex.font.

See Also

xetex.font

diff --git a/docs/xhtml/manual/callout.linkends.hot.html b/docs/xhtml/manual/callout.linkends.hot.html new file mode 100644 index 0000000..c8a0aca --- /dev/null +++ b/docs/xhtml/manual/callout.linkends.hot.html @@ -0,0 +1,7 @@ + + +callout.linkends.hot

callout.linkends.hot

callout.linkends.hot — Hot links callout items

Synopsis

+      <xsl:param name="callout.linkends.hot" select="'1'"/>
+

Description

The callouts referenced in a callout list are hot links if the +parameter is set to 1. Then, the references are in red such like any other +cross-reference link in the document.

diff --git a/docs/xhtml/manual/callout.markup.circled.html b/docs/xhtml/manual/callout.markup.circled.html new file mode 100644 index 0000000..5a622c6 --- /dev/null +++ b/docs/xhtml/manual/callout.markup.circled.html @@ -0,0 +1,7 @@ + + +callout.markup.circled

callout.markup.circled

callout.markup.circled — Use black circles for numbering the callout items?

Synopsis

+      <xsl:param name="callout.markup.circled" select="'1'"/>
+

Description

Set to 1 the callouts references in a calloutlist +are white numbers in black circles, like the markups in the listing (or +graphic). Set to 0 the references are simple numbers.

diff --git a/docs/xhtml/manual/calloutlist.style.html b/docs/xhtml/manual/calloutlist.style.html new file mode 100644 index 0000000..0bb3efa --- /dev/null +++ b/docs/xhtml/manual/calloutlist.style.html @@ -0,0 +1,6 @@ + + +calloutlist.style

calloutlist.style

calloutlist.style — Callout list style to apply

Synopsis

+      <xsl:param name="calloutlist.style" select="'leftmargin=1cm,style=sameline'"/>
+ 

Description

Defines how the callout list items are displayed. The value must be +some valid enumitem description list options.

diff --git a/docs/xhtml/manual/ch01.html b/docs/xhtml/manual/ch01.html new file mode 100644 index 0000000..78dccec --- /dev/null +++ b/docs/xhtml/manual/ch01.html @@ -0,0 +1,11 @@ + + +Chapter 1. Introduction

Chapter 1. Introduction

What about DB2LaTeX?

Dblatex started as a DB2LaTeX clone, but since then +many things have changed and new features have been added or (hopefully) +improved. Now, the portion of shared code is small if any, and the dblatex +purpose is different from DB2LaTeX on these points:

  • The project is end-user oriented, that is, it tries to hide as much as +possible the latex compiling stuff by providing a single clean script to +produce directly DVI, PostScript and PDF output.

  • The actual output rendering is done not only by the XSL stylesheets +transformation, but also by a dedicated LaTeX package. The goal is to allow a +deep LaTeX customisation without changing the XSL stylesheets.

  • Post-processing is done by Python, to make publication faster, convert +the images if needed, and do the whole compilation.

diff --git a/docs/xhtml/manual/ch01s02.html b/docs/xhtml/manual/ch01s02.html new file mode 100644 index 0000000..7b55ab2 --- /dev/null +++ b/docs/xhtml/manual/ch01s02.html @@ -0,0 +1,5 @@ + + +Features

Features

With dblatex you can:

  • transform a DocBook XML/SGML book or article to pure LaTeX,

  • compile the temporary LaTeX file with latex, +pdflatex, or xelatex to produce DVI, +PostScript and PDF files,

  • publish a set of books,

  • convert on the fly the figures included in the document,

  • have cross references with hot links,

  • olink to other documents built with dblatex,

  • write complex tables,

  • write several bibliographies,

  • reuse BibTeX bibliographies,

  • use callouts on program listings or on images,

  • create an index with makeindex or xindy,

  • write mathematical equations in LaTeX,

  • write mathematical equations in MathML,

  • have revision bars,

  • customise the output rendering with an XSL configuration file,

  • use your own LaTeX style package.

diff --git a/docs/xhtml/manual/ch01s03.html b/docs/xhtml/manual/ch01s03.html new file mode 100644 index 0000000..218b831 --- /dev/null +++ b/docs/xhtml/manual/ch01s03.html @@ -0,0 +1,3 @@ + + +Version

Version

This manual is for dblatex version 0.3.10.

diff --git a/docs/xhtml/manual/ch01s05.html b/docs/xhtml/manual/ch01s05.html new file mode 100644 index 0000000..78348d4 --- /dev/null +++ b/docs/xhtml/manual/ch01s05.html @@ -0,0 +1,28 @@ + + +Publishing Principles

Publishing Principles

Dblatex transforms a DocBook XML/SGML document to LaTeX. Once +transformed into LaTeX, standard LaTeX tools are used to produce DVI, +Postcript or PDF files.

Figure 1.1, “Transforming Process” explains the process applied. It shows +the tools used and the steps. The emphasized tools are provided by the +package.

Figure 1.1. Transforming Process

Transforming Process

Backend Drivers

The main script supports the following LaTeX backend drivers:

dvips

The driver calls latex, and produces DVI, Postscript +and at the end PDF files. Latex natively accepts only EPS graphics. The +drawback is that converting to PDF can take a while.

pdftex

The driver calls pdflatex, to directly produce PDF +files. The conversion is fast, the file size is smaller. Pdflatex natively +accepts PDF, PNG, JPEG, and TIFF graphics.

xetex

The driver calls xelatex, to directly produce PDF +files through the XeTeX +engine. This engine natively supports UTF-8 which improves multilingual +support.

XSL Stylesheets

The XSL stylesheets located under xsl/ are used to +transform from XML to “raw” LaTeX. The main file is +latex_book_fast.xsl, that includes the other stylesheets +of the directory.

Python Post Processing

Actually the XSL stylesheets does not produce valid LaTeX. The reason is +that some DocBook processing is too complex or too time-consuming for XSL +transforming. Besides, some extra actions need sometimes to be done such like +figure conversion. Here are the main actions done by Python Post +processing:

  • Transform the entities to valid LaTeX characters (e.g. &nbsp; is +transformed to '~'). Python is suited and performant for this task.

  • Convert the figures to be compatible with the backend driver. See the section called “ + Figure Inclusion + ” for more detail.

  • Force some hyphenation in tables or for typed words.

  • Do the whole LaTeX compilation sequence thanks to the rubber +compilation engine.

LaTeX Style Package

Once valid LaTeX is available, the LaTeX style package (docbook.sty) +under latex/style/ is used to customize the output +rendering. It includes the other files of the directory. You can also provide +your own LaTeX style (cf. Chapter 4, Customization).

diff --git a/docs/xhtml/manual/ch02s03.html b/docs/xhtml/manual/ch02s03.html new file mode 100644 index 0000000..c4cc20a --- /dev/null +++ b/docs/xhtml/manual/ch02s03.html @@ -0,0 +1,11 @@ + + +Installing on Windows

Installing on Windows

The following packages to install and the procedure is for a native +Windows installation. If you want to use dblatex via Cygwin instead, you +should consider it like a unix like install.

Dependencies

The following applications are required:

  • An XSLT. xsltproc is the default XSLT used, but one +can also use 4suite.

  • The XML DocBook DTD.

  • MiKTeX > 2.5.

  • Python >= 2.4.

Installation

Installing xsltproc

You can download the binaries and getting the installation instructions +from: http://www.zlatkovic.com/libxml.en.html.

Installing MiKTeX

Install the minimal distribution, and add the following packages: +changebar, colortbl, fancybox, fancyhdr, fancyvrb, listings, overpics, +rotating, subfigure, titlesec, bibtopic, enumitem, eepic, lm, lastpage, +helvetic, times, symbol, courier, footmisc, ifxetex, pdfpages, wasysym.

Installing dblatex

From the unpacked package directory just type:

python setup.py install

If the Python directory is C:\Python25 you can now +try dblatex by typing:

python C:\Python25\Scripts\dblatex file.xml
diff --git a/docs/xhtml/manual/ch03.html b/docs/xhtml/manual/ch03.html new file mode 100644 index 0000000..7248eef --- /dev/null +++ b/docs/xhtml/manual/ch03.html @@ -0,0 +1,21 @@ + + +Chapter 3. Using dblatex

Chapter 3. Using dblatex

Reference

dblatex — + convert DocBook to + LaTeX, DVI, + PostScript, and PDF +
diff --git a/docs/xhtml/manual/ch03s09.html b/docs/xhtml/manual/ch03s09.html new file mode 100644 index 0000000..3745b66 --- /dev/null +++ b/docs/xhtml/manual/ch03s09.html @@ -0,0 +1,102 @@ + + +Correcting Poor Formatting

Correcting Poor Formatting

LaTeX does not invariably produce good looking output. To + remedy this it can sometimes be useful to guide LaTeX in the + formatting of individual characters, words, sentences, and pages. + It is best to adjust with caution, making adjustments only to fix + specific problems and limiting adjustments to the affected + area.

Tip

Adjustments to formatting are best done late in the + production process so that subsequent changes to content do not + produce new problems.

This section provides an overview of common problems and + summarizes methods which may be used to resolve issues related to + formatting. Much more detail can be found in the Chapter 4, Customization chapter and the Appendix A, Dblatex XSL Parameter Reference + and Appendix B, Dblatex Processing Instruction Reference appendixes. Be sure to look through + these, especially the appendixes, to see whether there is an + adjustment which will solve your particular problem. Of course the + DocBook documentation should also be consulted to see if a DocBook + attribute can be used to adjust document presentation.

Floats

Floats are figures, tables, examples, images, and so forth + which do not necessarily appear in the output document in the + location in which they appear in the DocBook source. The + placement of floats can result in visually poor or otherwise + undesirable output.

One direct approach is to use the informal + versions of the affected DocBook elements. E.g. use + informaltable instead of + table. The informal elements do + not float. Bear in mind though that informal + elements do not appear in the table of contents.

The alternative to eliminating the float entirely is + to make an adjustment by parameter, attributes, or processing + instruction. For figure, example, and equation, you can play + with these methods:

  • In a specific element, use the + floatstyle attribute to + specify the latex float placement policy. For example + '[H]' tries to place the element where it is + declared.

  • Use the parameter + element.defaut.position + to specify globaly the placement policy for this element.

Look at page for more details + about the meaning of the placement choice letters.

Tables

Placement problems with tables relate to their + classification as a float. For resolution regarding these issues + see the section on floats above.

Tables exceeding the length of a page, or tables that + otherwise need to cross page boundaries, have special + requirements. They must not be floats and must be rendered using + the LaTeX longtable environment. Among the + available controls are: use of a informaltable + element in place of a table element, the + table element's tabstyle + attribute, the table.default.tabstyle parameter, + the table.in.float parameter.

It is worth mentioning that good typesetting design practice + for tables generally calls for eliminating all vertical rules (the + lines between columns) and most horizontal rules.

Better vertical placement of + table horizontal rules can be obtained by providing values for + the newtbl.format.thead and + newtbl.format.tbody parameters. Depending on the + font in use, a value like + \rule{0pt}{2.6ex}\rule[-0.9ex]{0pt}{0pt} can be + used for both parameters. This inserts a + strut, a 0 width character, in each row + of the table which pushes the horizontal rules + upwards and downwards to provide adequate vertical spacing.

Examples

Placement of examples has the same issue than tables, that is, it + is an element that can contain many materials and need to split over + several pages. In this case it cannot be considered as a float.

To avoid an example floating and to allow it cover several + pages, set the parameter example.float.type + to none.

Hyphenation and over-long lines

LaTeX is generally very good at hyphenation, but this + applies only to actual words. Technical writing may include long + character sequences that are not actual words. Hyphenation + failure will typically result in lines of text that flow past the + expected right-hand edge of a line. In LaTeX terminology this is + known as a overfull hbox.

The hyphenation.format parameter can + be helpful to flag some formats for more agressive + hyphenation.

Various adjustments can be made with the + <?latex?> processing instruction to + add raw latex directives and eliminate + overfull hboxes but it often makes sense to address hyphenation + problems directly. This can be done either on an ad-hoc basis, + telling LaTeX how to hyphenate specific occurrences of words where + a problem exists, or by telling LaTeX how to hyphenate words it + does not know. The first method is accomplished by inserting + soft hyphens into words in your DocBook source + using the latex processing instruction. This is + described in the the section called “Safe LaTeX Insertions” section.

To educate LaTeX as to how to hyphenate your special + vocabulary a custom LaTeX style is required. Setting this up is + described in the the section called “Customized LaTeX style” section. The + LaTeX command to use is \hyphenation. For example + \hyphenation{PostgreSQL trans-mog-re-fi-ca-tion} + tells LaTeX that PostgreSQL should not be + hyphenated and where to hyphenate + transmogrification.

Finally, long URLs can cause over-long lines. Especially in + footnotes. Using the LaTeX breakurl package is + one way to solve this. This can be done with a custom latex + stylesheet. See the section called “Customized LaTeX style”.

Characters and Manual Spacing

The <?latex?> processing instruction + may be used to limit character kerning, the joining of pairs of + characters.

The following DocBook entity declarations can be useful to + control spacing. These may be declared in your DocBook + DTD within the trailing pair of square braces + ([]) or elsewhere. Once declared the entities + may be used in your document text. E.g. + Von&nbsp;Trapp puts a non-breaking space + between Von and Trapp, + ensuring that these two words will not appear on separate + lines.

+  <!ENTITY nbsp  "&#x000A0;" >
+  <!ENTITY ensp  "&#x02002;" >
+  <!ENTITY emsp  "&#x02003;" >
+    
diff --git a/docs/xhtml/manual/ch03s10.html b/docs/xhtml/manual/ch03s10.html new file mode 100644 index 0000000..e9ead52 --- /dev/null +++ b/docs/xhtml/manual/ch03s10.html @@ -0,0 +1,102 @@ + + +Writing Mathematics

Writing Mathematics

Writing LaTeX Mathematical Equations

Presentation

DocBook doesn't define elements for writing mathematical equations. Only +few elements exist that tell how equation should be displayed (inlined, +block):

  • inlineequation tells that the equation is +inlined,

  • informalequation tells that the equation is displayed +as a block, without a title.

  • equation tells that the equation is displayed as a +block, with or without a title.

These tags include a graphic (graphic or +mediaobject) or an alternative text equation, as shown by +the example.

Example 3.7. Equation taken from TDG

+<equation><title>Last Theorem of Fermat</title> 
+  <alt>x^n + y^n &ne; z^n &forall; n &ne; 2</alt>
+  <graphic fileref="figures/fermat"></graphic>
+</equation>
+   

Implementation choice

The principle is to use only the alt element. If +initially alt contains actually the text to print, it is +chosen to use this element to embed LaTeX mathematical equations. This choice +has the following advantages:

  • The translation done by dblatex is really easy, since the equation is +already written in LaTeX.

  • LaTeX is one of the best word processor to render mathematical +formulas.

  • One doesn't need to write the equations in MathML.

  • This method isn't specific to this tool (see the following +section).

Mathematical Delimiters

The dblatex implementation is as light as possible. This is why it is +up to the writer to properly use the mathematical delimiters ($, \(, \), \[, +\]). By this way the writer fully controls how he writes equations.

By default dblatex checks that +consistent mathematical +delimiters or environment are used in alt and it inserts the +default math mode delimiters if dblatex thinks they are missing, but +you can ask dblatex to write directly the alt content +without any action. To do this, use the texmath Processing +Instruction with delimiters set to 'user'.

For example, Example 3.8, “Equation with user delimiters” has user specific +delimiters:

Example 3.8. Equation with user delimiters

Equation 3.1. Equation block with align tabs


In the XML source this equation uses a specific align* environment and the texmath PI to let the equation as is:

+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE para PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
+<equation>
+  <title>Equation block with align tabs</title>
+  <alt><?texmath delimiters="user"?><![CDATA[\begin{align*}
+S & = \left\lfloor { { N \bmod 65536 } \over 32768 } \right\rfloor  \\
+E & = \left\lfloor { { N \bmod 32768 } \over  1024 } \right\rfloor  \\
+M & = N \bmod 1024.
+\end{align*}]]></alt>
+</equation>
+ 

Compatibility

This implementation is not contradictory nor specific. In particular, +the DBTeXMath +proposal to extend the DSSSL stylesheets used by jade follows the same +approach, and is integrated in the Norman Walsh XSL stylesheets.

Examples

The following examples show how to write the equations.

Example 3.9. Inlined Equation

The formula + +is inlined in the paragraph. Its XML source is:

+<para>The formula 
+  <inlineequation id="eg-inlineequation">
+    <alt>$C = \alpha + \beta Y^{\gamma} + \epsilon$</alt>
+    <graphic fileref="figures/eq1"/>
+  </inlineequation>
+is inlined in the paragraph. Its XML source is:</para>
+
+

Example 3.10. Equation in a block

The following formula: +

+is displayed in a separate block. The XML source is:

+<para>The following formula:
+  <informalequation>
+    <alt>\[C = \alpha + \beta Y^{\gamma} + \epsilon\]</alt>
+    <graphic fileref="figures/eq1"/>
+  </informalequation>
+is displayed in a separate block. The XML source is:</para>
+
+

Example 3.11. Equation in a float

The formula Equation 3.2, “Simple Formula” below: +

Equation 3.2. Simple Formula


+is displayed in a block with a title. Its XML source is:

+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE para PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
+<para>The formula <xref linkend="eq-with-title"/> below:
+  <equation id="eq-with-title">
+  <title>Simple Formula</title>
+    <alt>\[C = \alpha + \beta Y^{\gamma} + \epsilon\]</alt>
+    <graphic fileref="figures/eq1"/>
+  </equation>
+is displayed in a block with a title. Its XML source is:</para>
+
+

Example 3.12. Equation without a title

The formula Equation 3.3 below: +

Equation 3.3. 


+is displayed as a latex equation with its own equation numbering. +Its XML source is:

+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE para PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
+<para>The formula <xref linkend="eq-with-no-title"/> below:
+  <equation id="eq-with-no-title">
+    <alt>C = \alpha + \beta Y^{\gamma} + \epsilon</alt>
+    <graphic fileref="figures/eq4"/>
+  </equation>
+is displayed as a latex equation with its own equation numbering.
+Its XML source is:</para>
+
+

+ Writing MathML equations +

+ You can write MathML equations in a DocBook based document, by using the MathML Module for DocBook XML instead of the DocBook DTD. +

+ dblatex now translates the MathML equations to latex by using the excellent stylesheets of the XSLT MathML Library by Vasil Yaroshevich. A large amount of tests from the W3C MathML Test Suite 2.0 is supported (657 of 712 tests). The test file used to validate the MathML stylesheets is provided in the package. +

diff --git a/docs/xhtml/manual/ch03s14.html b/docs/xhtml/manual/ch03s14.html new file mode 100644 index 0000000..da59bb7 --- /dev/null +++ b/docs/xhtml/manual/ch03s14.html @@ -0,0 +1,84 @@ + + +Writing a Bibliography

Writing a Bibliography

+ A bibliography (bibliography) can be written and put anywhere in the document. It appears as a chapter or a section and is composed by several divisions (bibliodiv) displayed as sections or subsections. +

Using Bibliography Entries

+ The writer selects information that describes each bibliography entry (biblioentry), and chooses the presentation order. The titles and authors are displayed first. +

Example 3.15. A Bibliography

+<bibliography><title>Bibliography Example</title> 
+  <bibliodiv><title>References</title>
+    <biblioentry>
+      <title>Document title</title>
+      <author><firstname>J.</firstname><surname>Doe</surname></author>
+      <pubsnumber>DEX000567325</pubsnumber>
+    </biblioentry>
+  </bibliodiv>
+  <bibliodiv><title>White papers</title>
+    <biblioentry>
+      <title>Technical notes</title>
+      <authorgroup>
+        <author><firstname>J.</firstname><surname>Doe</surname></author>
+        <author><firstname>R.</firstname><surname>Marion</surname></author>
+      </authorgroup>
+      <pubsnumber>DEX000704520</pubsnumber>
+    </biblioentry>
+  </bibliodiv>
+</bibliography>
+  

Using BibTeX Databases

Instead of writing the bibliographic materials in DocBook you can reuse +some already available BibTeX databases. Of course, this feature is specific to +dblatex, that will automatically call bibtex +if some bibtex databases are used.

To do so, write a bibliodiv containing an empty +bibliomixed element having a +bibtex processing instruction specifying the databases to use +and the style to apply.

More precisely here are the attributes supported by the +bibtex PI: + +

bibfiles

This attribute is mandatory and specifies the databases to use. +The databases are separated by +commas, and must not contain the file suffix (.bib). The bibfiles +paths must be absolute or relative to the base directory of the document. You +can also add some bibfile paths by using the -L option.

bibstyle

Optional attribute specifying the bibliographic style to apply for rendering +the databases. You can also change globally the style to apply with the +latex.biblio.style.

The actual style file used by +bibtex is searched in the default paths, but some extra paths +can be added by using the -l option.

mode

Optional print mode. The available values are: +

all

Print all the entries contained in the databases.

cited

Print only the entries cited in the document.

notcited

Print only the entries not cited in the + document.

+

When the attribute is not used, the + latex.biblio.output parameter is used as print mode. By + default the print mode is set to 'all'.

+

Some bibliodivs embedding bibliographic entries can be mixed with some bibliodivs using BibTeX databases, as shown by Example 3.16, “Bibliography using BibTeX databases”.

Example 3.16. Bibliography using BibTeX databases

+<bibliography><title>Bibliography Example</title> 
+  <bibliodiv><title>References</title>
+    <biblioentry>
+      <title>Document Title</title>
+      <author><firstname>J.</firstname><surname>Doe</surname></author>
+      <pubsnumber>DEX000567325</pubsnumber>
+    </biblioentry>
+  </bibliodiv>
+  <bibliodiv><title>Bibtex References</title>
+    <bibliomixed><?bibtex bibfiles="bib/latex-bib" bibstyle="alpha"?></bibliomixed>
+  </bibliodiv>
+  <bibliodiv><title>Cited Bibtex References</title>
+    <bibliomixed><?bibtex bibfiles="bib/database1,bib/database2"
+                          bibstyle="plain"
+                          mode="cited"?></bibliomixed>
+  </bibliodiv>
+</bibliography>
+  

Natbib Citations

You can apply natbib citation styles by playing with the citation role +attribute, or with a dblatex processing instruction. The +natbib use is enabled only when the citation.natbib.use +paramater is set to 1; if not (default) the role attribute or PI are not taken +into account even if present. The natbib package can be loaded with user specific +options by setting the citation.natbib.options +parameter.

When using the role attribute, simply type the natbib citation command to +apply. When using the dblatex PI, put the natbib command in +the citestyle attribute.

If you need to put some square brackets "[ ]" in the citation texts, enclose +the whole text with "{ }" to protect them (as you would do in latex).

Here are some examples:

<para>
+<citation role="\citep[see][chap. #2]">texbook</citation>
+<citation role="\citep[see][{[chap. #2]}]">texbook</citation>
+<citation><?dblatex citestyle="\citep[see][chap. #2]"?>texbook</citation>
+<citation>texbook</citation>
+</para>

You can use a global natib citation style with the +citation.default.style parameter. By default the +parameter is empty, and therefor is not used.

diff --git a/docs/xhtml/manual/ch03s15.html b/docs/xhtml/manual/ch03s15.html new file mode 100644 index 0000000..8fc9ebb --- /dev/null +++ b/docs/xhtml/manual/ch03s15.html @@ -0,0 +1,11 @@ + + +Document Revisions

Document Revisions

+ The attribute revisionflag is usefull to identify the changes between two revisions of a document. This information is managed by dblatex, that adds revision bars in the margin of the paragraphs changed, such like in this paragraph. +

+ Adding the revision flags can be manual, but its is tedious and error prone. The diffmk tool by Norman Walsh can do the work for you. See http://www.sagehill.net/docbookxsl/Changebars.html for more details about how to use it. +

Note

+With old changebar packages the revision bars only appear when using the "dvips" +driver. This limitation has been fixed with changebar greater or equal +to v3.5c. +

diff --git a/docs/xhtml/manual/ch03s16.html b/docs/xhtml/manual/ch03s16.html new file mode 100644 index 0000000..b497899 --- /dev/null +++ b/docs/xhtml/manual/ch03s16.html @@ -0,0 +1,30 @@ + + +Locale Support

Locale Support

Document Encoding

By default the latex document produced by dblatex is +encoded in latin1, that fits well for roman-characters. This said, +a real international support involves some kind of Unicode (UTF8) +support.

In dblatex, the Unicode support is done by two methods that can be selected +by some parameters: + +

  • latex.unicode.use=1 asks for including the +unicode package (initially provided by Passivetex) in order to +handle many of the unicode characters in a latin1 encoded document.

  • latex.encoding=utf8 produces a document +encoded in UTF8, that is compiled in UTF8. It requires to have the +ucs package installed.

+

In some languages like Chinese, Japanese or Korean, the latex document +must be in UTF8. Therefore, the UTF8 encoding is forced for these languages +whatever the parameter values are.

Babel Languages

Dblatex should be able to handle most of the languages supported by the +babel package. Just set the +lang=lang attribute in the root +document element and dblatex will load +the appropriate babel language.

CJK Languages

Dblatex can handle the CJK languages thanks to the CJK package. The CJK +package must be installed to have this support available.

As said in the section called “Document Encoding” the latex file is encoded +in UTF8. Moreover, the Cyberbit fonts are then used.

The install of the CJK package and Cyberbit fonts are well described at: +http://kile.sourceforge.net/Documentation/html/cjk.html. +

Korean Support

Dblatex does not use the HLatex package to drive Korean documents. It does +not use the hmakeindex nor the hbibtex tool. +Currently, Korean is handled like Chinese and Japanese with the CJK package.

Mixing the languages

Dblatex cannot handle correctly a document containing several elements +with different lang values. In particular, if the main +document lang is not one of the CJK language, a portion of text written in CJK +will not be handled correctly and it can result in a compilation crash.

Even if the langs mixed do not end to a compilation failure, only the +main document lang will be taken into account.

diff --git a/docs/xhtml/manual/ch04s04.html b/docs/xhtml/manual/ch04s04.html new file mode 100644 index 0000000..9f0c309 --- /dev/null +++ b/docs/xhtml/manual/ch04s04.html @@ -0,0 +1,118 @@ + + +XSL User Stylesheet

XSL User Stylesheet

You can provide your own XSL stylesheet to set some of the XSL parameters, + and/or to override some of the dblatex XSL templates. The user stylesheet is + specified by using the option + -p custom.xsl.

Changing the XSL parameter values

+ The parameters can be stored in a user defined XSL stylesheet. An example of + configuration stylesheet is given with this manual: +

<?xml version='1.0' encoding="iso-8859-1"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'>
+
+<!-- Target Database set by the command line
+
+<xsl:param name="target.database.document">olinkdb.xml</xsl:param>
+-->
+
+<!-- Use the Bob Stayton's Tip related to olinking -->
+<xsl:param name="current.docid" select="/*/@id"/>
+
+<!-- Use the literal scaling feature -->
+<xsl:param name="literal.extensions">scale.by.width</xsl:param>
+
+<!-- We want the TOC links in the titles, and in blue. -->
+<xsl:param name="latex.hyperparam">colorlinks,linkcolor=blue,pdfstartview=FitH</xsl:param>
+
+<!-- Put the dblatex logo -->
+<xsl:param name="doc.publisher.show">1</xsl:param>
+
+<!-- Show the list of examples too -->
+<xsl:param name="doc.lot.show">figure,table,example</xsl:param>
+
+<!-- DocBook like description -->
+<xsl:param name="term.breakline">1</xsl:param>
+
+<!-- Manpage titles not numbered -->
+<xsl:param name="refentry.numbered">0</xsl:param>
+
+<xsl:template match="parameter">
+  <xsl:variable name="name" select="."/>
+  <xsl:variable name="target" select="key('id',$name)[1]"/>
+
+  <xsl:choose>
+  <xsl:when test="count($target) &gt; 0">
+    <!-- Hot link to the parameter refentry -->
+    <xsl:call-template name="hyperlink.markup">
+      <xsl:with-param name="linkend" select="$name"/>
+      <xsl:with-param name="text">
+        <xsl:apply-imports/>
+      </xsl:with-param>
+    </xsl:call-template>
+    <!-- Index entry for this parameter -->
+    <xsl:text>\index{Parameters!</xsl:text>
+    <xsl:value-of select="$name"/>
+    <xsl:text>}</xsl:text>
+  </xsl:when>
+  <xsl:otherwise>
+    <!--
+    <xsl:message>No reference for parameter: '<xsl:value-of
+    select="$name"/>'</xsl:message>
+    -->
+    <xsl:apply-imports/>
+  </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+
+<xsl:template match="sgmltag[@class='xmlpi']">
+  <xsl:variable name="name" select="normalize-space(.)"/>
+  <xsl:variable name="nameref" select="concat('pi-',translate($name,' ','_'))"/>
+  <xsl:variable name="target" select="key('id',$nameref)[1]"/>
+
+  <xsl:choose>
+  <xsl:when test="count($target) &gt; 0">
+    <!-- Hot link to the parameter refentry -->
+    <xsl:call-template name="hyperlink.markup">
+      <xsl:with-param name="linkend" select="$nameref"/>
+      <xsl:with-param name="text">
+        <xsl:apply-imports/>
+      </xsl:with-param>
+    </xsl:call-template>
+    <!-- Index entry for this parameter -->
+    <xsl:text>\index{Processing Instructions!</xsl:text>
+    <xsl:value-of select="$name"/>
+    <xsl:text>}</xsl:text>
+  </xsl:when>
+  <xsl:otherwise>
+    <!--
+    <xsl:message>No reference for parameter: '<xsl:value-of
+    select="$name"/>'</xsl:message>
+    -->
+    <xsl:apply-imports/>
+  </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+
+</xsl:stylesheet>
+

Overriding some templates

+ You can directly put the overriding templates in your XSL stylesheet, but do not + try to import the default dblatex stylesheets in it: it is automatically done by + the tool. So, just focus on the template to override and dblatex will ensure + that your definitions will get precedence over the dblatex ones. +

+ You can of course split your templates in several files, and import each of + them in the main user stylesheet by calling xsl:import. +

Example 4.2. Overriding templates

+<?xml version='1.0' encoding="iso-8859-1"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'>
+ 
+<!-- Let's import our own XSL to override the default behaviour. -->
+<xsl:import href="mystyle.xsl"/>
+
+<!-- Let's patch directly a template here -->
+<xsl:template match="article" mode="docinfo">
+  <xsl:apply-imports/>
+  <xsl:text>\let\mymacro=\DBKrelease</xsl:text>
+</xsl:template>
+
+</xsl:stylesheet>
+  

diff --git a/docs/xhtml/manual/ch04s08.html b/docs/xhtml/manual/ch04s08.html new file mode 100644 index 0000000..9d13544 --- /dev/null +++ b/docs/xhtml/manual/ch04s08.html @@ -0,0 +1,37 @@ + + +Customization Precedence

Customization Precedence

+ All the customization queries are translated to the corresponding command line options. Thus, using several customization methods can be unconsistent because each of them override the same option with another value. +

+ For instance, you can specify the use of a specification file in which it is said to use a latex style (parameter TexStyle) and explicitely use the --texstyle command line option. So, what is the behaviour? +

+ The options order is the following: +

  • + If a specification file is used (-S option), the options are set to the specification file parameters. +

  • + If several specification files are used (-S option), the + precedence is given to the last specified files. +

  • + The options explicitely passed override the specification file setting, whatever is the position of the options (i.e. before or after the -S option). +

  • + If an option is passed several times, this is the last occurence that is used. +

Example 4.6. Customization Precedence

+ Let's consider the specification file containing the following parameters: +

<?xml version="1.0" ?>
+<config xmlns="http://dblatex.sourceforge.net/config">
+  <xslt><stylesheet fileref="file3.xsl"/></xslt>
+  <options>-b pdftex</options>
+  <latex><texstyle use="mystyle1"/></latex>
+</config>

+ And now the command line: +

+dblatex -b dvips -p file1.xsl -p file2.xsl -S file.specs -s mystyle2 mydoc.xml
+  

+ The setting used is the following: +

  • + “-b dvips” overrides “-b pdftex” set by the spec file. +

  • + “-p file2.xsl” overrides “-p file1.xsl” since it is defined after, and overrides “file3.xsl” set by the spec file. +

  • + “-s mystyle2” override “mystyle1” set by the spec file. +


diff --git a/docs/xhtml/manual/ch05.html b/docs/xhtml/manual/ch05.html new file mode 100644 index 0000000..6b1c2c5 --- /dev/null +++ b/docs/xhtml/manual/ch05.html @@ -0,0 +1,34 @@ + + +Chapter 5. FAQ

Chapter 5. FAQ

The purpose of this mini FAQ is to give some tips about how customizing or +tweaking the PDF output.

My images are too big. What can I do?

When an image is included via imagedata with no +scaling attributes (e.g, width, height, contentwidth) it is its +natural size that is used.

One can change individually the size of an imagedata +by defining its attributes (see [TDG] for more details). One can +also use the parameter imagedata.default.scale to apply a +systematic scaling rule on every image that has no explicit attribute. +

The parameter imagedata.default.scale can take:

  • The default predefined value "pagebound": the image natural size is used, +up to the page boundaries. That is, if an image natural width is greater than the +page width its size is proportionally reduced +so that it is contained in the page. The same control is done for height.

  • Any combination of valid \includegraphics options. For example +

    imagedata.default.scale=scale=40%

    The scale 40% is applied on the images.

    imagedata.default.scale=width=40%,height=3in

    This example is weird but shows that several options can be used. In this +case the image width is 40% of the page width, and the height is fixed to 3 +inches. The risk to have an anamorphous result is very high here.

How can I have the PDF fit to height by default?

The behaviour of the PDF file when opened by a reader like Acrobat Reader +can be customized with the parameter latex.hyperparam. See the section called “Description” for +more details about this parameter. +

To answer precisely to the question, set the parameter with the option +"pdfstartview=FitV".

How can I have all the PDF hyperlinks in blue color?

Same answer than for the previous question.

For this particular case, set the parameter with the options +"linktocpage,colorlinks,linkcolor=blue,citecolor=blue,urlcolor=blue".

How can I remove that stupid float rules?

If you wonder about this, you propably use the db2latex style. To remove +the rules, you need to patch the db2latex.sty. You can:

  • Simply remove the floatstyle definition for the floats for which you don't want +the rules.

  • Explicitely use the plain floatstyle. Note that using this explicit style +does not allow to change the float title position anymore. The plain style +always put the title at the bottom of the float.

My long tables don't split in several pages. Why?

A formal table (table element) is put in a float, so +that it can have a numbered caption and placed by tex at the best place. The +limitation is that a float cannot split over several pages.

For long tables that need to split, use informaltable +instead.

I cannot put a table in an example.

A formal table (table element) is put in a float, and +cannot be put in another float like an example. You can use an informaltable instead.

I cannot compile my cyrillic document. Why?

A document using some characters different from the roman alphabet may face some troubles, because latex natively handles only latin1 encoding.

Try the different unicode supports provided by dblatex: + +

  • Use the XeTeX backend, a new tex engine that natively supports Unicode +characters: dblatex -b xetex file.xml.

  • Ask for using the latex unicode support by setting the latex.encoding=utf8 parameter: dblatex -P latex.encoding=utf8 file.xml.

  • Use the Passivetex extensions by setting the latex.unicode.use=1 parameter: dblatex -P latex.unicode.use=1 file.xml.

+ +

See the section called “Document Encoding” for more details.

diff --git a/docs/xhtml/manual/ch06s02.html b/docs/xhtml/manual/ch06s02.html new file mode 100644 index 0000000..d1d6168 --- /dev/null +++ b/docs/xhtml/manual/ch06s02.html @@ -0,0 +1,6 @@ + + +Contributors

Contributors

Thanks to Andreas Hoenen who packages and maintains dblatex for Debian, +provides patches and so on.

Thanks also to other contributors: David Hedley (newtbl +implementor), and Nicolas Pernetty +(Windows port).

diff --git a/docs/xhtml/manual/ch06s03.html b/docs/xhtml/manual/ch06s03.html new file mode 100644 index 0000000..2dccc2f --- /dev/null +++ b/docs/xhtml/manual/ch06s03.html @@ -0,0 +1,9 @@ + + +Pioners

Pioners

Thanks to the people who contributed to the project at its early age: +Jean-Yves Le Ruyet, precursory and hard-working user, Julien Ducourthial for +his precious help, Vincent Hottier who asked for the embedded LaTeX equations +support.

Special thanks to the KDE documentation team (especially Philip +Rodrigues), Michael Smith (from the DocBook Project), and Kai Brommann, for +their feedbacks, encouragements, and advice. They were the first people who +believed in this project and boosted dblatex.

diff --git a/docs/xhtml/manual/citation.default.style.html b/docs/xhtml/manual/citation.default.style.html new file mode 100644 index 0000000..fb89077 --- /dev/null +++ b/docs/xhtml/manual/citation.default.style.html @@ -0,0 +1,4 @@ + + +citation.default.style

citation.default.style

citation.default.style — Default natbib citation style to apply

Synopsis

<xsl:param name="citation.default.style"/>
+

Description

Default natbib citation style to apply when natbib is used.

diff --git a/docs/xhtml/manual/citation.natbib.options.html b/docs/xhtml/manual/citation.natbib.options.html new file mode 100644 index 0000000..187a226 --- /dev/null +++ b/docs/xhtml/manual/citation.natbib.options.html @@ -0,0 +1,6 @@ + + +citation.natbib.options

citation.natbib.options

citation.natbib.options — Specifies the natbib package options

Synopsis

+      <xsl:param name="citation.natbib.options"/>
+
+    

Description

Options to pass to the natbib package when it is loaded. See also the section called “Natbib Citations”.

diff --git a/docs/xhtml/manual/citation.natbib.use.html b/docs/xhtml/manual/citation.natbib.use.html new file mode 100644 index 0000000..f072d2e --- /dev/null +++ b/docs/xhtml/manual/citation.natbib.use.html @@ -0,0 +1,6 @@ + + +citation.natbib.use

citation.natbib.use

citation.natbib.use — Use natbib to display citations

Synopsis

+      <xsl:param name="citation.natbib.use" select="'0'"/>
+

Description

Load the natbib package, and allows the use of natbib citation styles. +The package is loaded if the parameter is set to 1. See the section called “Natbib Citations”.

diff --git a/docs/xhtml/manual/cjk.font.html b/docs/xhtml/manual/cjk.font.html new file mode 100644 index 0000000..76f2baa --- /dev/null +++ b/docs/xhtml/manual/cjk.font.html @@ -0,0 +1,6 @@ + + +cjk.font

cjk.font

cjk.font — Fonts to use in CJK environments

Synopsis

+      <xsl:param name="cjk.font">cyberbit</xsl:param>
+

Description

Fonts to use in CJK environments (i.e. for Chinese, Japanese or Korean +documents handled by the CJK package).

diff --git a/docs/xhtml/manual/co.linkends.show.html b/docs/xhtml/manual/co.linkends.show.html new file mode 100644 index 0000000..724501d --- /dev/null +++ b/docs/xhtml/manual/co.linkends.show.html @@ -0,0 +1,8 @@ + + +co.linkends.show

co.linkends.show

co.linkends.show — Show the references to calloutlist items next to the markup

Synopsis

+      <xsl:param name="co.linkends.show" select="'1'"/>
+
+    

Description

Next to a callout markup the links to the corresponding calloutlist +items are shown when the parameter is set to 1. Set to 0 the links are not +shown.

diff --git a/docs/xhtml/manual/colophon.tocdepth.html b/docs/xhtml/manual/colophon.tocdepth.html new file mode 100644 index 0000000..9627027 --- /dev/null +++ b/docs/xhtml/manual/colophon.tocdepth.html @@ -0,0 +1,7 @@ + + +colophon.tocdepth

colophon.tocdepth

colophon.tocdepth — How colophon section and subsections appear in TOC

Synopsis

+      <xsl:param name="colophon.tocdepth">0</xsl:param>
+
+    

Description

Same than preface.tocdepth for colophon +sections.

diff --git a/docs/xhtml/manual/crop.marks.html b/docs/xhtml/manual/crop.marks.html new file mode 100644 index 0000000..5f63358 --- /dev/null +++ b/docs/xhtml/manual/crop.marks.html @@ -0,0 +1,6 @@ + + +crop.marks

crop.marks

crop.marks — Output crop marks?

Synopsis

+    <xsl:param name="crop.marks" select="0"/>
+

Description

If non-zero, crop marks will be added to each page. Crop marks are +produced with the latex crop package.

diff --git a/docs/xhtml/manual/crop.mode.html b/docs/xhtml/manual/crop.mode.html new file mode 100644 index 0000000..1aa0a0e --- /dev/null +++ b/docs/xhtml/manual/crop.mode.html @@ -0,0 +1,6 @@ + + +crop.mode

crop.mode

crop.mode — How to display crops

Synopsis

+      <xsl:param name="crop.mode" select="'cam'"/>
+

Description

Mode to pass to the crop package defining the form of the crops to + display when crop.marks is not set to zero.

The allowed values are detailed in the crop package manual.

diff --git a/docs/xhtml/manual/crop.options.html b/docs/xhtml/manual/crop.options.html new file mode 100644 index 0000000..d1957ad --- /dev/null +++ b/docs/xhtml/manual/crop.options.html @@ -0,0 +1,6 @@ + + +crop.options

crop.options

crop.options — Raw options passed to the crop package

Synopsis

+      <xsl:param name="crop.options"/>
+

Description

Options directly passed to the crop package when crop marks are asked + with the crop.marks set to non-zero.

diff --git a/docs/xhtml/manual/crop.page.height.html b/docs/xhtml/manual/crop.page.height.html new file mode 100644 index 0000000..75fe2da --- /dev/null +++ b/docs/xhtml/manual/crop.page.height.html @@ -0,0 +1,9 @@ + + +crop.page.height

crop.page.height

crop.page.height — The height of the physical crop page

Synopsis

+    <xsl:param name="crop.page.height"/>
+

Description

The crop page height is generally calculated from the +crop.paper.type parameter. +

The parameter is used only if +crop.marks parameter is not set to zero.

Note

The usefull page is always centered in the crop page, and there is +no parameter to change this behaviour.

diff --git a/docs/xhtml/manual/crop.page.width.html b/docs/xhtml/manual/crop.page.width.html new file mode 100644 index 0000000..a27ef76 --- /dev/null +++ b/docs/xhtml/manual/crop.page.width.html @@ -0,0 +1,9 @@ + + +crop.page.width

crop.page.width

crop.page.width — The width of the physical crop page

Synopsis

+    <xsl:param name="crop.page.width"/>
+
+  

Description

The crop page width does not need to be specified when +crop.paper.type is set.

The parameter is used only if +crop.marks parameter is not set to zero.

Note

The usefull page is always centered in the crop page, and there is +no parameter to change this behaviour.

diff --git a/docs/xhtml/manual/crop.paper.type.html b/docs/xhtml/manual/crop.paper.type.html new file mode 100644 index 0000000..632aea5 --- /dev/null +++ b/docs/xhtml/manual/crop.paper.type.html @@ -0,0 +1,13 @@ + + +crop.paper.type

crop.paper.type

crop.paper.type — Select the paper type for paper with crops

Synopsis

+    <xsl:param name="crop.paper.type"/>
+

Description

The paper type is a convenient way to specify the paper size. +The list of known paper sizes includes USletter and most of the A, +B, and C sizes.

This parameter gives the paper type of the physical page containing +crops and the usefull page. The crop paper type is valid only if the overall +size actually +contains the usefull page whose sizes are defined with the page layout +parameters.

The crop paper type is used only if +crop.marks parameter is not set to zero.

Note

The usefull page is always centered in the crop page, and there is +no parameter to change this behaviour.

diff --git a/docs/xhtml/manual/dedication.tocdepth.html b/docs/xhtml/manual/dedication.tocdepth.html new file mode 100644 index 0000000..9dd8202 --- /dev/null +++ b/docs/xhtml/manual/dedication.tocdepth.html @@ -0,0 +1,7 @@ + + +dedication.tocdepth

dedication.tocdepth

dedication.tocdepth — How dedication section and subsections appear in TOC

Synopsis

+      <xsl:param name="dedication.tocdepth">0</xsl:param>
+
+    

Description

Same than preface.tocdepth for dedication +sections.

diff --git a/docs/xhtml/manual/default.table.rules.html b/docs/xhtml/manual/default.table.rules.html new file mode 100644 index 0000000..51e0237 --- /dev/null +++ b/docs/xhtml/manual/default.table.rules.html @@ -0,0 +1,18 @@ + + +default.table.rules

default.table.rules

default.table.rules — The default column and row rules for tables using HTML markup

Synopsis

+      <xsl:param name="default.table.rules">none</xsl:param>
+

Description

Tables using HTML markup elements can use an attribute +named rules on the table or +informaltable element +to specify whether column and row border rules should be +displayed. This parameter lets you specify a global default +style for all HTML tables that don't otherwise have +that attribute.

These are the supported values:

all

Rules will appear between all rows and columns.

rows

Rules will appear between rows only.

cols

Rules will appear between columns only.

groups

Rules will appear between row groups (thead, tfoot, tbody). +No support for rules between column groups yet. +

none

No rules. This is the default value. +

The border after the last row and the border after +the last column are not affected by +this setting. Those borders are controlled by +the frame attribute on the table element. +

diff --git a/docs/xhtml/manual/default.table.width.html b/docs/xhtml/manual/default.table.width.html new file mode 100644 index 0000000..77a3456 --- /dev/null +++ b/docs/xhtml/manual/default.table.width.html @@ -0,0 +1,10 @@ + + +default.table.width

default.table.width

default.table.width — The default width of tables

Synopsis

+      <xsl:param name="default.table.width"/>
+

Description

If non-empty, this value controls table width. It is used for the +width attribute on tables that do not specify an +alternate width (with the +<?dblatex table-width?> processing instruction, or with +the newtbl.autowidth parameter).

The parameter takes one of the following values:

  • A valid length (e.g. 15cm),

  • A percentage of the page width (e.g. 75%),

  • A keyword telling to apply an automatic column width (e.g. +autowidth.all).

diff --git a/docs/xhtml/manual/doc.alignment.html b/docs/xhtml/manual/doc.alignment.html new file mode 100644 index 0000000..70869eb --- /dev/null +++ b/docs/xhtml/manual/doc.alignment.html @@ -0,0 +1,8 @@ + + +doc.alignment

doc.alignment

doc.alignment — Specifies the text alignement of the document

Synopsis

+      <xsl:param name="doc.alignment"/>
+
+    

Description

Defines the text alignment for the whole document. The valid values +are: "left", "center", "right", "justify". An empty string is equivalent to +"justify".

diff --git a/docs/xhtml/manual/doc.collab.show.html b/docs/xhtml/manual/doc.collab.show.html new file mode 100644 index 0000000..d3e9c9d --- /dev/null +++ b/docs/xhtml/manual/doc.collab.show.html @@ -0,0 +1,6 @@ + + +doc.collab.show

doc.collab.show

doc.collab.show — Print the document collaborators (authors, etc.) in a table

Synopsis

+      <xsl:param name="doc.collab.show">1</xsl:param>
+

Description

Show the collaborators (authors, contributors) defined in the document +information block.

diff --git a/docs/xhtml/manual/doc.layout.html b/docs/xhtml/manual/doc.layout.html new file mode 100644 index 0000000..978c878 --- /dev/null +++ b/docs/xhtml/manual/doc.layout.html @@ -0,0 +1,11 @@ + + +doc.layout

doc.layout

doc.layout — Specifies the overall document layout.

Synopsis

+      <xsl:param name="doc.layout">coverpage toc frontmatter mainmatter index </xsl:param>
+

Description

The parameter configures the overall document layout, i.e. it + specifies if the document must contain a coverpage, some TOC/LOTs, + a frontmatter + layout (for metadata/preface/dedication rendering), an index section, + etc.

See also the doc.lot.show and + doc.toc.show parameters to specify the + content of the TOC/LOTs.

diff --git a/docs/xhtml/manual/doc.lot.show.html b/docs/xhtml/manual/doc.lot.show.html new file mode 100644 index 0000000..5befde4 --- /dev/null +++ b/docs/xhtml/manual/doc.lot.show.html @@ -0,0 +1,9 @@ + + +doc.lot.show

doc.lot.show

doc.lot.show — Specifies the Lists of Titles to display

Synopsis

+      <xsl:param name="doc.lot.show">figure,table</xsl:param>
+
+    

Description

Specifies which Lists of Titles should be printed after the Table of +Content. The value is a comma separated list of the LoTs to show. The +supported LoTs are "figure", "table", "equation", and "example". The list +order represents the LoTs order in the output document.

diff --git a/docs/xhtml/manual/doc.pdfcreator.show.html b/docs/xhtml/manual/doc.pdfcreator.show.html new file mode 100644 index 0000000..7a480ad --- /dev/null +++ b/docs/xhtml/manual/doc.pdfcreator.show.html @@ -0,0 +1,7 @@ + + +doc.pdfcreator.show

doc.pdfcreator.show

doc.pdfcreator.show — Set the PDF metadata Creator field

Synopsis

+      <xsl:param name="doc.pdfcreator.show">1</xsl:param>
+

Description

Fill the Creator field of the PDF document information section with +"DBLaTeX-<version>" if the parameter is set to 1. Set to 0 this field is +keep untouched.

diff --git a/docs/xhtml/manual/doc.publisher.show.html b/docs/xhtml/manual/doc.publisher.show.html new file mode 100644 index 0000000..e174918 --- /dev/null +++ b/docs/xhtml/manual/doc.publisher.show.html @@ -0,0 +1,7 @@ + + +doc.publisher.show

doc.publisher.show

doc.publisher.show — Print the dblatex logo on the cover page?

Synopsis

+      <xsl:param name="doc.publisher.show">0</xsl:param>
+
+    

Description

Print the dblatex logo on the cover page for the native docbook style +if the parameter is set to 1.

diff --git a/docs/xhtml/manual/doc.section.depth.html b/docs/xhtml/manual/doc.section.depth.html new file mode 100644 index 0000000..eb4f53b --- /dev/null +++ b/docs/xhtml/manual/doc.section.depth.html @@ -0,0 +1,6 @@ + + +doc.section.depth

doc.section.depth

doc.section.depth — Depth of the section numbering

Synopsis

+      <xsl:param name="doc.section.depth">5</xsl:param>
+

Description

Depth of the section numbering. Used to set the latex +secnumdepth counter.

diff --git a/docs/xhtml/manual/doc.toc.show.html b/docs/xhtml/manual/doc.toc.show.html new file mode 100644 index 0000000..e5be361 --- /dev/null +++ b/docs/xhtml/manual/doc.toc.show.html @@ -0,0 +1,5 @@ + + +doc.toc.show

doc.toc.show

doc.toc.show — Print the Table Of Contents

Synopsis

+      <xsl:param name="doc.toc.show">1</xsl:param>
+

Description

Print the table of contents when set to 1.

diff --git a/docs/xhtml/manual/draft.mode.html b/docs/xhtml/manual/draft.mode.html new file mode 100644 index 0000000..ed07d76 --- /dev/null +++ b/docs/xhtml/manual/draft.mode.html @@ -0,0 +1,10 @@ + + +draft.mode

draft.mode

draft.mode — Select draft mode

Synopsis

+      <xsl:param name="draft.mode">maybe</xsl:param>
+

Description

Print releaseinfo in a framed box in the header, +when the parameter is set to 'yes'. The releaseinfo is +ignored if the parameter is set to 'no', or if the releaseinfo content is +empty. When the parameter is set to 'maybe', the draft mode is deduced from +the status attribute of the root element if set to +'draft'.

diff --git a/docs/xhtml/manual/draft.watermark.html b/docs/xhtml/manual/draft.watermark.html new file mode 100644 index 0000000..b0ead96 --- /dev/null +++ b/docs/xhtml/manual/draft.watermark.html @@ -0,0 +1,6 @@ + + +draft.watermark

draft.watermark

draft.watermark — Print a Watermak on each page in draft mode?

Synopsis

+      <xsl:param name="draft.watermark">1</xsl:param>
+

Description

Print the draft text (that is, "DRAFT") as a watermark on each page, if +the document is in draft mode and if the parameter is set to '1'.

diff --git a/docs/xhtml/manual/endnotes.heading.command.html b/docs/xhtml/manual/endnotes.heading.command.html new file mode 100644 index 0000000..5eb2569 --- /dev/null +++ b/docs/xhtml/manual/endnotes.heading.command.html @@ -0,0 +1,10 @@ + + +endnotes.heading.command

endnotes.heading.command

endnotes.heading.command — LaTeX command of the endnotes headings

Synopsis

+      <xsl:param name="endnotes.heading.command"/>
+

Description

With this parameter you can provide your own latex macro to make the + endnotes headings. If not set, dblatex uses the default + sectionning commands like \section*, + \subsection*, and so on. The command takes one + parameter that is the title markup of the heading. + For more details see the section called “Grouping Endnotes”.

See Also

endnotes.heading.groups

endnotes.heading.command

diff --git a/docs/xhtml/manual/endnotes.heading.groups.html b/docs/xhtml/manual/endnotes.heading.groups.html new file mode 100644 index 0000000..1bd04aa --- /dev/null +++ b/docs/xhtml/manual/endnotes.heading.groups.html @@ -0,0 +1,10 @@ + + +endnotes.heading.groups

endnotes.heading.groups

endnotes.heading.groups — Display the endnotes by groups

Synopsis

+      <xsl:param name="endnotes.heading.groups"/>
+

Description

In the endnote section, the notes are grouped according to the level + defined by the elements listed in this parameter. Each group has a heading + that references the element that contains these notes. + By default, dblatex can group per chapter or per + part. For more details + see the section called “Grouping Endnotes”.

See Also

endnotes.heading.style

endnotes.heading.command

diff --git a/docs/xhtml/manual/endnotes.heading.style.html b/docs/xhtml/manual/endnotes.heading.style.html new file mode 100644 index 0000000..812cc58 --- /dev/null +++ b/docs/xhtml/manual/endnotes.heading.style.html @@ -0,0 +1,8 @@ + + +endnotes.heading.style

endnotes.heading.style

endnotes.heading.style — Style of the heading of endnotes groups

Synopsis

+      <xsl:param name="endnotes.heading.style" select="'select:title'"/>
+

Description

This parameter is provided to format the heading of an endnote group. + It uses the xrefstyle syntax, and therefore one can + specify directly a template, or select some keywords to substitute. + For more details see the section called “Grouping Endnotes”.

See Also

endnotes.heading.groups

endnotes.heading.command

diff --git a/docs/xhtml/manual/endnotes.properties.html b/docs/xhtml/manual/endnotes.properties.html new file mode 100644 index 0000000..696a641 --- /dev/null +++ b/docs/xhtml/manual/endnotes.properties.html @@ -0,0 +1,26 @@ + + +endnotes.properties

endnotes.properties

endnotes.properties — Properties of the latex package endnotes setup

Synopsis

<xsl:attribute-set name="endnotes.properties.default">
+  <xsl:attribute name="package">endnotes</xsl:attribute>
+
+  <!-- No header: endnotes are embedded in another section -->
+  <xsl:attribute name="heading">\mbox{}\par</xsl:attribute>
+
+  <!-- Show end notes as a numbered list -->
+  <xsl:attribute name="font-size">\normalsize</xsl:attribute>
+  <xsl:attribute name="note-format">%
+  \leftskip=1.8em\noindent
+  \makebox[0pt][r]{\theenmark.~~\rule{0pt}{\baselineskip}}\ignorespaces
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="endnotes.properties"
+                   use-attribute-sets="endnotes.properties.default"/>
+

Description

These properties are used to configure the endnotes +package when the foonotes are printed as endnotes. +Each attribute defines the content of the setup macros of the package. +The user should always override the attributes of +endnotes.properties and leave +endnotes.properties.default untouched. +See the section called “End Notes” for +more details.

See Also

footnote.as.endnote

diff --git a/docs/xhtml/manual/equation.default.position.html b/docs/xhtml/manual/equation.default.position.html new file mode 100644 index 0000000..50dc738 --- /dev/null +++ b/docs/xhtml/manual/equation.default.position.html @@ -0,0 +1,7 @@ + + +equation.default.position

equation.default.position

equation.default.position — Default equation float placement to apply

Synopsis

+      <xsl:param name="equation.default.position">[H]</xsl:param>
+

Description

Default equation float placement algorithm to apply. See +figure.default.position for more details about how to use latex float +specifications.

diff --git a/docs/xhtml/manual/example.default.position.html b/docs/xhtml/manual/example.default.position.html new file mode 100644 index 0000000..d996506 --- /dev/null +++ b/docs/xhtml/manual/example.default.position.html @@ -0,0 +1,8 @@ + + +example.default.position

example.default.position

example.default.position — Default example float placement to apply

Synopsis

+      <xsl:param name="example.default.position">[H]</xsl:param>
+
+    

Description

Default example float placement algorithm to apply. See +figure.default.position for more details about how to use latex float +specifications.

diff --git a/docs/xhtml/manual/example.float.type.html b/docs/xhtml/manual/example.float.type.html new file mode 100644 index 0000000..c366f30 --- /dev/null +++ b/docs/xhtml/manual/example.float.type.html @@ -0,0 +1,8 @@ + + +example.float.type

example.float.type

example.float.type — Select the type of float for example elements

Synopsis

+      <xsl:param name="example.float.type">none</xsl:param>
+

Description

Selects the type of float for example elements. + +

  • If example.float.type is “none”, then no float is used. It may be usefull when the example must be displayed exactly where it is defined or when it must cover several pages.

  • If example.float.type is "float”, then the float environment is used. The actual float placement is computed by latex according to the floatstyle attribute if specified, or according to the example.default.position parameter.

+

See Also

example.default.position.

figure.default.position.

diff --git a/docs/xhtml/manual/figure.anchor.top.html b/docs/xhtml/manual/figure.anchor.top.html new file mode 100644 index 0000000..a3f7a7c --- /dev/null +++ b/docs/xhtml/manual/figure.anchor.top.html @@ -0,0 +1,12 @@ + + +figure.anchor.top

figure.anchor.top

figure.anchor.top — Cross reference anchor on top of the figure float

Synopsis

+      <xsl:param name="figure.anchor.top" select="$figure.title.top"/>
+
+    

Description

By default the anchor of a formal figure is where the figure title + appears. It means that a link to the figure points after the + image when the title is below the image, and at the top of the image when + the title is on the top. + This parameter allows to put the anchor at the top of the image even if the + title is below the figure.

Note that it is not possible to have the anchor below the image + if the title is on the top.

See Also

figure.title.top

diff --git a/docs/xhtml/manual/figure.caution.html b/docs/xhtml/manual/figure.caution.html new file mode 100644 index 0000000..c008ac5 --- /dev/null +++ b/docs/xhtml/manual/figure.caution.html @@ -0,0 +1,7 @@ + + +figure.caution

figure.caution

figure.caution — Figure to use to render a caution block.

Synopsis

+      <xsl:param name="figure.caution">warning</xsl:param>
+

Description

Figure to use to render a caution block. This +parameter is added to allow new latex styles to use their own figures in +admonitions.

diff --git a/docs/xhtml/manual/figure.default.position.html b/docs/xhtml/manual/figure.default.position.html new file mode 100644 index 0000000..11dc333 --- /dev/null +++ b/docs/xhtml/manual/figure.default.position.html @@ -0,0 +1,9 @@ + + +figure.default.position

figure.default.position

figure.default.position — Figure float placement policy

Synopsis

+      <xsl:param name="figure.default.position">[htbp]</xsl:param>
+
+    

Description

Default figure float placement algorithm to apply. The default +parameter value is [htbp] meaning that latex tries to place the figure where +it occurs first (h, here), then at the top of the page (t), at the bottom of +the page (b), and finally on the next page (p).

diff --git a/docs/xhtml/manual/figure.important.html b/docs/xhtml/manual/figure.important.html new file mode 100644 index 0000000..bdfe844 --- /dev/null +++ b/docs/xhtml/manual/figure.important.html @@ -0,0 +1,7 @@ + + +figure.important

figure.important

figure.important — Figure to use to render a important block

Synopsis

+      <xsl:param name="figure.important">warning</xsl:param>
+

Description

Figure to use to render a important block. This +parameter is added to allow new latex styles to use their own figures in +admonitions.

diff --git a/docs/xhtml/manual/figure.note.html b/docs/xhtml/manual/figure.note.html new file mode 100644 index 0000000..01464a2 --- /dev/null +++ b/docs/xhtml/manual/figure.note.html @@ -0,0 +1,7 @@ + + +figure.note

figure.note

figure.note — Figure to use to render a note block

Synopsis

+      <xsl:param name="figure.note"/>
+

Description

Figure to use to render a note block. This parameter +is added to allow new latex styles to use their own figures in +admonitions.

diff --git a/docs/xhtml/manual/figure.tip.html b/docs/xhtml/manual/figure.tip.html new file mode 100644 index 0000000..a9f52ab --- /dev/null +++ b/docs/xhtml/manual/figure.tip.html @@ -0,0 +1,7 @@ + + +figure.tip

figure.tip

figure.tip — Figure to use to render a tip block

Synopsis

+      <xsl:param name="figure.tip"/>
+

Description

Figure to use to render a tip block. This parameter +is added to allow new latex styles to use their own figures in +admonitions.

diff --git a/docs/xhtml/manual/figure.title.top.html b/docs/xhtml/manual/figure.title.top.html new file mode 100644 index 0000000..7060973 --- /dev/null +++ b/docs/xhtml/manual/figure.title.top.html @@ -0,0 +1,7 @@ + + +figure.title.top

figure.title.top

figure.title.top — Title on top of the figure float

Synopsis

+      <xsl:param name="figure.title.top">0</xsl:param>
+
+    

Description

Set to 1 the figure float title position is above +the image. Set to 0 the title is under the image.

diff --git a/docs/xhtml/manual/figure.warning.html b/docs/xhtml/manual/figure.warning.html new file mode 100644 index 0000000..e3ccb6e --- /dev/null +++ b/docs/xhtml/manual/figure.warning.html @@ -0,0 +1,8 @@ + + +figure.warning

figure.warning

figure.warning — Figure to use to render a warning + block

Synopsis

+      <xsl:param name="figure.warning">warning</xsl:param>
+

Description

Figure to use to render a warning block. This +parameter is added to allow new latex styles to use their own figures in +admonitions.

diff --git a/docs/xhtml/manual/figures/eq1.png b/docs/xhtml/manual/figures/eq1.png new file mode 100644 index 0000000..4765294 Binary files /dev/null and b/docs/xhtml/manual/figures/eq1.png differ diff --git a/docs/xhtml/manual/figures/eq4.png b/docs/xhtml/manual/figures/eq4.png new file mode 100644 index 0000000..228f52d Binary files /dev/null and b/docs/xhtml/manual/figures/eq4.png differ diff --git a/docs/xhtml/manual/filename.as.url.html b/docs/xhtml/manual/filename.as.url.html new file mode 100644 index 0000000..459f2ab --- /dev/null +++ b/docs/xhtml/manual/filename.as.url.html @@ -0,0 +1,7 @@ + + +filename.as.url

filename.as.url

filename.as.url — Hyphenate a filename like if is was an URL

Synopsis

+      <xsl:param name="filename.as.url">1</xsl:param>
+

Description

Set to 1 the filenames are handled as URLs, with the +same hyphenation rules. Set to 0 the filename hyphenation +is forced for each character.

diff --git a/docs/xhtml/manual/footnote.as.endnote.html b/docs/xhtml/manual/footnote.as.endnote.html new file mode 100644 index 0000000..f661774 --- /dev/null +++ b/docs/xhtml/manual/footnote.as.endnote.html @@ -0,0 +1,7 @@ + + +footnote.as.endnote

footnote.as.endnote

footnote.as.endnote — Use footnotes as endnotes

Synopsis

+      <xsl:param name="footnote.as.endnote" select="0"/>
+

Description

When set to 1, the footnotes are displayed as endnotes, that is, all the +notes appear in a section at the end of the document. See the section called “End Notes” for +more details.

See Also

endnotes.properties

diff --git a/docs/xhtml/manual/froglogic-logo.png b/docs/xhtml/manual/froglogic-logo.png new file mode 100644 index 0000000..0c914f7 Binary files /dev/null and b/docs/xhtml/manual/froglogic-logo.png differ diff --git a/docs/xhtml/manual/funcsynopsis.decoration.html b/docs/xhtml/manual/funcsynopsis.decoration.html new file mode 100644 index 0000000..1369008 --- /dev/null +++ b/docs/xhtml/manual/funcsynopsis.decoration.html @@ -0,0 +1,8 @@ + + +funcsynopsis.decoration

funcsynopsis.decoration

funcsynopsis.decoration — Decorate elements of a funcsynopsis?

Synopsis

+      <xsl:param name="funcsynopsis.decoration" select="1"/>
+

Description

If non-zero, elements of the funcsynopsis will be +decorated (e.g. rendered as bold or italic text). The decoration is controlled by +templates that can be redefined in a customization layer. +

This parameter is taken from the DocBook Project XSL parameters.

diff --git a/docs/xhtml/manual/funcsynopsis.style.html b/docs/xhtml/manual/funcsynopsis.style.html new file mode 100644 index 0000000..22882b2 --- /dev/null +++ b/docs/xhtml/manual/funcsynopsis.style.html @@ -0,0 +1,9 @@ + + +funcsynopsis.style

funcsynopsis.style

funcsynopsis.style — What style of funcsynopsis should be generated?

Synopsis

+      <xsl:param name="funcsynopsis.style">ansi</xsl:param>
+

Description

If funcsynopsis.style is ansi, +ANSI-style function synopses are generated for a +funcsynopsis, otherwise K&R-style +function synopses are generated. +

This parameter is taken from the DocBook Project XSL parameters.

diff --git a/docs/xhtml/manual/function.parens.html b/docs/xhtml/manual/function.parens.html new file mode 100644 index 0000000..9f3a743 --- /dev/null +++ b/docs/xhtml/manual/function.parens.html @@ -0,0 +1,7 @@ + + +function.parens

function.parens

function.parens — Generate parens after a function?

Synopsis

+      <xsl:param name="function.parens">0</xsl:param>
+

Description

If non-zero, the formatting of a function element +will include generated parentheses. +

This parameter is taken from the DocBook Project XSL parameters.

diff --git a/docs/xhtml/manual/geometry.options.html b/docs/xhtml/manual/geometry.options.html new file mode 100644 index 0000000..bd2647b --- /dev/null +++ b/docs/xhtml/manual/geometry.options.html @@ -0,0 +1,18 @@ + + +geometry.options

geometry.options

geometry.options — Raw options to pass to the geometry package

Synopsis

+      <xsl:param name="geometry.options"/>
+

Description

The content of this parameter is directly passed as options to the + latex geometry package, when the page layout setup is customized by the + user. Page layout customization is done through setting one or more of the + pagination parameters (see below). If + geometry.options is set but none of the other + parameters is set, nothing is passed to geometry because the package is + loaded only when the layout is not the default one.

See Also

+page.height, +page.margin.bottom, +page.margin.inner, +page.margin.outer, +page.margin.top, +page.width, +paper.type.

diff --git a/docs/xhtml/manual/glossary.numbered.html b/docs/xhtml/manual/glossary.numbered.html new file mode 100644 index 0000000..ca44cf8 --- /dev/null +++ b/docs/xhtml/manual/glossary.numbered.html @@ -0,0 +1,7 @@ + + +glossary.numbered

glossary.numbered

glossary.numbered — Should glossary headings be numbered?

Synopsis

+      <xsl:param name="glossary.numbered">1</xsl:param>
+
+    

Description

Defines either the glossary titles are numbered or +not. When numbered, it is displayed as any other numbered section.

See Also

glossary.tocdepth.

refentry.numbered, refentry.tocdepth.

bibliography.numbered, bibliography.tocdepth.

index.numbered, index.tocdepth.

diff --git a/docs/xhtml/manual/glossary.tocdepth.html b/docs/xhtml/manual/glossary.tocdepth.html new file mode 100644 index 0000000..b47fb32 --- /dev/null +++ b/docs/xhtml/manual/glossary.tocdepth.html @@ -0,0 +1,8 @@ + + +glossary.tocdepth

glossary.tocdepth

glossary.tocdepth — How glossary section and subsections appear in TOC

Synopsis

+      <xsl:param name="glossary.tocdepth">5</xsl:param>
+
+    

Description

Same than preface.tocdepth for glossary +sections. Meaningful only when glossary.numbered is set +to 0.

See Also

glossary.numbered.

refentry.numbered, refentry.tocdepth.

bibliography.numbered, bibliography.tocdepth.

index.numbered, index.tocdepth.

diff --git a/docs/xhtml/manual/glossterm.auto.link.html b/docs/xhtml/manual/glossterm.auto.link.html new file mode 100644 index 0000000..010a3d9 --- /dev/null +++ b/docs/xhtml/manual/glossterm.auto.link.html @@ -0,0 +1,7 @@ + + +glossterm.auto.link

glossterm.auto.link

glossterm.auto.link — Generate links from glossterm to glossentry automatically?

Synopsis

+      <xsl:param name="glossterm.auto.link" select="0"/>
+
+    

Description

When set to 1, the glossterms in the document are linked to their +definition in the glossary.

diff --git a/docs/xhtml/manual/hyphenation.format.html b/docs/xhtml/manual/hyphenation.format.html new file mode 100644 index 0000000..bbbdd7b --- /dev/null +++ b/docs/xhtml/manual/hyphenation.format.html @@ -0,0 +1,16 @@ + + +hyphenation.format

hyphenation.format

hyphenation.format — Predefined formats to hyphenate

Synopsis

+      <xsl:param name="hyphenation.format">monoseq,sansseq</xsl:param>
+

Description

This parameter replaces the parameter + monoseq.hyphenation and its role is more general. + It contains a comma separated list of the predefined inline + formats that must be agressively hyphenated. It means that all the + elements rendered with these formats are then hyphenated.

The predefined formats that can be hyphenated when contained in the + list are: +

monoseq

Monospaced font.

sansseq

Sans serif like font.

boldmonoseq

Bold monospaced font.

italicmonoseq

Italic monospaced font.

+

If one wants no hyphenation at all, he must set the parameter to + "nohyphen". In this case dblatex tries to avoid overfull boxes (words in + the margins) but keeps the words splittable only on their natural + hyphenation points which can end up to no hyphenation at all for literal + words like URLs or technical terms.

See Also

monoseq.hyphenation

diff --git a/docs/xhtml/manual/imagedata.boxed.html b/docs/xhtml/manual/imagedata.boxed.html new file mode 100644 index 0000000..b02eb46 --- /dev/null +++ b/docs/xhtml/manual/imagedata.boxed.html @@ -0,0 +1,6 @@ + + +imagedata.boxed

imagedata.boxed

imagedata.boxed — Put the images into a framed box

Synopsis

+      <xsl:param name="imagedata.boxed">0</xsl:param>
+
+    

Description

If set to 1, put the images into a framed box.

diff --git a/docs/xhtml/manual/imagedata.default.scale.html b/docs/xhtml/manual/imagedata.default.scale.html new file mode 100644 index 0000000..b290ca8 --- /dev/null +++ b/docs/xhtml/manual/imagedata.default.scale.html @@ -0,0 +1,16 @@ + + +imagedata.default.scale

imagedata.default.scale

imagedata.default.scale — Specifies the default image scaling properties

Synopsis

+      <xsl:param name="imagedata.default.scale">pagebound</xsl:param>
+

Description

Default scale to apply to every imagedata that does not contain any scaling attribute.

By default this parameter is set to `pagebound` +so that the included images keep their natural size up to the page +boundaries.

Two other special parameters are available: +'maxwidth=width' and +'maxheight=height' where width +and height define the maximum image +dimensions, i.e. the image keeps its natural size up to the specified +maximum dimension. Both 'maxwidth' and 'maxheight' settings can be combined in a +comma separated list.

Example: +

dblatex -P imagedata.default.scale=maxwidth=10cm,maxheight=8cm file.xml

+

Except these special reserved values, the expected value of the parameter +must be some valid options passed to the \includegraphics command.

diff --git a/docs/xhtml/manual/imagedata.file.check.html b/docs/xhtml/manual/imagedata.file.check.html new file mode 100644 index 0000000..306e122 --- /dev/null +++ b/docs/xhtml/manual/imagedata.file.check.html @@ -0,0 +1,6 @@ + + +imagedata.file.check

imagedata.file.check

imagedata.file.check — Make the latex compilation robust to missing images

Synopsis

+      <xsl:param name="imagedata.file.check">1</xsl:param>
+

Description

When set to 1 some tex code is added to ensure that latex compilation +does not fail when the referenced imagedata file does not exist.

diff --git a/docs/xhtml/manual/imageobjectco.hide.html b/docs/xhtml/manual/imageobjectco.hide.html new file mode 100644 index 0000000..f3e18e0 --- /dev/null +++ b/docs/xhtml/manual/imageobjectco.hide.html @@ -0,0 +1,10 @@ + + +imageobjectco.hide

imageobjectco.hide

imageobjectco.hide — Hide the callout markups on the image

Synopsis

+      <xsl:param name="imageobjectco.hide" select="0"/>
+
+    

Description

When set to 1 the callout numbered circles are not drawn on the image. +Only the anchors are put, allowing callout list items to jump at the +referenced position on the image. The purpose of this parameter is to allow +the use of images that already contain the callout numbers (like for GIMP +manual).

diff --git a/docs/xhtml/manual/images/annot-close.png b/docs/xhtml/manual/images/annot-close.png new file mode 100644 index 0000000..af8dd42 Binary files /dev/null and b/docs/xhtml/manual/images/annot-close.png differ diff --git a/docs/xhtml/manual/images/annot-open.png b/docs/xhtml/manual/images/annot-open.png new file mode 100644 index 0000000..6853fce Binary files /dev/null and b/docs/xhtml/manual/images/annot-open.png differ diff --git a/docs/xhtml/manual/images/blank.png b/docs/xhtml/manual/images/blank.png new file mode 100644 index 0000000..dc32c21 Binary files /dev/null and b/docs/xhtml/manual/images/blank.png differ diff --git a/docs/xhtml/manual/images/callouts/1.gif b/docs/xhtml/manual/images/callouts/1.gif new file mode 100644 index 0000000..9e7a87f Binary files /dev/null and b/docs/xhtml/manual/images/callouts/1.gif differ diff --git a/docs/xhtml/manual/images/callouts/1.png b/docs/xhtml/manual/images/callouts/1.png new file mode 100644 index 0000000..7d47343 Binary files /dev/null and b/docs/xhtml/manual/images/callouts/1.png differ diff --git a/docs/xhtml/manual/images/callouts/1.svg b/docs/xhtml/manual/images/callouts/1.svg new file mode 100644 index 0000000..e2e87dc --- /dev/null +++ b/docs/xhtml/manual/images/callouts/1.svg @@ -0,0 +1,15 @@ + + + + +]> + + + + + + + + diff --git a/docs/xhtml/manual/images/callouts/10.gif b/docs/xhtml/manual/images/callouts/10.gif new file mode 100644 index 0000000..e80f7f8 Binary files /dev/null and b/docs/xhtml/manual/images/callouts/10.gif differ diff --git a/docs/xhtml/manual/images/callouts/10.png b/docs/xhtml/manual/images/callouts/10.png new file mode 100644 index 0000000..e416dae Binary files /dev/null and b/docs/xhtml/manual/images/callouts/10.png differ diff --git a/docs/xhtml/manual/images/callouts/10.svg b/docs/xhtml/manual/images/callouts/10.svg new file mode 100644 index 0000000..4740f58 --- /dev/null +++ b/docs/xhtml/manual/images/callouts/10.svg @@ -0,0 +1,18 @@ + + + + +]> + + + + + + + + + diff --git a/docs/xhtml/manual/images/callouts/11.gif b/docs/xhtml/manual/images/callouts/11.gif new file mode 100644 index 0000000..67f91a2 Binary files /dev/null and b/docs/xhtml/manual/images/callouts/11.gif differ diff --git a/docs/xhtml/manual/images/callouts/11.png b/docs/xhtml/manual/images/callouts/11.png new file mode 100644 index 0000000..49a1b58 Binary files /dev/null and b/docs/xhtml/manual/images/callouts/11.png differ diff --git a/docs/xhtml/manual/images/callouts/11.svg b/docs/xhtml/manual/images/callouts/11.svg new file mode 100644 index 0000000..09a0b2c --- /dev/null +++ b/docs/xhtml/manual/images/callouts/11.svg @@ -0,0 +1,16 @@ + + + + +]> + + + + + + + + + diff --git a/docs/xhtml/manual/images/callouts/12.gif b/docs/xhtml/manual/images/callouts/12.gif new file mode 100644 index 0000000..54c4b42 Binary files /dev/null and b/docs/xhtml/manual/images/callouts/12.gif differ diff --git a/docs/xhtml/manual/images/callouts/12.png b/docs/xhtml/manual/images/callouts/12.png new file mode 100644 index 0000000..3f778f8 Binary files /dev/null and b/docs/xhtml/manual/images/callouts/12.png differ diff --git a/docs/xhtml/manual/images/callouts/12.svg b/docs/xhtml/manual/images/callouts/12.svg new file mode 100644 index 0000000..9794044 --- /dev/null +++ b/docs/xhtml/manual/images/callouts/12.svg @@ -0,0 +1,18 @@ + + + + +]> + + + + + + + + + diff --git a/docs/xhtml/manual/images/callouts/13.gif b/docs/xhtml/manual/images/callouts/13.gif new file mode 100644 index 0000000..dd5d7d9 Binary files /dev/null and b/docs/xhtml/manual/images/callouts/13.gif differ diff --git a/docs/xhtml/manual/images/callouts/13.png b/docs/xhtml/manual/images/callouts/13.png new file mode 100644 index 0000000..a8e7817 Binary files /dev/null and b/docs/xhtml/manual/images/callouts/13.png differ diff --git a/docs/xhtml/manual/images/callouts/13.svg b/docs/xhtml/manual/images/callouts/13.svg new file mode 100644 index 0000000..64268bb --- /dev/null +++ b/docs/xhtml/manual/images/callouts/13.svg @@ -0,0 +1,20 @@ + + + + +]> + + + + + + + + + diff --git a/docs/xhtml/manual/images/callouts/14.gif b/docs/xhtml/manual/images/callouts/14.gif new file mode 100644 index 0000000..3d7a952 Binary files /dev/null and b/docs/xhtml/manual/images/callouts/14.gif differ diff --git a/docs/xhtml/manual/images/callouts/14.png b/docs/xhtml/manual/images/callouts/14.png new file mode 100644 index 0000000..be72f77 Binary files /dev/null and b/docs/xhtml/manual/images/callouts/14.png differ diff --git a/docs/xhtml/manual/images/callouts/14.svg b/docs/xhtml/manual/images/callouts/14.svg new file mode 100644 index 0000000..469aa97 --- /dev/null +++ b/docs/xhtml/manual/images/callouts/14.svg @@ -0,0 +1,17 @@ + + + + +]> + + + + + + + + + diff --git a/docs/xhtml/manual/images/callouts/15.gif b/docs/xhtml/manual/images/callouts/15.gif new file mode 100644 index 0000000..1c9183d Binary files /dev/null and b/docs/xhtml/manual/images/callouts/15.gif differ diff --git a/docs/xhtml/manual/images/callouts/15.png b/docs/xhtml/manual/images/callouts/15.png new file mode 100644 index 0000000..ca652d7 Binary files /dev/null and b/docs/xhtml/manual/images/callouts/15.png differ diff --git a/docs/xhtml/manual/images/callouts/15.svg b/docs/xhtml/manual/images/callouts/15.svg new file mode 100644 index 0000000..8202233 --- /dev/null +++ b/docs/xhtml/manual/images/callouts/15.svg @@ -0,0 +1,19 @@ + + + + +]> + + + + + + + + + diff --git a/docs/xhtml/manual/images/callouts/16.svg b/docs/xhtml/manual/images/callouts/16.svg new file mode 100644 index 0000000..01d6bf8 --- /dev/null +++ b/docs/xhtml/manual/images/callouts/16.svg @@ -0,0 +1,20 @@ + + + + +]> + + + + + + + + + diff --git a/docs/xhtml/manual/images/callouts/17.svg b/docs/xhtml/manual/images/callouts/17.svg new file mode 100644 index 0000000..0a04c55 --- /dev/null +++ b/docs/xhtml/manual/images/callouts/17.svg @@ -0,0 +1,17 @@ + + + + +]> + + + + + + + + + diff --git a/docs/xhtml/manual/images/callouts/18.svg b/docs/xhtml/manual/images/callouts/18.svg new file mode 100644 index 0000000..1cb891b --- /dev/null +++ b/docs/xhtml/manual/images/callouts/18.svg @@ -0,0 +1,21 @@ + + + + +]> + + + + + + + + + diff --git a/docs/xhtml/manual/images/callouts/19.svg b/docs/xhtml/manual/images/callouts/19.svg new file mode 100644 index 0000000..e6fbb17 --- /dev/null +++ b/docs/xhtml/manual/images/callouts/19.svg @@ -0,0 +1,20 @@ + + + + +]> + + + + + + + + + diff --git a/docs/xhtml/manual/images/callouts/2.gif b/docs/xhtml/manual/images/callouts/2.gif new file mode 100644 index 0000000..94d42a3 Binary files /dev/null and b/docs/xhtml/manual/images/callouts/2.gif differ diff --git a/docs/xhtml/manual/images/callouts/2.png b/docs/xhtml/manual/images/callouts/2.png new file mode 100644 index 0000000..6d41f0a Binary files /dev/null and b/docs/xhtml/manual/images/callouts/2.png differ diff --git a/docs/xhtml/manual/images/callouts/2.svg b/docs/xhtml/manual/images/callouts/2.svg new file mode 100644 index 0000000..07d0339 --- /dev/null +++ b/docs/xhtml/manual/images/callouts/2.svg @@ -0,0 +1,17 @@ + + + + +]> + + + + + + + + diff --git a/docs/xhtml/manual/images/callouts/20.svg b/docs/xhtml/manual/images/callouts/20.svg new file mode 100644 index 0000000..ccbfd40 --- /dev/null +++ b/docs/xhtml/manual/images/callouts/20.svg @@ -0,0 +1,20 @@ + + + + +]> + + + + + + + + + diff --git a/docs/xhtml/manual/images/callouts/21.svg b/docs/xhtml/manual/images/callouts/21.svg new file mode 100644 index 0000000..93ec53f --- /dev/null +++ b/docs/xhtml/manual/images/callouts/21.svg @@ -0,0 +1,18 @@ + + + + +]> + + + + + + + + + diff --git a/docs/xhtml/manual/images/callouts/22.svg b/docs/xhtml/manual/images/callouts/22.svg new file mode 100644 index 0000000..f48c5f3 --- /dev/null +++ b/docs/xhtml/manual/images/callouts/22.svg @@ -0,0 +1,20 @@ + + + + +]> + + + + + + + + + diff --git a/docs/xhtml/manual/images/callouts/23.svg b/docs/xhtml/manual/images/callouts/23.svg new file mode 100644 index 0000000..6624212 --- /dev/null +++ b/docs/xhtml/manual/images/callouts/23.svg @@ -0,0 +1,22 @@ + + + + +]> + + + + + + + + + diff --git a/docs/xhtml/manual/images/callouts/24.svg b/docs/xhtml/manual/images/callouts/24.svg new file mode 100644 index 0000000..a3d5525 --- /dev/null +++ b/docs/xhtml/manual/images/callouts/24.svg @@ -0,0 +1,19 @@ + + + + +]> + + + + + + + + + diff --git a/docs/xhtml/manual/images/callouts/25.svg b/docs/xhtml/manual/images/callouts/25.svg new file mode 100644 index 0000000..56614a9 --- /dev/null +++ b/docs/xhtml/manual/images/callouts/25.svg @@ -0,0 +1,21 @@ + + + + +]> + + + + + + + + + diff --git a/docs/xhtml/manual/images/callouts/26.svg b/docs/xhtml/manual/images/callouts/26.svg new file mode 100644 index 0000000..56faeac --- /dev/null +++ b/docs/xhtml/manual/images/callouts/26.svg @@ -0,0 +1,22 @@ + + + + +]> + + + + + + + + + diff --git a/docs/xhtml/manual/images/callouts/27.svg b/docs/xhtml/manual/images/callouts/27.svg new file mode 100644 index 0000000..a75c812 --- /dev/null +++ b/docs/xhtml/manual/images/callouts/27.svg @@ -0,0 +1,19 @@ + + + + +]> + + + + + + + + + diff --git a/docs/xhtml/manual/images/callouts/28.svg b/docs/xhtml/manual/images/callouts/28.svg new file mode 100644 index 0000000..7f8cf1a --- /dev/null +++ b/docs/xhtml/manual/images/callouts/28.svg @@ -0,0 +1,23 @@ + + + + +]> + + + + + + + + + diff --git a/docs/xhtml/manual/images/callouts/29.svg b/docs/xhtml/manual/images/callouts/29.svg new file mode 100644 index 0000000..cb63adf --- /dev/null +++ b/docs/xhtml/manual/images/callouts/29.svg @@ -0,0 +1,22 @@ + + + + +]> + + + + + + + + + diff --git a/docs/xhtml/manual/images/callouts/3.gif b/docs/xhtml/manual/images/callouts/3.gif new file mode 100644 index 0000000..dd3541a Binary files /dev/null and b/docs/xhtml/manual/images/callouts/3.gif differ diff --git a/docs/xhtml/manual/images/callouts/3.png b/docs/xhtml/manual/images/callouts/3.png new file mode 100644 index 0000000..ce7d133 Binary files /dev/null and b/docs/xhtml/manual/images/callouts/3.png differ diff --git a/docs/xhtml/manual/images/callouts/3.svg b/docs/xhtml/manual/images/callouts/3.svg new file mode 100644 index 0000000..918be80 --- /dev/null +++ b/docs/xhtml/manual/images/callouts/3.svg @@ -0,0 +1,19 @@ + + + + +]> + + + + + + + + diff --git a/docs/xhtml/manual/images/callouts/30.svg b/docs/xhtml/manual/images/callouts/30.svg new file mode 100644 index 0000000..dc43ba1 --- /dev/null +++ b/docs/xhtml/manual/images/callouts/30.svg @@ -0,0 +1,22 @@ + + + + +]> + + + + + + + + + diff --git a/docs/xhtml/manual/images/callouts/4.gif b/docs/xhtml/manual/images/callouts/4.gif new file mode 100644 index 0000000..4bcbf7e Binary files /dev/null and b/docs/xhtml/manual/images/callouts/4.gif differ diff --git a/docs/xhtml/manual/images/callouts/4.png b/docs/xhtml/manual/images/callouts/4.png new file mode 100644 index 0000000..41ed41c Binary files /dev/null and b/docs/xhtml/manual/images/callouts/4.png differ diff --git a/docs/xhtml/manual/images/callouts/4.svg b/docs/xhtml/manual/images/callouts/4.svg new file mode 100644 index 0000000..8eb6a53 --- /dev/null +++ b/docs/xhtml/manual/images/callouts/4.svg @@ -0,0 +1,16 @@ + + + + +]> + + + + + + + + diff --git a/docs/xhtml/manual/images/callouts/5.gif b/docs/xhtml/manual/images/callouts/5.gif new file mode 100644 index 0000000..1c62b4f Binary files /dev/null and b/docs/xhtml/manual/images/callouts/5.gif differ diff --git a/docs/xhtml/manual/images/callouts/5.png b/docs/xhtml/manual/images/callouts/5.png new file mode 100644 index 0000000..dc97b31 Binary files /dev/null and b/docs/xhtml/manual/images/callouts/5.png differ diff --git a/docs/xhtml/manual/images/callouts/5.svg b/docs/xhtml/manual/images/callouts/5.svg new file mode 100644 index 0000000..ca7a9f2 --- /dev/null +++ b/docs/xhtml/manual/images/callouts/5.svg @@ -0,0 +1,18 @@ + + + + +]> + + + + + + + + diff --git a/docs/xhtml/manual/images/callouts/6.gif b/docs/xhtml/manual/images/callouts/6.gif new file mode 100644 index 0000000..23bc555 Binary files /dev/null and b/docs/xhtml/manual/images/callouts/6.gif differ diff --git a/docs/xhtml/manual/images/callouts/6.png b/docs/xhtml/manual/images/callouts/6.png new file mode 100644 index 0000000..66d6dfc Binary files /dev/null and b/docs/xhtml/manual/images/callouts/6.png differ diff --git a/docs/xhtml/manual/images/callouts/6.svg b/docs/xhtml/manual/images/callouts/6.svg new file mode 100644 index 0000000..783a0b9 --- /dev/null +++ b/docs/xhtml/manual/images/callouts/6.svg @@ -0,0 +1,19 @@ + + + + +]> + + + + + + + + diff --git a/docs/xhtml/manual/images/callouts/7.gif b/docs/xhtml/manual/images/callouts/7.gif new file mode 100644 index 0000000..e55ce89 Binary files /dev/null and b/docs/xhtml/manual/images/callouts/7.gif differ diff --git a/docs/xhtml/manual/images/callouts/7.png b/docs/xhtml/manual/images/callouts/7.png new file mode 100644 index 0000000..6d00ca0 Binary files /dev/null and b/docs/xhtml/manual/images/callouts/7.png differ diff --git a/docs/xhtml/manual/images/callouts/7.svg b/docs/xhtml/manual/images/callouts/7.svg new file mode 100644 index 0000000..59b3714 --- /dev/null +++ b/docs/xhtml/manual/images/callouts/7.svg @@ -0,0 +1,16 @@ + + + + +]> + + + + + + + + diff --git a/docs/xhtml/manual/images/callouts/8.gif b/docs/xhtml/manual/images/callouts/8.gif new file mode 100644 index 0000000..49375e0 Binary files /dev/null and b/docs/xhtml/manual/images/callouts/8.gif differ diff --git a/docs/xhtml/manual/images/callouts/8.png b/docs/xhtml/manual/images/callouts/8.png new file mode 100644 index 0000000..aa6d9c8 Binary files /dev/null and b/docs/xhtml/manual/images/callouts/8.png differ diff --git a/docs/xhtml/manual/images/callouts/8.svg b/docs/xhtml/manual/images/callouts/8.svg new file mode 100644 index 0000000..c1803a3 --- /dev/null +++ b/docs/xhtml/manual/images/callouts/8.svg @@ -0,0 +1,20 @@ + + + + +]> + + + + + + + + diff --git a/docs/xhtml/manual/images/callouts/9.gif b/docs/xhtml/manual/images/callouts/9.gif new file mode 100644 index 0000000..da12a4f Binary files /dev/null and b/docs/xhtml/manual/images/callouts/9.gif differ diff --git a/docs/xhtml/manual/images/callouts/9.png b/docs/xhtml/manual/images/callouts/9.png new file mode 100644 index 0000000..ea3ba54 Binary files /dev/null and b/docs/xhtml/manual/images/callouts/9.png differ diff --git a/docs/xhtml/manual/images/callouts/9.svg b/docs/xhtml/manual/images/callouts/9.svg new file mode 100644 index 0000000..bc149d3 --- /dev/null +++ b/docs/xhtml/manual/images/callouts/9.svg @@ -0,0 +1,19 @@ + + + + +]> + + + + + + + + diff --git a/docs/xhtml/manual/images/caution.gif b/docs/xhtml/manual/images/caution.gif new file mode 100644 index 0000000..d9f5e5b Binary files /dev/null and b/docs/xhtml/manual/images/caution.gif differ diff --git a/docs/xhtml/manual/images/caution.png b/docs/xhtml/manual/images/caution.png new file mode 100644 index 0000000..434dda7 Binary files /dev/null and b/docs/xhtml/manual/images/caution.png differ diff --git a/docs/xhtml/manual/images/caution.svg b/docs/xhtml/manual/images/caution.svg new file mode 100644 index 0000000..dd84f3f --- /dev/null +++ b/docs/xhtml/manual/images/caution.svg @@ -0,0 +1,25 @@ + + + + + + + + +]> + + + + + + + + + + + + + + + diff --git a/docs/xhtml/manual/images/caution.tif b/docs/xhtml/manual/images/caution.tif new file mode 100644 index 0000000..4a28294 Binary files /dev/null and b/docs/xhtml/manual/images/caution.tif differ diff --git a/docs/xhtml/manual/images/colorsvg/caution.svg b/docs/xhtml/manual/images/colorsvg/caution.svg new file mode 100644 index 0000000..7a0db0b --- /dev/null +++ b/docs/xhtml/manual/images/colorsvg/caution.svg @@ -0,0 +1,141 @@ + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xhtml/manual/images/colorsvg/home.svg b/docs/xhtml/manual/images/colorsvg/home.svg new file mode 100644 index 0000000..d6dbc01 --- /dev/null +++ b/docs/xhtml/manual/images/colorsvg/home.svg @@ -0,0 +1,498 @@ + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xhtml/manual/images/colorsvg/important.svg b/docs/xhtml/manual/images/colorsvg/important.svg new file mode 100644 index 0000000..803ad8d --- /dev/null +++ b/docs/xhtml/manual/images/colorsvg/important.svg @@ -0,0 +1,239 @@ + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xhtml/manual/images/colorsvg/next.svg b/docs/xhtml/manual/images/colorsvg/next.svg new file mode 100644 index 0000000..52b73cf --- /dev/null +++ b/docs/xhtml/manual/images/colorsvg/next.svg @@ -0,0 +1,338 @@ + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xhtml/manual/images/colorsvg/note.svg b/docs/xhtml/manual/images/colorsvg/note.svg new file mode 100644 index 0000000..e94c610 --- /dev/null +++ b/docs/xhtml/manual/images/colorsvg/note.svg @@ -0,0 +1,200 @@ + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xhtml/manual/images/colorsvg/prev.svg b/docs/xhtml/manual/images/colorsvg/prev.svg new file mode 100644 index 0000000..7ceddec --- /dev/null +++ b/docs/xhtml/manual/images/colorsvg/prev.svg @@ -0,0 +1,338 @@ + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xhtml/manual/images/colorsvg/tip.svg b/docs/xhtml/manual/images/colorsvg/tip.svg new file mode 100644 index 0000000..7ec92e3 --- /dev/null +++ b/docs/xhtml/manual/images/colorsvg/tip.svg @@ -0,0 +1,367 @@ + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xhtml/manual/images/colorsvg/up.svg b/docs/xhtml/manual/images/colorsvg/up.svg new file mode 100644 index 0000000..8eca45f --- /dev/null +++ b/docs/xhtml/manual/images/colorsvg/up.svg @@ -0,0 +1,338 @@ + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xhtml/manual/images/colorsvg/warning.svg b/docs/xhtml/manual/images/colorsvg/warning.svg new file mode 100644 index 0000000..ae0081d --- /dev/null +++ b/docs/xhtml/manual/images/colorsvg/warning.svg @@ -0,0 +1,232 @@ + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xhtml/manual/images/draft.png b/docs/xhtml/manual/images/draft.png new file mode 100644 index 0000000..3a37e50 Binary files /dev/null and b/docs/xhtml/manual/images/draft.png differ diff --git a/docs/xhtml/manual/images/home.gif b/docs/xhtml/manual/images/home.gif new file mode 100644 index 0000000..6784f5b Binary files /dev/null and b/docs/xhtml/manual/images/home.gif differ diff --git a/docs/xhtml/manual/images/home.png b/docs/xhtml/manual/images/home.png new file mode 100644 index 0000000..52f1524 Binary files /dev/null and b/docs/xhtml/manual/images/home.png differ diff --git a/docs/xhtml/manual/images/home.svg b/docs/xhtml/manual/images/home.svg new file mode 100644 index 0000000..e803a31 --- /dev/null +++ b/docs/xhtml/manual/images/home.svg @@ -0,0 +1,26 @@ + + + + + + + + +]> + + + + + + + + + + + + + + diff --git a/docs/xhtml/manual/images/important.gif b/docs/xhtml/manual/images/important.gif new file mode 100644 index 0000000..6795d9a Binary files /dev/null and b/docs/xhtml/manual/images/important.gif differ diff --git a/docs/xhtml/manual/images/important.png b/docs/xhtml/manual/images/important.png new file mode 100644 index 0000000..4b520d8 Binary files /dev/null and b/docs/xhtml/manual/images/important.png differ diff --git a/docs/xhtml/manual/images/important.svg b/docs/xhtml/manual/images/important.svg new file mode 100644 index 0000000..dd84f3f --- /dev/null +++ b/docs/xhtml/manual/images/important.svg @@ -0,0 +1,25 @@ + + + + + + + + +]> + + + + + + + + + + + + + + + diff --git a/docs/xhtml/manual/images/important.tif b/docs/xhtml/manual/images/important.tif new file mode 100644 index 0000000..184de63 Binary files /dev/null and b/docs/xhtml/manual/images/important.tif differ diff --git a/docs/xhtml/manual/images/next.gif b/docs/xhtml/manual/images/next.gif new file mode 100644 index 0000000..aa1516e Binary files /dev/null and b/docs/xhtml/manual/images/next.gif differ diff --git a/docs/xhtml/manual/images/next.png b/docs/xhtml/manual/images/next.png new file mode 100644 index 0000000..57174d6 Binary files /dev/null and b/docs/xhtml/manual/images/next.png differ diff --git a/docs/xhtml/manual/images/next.svg b/docs/xhtml/manual/images/next.svg new file mode 100644 index 0000000..75fa83e --- /dev/null +++ b/docs/xhtml/manual/images/next.svg @@ -0,0 +1,19 @@ + + + + + + +]> + + + + + + + + + + + diff --git a/docs/xhtml/manual/images/note.gif b/docs/xhtml/manual/images/note.gif new file mode 100644 index 0000000..f329d35 Binary files /dev/null and b/docs/xhtml/manual/images/note.gif differ diff --git a/docs/xhtml/manual/images/note.png b/docs/xhtml/manual/images/note.png new file mode 100644 index 0000000..df031d0 Binary files /dev/null and b/docs/xhtml/manual/images/note.png differ diff --git a/docs/xhtml/manual/images/note.svg b/docs/xhtml/manual/images/note.svg new file mode 100644 index 0000000..648299d --- /dev/null +++ b/docs/xhtml/manual/images/note.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + diff --git a/docs/xhtml/manual/images/note.tif b/docs/xhtml/manual/images/note.tif new file mode 100644 index 0000000..08644d6 Binary files /dev/null and b/docs/xhtml/manual/images/note.tif differ diff --git a/docs/xhtml/manual/images/prev.gif b/docs/xhtml/manual/images/prev.gif new file mode 100644 index 0000000..64ca8f3 Binary files /dev/null and b/docs/xhtml/manual/images/prev.gif differ diff --git a/docs/xhtml/manual/images/prev.png b/docs/xhtml/manual/images/prev.png new file mode 100644 index 0000000..082570c Binary files /dev/null and b/docs/xhtml/manual/images/prev.png differ diff --git a/docs/xhtml/manual/images/prev.svg b/docs/xhtml/manual/images/prev.svg new file mode 100644 index 0000000..6d88ffd --- /dev/null +++ b/docs/xhtml/manual/images/prev.svg @@ -0,0 +1,19 @@ + + + + + + +]> + + + + + + + + + + + diff --git a/docs/xhtml/manual/images/tip.gif b/docs/xhtml/manual/images/tip.gif new file mode 100644 index 0000000..823f2b4 Binary files /dev/null and b/docs/xhtml/manual/images/tip.gif differ diff --git a/docs/xhtml/manual/images/tip.png b/docs/xhtml/manual/images/tip.png new file mode 100644 index 0000000..28a6b7e Binary files /dev/null and b/docs/xhtml/manual/images/tip.png differ diff --git a/docs/xhtml/manual/images/tip.svg b/docs/xhtml/manual/images/tip.svg new file mode 100644 index 0000000..4a64a15 --- /dev/null +++ b/docs/xhtml/manual/images/tip.svg @@ -0,0 +1,31 @@ + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xhtml/manual/images/tip.tif b/docs/xhtml/manual/images/tip.tif new file mode 100644 index 0000000..4a3d8c7 Binary files /dev/null and b/docs/xhtml/manual/images/tip.tif differ diff --git a/docs/xhtml/manual/images/toc-blank.png b/docs/xhtml/manual/images/toc-blank.png new file mode 100644 index 0000000..a955f5a Binary files /dev/null and b/docs/xhtml/manual/images/toc-blank.png differ diff --git a/docs/xhtml/manual/images/toc-minus.png b/docs/xhtml/manual/images/toc-minus.png new file mode 100644 index 0000000..abbb020 Binary files /dev/null and b/docs/xhtml/manual/images/toc-minus.png differ diff --git a/docs/xhtml/manual/images/toc-plus.png b/docs/xhtml/manual/images/toc-plus.png new file mode 100644 index 0000000..941312c Binary files /dev/null and b/docs/xhtml/manual/images/toc-plus.png differ diff --git a/docs/xhtml/manual/images/up.gif b/docs/xhtml/manual/images/up.gif new file mode 100644 index 0000000..aabc2d0 Binary files /dev/null and b/docs/xhtml/manual/images/up.gif differ diff --git a/docs/xhtml/manual/images/up.png b/docs/xhtml/manual/images/up.png new file mode 100644 index 0000000..1245546 Binary files /dev/null and b/docs/xhtml/manual/images/up.png differ diff --git a/docs/xhtml/manual/images/up.svg b/docs/xhtml/manual/images/up.svg new file mode 100644 index 0000000..d31aa9c --- /dev/null +++ b/docs/xhtml/manual/images/up.svg @@ -0,0 +1,19 @@ + + + + + + +]> + + + + + + + + + + + diff --git a/docs/xhtml/manual/images/warning.gif b/docs/xhtml/manual/images/warning.gif new file mode 100644 index 0000000..3adf191 Binary files /dev/null and b/docs/xhtml/manual/images/warning.gif differ diff --git a/docs/xhtml/manual/images/warning.png b/docs/xhtml/manual/images/warning.png new file mode 100644 index 0000000..f5b9514 Binary files /dev/null and b/docs/xhtml/manual/images/warning.png differ diff --git a/docs/xhtml/manual/images/warning.svg b/docs/xhtml/manual/images/warning.svg new file mode 100644 index 0000000..fc8d748 --- /dev/null +++ b/docs/xhtml/manual/images/warning.svg @@ -0,0 +1,23 @@ + + + + + + + + +]> + + + + + + + + + + + + + diff --git a/docs/xhtml/manual/images/warning.tif b/docs/xhtml/manual/images/warning.tif new file mode 100644 index 0000000..7b6611e Binary files /dev/null and b/docs/xhtml/manual/images/warning.tif differ diff --git a/docs/xhtml/manual/img-tbl-color.png b/docs/xhtml/manual/img-tbl-color.png new file mode 100644 index 0000000..af63b46 Binary files /dev/null and b/docs/xhtml/manual/img-tbl-color.png differ diff --git a/docs/xhtml/manual/img-tbl-html.png b/docs/xhtml/manual/img-tbl-html.png new file mode 100644 index 0000000..7648479 Binary files /dev/null and b/docs/xhtml/manual/img-tbl-html.png differ diff --git a/docs/xhtml/manual/index.html b/docs/xhtml/manual/index.html new file mode 100644 index 0000000..414c256 --- /dev/null +++ b/docs/xhtml/manual/index.html @@ -0,0 +1,65 @@ + + +DocBook to LaTeX Publishing

DocBook to LaTeX Publishing

User Manual

Benoît Guillon

Reviewed by : Andreas Hoenen

v0.3.10

Revision History
Revision 012009/05/05B. Guillon
+

The manual does not include the change history anymore. The change +history is now in the release note. The XSL Parameters are now described as +reference entries.

+
Revision 022009/06/21B. Guillon
+

Add a section about the new set support, and a section +about how to extend the verbatim rendering.

+
Revision 032011/07/03B. Guillon
+

Add a section about the new HTML table support, and a section +about the PyPI distribution.

+
Revision 042012/04/10B. Guillon
+

Update documentation for release 0.3.3.

+
Revision 052012/06/03B. Guillon
+

Update documentation for release 0.3.4.

+
Revision 062014/05/26B. Guillon
+

Update documentation for release 0.3.5.

+
Revision 072015/05/15B. Guillon
+

Update documentation for release 0.3.6: add the ability to use a texpost +python plugin, and new index capabilities.

+
Revision 082015/08/06B. Guillon
+

Update documentation for release 0.3.7: add section the section called “Chapter and Section numbering”.

+
Revision 092016/07/20B. Guillon / Karl O. Pinc
+

Update documentation for release 0.3.8: add appendix Appendix B, Dblatex Processing Instruction Reference, and sections the section called “XML Configuration File Format”, +the section called “Musical Notation”.

+
Revision 102016/07/24B. Guillon / Karl O. Pinc
+

Update documentation for release 0.3.9: add new features in the section called “XML Configuration File Format” and complete some sections.

+
Revision 112017/04/03B. Guillon
+

Update documentation for release 0.3.10: add the features of +the section called “Book Covers”, and put some +cosmetic changes in the section called “Dblatex Configuration File”.

+

Table of Contents

Documentation
1. Introduction
What about DB2LaTeX?
Features
Version
Change History
Publishing Principles
Backend Drivers
XSL Stylesheets
Python Post Processing
LaTeX Style Package
2. Installing the Package
Content
Installing on Unix like Systems
Dblatex Packages
Dependencies
Installation
Installing on Windows
Dependencies
Installation
3. Using dblatex
Reference
dblatex — + convert DocBook to + LaTeX, DVI, + PostScript, and PDF +
Output Formatting Style
How it works
Adding a New Formatting Style
Publishing Outputs
Publishing a single document
Publishing a Set of Books
Global Page Setup
Book Covers
Chapter and Section numbering
Depth of Section numbering and Table Of Content
Using the latex style for section numbering
Using the label attribute
+ Figure Inclusion +
+ Presentation +
+ Converting on the fly +
+ Paths Lookup +
Creating Tables
Limitations
Table Width
Tables without colwidth
Tables with mixed colspec
Tables with proportional and fixed colwidth
Tables with fixed colwidths
Automatic Column Width
Informal Table LaTeX Styles
Tables with morerows
Landscape tables
Smaller tables
Coloured tables
HTML Tables
Correcting Poor Formatting
Floats
Tables
Examples
Hyphenation and over-long lines
Characters and Manual Spacing
Writing Mathematics
Writing LaTeX Mathematical Equations
+ Writing MathML equations +
Musical Notation
Extending the Verbatim Rendering
Dblatex Specific Options
Scaling Feature
Formatting embedded elements
Creating a new Verbatim Environment
Creating an Index
Internationalized Indexes
Writing a Bibliography
Using Bibliography Entries
Using BibTeX Databases
Natbib Citations
Document Revisions
Locale Support
Document Encoding
Babel Languages
CJK Languages
Mixing the languages
Using XRefsyle and Olinks
Specific xrefstyle for ulink
Footnotes
Footnote Numbering Scope
End Notes
4. Customization
Using XSL Parameters
Setting Command line Parameters
Using Processing Instructions
XSL User Stylesheet
Changing the XSL parameter values
Overriding some templates
Customized LaTeX style
Reusing an existing LaTeX style
Package options
Needed packages
DocBook interface
Debugging your Style
Latex post process script
Post latex compilations
Post processing with a Python Plugin
Dblatex Configuration File
XML Configuration File Format
Deprecated Text Configuration File Format
Style Paths
Customization Precedence
5. FAQ
6. Thanks
Sponsors
Contributors
Pioners
A. Dblatex XSL Parameter Reference
Admonitions
figure.caution — Figure to use to render a caution block.
figure.important — Figure to use to render a important block
figure.note — Figure to use to render a note block
figure.tip — Figure to use to render a tip block
figure.warning — Figure to use to render a warning + block
Callouts
callout.linkends.hot — Hot links callout items
calloutlist.style — Callout list style to apply
callout.markup.circled — Use black circles for numbering the callout items?
co.linkends.show — Show the references to calloutlist items next to the markup
imageobjectco.hide — Hide the callout markups on the image
ToC/LoT/Index Generation
doc.lot.show — Specifies the Lists of Titles to display
doc.toc.show — Print the Table Of Contents
titleabbrev.in.toc — Should titleabbrev be put in the TOC + instead of title?
toc.section.depth — How deep should recursive sections appear in the TOC?
bibliography.tocdepth — How bibliography section and subsections appear in TOC
colophon.tocdepth — How colophon section and subsections appear in TOC
dedication.tocdepth — How dedication section and subsections appear in TOC
preface.tocdepth — How preface section and subsections appear in TOC
glossary.tocdepth — How glossary section and subsections appear in TOC
index.tocdepth — How index section and subsections appear in TOC
latex.index.tool — Define the tool to use to build an index
latex.index.language — Force the language to use for index sorting
refentry.tocdepth — How refentry section and subsections appear in TOC
Processor Extensions
alt.use — Always use alt to display equations
tex.math.in.alt — TeX notation used for equations
Automatic labelling
bibliography.numbered — Should bibliography headings be numbered?
glossary.numbered — Should glossary headings be numbered?
index.numbered — Should index headings be numbered?
refentry.numbered — Should refentry headings be numbered?
Meta/*Info
doc.pdfcreator.show — Set the PDF metadata Creator field
make.single.year.ranges — Print single-year ranges (e.g., 1998-1999)
make.year.ranges — Collate copyright years into ranges?
Reference Pages
funcsynopsis.decoration — Decorate elements of a funcsynopsis?
funcsynopsis.style — What style of funcsynopsis should be generated?
function.parens — Generate parens after a function?
refclass.suppress — Suppress display of refclass contents?
refentry.generate.name — Output NAME header before refnames?
refentry.xref.manvolnum — Output manvolnum as part of +refentry cross-reference?
Tables
newtbl.autowidth — Table column widths sized by latex
newtbl.bgcolor.thead — Background color of the thead rows
newtbl.default.colsep — By default draw a vertical line between columns
newtbl.default.rowsep — By default draw a horizontal line between rows
newtbl.format.tbody — LaTeX formatting for body table cells
newtbl.format.tfoot — LaTeX formatting for foot table cells
newtbl.format.thead — LaTeX formatting for head table cells
newtbl.use.hhline — Draw the horizontal lines with the hhline package
table.continue.caption — Caption text for continued table titles
table.default.position — Default table float placement policy
table.default.tabstyle — Default table style to apply
table.in.float — Use or emulate a float to display a formal table?
table.title.top — Title on top of the table float
default.table.rules — The default column and row rules for tables using HTML markup
default.table.width — The default width of tables
Linking
latex.hyperparam — Options/parameters passed to hyperref
Olink Parameters + + — Parameters to configure Olinks
Cross References
insert.xref.page.number — Turns page numbers in xrefs on and off
insert.xref.page.number.para — Turns page numbers in xrefs to paragraphs on and + off
xref.hypermarkup — Wrap the entire the xref markups with an hyperlink?
Lists
term.breakline — Put the term description on the next line?
variablelist.term.separator — Text to separate terms within a multi-term +varlistentry
QAndASet
qanda.defaultlabel — Sets the default for defaultlabel on QandASet.
Bibliography
biblioentry.item.separator — Text to separate bibliography entries
biblioentry.numbered — Should biblioentry item labels be numbered?
citation.default.style — Default natbib citation style to apply
citation.natbib.options — Specifies the natbib package options
citation.natbib.use — Use natbib to display citations
latex.bibfiles — Defines the default BibTeX database to use
latex.biblio.output — Defines how the BibTeX bibliographic entries are printed out
latex.biblio.style — Default BibTeX style to apply
latex.bibwidelabel — Template of the widest bibliography label
Glossary
glossterm.auto.link — Generate links from glossterm to glossentry automatically?
Miscellaneous
annotation.support — Enable the annotation support
beginpage.as.pagebreak — Force a page break when set to 1. Otherwise + beginpage does nothing.
doc.section.depth — Depth of the section numbering
endnotes.heading.command — LaTeX command of the endnotes headings
endnotes.heading.groups — Display the endnotes by groups
endnotes.heading.style — Style of the heading of endnotes groups
endnotes.properties — Properties of the latex package endnotes setup
equation.default.position — Default equation float placement to apply
example.default.position — Default example float placement to apply
example.float.type — Select the type of float for example elements
figure.anchor.top — Cross reference anchor on top of the figure float
figure.default.position — Figure float placement policy
figure.title.top — Title on top of the figure float
filename.as.url — Hyphenate a filename like if is was an URL
footnote.as.endnote — Use footnotes as endnotes
hyphenation.format — Predefined formats to hyphenate
linenumbering.scope — Templates on which the global linenumbering setup applies
linenumbering.default — Default linenumbering setup for literal environments
linenumbering.everyNth — Indicate which lines should be numbered
literal.layout.options — Override the options passed to the listing + package
literal.lines.showall — Show the last empty lines in the literal environments?
literal.width.ignore — Ignore the literal environment width attribute
literal.class — Default class to apply to literallayout + blocks
literal.role — Default role to apply to verbatim blocks
literal.environment — Latex environment used to format verbatim blocks
literal.extensions — Enable extended verbatim features
mediaobject.caption.style — Font style of the mediaobject caption text
monoseq.hyphenation — Specifies one of the supported monoseq hyphenation policy
monoseq.small — Use a smaller font to render monoseq portions of text
pdf.annot.options — PDF text annotations rendering options
segmentedlist.as.table — Format segmented lists as tables?
seg.item.separator — Separator to use between several +segs
show.comments — Display remark elements?
texlive.version — Version of the installed Tex Live Distribution
ulink.footnotes — Generate footnotes for ulinks?
ulink.show — Display URLs after ulinks?
xref.with.number.and.title — Use number and title in cross references
Graphics
imagedata.boxed — Put the images into a framed box
imagedata.default.scale — Specifies the default image scaling properties
imagedata.file.check — Make the latex compilation robust to missing images
keep.relative.image.uris — Should image URIs be resolved against xml:base?
Chuncking
set.book.num — Select a single book or all the books to compile from a + set
use.id.as.filename — Use ID value of chunk elements as the filename?
Pagination and General Styles
page.height — The height of the physical page
page.margin.bottom — The bottom margin of the page
page.margin.inner — The inner page margin
page.margin.outer — The outer page margin
page.margin.top — The top margin of the page
page.width — The width of the physical page
paper.type — Select the paper type
geometry.options — Raw options to pass to the geometry package
doc.alignment — Specifies the text alignement of the document
doc.collab.show — Print the document collaborators (authors, etc.) in a table
doc.layout — Specifies the overall document layout.
doc.publisher.show — Print the dblatex logo on the cover page?
draft.mode — Select draft mode
draft.watermark — Print a Watermak on each page in draft mode?
latex.engine.options — Extra arguments to pass to the TeX engine
latex.class.article — LaTeX document class to use for +article documents
latex.class.book — LaTeX document class to use for +book documents
latex.class.options — Options passed to the \documentclass command
latex.encoding — Encoding of the latex document to produce
latex.unicode.use — Use passivetex unicode support?
latex.output.revhistory — Print the revhistory table?
Font Families
body.font.family — The default font family for body text
cjk.font — Fonts to use in CJK environments
monospace.font.family — The default font family for monospace environments
sans.font.family — The default sans-serif font family
xetex.font — Specifies the fonts that XeTeX must use
Localization
korean.package — Package included when Korean language is used
latex.babel.language — Force the loaded babel language
latex.babel.use — Disable the use of babel, whatever the document language is
Prepress
crop.marks — Output crop marks?
crop.paper.type — Select the paper type for paper with crops
crop.page.width — The width of the physical crop page
crop.page.height — The height of the physical crop page
crop.mode — How to display crops
crop.options — Raw options passed to the crop package
B. Dblatex Processing Instruction Reference
Bibliography
bibtex — Specify how to fill a Bibliography with BibTeX
dblatex citestyle — Sets Natbib Citation Style
LaTeX
latex — Insert Arbitrary text into the LaTeX file
Miscellaneous
dblatex angle — Rotates an imagedata Image
texmath delimiters — Disable The LaTeX Mathematical Delimiters Control
Tables
dblatex bgcolor — Sets the Background Color of A Table Element
dblatex table-width — Control the Automatic Width of a Table
Lists
dblatex autowidth — Column sizing by LaTeX in + segmentedlist tables
dblatex colwidth — Specifies a column width for + segmentedlists presented as tables
dblatex list-presentation — + Specifies presentation style for a + segmentedlist
diff --git a/docs/xhtml/manual/index.numbered.html b/docs/xhtml/manual/index.numbered.html new file mode 100644 index 0000000..6864398 --- /dev/null +++ b/docs/xhtml/manual/index.numbered.html @@ -0,0 +1,7 @@ + + +index.numbered

index.numbered

index.numbered — Should index headings be numbered?

Synopsis

+      <xsl:param name="index.numbered">1</xsl:param>
+
+    

Description

Defines either the index titles are numbered or +not. When numbered, it is displayed as any other numbered section.

See Also

index.tocdepth.

refentry.numbered, refentry.tocdepth.

bibliography.numbered, bibliography.tocdepth.

glossary.numbered, glossary.tocdepth.

diff --git a/docs/xhtml/manual/index.tocdepth.html b/docs/xhtml/manual/index.tocdepth.html new file mode 100644 index 0000000..ebd6955 --- /dev/null +++ b/docs/xhtml/manual/index.tocdepth.html @@ -0,0 +1,8 @@ + + +index.tocdepth

index.tocdepth

index.tocdepth — How index section and subsections appear in TOC

Synopsis

+      <xsl:param name="index.tocdepth">5</xsl:param>
+
+    

Description

Same than preface.tocdepth for index +sections. Meaningful only when index.numbered is set +to 0.

See Also

index.numbered.

refentry.numbered, refentry.tocdepth.

bibliography.numbered, bibliography.tocdepth.

glossary.numbered, glossary.tocdepth.

diff --git a/docs/xhtml/manual/insert.xref.page.number.html b/docs/xhtml/manual/insert.xref.page.number.html new file mode 100644 index 0000000..c825586 --- /dev/null +++ b/docs/xhtml/manual/insert.xref.page.number.html @@ -0,0 +1,21 @@ + + +insert.xref.page.number

insert.xref.page.number

insert.xref.page.number — Turns page numbers in xrefs on and off

Synopsis

+      <xsl:param name="insert.xref.page.number">maybe</xsl:param>
+

Description

The value of this parameter determines if +cross references (xrefs) in +printed output will +include page number citations. +It has three possible values. +

no

No page number references will be generated. +

yes

Page number references will be generated +for all xref elements. +The style of page reference may be changed +if an xrefstyle +attribute is used. +

maybe

Page number references will not be generated +for an xref element unless +it has an +xrefstyle +attribute whose value specifies a page reference. +

diff --git a/docs/xhtml/manual/insert.xref.page.number.para.html b/docs/xhtml/manual/insert.xref.page.number.para.html new file mode 100644 index 0000000..aaa27ef --- /dev/null +++ b/docs/xhtml/manual/insert.xref.page.number.para.html @@ -0,0 +1,15 @@ + + +insert.xref.page.number.para

insert.xref.page.number.para

insert.xref.page.number.para — Turns page numbers in xrefs to paragraphs on and + off

Synopsis

<xsl:param name="insert.xref.page.number.para">yes</xsl:param>
+

Description

The value of this parameter determines if + cross references (xrefs) to paragraphs in + printed output will include page number citations. +

Historically, cross references to paragraphs + included page number citations unconditionally, regardless + of the insert.xref.page.number + value.

yes

Page number references will be generated + for paragraphs.

maybe

Whether page number references are generated + for an xref element referring to a paragraph will + be controlled by the insert.xref.page.number + rules.

diff --git a/docs/xhtml/manual/keep.relative.image.uris.html b/docs/xhtml/manual/keep.relative.image.uris.html new file mode 100644 index 0000000..e945902 --- /dev/null +++ b/docs/xhtml/manual/keep.relative.image.uris.html @@ -0,0 +1,9 @@ + + +keep.relative.image.uris

keep.relative.image.uris

keep.relative.image.uris — Should image URIs be resolved against xml:base?

Synopsis

+      <xsl:param name="keep.relative.image.uris" select="0"/>
+

Description

If non-zero, relative URIs (in, for example +fileref attributes) will be used in the generated +output. Otherwise, the URIs will be made absolute with respect to the +base URI.

Note that the stylesheets calculate (and use) the absolute form +for some purposes, this only applies to the resulting output.

diff --git a/docs/xhtml/manual/korean.package.html b/docs/xhtml/manual/korean.package.html new file mode 100644 index 0000000..67c829f --- /dev/null +++ b/docs/xhtml/manual/korean.package.html @@ -0,0 +1,7 @@ + + +korean.package

korean.package

korean.package — Package included when Korean language is used

Synopsis

+      <xsl:param name="korean.package">CJK</xsl:param>
+
+    

Description

When lang is set to 'ko' and the parameter is set to 'CJK' the CJK +package is included to handle the Korean language.

diff --git a/docs/xhtml/manual/latex.babel.language.html b/docs/xhtml/manual/latex.babel.language.html new file mode 100644 index 0000000..19d915c --- /dev/null +++ b/docs/xhtml/manual/latex.babel.language.html @@ -0,0 +1,7 @@ + + +latex.babel.language

latex.babel.language

latex.babel.language — Force the loaded babel language

Synopsis

+      <xsl:param name="latex.babel.language"/>
+
+    

Description

This parameter forces the use of the specified babel language whatever +the document language is.

diff --git a/docs/xhtml/manual/latex.babel.use.html b/docs/xhtml/manual/latex.babel.use.html new file mode 100644 index 0000000..8d53fae --- /dev/null +++ b/docs/xhtml/manual/latex.babel.use.html @@ -0,0 +1,8 @@ + + +latex.babel.use

latex.babel.use

latex.babel.use — Disable the use of babel, whatever the document language is

Synopsis

+      <xsl:param name="latex.babel.use">1</xsl:param>
+
+    

Description

Set to 1 the babel package corresponding to the document language is +included. Set to 0 no babel package is included whatever the document language +is.

diff --git a/docs/xhtml/manual/latex.bibfiles.html b/docs/xhtml/manual/latex.bibfiles.html new file mode 100644 index 0000000..d1310f5 --- /dev/null +++ b/docs/xhtml/manual/latex.bibfiles.html @@ -0,0 +1,8 @@ + + +latex.bibfiles

latex.bibfiles

latex.bibfiles — Defines the default BibTeX database to use

Synopsis

+      <xsl:param name="latex.bibfiles">''</xsl:param>
+
+    

Description

Defines the default BibTeX database to use. Used when the bibtex PI +does not have a "bibfiles" attribute. See the section called “Using BibTeX Databases” for +more details.

diff --git a/docs/xhtml/manual/latex.biblio.output.html b/docs/xhtml/manual/latex.biblio.output.html new file mode 100644 index 0000000..932f62a --- /dev/null +++ b/docs/xhtml/manual/latex.biblio.output.html @@ -0,0 +1,9 @@ + + +latex.biblio.output

latex.biblio.output

latex.biblio.output — Defines how the BibTeX bibliographic entries are printed out

Synopsis

+      <xsl:param name="latex.biblio.output">all</xsl:param>
+

Description

The available print mode values are: + +

all

Print all the entries contained in the databases.

cited

Print only the entries cited in the document.

notcited

Print only the entries not cited in the + document.

+

The default print mode is 'all'.

diff --git a/docs/xhtml/manual/latex.biblio.style.html b/docs/xhtml/manual/latex.biblio.style.html new file mode 100644 index 0000000..96c096b --- /dev/null +++ b/docs/xhtml/manual/latex.biblio.style.html @@ -0,0 +1,5 @@ + + +latex.biblio.style

latex.biblio.style

latex.biblio.style — Default BibTeX style to apply

Synopsis

<xsl:param name="latex.biblio.style"/>
+

Description

Defines the default BibTeX style to apply. Meaningful when not empty, +only for the used bibtex databases.

diff --git a/docs/xhtml/manual/latex.bibwidelabel.html b/docs/xhtml/manual/latex.bibwidelabel.html new file mode 100644 index 0000000..e7c0212 --- /dev/null +++ b/docs/xhtml/manual/latex.bibwidelabel.html @@ -0,0 +1,9 @@ + + +latex.bibwidelabel

latex.bibwidelabel

latex.bibwidelabel — Template of the widest bibliography label

Synopsis

+      <xsl:param name="latex.bibwidelabel">WIDELABEL</xsl:param>
+

Description

The environment bibliography accepts a parameter that indicates the + widest label, which is used to correctly format the bibliography output. + The value of this parameter is output inside the + \begin{thebibliography[]} LaTeX command. +

diff --git a/docs/xhtml/manual/latex.class.article.html b/docs/xhtml/manual/latex.class.article.html new file mode 100644 index 0000000..d51c802 --- /dev/null +++ b/docs/xhtml/manual/latex.class.article.html @@ -0,0 +1,7 @@ + + +latex.class.article

latex.class.article

latex.class.article — LaTeX document class to use for +article documents

Synopsis

+      <xsl:param name="latex.class.article">article</xsl:param>
+ 

Description

This parameter sets the document class to use for +article documents.

diff --git a/docs/xhtml/manual/latex.class.book.html b/docs/xhtml/manual/latex.class.book.html new file mode 100644 index 0000000..c0f5450 --- /dev/null +++ b/docs/xhtml/manual/latex.class.book.html @@ -0,0 +1,7 @@ + + +latex.class.book

latex.class.book

latex.class.book — LaTeX document class to use for +book documents

Synopsis

+      <xsl:param name="latex.class.book">report</xsl:param>
+ 

Description

This parameter sets the document class to use for +book documents.

diff --git a/docs/xhtml/manual/latex.class.options.html b/docs/xhtml/manual/latex.class.options.html new file mode 100644 index 0000000..c33d2c4 --- /dev/null +++ b/docs/xhtml/manual/latex.class.options.html @@ -0,0 +1,5 @@ + + +latex.class.options

latex.class.options

latex.class.options — Options passed to the \documentclass command

Synopsis

+      <xsl:param name="latex.class.options"/>
+ 

Description

Options passed to the \documentclass command.

diff --git a/docs/xhtml/manual/latex.encoding.html b/docs/xhtml/manual/latex.encoding.html new file mode 100644 index 0000000..f92871e --- /dev/null +++ b/docs/xhtml/manual/latex.encoding.html @@ -0,0 +1,8 @@ + + +latex.encoding

latex.encoding

latex.encoding — Encoding of the latex document to produce

Synopsis

+      <xsl:param name="latex.encoding">latin1</xsl:param>
+
+    

Description

Encoding of the latex document to produce. The supported values are: +"latin1" and "utf8". See the section called “Document Encoding” for more details +about how to use it.

diff --git a/docs/xhtml/manual/latex.engine.options.html b/docs/xhtml/manual/latex.engine.options.html new file mode 100644 index 0000000..6ecebda --- /dev/null +++ b/docs/xhtml/manual/latex.engine.options.html @@ -0,0 +1,17 @@ + + +latex.engine.options

latex.engine.options

latex.engine.options — Extra arguments to pass to the TeX engine

Synopsis

+      <xsl:param name="latex.engine.options"/>
+

Description

This parameter enables to pass some options or extra arguments to the + TeX engine used to compile the latex file built by + dblatex.

This can be usefull to tweak the PDF generation to meet some specific + needs that cannot be set through latex commands. The following example asks + to xelatex to produce PDF version 1.3 and to embed all + the fonts in the PDF file:

+$ dblatex -b xetex -V -P latex.engine.options="-output-driver='xdvipdfmx -V3 -E'" file.xml
+[...]
+xelatex -output-driver=xdvipdfmx -V3 -E -interaction=batchmode file.tex
+[...]
+xelatex -output-driver=xdvipdfmx -V3 -E -interaction=batchmode file.tex
+[...]
+    
diff --git a/docs/xhtml/manual/latex.hyperparam.html b/docs/xhtml/manual/latex.hyperparam.html new file mode 100644 index 0000000..1b1595f --- /dev/null +++ b/docs/xhtml/manual/latex.hyperparam.html @@ -0,0 +1,21 @@ + + +latex.hyperparam

latex.hyperparam

latex.hyperparam — Options/parameters passed to hyperref

Synopsis

+      <xsl:param name="latex.hyperparam"/>
+
+    

Description

+ This parameter gives the options to pass to the LaTeX hyperref package. No validity check is done. +

+ For instance, the Table of Content rendering (link color, etc.) can be changed. Look at the hyperref.sty documentation to know all the hyperref options available. +

Example A.1. Configuring with latex.hyperparam

+<?xml version='1.0' encoding="iso-8859-1"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'>
+ 
+<!-- We want TOC links in the titles (not in the page numbers), and blue. 
+ -->
+<xsl:param name="latex.hyperparam">colorlinks,linkcolor=blue</xsl:param>
+
+</xsl:stylesheet>
+   

diff --git a/docs/xhtml/manual/latex.index.language.html b/docs/xhtml/manual/latex.index.language.html new file mode 100644 index 0000000..729da0f --- /dev/null +++ b/docs/xhtml/manual/latex.index.language.html @@ -0,0 +1,10 @@ + + +latex.index.language

latex.index.language

latex.index.language — Force the language to use for index sorting

Synopsis

+      <xsl:param name="latex.index.language"/>
+
+    

Description

This parameter forces the use of the specified index language whatever +the document language is. The index language is used by some index tools like +xindy that +builds and sorts the index list. Read the section called “Creating an Index” for more +information about index building.

See Also

latex.index.tool.

diff --git a/docs/xhtml/manual/latex.index.tool.html b/docs/xhtml/manual/latex.index.tool.html new file mode 100644 index 0000000..c6b6025 --- /dev/null +++ b/docs/xhtml/manual/latex.index.tool.html @@ -0,0 +1,9 @@ + + +latex.index.tool

latex.index.tool

latex.index.tool — Define the tool to use to build an index

Synopsis

+      <xsl:param name="latex.index.tool"/>
+
+    

Description

This parameter defines the LaTeX compatible index tool +to use to build the document index. When empty the default tool used is makeindex. Currenty xindy is the only other +tool supported by dblatex. Read the section called “Creating an Index” for more +information about index building.

See Also

latex.index.language.

diff --git a/docs/xhtml/manual/latex.output.revhistory.html b/docs/xhtml/manual/latex.output.revhistory.html new file mode 100644 index 0000000..9fc3c34 --- /dev/null +++ b/docs/xhtml/manual/latex.output.revhistory.html @@ -0,0 +1,7 @@ + + +latex.output.revhistory

latex.output.revhistory

latex.output.revhistory — Print the revhistory table?

Synopsis

+      <xsl:param name="latex.output.revhistory">1</xsl:param>
+

Description

The revhistory data are formatted as a table of the + revisions if the parameter is non-zero. If the parameter is zero all the + revhistory data are skipped.

diff --git a/docs/xhtml/manual/latex.unicode.use.html b/docs/xhtml/manual/latex.unicode.use.html new file mode 100644 index 0000000..34b2511 --- /dev/null +++ b/docs/xhtml/manual/latex.unicode.use.html @@ -0,0 +1,6 @@ + + +latex.unicode.use

latex.unicode.use

latex.unicode.use — Use passivetex unicode support?

Synopsis

+      <xsl:param name="latex.unicode.use">0</xsl:param>
+ 

Description

Set to 1 the passivetex unicode support is included, allowing to handle +a wider range of Unicode characters (like cyrillic).

diff --git a/docs/xhtml/manual/linenumbering.default.html b/docs/xhtml/manual/linenumbering.default.html new file mode 100644 index 0000000..33e5ec5 --- /dev/null +++ b/docs/xhtml/manual/linenumbering.default.html @@ -0,0 +1,8 @@ + + +linenumbering.default

linenumbering.default

linenumbering.default — Default linenumbering setup for literal environments

Synopsis

+      <xsl:param name="linenumbering.default"/>
+

Description

This parameter defines the default linenumbering setup to apply to the + templates listed in linenumbering.scope that do not + have a linenumbering attribute.

The parameter value must be consistent and therefore compliant to the + values allowed for the linenumbering attribute.

See Also

linenumbering.scope, linenumbering.everyNth.

diff --git a/docs/xhtml/manual/linenumbering.everyNth.html b/docs/xhtml/manual/linenumbering.everyNth.html new file mode 100644 index 0000000..3653928 --- /dev/null +++ b/docs/xhtml/manual/linenumbering.everyNth.html @@ -0,0 +1,7 @@ + + +linenumbering.everyNth

linenumbering.everyNth

linenumbering.everyNth — Indicate which lines should be numbered

Synopsis

+      <xsl:param name="linenumbering.everyNth"/>
+

Description

If line numbering is enabled, everyNth line will be +numbered. Note that numbering is one based, not zero based. +

diff --git a/docs/xhtml/manual/linenumbering.scope.html b/docs/xhtml/manual/linenumbering.scope.html new file mode 100644 index 0000000..44a8ae4 --- /dev/null +++ b/docs/xhtml/manual/linenumbering.scope.html @@ -0,0 +1,11 @@ + + +linenumbering.scope

linenumbering.scope

linenumbering.scope — Templates on which the global linenumbering setup applies

Synopsis

+      <xsl:param name="linenumbering.scope"/>
+

Description

List of the templates for which the + linenumbering.default + parameter applies. The list + separator is a space. For example, when the parameter is set to + "screen programlisting", the two other linenumbering parameters will have + effects only on screen and + programlisting templates.

See Also

linenumbering.default, linenumbering.everyNth.

diff --git a/docs/xhtml/manual/literal.class.html b/docs/xhtml/manual/literal.class.html new file mode 100644 index 0000000..a15044c --- /dev/null +++ b/docs/xhtml/manual/literal.class.html @@ -0,0 +1,7 @@ + + +literal.class

literal.class

literal.class — Default class to apply to literallayout + blocks

Synopsis

+      <xsl:param name="literal.class">monospaced</xsl:param>
+

Description

Default class to apply when no class attribute is + set, to render literallayout environments.

diff --git a/docs/xhtml/manual/literal.environment.html b/docs/xhtml/manual/literal.environment.html new file mode 100644 index 0000000..1576d8b --- /dev/null +++ b/docs/xhtml/manual/literal.environment.html @@ -0,0 +1,21 @@ + + +literal.environment

literal.environment

literal.environment — Latex environment used to format verbatim blocks

Synopsis

+      <xsl:param name="literal.environment">
+  <xsl:choose>
+  <xsl:when test="contains($literal.extensions,'scale')">
+    <xsl:text>lstcode</xsl:text>
+  </xsl:when>
+  <xsl:otherwise>
+    <xsl:text>lstlisting</xsl:text>
+  </xsl:otherwise>
+  </xsl:choose>
+</xsl:param>
+

Description

It specifies the Latex environment to use to render a verbatim + block.

Since dblatex uses the listings package + capabilities to + handle the DocBook attributes, the specified environment must have the same + capabilities if written from scratch, but it is recommended to just extend + the listings environment with you own listings extension. See the section called “Creating a new Verbatim Environment” for more details.

The specified environment name must starts with + "lst". Otherwise dblatex raises an + error and exits.

See Also

literal.extensions.

diff --git a/docs/xhtml/manual/literal.extensions.html b/docs/xhtml/manual/literal.extensions.html new file mode 100644 index 0000000..971bbb0 --- /dev/null +++ b/docs/xhtml/manual/literal.extensions.html @@ -0,0 +1,7 @@ + + +literal.extensions

literal.extensions

literal.extensions — Enable extended verbatim features

Synopsis

+      <xsl:param name="literal.extensions">0</xsl:param>
+

Description

When this parameter is empty, dblatex only uses options supported by the listings package, in order to ensure that any verbatim environment built upon this standard package will work.

When this parameter contains "scale", dblatex uses + additionnal options handled only by the dblatex version of the + verbatim environment to provide scaling capabilities (see the section called “Scaling Feature”).

See Also

literal.environment.

diff --git a/docs/xhtml/manual/literal.layout.options.html b/docs/xhtml/manual/literal.layout.options.html new file mode 100644 index 0000000..bb04093 --- /dev/null +++ b/docs/xhtml/manual/literal.layout.options.html @@ -0,0 +1,6 @@ + + +literal.layout.options

literal.layout.options

literal.layout.options — Override the options passed to the listing + package

Synopsis

+      <xsl:param name="literal.layout.options"/>
+ 

Description

Overwrite the default options passed to the \lstset command.

diff --git a/docs/xhtml/manual/literal.lines.showall.html b/docs/xhtml/manual/literal.lines.showall.html new file mode 100644 index 0000000..73f928b --- /dev/null +++ b/docs/xhtml/manual/literal.lines.showall.html @@ -0,0 +1,8 @@ + + +literal.lines.showall

literal.lines.showall

literal.lines.showall — Show the last empty lines in the literal environments?

Synopsis

+      <xsl:param name="literal.lines.showall">1</xsl:param>
+
+    

Description

Set to 1, all the lines in a verbatim environment like programlisting +or screen are printed, even if they are empty. Set to 0, the last empty lines +are not printed. It is set to 1 by default.

diff --git a/docs/xhtml/manual/literal.role.html b/docs/xhtml/manual/literal.role.html new file mode 100644 index 0000000..27a6500 --- /dev/null +++ b/docs/xhtml/manual/literal.role.html @@ -0,0 +1,8 @@ + + +literal.role

literal.role

literal.role — Default role to apply to verbatim blocks

Synopsis

+      <xsl:param name="literal.role"/>
+

Description

When not empty and when no role attribute is + specified for a block verbatim block to render, this parameter is applied as + formatting role.

The allowed values are specified in the section called “Dblatex Specific Options”. If the value + is not one of the allowed value, the role is then ignored.

diff --git a/docs/xhtml/manual/literal.width.ignore.html b/docs/xhtml/manual/literal.width.ignore.html new file mode 100644 index 0000000..8c49fba --- /dev/null +++ b/docs/xhtml/manual/literal.width.ignore.html @@ -0,0 +1,7 @@ + + +literal.width.ignore

literal.width.ignore

literal.width.ignore — Ignore the literal environment width attribute

Synopsis

+      <xsl:param name="literal.width.ignore">0</xsl:param>
+ 

Description

When set to 1 the programlisting and screen width attribute is ignored. +In this case all the verbatim environment widths are equal to the enclosing +environment width.

diff --git a/docs/xhtml/manual/make.single.year.ranges.html b/docs/xhtml/manual/make.single.year.ranges.html new file mode 100644 index 0000000..f0fa903 --- /dev/null +++ b/docs/xhtml/manual/make.single.year.ranges.html @@ -0,0 +1,8 @@ + + +make.single.year.ranges

make.single.year.ranges

make.single.year.ranges — Print single-year ranges (e.g., 1998-1999)

Synopsis

+      <xsl:param name="make.single.year.ranges" select="0"/>
+
+    

Description

If non-zero, year ranges that span a single year will be printed in +range notation (1998-1999) instead of discrete notation (1998, 1999). +Parameter taken from the DocBook XSL stylesheets.

diff --git a/docs/xhtml/manual/make.year.ranges.html b/docs/xhtml/manual/make.year.ranges.html new file mode 100644 index 0000000..3a2f469 --- /dev/null +++ b/docs/xhtml/manual/make.year.ranges.html @@ -0,0 +1,6 @@ + + +make.year.ranges

make.year.ranges

make.year.ranges — Collate copyright years into ranges?

Synopsis

+      <xsl:param name="make.year.ranges" select="0"/>
+ 

Description

If non-zero, copyright years will be collated into ranges. Parameter +taken from the DocBook XSL stylesheets.

diff --git a/docs/xhtml/manual/manual.css b/docs/xhtml/manual/manual.css new file mode 100644 index 0000000..ac46671 --- /dev/null +++ b/docs/xhtml/manual/manual.css @@ -0,0 +1,122 @@ +/* + * Stylesheet copied from the DocBook XSL Stylesheets reference.css + */ + +div.legalnotice { + font-size: 80%; +} + +div.note, div.tip, div.warning { + margin-left: 5%; + margin-right: 10%; + padding: 5px; +} + +div.note, div.tip { + border-left: solid #d5dee3 20px; + border-right: solid #d5dee3 20px; +} + +div.note, div.tip { + border-left: solid palegreen 20px; + border-right: solid palegreen 20px; +} + +div.warning { + border-left: solid yellow 20px; + border-right: solid yellow 20px; +} + +div.note p, div.tip p, div.warning p { + margin-top: 0px; + margin-bottom: 4px; +} + +div.note h3, div.tip h3, div.warning h3 { + margin-top: 0; +} + +div.informalexample { + background-color: #d5dee3; + border-top-width: 2px; + border-top-style: double; + border-top-color: #d3d3d3; + border-bottom-width: 2px; + border-bottom-style: double; + border-bottom-color: #d3d3d3; + padding: 4px; + margin: 0em; + margin-left: 2em; +} + +pre.programlisting, pre.synopsis { + whitespace: pre; + font-family: monospace; + background-color: #d5dee3; + border-top-width: 1px; + border-top-style: single; + border-top-color: #d3d3d3; + border-bottom-width: 1px; + border-bottom-style: single; + border-bottom-color: #d3d3d3; + padding: 4px; + margin: 0em; + margin-top: 6px; + margin-bottom: 6px; +} + +div.informalexample pre { + whitespace: pre; + font-family: monospace; + border-top-width: 0px; + border-bottom-width: 0px; + padding: 0px; +} + +/* Parameter and PI titles */ +div.refnamediv h2 { + font-size: 2em; +} + +/* Table rendering */ +div.revhistory table, div.informaltable table { + border-collapse: collapse; + border-top: 0.5pt solid black; + border-bottom: 0.5pt solid black; + border-left: 0.5pt solid black; + border-right: 0.5pt solid black; +} + +div.revhistory td, div.revhistory th, +div.informaltable td, div.informaltable th { + padding: 2; +} + +/* TOC rendering */ +div.toc span.part { + font-family: Tahoma, Ariel, Helvetica, sans-serif; + font-weight: bold; + font-size: 20; + margin-top: 1in; +} + +div.toc span.glossary { + font-weight: bold; +} + +div.toc span.index { + font-weight: bold; +} + +div.toc span.preface { + font-weight: bold; +} + +div.toc span.appendix { + font-weight: bold; +} + +div.toc span.chapter { + font-weight: bold; +} + diff --git a/docs/xhtml/manual/mediaobject.caption.style.html b/docs/xhtml/manual/mediaobject.caption.style.html new file mode 100644 index 0000000..0f7d2ea --- /dev/null +++ b/docs/xhtml/manual/mediaobject.caption.style.html @@ -0,0 +1,7 @@ + + +mediaobject.caption.style

mediaobject.caption.style

mediaobject.caption.style — Font style of the mediaobject caption text

Synopsis

+      <xsl:param name="mediaobject.caption.style">\slshape</xsl:param>
+ 

Description

Font style of the mediaobject caption text. Its value can be any valid +latex font style command combinations. By default this parameter put the +caption text to italics.

diff --git a/docs/xhtml/manual/monoseq.hyphenation.html b/docs/xhtml/manual/monoseq.hyphenation.html new file mode 100644 index 0000000..40fe1c0 --- /dev/null +++ b/docs/xhtml/manual/monoseq.hyphenation.html @@ -0,0 +1,10 @@ + + +monoseq.hyphenation

monoseq.hyphenation

monoseq.hyphenation — Specifies one of the supported monoseq hyphenation policy

Synopsis

+      <xsl:param name="monoseq.hyphenation">1</xsl:param>
+ 

Description

This parameter is obsoleted in version 0.3.4 and has no more + effect. It has been replaced by the hyphenation.format.

Its role was: + when set to 1, aggressively hyphenates the inlined element rendered +with monoseq fonts. When set to 0, let latex do as default. When set to +'nohyphen', dblatex tries to avoid overfull boxes (words in the margins) but +keeps the monoseq words not splittable.

See Also

hyphenation.format

diff --git a/docs/xhtml/manual/monoseq.small.html b/docs/xhtml/manual/monoseq.small.html new file mode 100644 index 0000000..5b92506 --- /dev/null +++ b/docs/xhtml/manual/monoseq.small.html @@ -0,0 +1,14 @@ + + +monoseq.small

monoseq.small

monoseq.small — Use a smaller font to render monoseq portions of text

Synopsis

+      <xsl:param name="monoseq.small">0</xsl:param>
+ 

Description

When set to 1, choose a smaller font to the element rendered with +monoseq fonts.

Tip

If you use the XeTeX backend you do not need to use this parameter. + Instead, you can configure + the monospaced font used with a scale option as follow, + through the parameter xetex.font or via a user + latex style: +

+\setmonofont[Scale=MatchLowercase]{DejaVu Sans Mono}
+

+

diff --git a/docs/xhtml/manual/monospace.font.family.html b/docs/xhtml/manual/monospace.font.family.html new file mode 100644 index 0000000..21b7586 --- /dev/null +++ b/docs/xhtml/manual/monospace.font.family.html @@ -0,0 +1,7 @@ + + +monospace.font.family

monospace.font.family

monospace.font.family — The default font family for monospace environments

Synopsis

+      <xsl:param name="monospace.font.family">DejaVu Sans Mono</xsl:param>
+ 

Description

The monospace font family is used for verbatim environments +(program listings, screens, etc.).

Currently this parameter is taken into account only when the xetex + backend is used, through the xetex.font.

See Also

xetex.font

diff --git a/docs/xhtml/manual/newtbl.autowidth.html b/docs/xhtml/manual/newtbl.autowidth.html new file mode 100644 index 0000000..fff8dd1 --- /dev/null +++ b/docs/xhtml/manual/newtbl.autowidth.html @@ -0,0 +1,21 @@ + + +newtbl.autowidth

newtbl.autowidth

newtbl.autowidth — Table column widths sized by latex

Synopsis

+      <xsl:param name="newtbl.autowidth"/>
+
+    

Description

Defines if the table column widths must be automatically sized by + latex. The allowed values are: + +

default

The automatic width (that is, latex is in charge to size the column +width) is applied only to columns not having a specified +colspec colwidth. It includes both undefined +colspec, and colspec without the +colwidth attribute.

all

the automatic width is applied to any column, whether a colspec is +provided or not.

+

The default value is empty. This is the + same as none.

The values + all and default have + identical effect in the tabular presentation of + segmentedlists. + (segmentedlist elements have no + colwidth attribute.)

diff --git a/docs/xhtml/manual/newtbl.bgcolor.thead.html b/docs/xhtml/manual/newtbl.bgcolor.thead.html new file mode 100644 index 0000000..70edf4f --- /dev/null +++ b/docs/xhtml/manual/newtbl.bgcolor.thead.html @@ -0,0 +1,6 @@ + + +newtbl.bgcolor.thead

newtbl.bgcolor.thead

newtbl.bgcolor.thead — Background color of the thead rows

Synopsis

+      <xsl:param name="newtbl.bgcolor.thead"/>
+
+    

Description

Background color of the thead rows.

diff --git a/docs/xhtml/manual/newtbl.default.colsep.html b/docs/xhtml/manual/newtbl.default.colsep.html new file mode 100644 index 0000000..9a782cc --- /dev/null +++ b/docs/xhtml/manual/newtbl.default.colsep.html @@ -0,0 +1,7 @@ + + +newtbl.default.colsep

newtbl.default.colsep

newtbl.default.colsep — By default draw a vertical line between columns

Synopsis

+      <xsl:param name="newtbl.default.colsep" select="'1'"/>
+
+    

Description

Set to 1, print the column separators when no +colspec attribute is specified.

diff --git a/docs/xhtml/manual/newtbl.default.rowsep.html b/docs/xhtml/manual/newtbl.default.rowsep.html new file mode 100644 index 0000000..a4c7713 --- /dev/null +++ b/docs/xhtml/manual/newtbl.default.rowsep.html @@ -0,0 +1,7 @@ + + +newtbl.default.rowsep

newtbl.default.rowsep

newtbl.default.rowsep — By default draw a horizontal line between rows

Synopsis

+      <xsl:param name="newtbl.default.rowsep" select="'1'"/>
+
+    

Description

Set to 1, print the row separators when no rowspec +attribute is specified.

diff --git a/docs/xhtml/manual/newtbl.format.tbody.html b/docs/xhtml/manual/newtbl.format.tbody.html new file mode 100644 index 0000000..d376ca3 --- /dev/null +++ b/docs/xhtml/manual/newtbl.format.tbody.html @@ -0,0 +1,5 @@ + + +newtbl.format.tbody

newtbl.format.tbody

newtbl.format.tbody — LaTeX formatting for body table cells

Synopsis

+      <xsl:param name="newtbl.format.tbody"/>
+

Description

LaTeX formatting for body table cells.

diff --git a/docs/xhtml/manual/newtbl.format.tfoot.html b/docs/xhtml/manual/newtbl.format.tfoot.html new file mode 100644 index 0000000..2f5fb72 --- /dev/null +++ b/docs/xhtml/manual/newtbl.format.tfoot.html @@ -0,0 +1,5 @@ + + +newtbl.format.tfoot

newtbl.format.tfoot

newtbl.format.tfoot — LaTeX formatting for foot table cells

Synopsis

+      <xsl:param name="newtbl.format.tfoot"/>
+

Description

LaTeX formatting for foot table cells.

diff --git a/docs/xhtml/manual/newtbl.format.thead.html b/docs/xhtml/manual/newtbl.format.thead.html new file mode 100644 index 0000000..5a58729 --- /dev/null +++ b/docs/xhtml/manual/newtbl.format.thead.html @@ -0,0 +1,6 @@ + + +newtbl.format.thead

newtbl.format.thead

newtbl.format.thead — LaTeX formatting for head table cells

Synopsis

+      <xsl:param name="newtbl.format.thead">\bfseries%
+</xsl:param>
+

Description

LaTeX formatting for head table cells.

diff --git a/docs/xhtml/manual/newtbl.use.hhline.html b/docs/xhtml/manual/newtbl.use.hhline.html new file mode 100644 index 0000000..277e2c9 --- /dev/null +++ b/docs/xhtml/manual/newtbl.use.hhline.html @@ -0,0 +1,7 @@ + + +newtbl.use.hhline

newtbl.use.hhline

newtbl.use.hhline — Draw the horizontal lines with the hhline package

Synopsis

+      <xsl:param name="newtbl.use.hhline" select="'0'"/>
+

Description

Set to 1, use the hhline package to draw the table +row separators instead of cline. Using hhline seems more +suited for colored tables.

diff --git a/docs/xhtml/manual/olink.params.html b/docs/xhtml/manual/olink.params.html new file mode 100644 index 0000000..5bcf71a --- /dev/null +++ b/docs/xhtml/manual/olink.params.html @@ -0,0 +1,32 @@ + + +Olink Parameters

Olink Parameters + +

current.docid, insert.olink.page.number, insert.olink.pdf.frag, olink.base.uri, olink.debug, olink.doctitle, olink.lang.fallback.sequence, prefer.internal.olink, target.database.document, targets.filename, use.local.olink.style — Parameters to configure Olinks

Synopsis

+<xsl:param name="current.docid"/>
+
+<xsl:param name="insert.olink.page.number">yes</xsl:param>
+
+<xsl:param name="insert.olink.pdf.frag" select="1"/>
+
+<xsl:param name="olink.base.uri" select="''"/>
+
+<xsl:param name="olink.debug" select="0"/>
+
+<xsl:param name="olink.doctitle" select="'yes'"/>
+
+<xsl:param name="olink.lang.fallback.sequence" select="''"/>
+
+<xsl:param name="prefer.internal.olink" select="0"/>
+
+<xsl:param name="target.database.document" select="''"/>
+
+<xsl:param name="targets.filename" select="'target.db'"/>
+
+<xsl:param name="use.local.olink.style" select="0"/>
+ 

Description

These parameters are taken from the DocBook Project XSL parameters and + must be used as described in the original reference: +

+

diff --git a/docs/xhtml/manual/page.height.html b/docs/xhtml/manual/page.height.html new file mode 100644 index 0000000..481ae57 --- /dev/null +++ b/docs/xhtml/manual/page.height.html @@ -0,0 +1,8 @@ + + +page.height

page.height

page.height — The height of the physical page

Synopsis

+    <xsl:param name="page.height"/>
+

Description

The page height is generally calculated from the +paper.type +parameter. +

diff --git a/docs/xhtml/manual/page.margin.bottom.html b/docs/xhtml/manual/page.margin.bottom.html new file mode 100644 index 0000000..2cbc20a --- /dev/null +++ b/docs/xhtml/manual/page.margin.bottom.html @@ -0,0 +1,7 @@ + + +page.margin.bottom

page.margin.bottom

page.margin.bottom — The bottom margin of the page

Synopsis

+      <xsl:param name="page.margin.bottom"/>
+

Description

The bottom page margin is the distance from the bottom of the body +including the footer to the physical bottom of the page. +

When empty the used latex style layout applies.

diff --git a/docs/xhtml/manual/page.margin.inner.html b/docs/xhtml/manual/page.margin.inner.html new file mode 100644 index 0000000..f0b7c00 --- /dev/null +++ b/docs/xhtml/manual/page.margin.inner.html @@ -0,0 +1,13 @@ + + +page.margin.inner

page.margin.inner

page.margin.inner — The inner page margin

Synopsis

+    <xsl:param name="page.margin.inner"/>
+

Description

The inner page margin is the distance from bound edge of the +page to the first column of text.

The inner page margin is the distance from bound edge of the +page to the outer edge of the first column of text.

In left-to-right text direction, +this is the left margin of recto (front side) pages. +For single-sided output, it is the left margin +of all pages.

In right-to-left text direction, +this is the right margin of recto pages. +For single-sided output, this is the +right margin of all pages.

diff --git a/docs/xhtml/manual/page.margin.outer.html b/docs/xhtml/manual/page.margin.outer.html new file mode 100644 index 0000000..0f779f2 --- /dev/null +++ b/docs/xhtml/manual/page.margin.outer.html @@ -0,0 +1,12 @@ + + +page.margin.outer

page.margin.outer

page.margin.outer — The outer page margin

Synopsis

+    <xsl:param name="page.margin.outer"/>
+

Description

The outer page margin is the distance from non-bound edge of the +page to the outer edge of the last column of text.

In left-to-right text direction, +this is the right margin of recto (front side) pages. +For single-sided output, it is the right margin +of all pages.

In right-to-left text direction, +this is the left margin of recto pages. +For single-sided output, this is the +left margin of all pages.

diff --git a/docs/xhtml/manual/page.margin.top.html b/docs/xhtml/manual/page.margin.top.html new file mode 100644 index 0000000..8203a1a --- /dev/null +++ b/docs/xhtml/manual/page.margin.top.html @@ -0,0 +1,6 @@ + + +page.margin.top

page.margin.top

page.margin.top — The top margin of the page

Synopsis

+    <xsl:param name="page.margin.top"/>
+

Description

The top page margin is the distance from the physical top of the +page to the top of the body including the header.

diff --git a/docs/xhtml/manual/page.width.html b/docs/xhtml/manual/page.width.html new file mode 100644 index 0000000..c5ef1a4 --- /dev/null +++ b/docs/xhtml/manual/page.width.html @@ -0,0 +1,7 @@ + + +page.width

page.width

page.width — The width of the physical page

Synopsis

+    <xsl:param name="page.width"/>
+
+  

Description

The page width does not need to be specified when +paper.type is set.

diff --git a/docs/xhtml/manual/pagesetup2.png b/docs/xhtml/manual/pagesetup2.png new file mode 100644 index 0000000..3c2c6f9 Binary files /dev/null and b/docs/xhtml/manual/pagesetup2.png differ diff --git a/docs/xhtml/manual/paper.type.html b/docs/xhtml/manual/paper.type.html new file mode 100644 index 0000000..86d2909 --- /dev/null +++ b/docs/xhtml/manual/paper.type.html @@ -0,0 +1,10 @@ + + +paper.type

paper.type

paper.type — Select the paper type

Synopsis

+    <xsl:param name="paper.type"/>
+

Description

The paper type is a convenient way to specify the paper size. +The list of known paper sizes includes USletter and most of the A, +B, and C sizes.

When the parameter is empty, the default layout of the latex style used is +applied.

When not empty, the value is directly passed to the latex geometry +package, and therefore it must be a valid value understood by this +package.

diff --git a/docs/xhtml/manual/pdf.annot.options.html b/docs/xhtml/manual/pdf.annot.options.html new file mode 100644 index 0000000..9d83cb0 --- /dev/null +++ b/docs/xhtml/manual/pdf.annot.options.html @@ -0,0 +1,7 @@ + + +pdf.annot.options

pdf.annot.options

pdf.annot.options — PDF text annotations rendering options

Synopsis

+      <xsl:param name="pdf.annot.options"/>
+ 

Description

Options to change how the PDF text annotations should look. The +supported options are width, height, depth. The options must be comma +separated like: width=5cm,depth=10cm.

diff --git a/docs/xhtml/manual/pi-bibtex.html b/docs/xhtml/manual/pi-bibtex.html new file mode 100644 index 0000000..0d0229f --- /dev/null +++ b/docs/xhtml/manual/pi-bibtex.html @@ -0,0 +1,21 @@ + + +bibtex

bibtex

<?bibtex?> — Specify how to fill a Bibliography with BibTeX

Synopsis

<?bibtex bibfiles="bib/database1,bib/database2"
+                          bibstyle="plain"
+                          mode="cited"?>

Description

This Programming Instruction is usefull to include a bibliography + coming from an external bibliography database written in the well known + BibTeX format. Dblatex will call + bibtex to process the database.

The attributes supported by the PI are:

bibfiles

This attribute is mandatory and specifies the databases to use. +The databases are separated by +commas, and must not contain the file suffix (.bib). The bibfiles +paths must be absolute or relative to the base directory of the document. You +can also add some bibfile paths by using the -L option.

bibstyle

Optional attribute specifying the bibliographic style to apply for rendering +the databases. You can also change globally the style to apply with the +latex.biblio.style.

The actual style file used by +bibtex is searched in the default paths, but some extra paths +can be added by using the -l option.

mode

Optional print mode. The available values are: +

all

Print all the entries contained in the databases.

cited

Print only the entries cited in the document.

notcited

Print only the entries not cited in the + document.

+

When the attribute is not used, the + latex.biblio.output parameter is used as print mode. By + default the print mode is set to 'all'.

Context

Recognized in the bibliomixed element.

diff --git a/docs/xhtml/manual/pi-dblatex_angle.html b/docs/xhtml/manual/pi-dblatex_angle.html new file mode 100644 index 0000000..c152570 --- /dev/null +++ b/docs/xhtml/manual/pi-dblatex_angle.html @@ -0,0 +1,5 @@ + + +dblatex angle

dblatex angle

<?dblatex + angle?> — Rotates an imagedata Image

Synopsis

<?dblatex angle="90" ?>

Description

Rotates the designated image by the angle given, expressed in + degrees.

The default is no rotation.

Context

Recognized in the imagedata element.

diff --git a/docs/xhtml/manual/pi-dblatex_autowidth.html b/docs/xhtml/manual/pi-dblatex_autowidth.html new file mode 100644 index 0000000..377970a --- /dev/null +++ b/docs/xhtml/manual/pi-dblatex_autowidth.html @@ -0,0 +1,33 @@ + + +dblatex autowidth

dblatex autowidth

<?dblatex + autowidth?> — Column sizing by LaTeX in + segmentedlist tables

Synopsis

<?dblatex autowidth="all" ?>

Description

Defines, when segmentedlists are presented + in tabular form, whether the column widths are automatically sized + by latex. The allowed values are:

default

The automatic width (that is, latex is in charge to size the column +width) is applied only to columns not having a specified +colspec colwidth. It includes both undefined +colspec, and colspec without the +colwidth attribute.

all

the automatic width is applied to any column, whether a colspec is +provided or not.

In addition to these keywords, + autowidth can also take for its value + keywords of the form column: + N + ..., where N is + the number of the column (counting from 1) which is to have its + width automatically sized. Columns with numbers not referenced, + and not otherwise sized, will all have widths equally apportioned + from available space.

The values + all and default have + identical effect in the tabular presentation of + segmentedlists. + (segmentedlist elements have no + colwidth attribute.)

The <?dblatex + autowidth?> processing instruction + supersedes column width sizing specified by the default.table.width parameter or dblatex table-width processing instruction.

The default depends on + whether the overall table width is specified. When there is no + fixed table width columns default to the LaTeX default, the width + of the widest cell. This is the default when no parameters or + processing instructions are used. When a fixed table width is + specified the default is *, + proportional spacing.

Context

Recognized in the segmentedlist element.

diff --git a/docs/xhtml/manual/pi-dblatex_bgcolor.html b/docs/xhtml/manual/pi-dblatex_bgcolor.html new file mode 100644 index 0000000..04c6fb5 --- /dev/null +++ b/docs/xhtml/manual/pi-dblatex_bgcolor.html @@ -0,0 +1,16 @@ + + +dblatex bgcolor

dblatex bgcolor

<?dblatex + bgcolor?> — Sets the Background Color of A Table Element

Synopsis

<?dblatex bgcolor="#00FF00"?>
+<?dblatex bgcolor="{blue}"?>
+<?dblatex bgcolor="[gray]{0.8}"?>

Description

Set the background color of a table element. The color of a + child element is inherited from its parent, with the exception of + the color of row cells. These have a color which is inherited from + the column in which they appear so long as no color is specified + for the row. How the color is set, whether by attribute or by + processing instruction, does not matter.

The color can be expressed in hexadecimal +notation like for HTML (e.g. #C0C0C0) or in a syntax +understood by the colortbl latex package.

The default is the value of the table's + bgcolor attribute, or white when not otherwise + specified.

Context

Recognized in the following elements[1]:

  • col
  • colgroup
  • entry
  • entrytbl
  • row


[1] HTML table elements have attributes which allow color to + be specified.

diff --git a/docs/xhtml/manual/pi-dblatex_citestyle.html b/docs/xhtml/manual/pi-dblatex_citestyle.html new file mode 100644 index 0000000..62929e6 --- /dev/null +++ b/docs/xhtml/manual/pi-dblatex_citestyle.html @@ -0,0 +1,10 @@ + + +dblatex citestyle

dblatex citestyle

<?dblatex + citestyle?> — Sets Natbib Citation Style

Synopsis

<?dblatex citestyle="\citep[see][chap.  #2]"?>

Description

Applies the given natbib citation command to a citation. As + the value of citestyle is a LaTeX command, + if square brackets [ ] are part of the citation + text then the text must be enclosed in curly brackets { + } to protect them.

Context

Recognized in the citation element, only + when the citation.natbib.use parameter is set to + 1.

diff --git a/docs/xhtml/manual/pi-dblatex_colwidth.html b/docs/xhtml/manual/pi-dblatex_colwidth.html new file mode 100644 index 0000000..619c9ae --- /dev/null +++ b/docs/xhtml/manual/pi-dblatex_colwidth.html @@ -0,0 +1,32 @@ + + +dblatex colwidth

dblatex colwidth

<?dblatex + colwidth?> — Specifies a column width for + segmentedlists presented as tables

Synopsis

<?dblatex colwidth="3cm" ?>

Description

Specifies a column width for the columns of a + segmentedlist when presented as a table. (See + segmentedlist.as.table.) This is the width of the + cell content and does not include inter-cell spacing.

The colwidth attribute may take any + of the colspec's + colwidth attribute's values. These + are:

  • A valid TeX length (e.g. 4cm).

  • A proportional width specification of the form + N*, where + Nis a positive integer.

  • A combination of the above + (e.g. 3*+1cm). Spaces are not + allowed.

  • Any of the keywords allowed the default.table.width parameter: + autowidth.default, + autowidth.all, and + autowidth.none. The first two, + autowidth.default and + autowidth.none, have the same meaning -- + LaTeX determines the width of the column based on the width of + the widest cell value. autowidth.none + means the same as *, + proportional spacing.

The <?dblatex + colwidth?> processing instruction supersedes + any column width specified by the default.table.width parameter or dblatex table-width processing instruction.

The default depends on + whether the overall table width is specified. When there is no + fixed table width columns default to the LaTeX default, the width + of the widest cell. This is the default when no parameters or + processing instructions are used. When a fixed table width is + specified the default is *, + proportional spacing.

Context

Recognized in the segtitle element.

diff --git a/docs/xhtml/manual/pi-dblatex_list-presentation.html b/docs/xhtml/manual/pi-dblatex_list-presentation.html new file mode 100644 index 0000000..67b7215 --- /dev/null +++ b/docs/xhtml/manual/pi-dblatex_list-presentation.html @@ -0,0 +1,25 @@ + + +dblatex list-presentation

dblatex list-presentation

<?dblatex + list-presentation?> — + Specifies presentation style for a + segmentedlist

Synopsis

<?dblatex list-presentation="list|table" ?>

Description

Use the <?dblatex list-presentation?> PI + as a child of a segmentedlist to + control the presentation style for the list (to cause it, for + example, to be displayed as a table).

The value of list-presentation must be one of the + following: + +

list

Display as a term-by-term list. The + segmentedlist's seg + values are output like variablelist + listitem values, one per line. The + segtitle values appear as + variablelist terms + values do. Unlike a variablelist, the + list is formatted without indentation.

table

Display as a table. The segtitle + values are the column headings.

+

Context

Recognized in the segmentedlist element.

diff --git a/docs/xhtml/manual/pi-dblatex_table-width.html b/docs/xhtml/manual/pi-dblatex_table-width.html new file mode 100644 index 0000000..f5c3f21 --- /dev/null +++ b/docs/xhtml/manual/pi-dblatex_table-width.html @@ -0,0 +1,23 @@ + + +dblatex table-width

dblatex table-width

<?dblatex + table-width?> — Control the Automatic Width of a Table

Synopsis

<?dblatex table-width="12cm" ?>

Description

Set the width of a table. Used only when there is at least + one column in the table without a fixed width, the + table-width has precedence over other + determinants of a table's width.

The table.width takes the values + allowed for the default.table.width param, plus + more. The values shared with default.table.width are:

  • A valid length (e.g. 15cm),

  • A percentage of the page width (e.g. 75%),

  • A keyword telling to apply an automatic column width (e.g. +autowidth.all).

Automatic Column Width

If you want to apply an automatic width only to some +specific tables you can put the Processing Instruction <?dblatex +table-with="autowidth.scope" ?> in the +related tables. The PI has precedence over the +newtbl.autowidth parameter.

The scope can take the following values, + like in the newtbl.autowidth parameter:

default

The automatic width (that is, latex is in charge to size the column +width) is applied only to columns not having a specified +colspec colwidth. It includes both undefined +colspec, and colspec without the +colwidth attribute.

all

the automatic width is applied to any column, whether a colspec is +provided or not.

In addition to these keywords, table.width +can also take for its value keywords of the form +autowidth.column: N ..., where N is the number of the +column (counting from 1) which is to have its width automatically sized.

There is no default.

Context

Recognized in the table element.

diff --git a/docs/xhtml/manual/pi-latex.html b/docs/xhtml/manual/pi-latex.html new file mode 100644 index 0000000..2480b21 --- /dev/null +++ b/docs/xhtml/manual/pi-latex.html @@ -0,0 +1,62 @@ + + +latex

latex

<?latex?>, <?db2latex?> — Insert Arbitrary text into the LaTeX file

Synopsis

<?latex content ?>

Description

These Processing Instructions are unusual in that they have no + attribute. Instead, the + content is put directly into the + generated LaTeX document.

The <?db2latex?> PI is deprecated + and should not be used anymore. It was provided for backward + compatibility. Use the <?latex?> PI + instead.

This can provide the ultimate in customization, but can be + very dangerous since it breaks the abstractions provided by + dblatex.

Warning

These Processing Instructions can be used + to inject arbitrary LaTeX into the output stream. Please check if a + safer customization method can be used instead. See the other + customization methods.

While it is pretty clear that insertion of certain sorts + of LaTeX text, at some points within the document, will always + be expected to work, there is no guarantee that + any inserted LaTeX will continue to work in + the future with newer versions of dblatex or its underlying + software stack.

Inserting LaTeX into CDATA, i.e. in places + where document text appears, is likely to be more robust than + inserting LaTeX elsewhere. But again, no guarantees are + made.

Care must be taken with whitespace. Leading and trailing + spaces matter within the processing instruction. The + content consists of everything + following the first space and before the closing + ?>. Further care must be taken with any + whitespace which follows the processing instruction -- the TeX + tokenization scan may consume whitespace which follows the + processing instruction. One possible solution when this happens + is to end your content with the + \ character.

The <?latex?> Processing Instruction + takes special steps to work in verbatim blocks, + screen, programlisting, and + literallayout elements, while + <?db2latex?> is directly written as is.

Safe LaTeX Insertions

Although the latex processing instruction + can be dangerous there are a few latex + content values that are safe to use within + CDATA words, within the words of the actual text of + your document. The following content + values provide LaTeX with information it can use to improve your + document's formatting:

\-

Soft hyphen. A backslash followed by a dash indicates + a soft hyphen. LaTeX may or may not break the line and + hyphenate at this point. Useful when over-long variable + names and similar fail to hyphenate and thereby cause lines + to exceed their normal lengths.

Once a soft hyphen is inserted into a word the + insertion point becomes the only place at which hyphenation + is permitted in that occurrence of the word.

{}

Do not kern (join together) characters. An empty pair + of curly braces placed between two characters indicates that + the characters should not be joined together. Depending on + the font and the characters, some pairs of characters may be + joined together. E.g. a pair of lower-case + f characters may be have a their + crossbars joined. This may not be desirable, as when each + of the characters is a component of a separate word within a + larger compound word. Placing this PI between the + characters which are to remain separated prevents the two + characters from kerning.

{\kern0pt}

Really, do not kern (join together) characters. A + stronger version of {}.

\@

A backslash followed by the at sign, when placed after + a capital letter and before a period, indicates that the + period is the end of a sentence. Periods following capital + letters do not otherwise end sentences and sentences may be + used by LaTeX when determining layout.

Context

Recognized in all elements.

diff --git a/docs/xhtml/manual/pi-texmath_delimiters.html b/docs/xhtml/manual/pi-texmath_delimiters.html new file mode 100644 index 0000000..cb0ada5 --- /dev/null +++ b/docs/xhtml/manual/pi-texmath_delimiters.html @@ -0,0 +1,10 @@ + + +texmath delimiters

texmath delimiters

<?texmath + delimiters?> — Disable The LaTeX Mathematical Delimiters Control

Synopsis

<?texmath delimiters="user" ?>

Description

By default dblatex checks that +consistent mathematical +delimiters or environment are used in alt and it inserts the +default math mode delimiters if dblatex thinks they are missing, but +you can ask dblatex to write directly the alt content +without any action. To do this, use the texmath Processing +Instruction with delimiters set to 'user'.

Context

Recognized in the alt element.

diff --git a/docs/xhtml/manual/preface.tocdepth.html b/docs/xhtml/manual/preface.tocdepth.html new file mode 100644 index 0000000..d7012cb --- /dev/null +++ b/docs/xhtml/manual/preface.tocdepth.html @@ -0,0 +1,12 @@ + + +preface.tocdepth

preface.tocdepth

preface.tocdepth — How preface section and subsections appear in TOC

Synopsis

+      <xsl:param name="preface.tocdepth">0</xsl:param>
+
+    

Description

When greater than 0, the preface headings appear in the TOC. The +parameter value define the preface section depth appearing in the TOC and in +the bookmarks. If set to 0, none of the sections are put in the TOC. If set to +1, only the chapter level appears in the TOC and bookmarks, and so on. When +the parameter is negative, it behaves like with 0, but it uses the previous +implementation (use of unnumbered sections, that is, with latex heading +commands ending with '*').

diff --git a/docs/xhtml/manual/processus.png b/docs/xhtml/manual/processus.png new file mode 100644 index 0000000..33f928a Binary files /dev/null and b/docs/xhtml/manual/processus.png differ diff --git a/docs/xhtml/manual/qanda.defaultlabel.html b/docs/xhtml/manual/qanda.defaultlabel.html new file mode 100644 index 0000000..f8b3687 --- /dev/null +++ b/docs/xhtml/manual/qanda.defaultlabel.html @@ -0,0 +1,10 @@ + + +qanda.defaultlabel

qanda.defaultlabel

qanda.defaultlabel — Sets the default for defaultlabel on QandASet.

Synopsis

+      <xsl:param name="qanda.defaultlabel">number</xsl:param>
+

Description

If no defaultlabel attribute is specified on +a qandaset, this value is used. It must be one of the legal +values for the defaultlabel attribute, one from none, number or +qanda. The default value is 'number'. +

Meaning

qanda - questions are labeled “Q:” and answers are labeled “A:”.

number - The entries are enumerated.

none - No distinguishing label precedes Questions or Answers. +

diff --git a/docs/xhtml/manual/ref-dblatex.html b/docs/xhtml/manual/ref-dblatex.html new file mode 100644 index 0000000..f97a28e --- /dev/null +++ b/docs/xhtml/manual/ref-dblatex.html @@ -0,0 +1,166 @@ + + +dblatex

dblatex

dblatex — + convert DocBook to + LaTeX, DVI, + PostScript, and PDF +

Synopsis

dblatex [options] {file | -}

Description

+ dblatex is a program that transforms your + SGML/XML + DocBook documents to + DVI, PostScript or + PDF by translating them into pure + LaTeX as a first process. + MathML 2.0 markups are supported, too. + +

Options

+ A summary of options is included below. +

-h, --help
Show a help message and exit.
-b backend, + --backend=backend +
+ Backend driver to use: pdftex (default), + dvips, or xetex. + + See also the section called “Backend Drivers”. +
-B, --no-batch
All the tex output is printed.
-c config, -S config, --config=config
Configuration file. A configuration file can be used to group + all the options and customizations to apply. See + the section called “Dblatex Configuration File”. +
-d, --debug
+ Debug mode: Keep the temporary directory in which dblatex actually + works. the section called “Debugging your Style” explains how + you can use it. +
-D, --dump
+ Dump the error stack when an error occurs (debug purpose). +
-e indexstyle, --indexstyle indexstyle
+ Index style file to pass to makeindex instead of + the dblatex default index style. +
-f figure_format, + --fig-format=figure_format +
+ Input figure format: fig, + eps. Used when not deduced from figure file + extension. See also + the section called “ + Converting on the fly + ”. +
-F input_format, + --input-format=input_format +
+ Input file format: sgml, + xml (default). +
-i texinputs, + --texinputs texinputs +
Path added to TEXINPUTS
-I figure_path, + --fig-path=figure_path +
Additional lookup path of the figures. See the section called “ + Paths Lookup + ”.
-l bst_path, + --bst-path=bst_path +
Additional lookup path of the BibTeX styles. See the section called “Using BibTeX Databases”.
-L bib_path, + --bib-path=bib_path +
Additional lookup path of the BibTeX databases. See the section called “Using BibTeX Databases”.
-m xslt, + --xslt=xslt +
XSLT engine to use. The available engines are: + xsltproc (default), 4xslt, saxon.
-o output, --output=output
+ Output filename. When not specified, the input filename is used, with + the suffix of the output format. The option is ignored if several + books are chunked from a set. In this case the -O + option is applied instead. +
-O output_dir, --output-dir=output_dir
+ Output directory of the books built from a set. When not specified, + the current working directory is used instead. The option is ignored + if a single document is outputed, and the -o is + taken into account. +
-p xsl_user, + --xsl-user=xsl_user +
+ An XSL user stylesheet to use. Several + user stylesheets can be specified, but the option order is meaningful: a user stylesheet takes precedence over previously defined user stylesheets. + See the section called “Using XSL Parameters”. +
-P param=value + , + --param=param=value +
+ Set an XSL parameter from command line. + See the section called “Setting Command line Parameters”. +
-q, --quiet
+ Less verbose, showing only TeX output messages and error messages. +
-r [plugin:]script, + --texpost=[plugin:]script +
+ Script called at the very end of the tex compilation. Its role is to + modify the tex file or one of the compilation files before the last + round. The script can be a python plugin. + In this case add the prefix term 'plugin:'. + See the section called “Latex post process script”. +
-s latex_style, + --texstyle=latex_style +
+ Latex style to apply. It can be a package name, or directly a latex + package path. A package name must be without a directory + path and without the '.sty' extension. On the contrary, + a full latex package path can contain a directory path, but must ends with + the '.sty' extension. + See the section called “Customized LaTeX style”. +
-t format, --type=format
+ Output format. Available formats: tex, + dvi, ps, + pdf (default). +
--dvi
DVI output. Equivalent to -tdvi.
--pdf
PDF output. Equivalent to -tpdf.
--ps
+ PostScript output. Equivalent to -tps. +
-T style, --style=style
+ Output style, predefined are: db2latex, + simple, native + (default). See the section called “Output Formatting Style”. + +
-v, --version
Display the dblatex version.
-V, --verbose
Verbose mode, showing the running commands
-x xslt_options, + --xslt-opts=xslt_options +
+ Arguments directly passed to the XSLT + engine +
-X, --no-external
+ Disable the external text file support. This support is needed for + callouts on external files referenced by textdata + or imagedata, but it can be disabled if the document + does not contain such callouts. Disabling this support can improve the + processing performance for big documents. +

Files and Directories

$HOME/.dblatex/
+ User configuration directory. +
/etc/dblatex/
+ System-wide configuration directory. +

The predefined output styles are located in the installed package + directory.

Environment Variables

DBLATEX_CONFIG_FILES
+ Extra configuration directories that may contain some dblatex + configuration files. +

Examples

+ To produce myfile.pdf from + myfile.xml: +

dblatex myfile.xml

+

+ To set some XSL parameters from the command line: +

dblatex -P latex.babel.language=de myfile.xml

+

+ To use your XSL stylesheet: +

dblatex -p myconfig.xsl myfile.xml

+

+ To use the db2latex output style: +

dblatex -T db2latex myfile.xml

+

+ To apply your own latex style: +

dblatex -s mystyle myfile.xml
+dblatex -s /path/to/mystyle.sty myfile.xml

+

+ To pass extra arguments to the XSLT engine: +

dblatex -x "--path /path/to/load/entity" myfile.xml

+

+ To use dblatex and profiling: +

+xsltproc --param profile.attribute "'output'" \
+         --param profile.value "'pdf'" \
+         /path/to/profiling/profile.xsl \
+         myfile.xml | dblatex -o myfile.pdf -
+

+

+ To build a set of books: +

dblatex -O /path/to/chunk/dir -Pset.book.num=all myfile.xml

+

diff --git a/docs/xhtml/manual/refclass.suppress.html b/docs/xhtml/manual/refclass.suppress.html new file mode 100644 index 0000000..af4408d --- /dev/null +++ b/docs/xhtml/manual/refclass.suppress.html @@ -0,0 +1,5 @@ + + +refclass.suppress

refclass.suppress

refclass.suppress — Suppress display of refclass contents?

Synopsis

+      <xsl:param name="refclass.suppress" select="0"/>
+

Description

Parameter taken from the DocBook Project.

See refclass.suppress.

diff --git a/docs/xhtml/manual/refentry.generate.name.html b/docs/xhtml/manual/refentry.generate.name.html new file mode 100644 index 0000000..e992ab6 --- /dev/null +++ b/docs/xhtml/manual/refentry.generate.name.html @@ -0,0 +1,6 @@ + + +refentry.generate.name

refentry.generate.name

refentry.generate.name — Output NAME header before refnames?

Synopsis

+      <xsl:param name="refentry.generate.name" select="0"/>
+

Description

If non-zero, a "NAME" section title is output before the list +of refnames.

diff --git a/docs/xhtml/manual/refentry.numbered.html b/docs/xhtml/manual/refentry.numbered.html new file mode 100644 index 0000000..88dec00 --- /dev/null +++ b/docs/xhtml/manual/refentry.numbered.html @@ -0,0 +1,7 @@ + + +refentry.numbered

refentry.numbered

refentry.numbered — Should refentry headings be numbered?

Synopsis

+      <xsl:param name="refentry.numbered">1</xsl:param>
+
+    

Description

Defines either the refentry titles are numbered or +not. When numbered, it is displayed as any other numbered section.

See Also

refentry.tocdepth.

glossary.numbered, glossary.tocdepth.

bibliography.numbered, bibliography.tocdepth.

index.numbered, index.tocdepth.

diff --git a/docs/xhtml/manual/refentry.tocdepth.html b/docs/xhtml/manual/refentry.tocdepth.html new file mode 100644 index 0000000..951ff53 --- /dev/null +++ b/docs/xhtml/manual/refentry.tocdepth.html @@ -0,0 +1,8 @@ + + +refentry.tocdepth

refentry.tocdepth

refentry.tocdepth — How refentry section and subsections appear in TOC

Synopsis

+      <xsl:param name="refentry.tocdepth">5</xsl:param>
+
+    

Description

Same than preface.tocdepth for refentry +sections. Meaningful only when refentry.numbered is set +to 0.

diff --git a/docs/xhtml/manual/refentry.xref.manvolnum.html b/docs/xhtml/manual/refentry.xref.manvolnum.html new file mode 100644 index 0000000..e19f3f1 --- /dev/null +++ b/docs/xhtml/manual/refentry.xref.manvolnum.html @@ -0,0 +1,9 @@ + + +refentry.xref.manvolnum

refentry.xref.manvolnum

refentry.xref.manvolnum — Output manvolnum as part of +refentry cross-reference?

Synopsis

+      <xsl:param name="refentry.xref.manvolnum" select="'1'"/>
+

Description

if non-zero, the manvolnum is used when +cross-referencing refentrys, either with +xref or citerefentry. +

diff --git a/docs/xhtml/manual/sans.font.family.html b/docs/xhtml/manual/sans.font.family.html new file mode 100644 index 0000000..497a2d6 --- /dev/null +++ b/docs/xhtml/manual/sans.font.family.html @@ -0,0 +1,6 @@ + + +sans.font.family

sans.font.family

sans.font.family — The default sans-serif font family

Synopsis

+      <xsl:param name="sans.font.family">DejaVu Sans</xsl:param>
+ 

Description

The default sans-serif font family.

Currently this parameter is taken into account only when the xetex + backend is used, through the xetex.font.

See Also

xetex.font

diff --git a/docs/xhtml/manual/sec-changelog.html b/docs/xhtml/manual/sec-changelog.html new file mode 100644 index 0000000..1a3fc6e --- /dev/null +++ b/docs/xhtml/manual/sec-changelog.html @@ -0,0 +1,4 @@ + + +Change History

Change History

See the Release Notes to have the dblatex +change history.

diff --git a/docs/xhtml/manual/sec-covers.html b/docs/xhtml/manual/sec-covers.html new file mode 100644 index 0000000..73481bc --- /dev/null +++ b/docs/xhtml/manual/sec-covers.html @@ -0,0 +1,62 @@ + + +Book Covers

Book Covers

Since version 0.3.10 dblatex provides a basic support for page-size +covers, when covers are defined as images to insert at the beginning of the +document (front cover), or at the very end of the document (back cover).

To specify a cover, set in the book information element, +info or bookinfo, the images to use in +some cover elements (DocBook 5) or in +mediaobject with role set to cover +(DocBook 4).

If two covers are specified, it is assumed that the first one is for the +front cover, and the second one for the back cover. You can play with standard +imagedata width or depth attributes to ensure that the image +is sized to fit the page covers.

Here are two examples: +

Example 3.2. DocBook 5 Front and Back Covers

<book>
+ <info>
+   ...
+   <cover>
+     <mediaobject>
+       <imageobject>
+         <imagedata fileref="cover-front-72dpi.png"
+                    format="PNG" depth="100%" width="100%" align="left"/>
+       </imageobject>
+     </mediaobject>
+   </cover>
+   <cover>
+     <mediaobject>
+       <imageobject>
+         <imagedata fileref="cover-back-72dpi.png"
+                    format="PNG" depth="100%" width="100%" />
+       </imageobject>
+     </mediaobject>
+   </cover>
+ </info>
+ ...
+</book>


+

Example 3.3. DocBook 4 Front Cover

<book>
+ <bookinfo>
+   ...
+   <mediaobject role="cover">
+     <imageobject role="front-large">
+       <imagedata fileref="cover-front-72dpi.png" format="PNG" width="100%" />
+     </imageobject>
+     <imageobject role="front">
+       <imagedata fileref="cover-front-10dpi.png" format="PNG" width="444" />
+     </imageobject>
+     <imageobject role="front-small">
+       <imagedata fileref="cover-front-10dpi.png" format="PNG" width="444" />
+     </imageobject>
+     <imageobject role="thumbnail">
+       <imagedata fileref="cover-front-10dpi.png" format="PNG" width="444" />
+     </imageobject>
+   </mediaobject>
+   ...
+ </bookinfo>
+ ...
+</book>


+

Note that in DocBook 4, dblatex filters on the same +roles for mediaobject (cover) or for +imageobject (front-large) than +the DocBook Project does when it implement covers in epub format.

dblatex defines default templates +front.cover and back.cover to implement +covers through images, but you can overwrite them to create your own +method to build covers.

diff --git a/docs/xhtml/manual/sec-custom-latex.html b/docs/xhtml/manual/sec-custom-latex.html new file mode 100644 index 0000000..050b0f4 --- /dev/null +++ b/docs/xhtml/manual/sec-custom-latex.html @@ -0,0 +1,98 @@ + + +Customized LaTeX style

Customized LaTeX style

+ The actual output rendering is done by the latex style package used, and not by the XSL stylesheets whose role is only to translate to latex. Users can provide their own LaTeX style file, in respect of some rules: +

  • + The LaTeX style package preamble must support all the options that the XSL stylesheets can pass to the package. +

  • + Some packages must be used to make all the thing work. +

  • + The docbook interface must be defined: the XSL stylesheets register some elements information in LaTeX commands. These commands or macro are the only ones specific to DocBook that are explicitely used by the XSL stylesheets. Other specific macros are used but are not intended to be changed by the user. These hidden macros are defined in the dbk_core latex package. +

+ The latex style file to use is specified by using the option --texstyle latex_style. An example of a simple LaTeX DocBook style is provided in the package. +

+ The --texstyle latex_style option + accepts a package name (no path and no .sty extension) + or a full style file path. If a full path is used, + the filename must ends with .sty. +

+# Give a package name and assume its path is already in TEXINPUTS
+dblatex --texstyle=mystyle file.xml
+
+# Give the full package path. The TEXINPUTS is then updated by dblatex
+dblatex --texstyle=./mystyle.sty file.xml
+

Reusing an existing LaTeX style

You can either create your latex style from scratch, in respect of the +interfaces described in the following sections, or you can simply reuse an +already existing style and override what you want. The latter method is easier +for small things to change.

Here is an example of a style package reusing the default docbook +style:

Example 4.3. Reused LaTeX style

+%%
+%% This style is derivated from the docbook one
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{mystyle}[2007/04/04 My DocBook Style]
+
+%% Just use the original package and pass the options
+\RequirePackageWithOptions{docbook}
+
+%% Redefine the paragraph layout
+\setlength\parskip{\medskipamount}
+\setlength\parindent{5pt}
+
+%% Redefine some french settings
+\babelsetup{fr}{%
+  \catcode`\«=\active
+  \catcode`\»=\active
+  \def«{u\og\ignorespaces}
+  \def»{v\unskip\fg}
+}
+
+

Package options

A compliant LaTeX style package supports the following options. The options are + provided by the XSL stylesheets according to the document attributes.

OptionRole
hyperlink, nohyperlinkIndicates if links in the document are provided or not
article, bookThe document is an article or a book

Needed packages

A LaTeX style package must at least include the following packages.

PackageDescription
dbk_coreCore LaTeX definitions and macros needed for +DocBook

DocBook interface

+ All the latex commands beginning with DBK are related to elements under bookinfo or articleinfo. +

CommandDescription
\DBKreferencemapped to pubsnumber
\DBKsitemapped to address
\DBKcopyrightmapped to copyright
\DBKdatemapped to date
\DBKeditionmapped to edition
\DBKpubdatemapped to pubdate
\DBKsubtitlemapped to subtitle
\DBKreleaseinfomapped to releaseinfo
\DBKlegalnoticeenvironment mapped to a legalnotice. The legal notices +are all put into the \DBKlegalblock command. It is up to the latex stylesheet to +decide where to put it in the document.
\DBKlegalblockwrapper command for the \DBKlegalnotice environments, used by the latex +stylesheet to decide where to put the legal notices in the document.
\DBKindexationThis command contains the +othercredit information translated to latex by the XSL. +This command must be placed where the othercredit shall appear in the +document.
\DBKindtableThis environnement must be defined by the +user to render the othercredit list. It can be displayed as +a table, listitem, description list, or anything that suits your need. +
\DBKinditemThis is an othercredit item.
\DBKrevtableThis environnement must be defined by the +user to render the revhistory table. Untill now it is not +really possible to customize it, since it must be a table with four columns, +each column for a revhistory piece of information. +
float exampleThis float is expected to be defined, and +is mapped to example. It is not defined by default by the +dbk_core package to allow the user to define its rendering (ruled or not, +etc.) +
float dbequationThis float is expected to be defined, and +is mapped to equation. It is not defined by default by the +dbk_core package to allow the user to define its rendering (ruled or not, +etc.) +

Debugging your Style

It is not surprising if your first dblatex compilation fails with a fresh +LaTeX style. So, how to debug it when used with dblatex?

The following steps can help you:

  1. Compile your file in the debug mode (option -d). +When the compilation is done, the temporary working directory will not be +removed. +

    +$ dblatex --texstyle=./mystyle.sty -d file.xml
    +...
    +/tmp/tpub-ben-99629 is not removed
    +

    +

  2. Go under the building temporary directory, and set the environment +with the file env_tex. +

    +$ cd /tmp/tpub-ben-99629
    +$ . env_tex
    +

    +

  3. Compile the temporary latex file produced by the XSL stylesheets. Its +name has the suffix "_tmp.tex". +

    +$ pdflatex file_tmp.tex
    +$ [ many outputs here ]
    +

    +

  4. Now latex stops when it encounters an error so that you can debug +your stylesheet. +

diff --git a/docs/xhtml/manual/sec-custom.html b/docs/xhtml/manual/sec-custom.html new file mode 100644 index 0000000..34bcaca --- /dev/null +++ b/docs/xhtml/manual/sec-custom.html @@ -0,0 +1,23 @@ + + +Chapter 4. Customization

Chapter 4. Customization

+ The transformation process (and thus the output rendering) can be heavily customized by: +

+ All these customization methods can be used independently and in exceptional cases, but it can also be combined and registered in a master configuration file, called a specification file (cf. the section called “Dblatex Configuration File”) to create a new tool dedicated to your needs. +

Using XSL Parameters

+ The PDF rendering can be customised by using some XSL configuration + parameters. + Appendix A, Dblatex XSL Parameter Reference contains the reference documentation of + the available user-configurable parameters. +

diff --git a/docs/xhtml/manual/sec-figinclude.html b/docs/xhtml/manual/sec-figinclude.html new file mode 100644 index 0000000..9e383c1 --- /dev/null +++ b/docs/xhtml/manual/sec-figinclude.html @@ -0,0 +1,87 @@ + + +Figure Inclusion

+ Figure Inclusion +

+ Presentation +

+ The expected format of the included figures depends on the backend driver used: +

+ dvips: +

EPS format is required. +

+ pdftex: +

PDF or PNG format is required. +

+ In order to be able to use both backends, it is wise to not write the suffix of the file that references the figure. The suffix will be deduced from the backend used. +

+ The figures must either already exists in the expected format, or must be able to be converted on the fly. +

Example 3.4. Figure inclusion

+<figure id="fig-exemple1"> 
+  <title>Components</title> 
+  <mediaobject>
+    <imageobject> 
+      <imagedata fileref="path/figure1" align="center" scale="70"> 
+    </imageobject> 
+  </mediaobject>
+</figure>
+   

+ Converting on the fly +

When it is needed dblatex tries to automatically convert the figures to + the expected format (i.e. EPS or PDF). The principle is to detect the original + figure format from the suffix of the fileref attribute. If no suffix is given, + the tool checks if a file whose basename is conformant with the + fileref attribute and with one of the predefined suffixes exists (that is, ".eps", + ".fig", ".pdf", or ".png"). If such a file exists, conversion is done from the + original format found. +

+ The option -f fig_format allows to specify the default included figures format (fig_format), that will be used when automatic format scanning gives no result. Then, the tool converts the figures from the specified format to the expected one. +

+ If the specified format is unknown, no conversion is done. The supported formats are: +

+ fig: +

native format of the figures produced by XFig. +

+ eps: +

Encapsulated PostScript format. This format shall be specified only when using the pdftex backend. +

Example 3.5. Figure conversion

+ The following command compiles a document that contains figures produced with XFig. +

+% dblatex -f fig mydoc.sgml
+   

+ Paths Lookup +

+ You can use and cumulate the option -I path to specify where the figures are. The given paths can be absolute or relative. + The paths are added to the document root path. +

Example 3.6. Figures lookup

+ This example shows how figure lookup is done. Let's consider this document source: +

+<figure id="fig-example1"> 
+  <title>Composants</title> 
+  <mediaobject>
+    <imageobject> 
+      <imagedata fileref="rep1/rep2/figure1" align="center" scale="70"> 
+    </imageobject> 
+  </mediaobject>
+</figure>
+   

+ And the document is compiled like this: +

+% dblatex -I /another/path -I /last/case /initial/path/document.sgml
+   

+ The figure1 lookup is done in the following directories, in respect of the order: +

  • + /initial/path/rep1/rep2 ; +

  • + /another/path/rep1/rep2 ; +

  • + /last/case/rep1/rep2. +


diff --git a/docs/xhtml/manual/sec-footnote.html b/docs/xhtml/manual/sec-footnote.html new file mode 100644 index 0000000..e757035 --- /dev/null +++ b/docs/xhtml/manual/sec-footnote.html @@ -0,0 +1,122 @@ + + +Footnotes

Footnotes

Footnote Numbering Scope

The foonotes are well handled by latex. Dblatex just takes care about +special cases like footnotes in headings or in tables. Therefore the default +latex behaviour is applied for footnote numbering.

By default the footnote numbers are reset for each new chapter. If you +want to change the numbering scope, you can use the latex package chngcntr either in a customized latex style (see Chapter 4, Customization) or in the parameter latex.begindocument. The following example makes the footnote numbers document wide.

+  <xsl:param name="latex.begindocument">
+    <xsl:text>
+% Want document wide footnotes
+\usepackage{chngcntr}
+\counterwithout{footnote}{chapter}
+\begin{document}
+    </xsl:text>
+  </xsl:param>
+

End Notes

You can configure dblatex to manage the footnotes as +endnotes. In this case the notes are expected to be displayed in a dedicated +section. The following sections tell how to do this.

Writing a document with endnotes

To have footnotes behaving as endnotes, you just need to set the +footnote.as.endnote to 1, and to put in your document an +empty index element with the attribute +type set to 'endnotes'. This index is supposed to be included +in a section dedicated to contain the notes, and therefore it does not display +any heading by itself. The section containing the endnotes index can also +contain any other materials.

Example 3.17. Writing a document with endnotes

The following document contains some footnotes and a section for +the End Notes: +

+<book>
+  <chapter><title>A Chapter</title>
+  <para>Bla bla<footnote id="fn1">First note</footnote> bla 
+  bla<footnote id="fn2">Second note</footnote> ...</para>
+  </chapter>
+
+  <chapter><title>Another Chapter</title>
+  <para>Bla bla<footnote id="fn3">Third note</footnote> bla 
+  bla<footnote id="fn4">Fourth note</footnote> ...</para>
+  </chapter>
+
+  <chapter><title>End Notes</title>
+  <para>This chapter contains all the notes of the book.</para>
+
+  <index type="endnotes"/>
+  </chapter>
+</book>
+

+

dblatex is called with:

$ dblatex -P footnote.as.endnote=1 file.xml

Setup Properties

Currently the endnotes are handled by the latex package +endnotes. You can customize its use with +the endnotes.properties attribute set. This attribute set +is filled by default with the values given by the internal attribute set +endnotes.properties.default, and you can override the +following attributes:

package
Recall the latex package in charge to handle the + endnotes. Attribute provided for provision since currently there is + no real alternative with well established packages.
heading
Macros to render the heading of the endnotes + to display.
font-size
Macro specifying the font size to apply for each endnote. + The package default is \footnotesize. The dblatex default + is \normalsize.
note-format
Macros specifying how the render a end note. The + package default is the same formatting that footnotes. The dblatex + default is to print out endnotes like a numbered list.

The default setup:

+<xsl:attribute-set name="endnotes.properties.default">
+  <xsl:attribute name="package">endnotes</xsl:attribute>
+
+  <!-- No header: endnotes are embedded in another section -->
+  <xsl:attribute name="heading">\mbox{}\par</xsl:attribute>
+
+  <!-- Show end notes as a numbered list -->
+  <xsl:attribute name="font-size">\normalsize</xsl:attribute>
+  <xsl:attribute name="note-format">%
+  \leftskip=1.8em\noindent
+  \makebox[0pt][r]{\theenmark.~~\rule{0pt}{\baselineskip}}\ignorespaces
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="endnotes.properties"
+                   use-attribute-sets="endnotes.properties.default"/>
+

Endnotes Setup from scratch

If you want to fully control the endnotes setup, add some other macros, +you can directly override the +template endnotes.setup, as shown by the example below. +If the endnote setup is already defined in your latex style you can override +the template to make it empty in order to avoid some conflict between the latex style +definition and the default one done by dblatex.

+<!-- Use the default endnotes package setup and change the heading -->
+<xsl:template name="endnotes.setup">
+  <xsl:text>\usepackage{endnotes}&#10;</xsl:text>
+  <xsl:text>\def\enoteheading{\paragraph*{List Of Notes}%
+  \mbox{}\par\vskip-\baselineskip}&#10;</xsl:text>
+</xsl:template>
+

Grouping Endnotes

By default the endnotes are displayed for the whole document as a global +list. You can configure dblatex to show the endnotes grouped per part or per chapter. A heading is put before each group of notes to recall the component (part, chapter, or another section) that contains these notes. The purpose is to make the research of the notes at the end of the document easier for the reader.

To group the endnotes according to the granularity you wish, +you just need to +set the endnotes.heading.groups with the expected section +types separated by a space. For example, the following setup displays +notes per part and per chapter:

+  <xsl:param name="footnote.as.endnote" select="1"/>
+  <xsl:param name="endnotes.heading.groups" select="'part chapter'"/>
+
Adding new Groups

By default dblatex can group the notes per chapter and/or per part, +provided that the section type is declared in endnotes.heading.groups as explained previously. If you want to add another section type you need to override the template called in mode endnotes, and to add this type to the declared groups. Usually the endnotes mode template only calls the endnotes.add.header template. The example below makes a new group for preface.

+  <xsl:param name="endnotes.heading.groups" select="'part chapter preface'"/>
+
+  <xsl:template match="preface" mode="endnotes">
+    <xsl:call-template name="endnotes.add.header">
+      <xsl:with-param name="reset-counter" select="1"/>
+    </xsl:call-template>
+  </xsl:template>
+
Formatting the Headings text

You can use the parameter +endnotes.heading.style to format the headings of the groups with the same syntax than xrefstyle does. The example below gives a template where the title and the page of the chapter containing +the notes are displayed.

+  <xsl:param name="endnotes.heading.style">
+    <xsl:text>template:Notes of the chapter "%t", page %p</xsl:text>
+  </xsl:param>
+
LaTeX Command to make the Headings

By default dblatex creates the headings of the groups +with a section command whose level is just below the level of the endnotes +section. For example, if the endnotes section is a chapter, the headings are +created by using a \section* latex command. If the endnotes +section is a section, the headings are done by using +\subsection*, and so on.

If this behaviour does not fit your needs you can specify the command to use with the parameter endnotes.heading.command. It can be usefull if you want to format these heading in a specific way. The heading markup produced following the endnotes.heading.style template is passed as an argument of +the specified command. The example below uses the command +\enoteheader* to create the headings. It assumes that this +macro is defined somewhere else (e.g. in a user latex style).

+  <xsl:param name="endnotes.heading.command" select="'\enoteheader*'"/>
+
Endnotes Counter Scope

By default the endnotes counter restarts from one in each chapter or +part when they are grouped. You can change this behaviour by overriding +the endnotes.counter.resetby parameter that lists +the section types where the counter is reset. If you want a global +counter running for the whole document, just set the parameter empty.

diff --git a/docs/xhtml/manual/sec-index.html b/docs/xhtml/manual/sec-index.html new file mode 100644 index 0000000..0fd83fc --- /dev/null +++ b/docs/xhtml/manual/sec-index.html @@ -0,0 +1,71 @@ + + +Creating an Index

Creating an Index

+ An index is automatically generated if some index entries (indexterm), telling the terms to put in the index, are written in the document. The keyword elements are not printed but are also added to the index. +

Example 3.13. Index Entry

+<para>In this paragraph is described the function 
+<function>strcpy</function><indexterm><primary>strcpy</primary></indexterm>.
+</para>
+  

+ The index is put at the end of the document. It is not possible to put it somewhere else. +

Internationalized Indexes

Indexing Tools

Makeindex is used by default to build the index. It works fine for latin charset but it is not +suited for other charsets and UTF-8 encoding. Moreover its sorting rule is +not suited for many languages.

Therefore dblatex gives the possibility to use +xindy that allows internationalized indexing. When xindy +is used, the sorting language used is deduced from the Docbook document lang. +If the document lang has no correspondance for xindy, or if you want to force +the use of a specific sorting language, you can specify the sorting language +to use. With Xindy you can +also provide your own sort rules, but see the official Xindy documentation +for more details.

A parameter is provided to use xindy instead of makeindex: +

  • latex.index.tool=xindy tells dblatex +to use xindy instead of makeindex (default).

+

A typical use is then: +

+dblatex -P latex.index.tool=xindy file.xml
+

+

Index Sorting

Makeindex has very few methods to change its +index sorting rules, except the -g and -L options which are not very hepfull in a DocBook context. On the contrary xindy can sort the index according to +a specific language.

When xindy is used as index tool, dblatex passes to +xindy through the xindy -L option +the language name corresponding to the lang attribute of the +document. If the document has no language or if xindy +does not support the document language, the default sorting is applied. In this +case you can use the following parameter: + +

  • latex.index.language specifies the +language used to sort the indexes. Currently this parameter is relevant +only for xindy. The language set must be known by xindy (see the xindy +documentation). When not set (or empty) the sorting language to apply +is deduced from the document lang.

+

The parameter can be used like any other like this: +

+dblatex -P latex.index.language=german-din file.xml
+

+ +But it can also be used through an XSL configuration file to provide new mapping +rules between ISO lang codes and known xindy languages, or override the current +mapping done by dblatex as shown in Example 3.14, “XSL Index Language Setup”. +

Example 3.14. XSL Index Language Setup

By default dblatex maps the de lang +code to the language named german-din, and has no +correspondance to map cy (Welsh) or eu +(Basque). The following setup provides a mapping for these cases: +

+<xsl:param name="latex.index.tool">xindy</xsl:param>
+
+<xsl:param name="latex.index.language">
+  <xsl:variable name="lang">
+    <xsl:call-template name="l10n.language">
+      <xsl:with-param name="target" select="(/set|/book|/article)[1]"/>
+      <xsl:with-param name="xref-context" select="true()"/>
+    </xsl:call-template>
+  </xsl:variable>
+
+  <!-- Define Xindy lang to use in specific cases -->
+  <xsl:choose>
+  <xsl:when test="$lang='de'">german-duden</xsl:when>
+  <xsl:when test="$lang='cy'">english</xsl:when>
+  <xsl:when test="$lang='eu'">french</xsl:when>
+  </xsl:choose>
+</xsl:param>
+ 

diff --git a/docs/xhtml/manual/sec-install-unix.html b/docs/xhtml/manual/sec-install-unix.html new file mode 100644 index 0000000..4781f95 --- /dev/null +++ b/docs/xhtml/manual/sec-install-unix.html @@ -0,0 +1,45 @@ + + +Installing on Unix like Systems

Installing on Unix like Systems

Dblatex Packages

Dblatex is packaged for these Systems or Distributions:

If you are installing on one of these distributions, follow their +recommended way of installation, and you can safely ignore the next sections +that give details for installing dblatex from the source tarball.

Dependencies

To work, the following items must be available:

  • An XSLT. xsltproc is the default XSLT used, but one +can also use 4suite or saxon.

  • The XML DocBook DTD.

  • A recent LaTeX distribution. The configure script checks that the needed +latex packages are available.

  • Python >= 2.4.

Installation

Installing the dependencies

To use the package, install properly the dependencies:

  1. Install Python if necessary.

  2. Install LaTeX.

  3. Install the XSLT. By default xsltproc is +used.

  4. Install the XML DocBook DTD.

  5. Create a catalog file, that defines where to find the DTD. Here is an +example:

    +PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" 
    +    "file:///usr/local/share/xml/docbook/dtd/4.1.2/docbookx.dtd"
    +    

    If the XML Gnome tools are available, it's a good idea to create an XML +catalog by using xmlcatalog such like this:

    +% xmlcatalog --noout --create mycatalog
    +% xmlcatalog --noout --add 'public' '-//OASIS//DTD DocBook XML V4.1.2//EN' \
    +                           'file://path/to/4.1.2/docbookx.dtd' mycatalog
    +    
  6. Add the catalog path to the SGML_CATALOG_FILES variable:

    export SGML_CATALOG_FILES=$SGML_CATALOG_FILES:/path/to/mycatalog
    +

    You can skip this step if you configure the dblatex installation with +the --catalogs option.

Installing from the source tarball

The steps to follow are the following:

  1. Untar the ball. For a bzipped release, do as follow:

    % tar xvfj dblatex-x.x.x.tar.bz2

    For a gzipped release, do as follow:

    % tar xvfz dblatex-x.x.x.tar.gz
  2. Install the package. The installation script preliminary checks the +dependencies. In the example, the dblatex script is +installed under /usr/local/bin and the other files are +installed under /usr/local/share/dblatex. Besides, the +--catalogs option tells where to find the catalogs.

    +% cd dblatex-x.x.x
    +% python ./setup.py install --prefix=/usr/local --catalogs=/path/to/mycatalog
    +

Installing from the Python Egg

Since version 0.3.2 dblatex is distributed as a Python Egg in the Python Package Index (PyPI). It requires to have easy_install installed.

The procedure to follow is:

  1. Call simply easy_install:

    +% easy_install dblatex
    +Searching for dblatex
    +Reading http://pypi.python.org/simple/dblatex/
    +Reading http://dblatex.sf.net
    +Best match: dblatex 0.3.1.1
    +Downloading http://pypi.python.org/packages/2.5/d/dblatex/dblatex-0.3.1.1-py2.5.egg#md5=8520d596e473ff544eb9dcdc5175d7ae
    +Processing dblatex-0.3.1.1-py2.5.egg
    +creating /path/to/dblatex-0.3.1.1-py2.5.egg
    +Extracting dblatex-0.3.1.1-py2.5.egg to /path/to
    +Adding dblatex 0.3.1.1 to easy-install.pth file
    +Installing dblatex script to /path/to
    +
    +Installed /path/to/dblatex-0.3.1.1-py2.5.egg
    +

That's it!

diff --git a/docs/xhtml/manual/sec-install.html b/docs/xhtml/manual/sec-install.html new file mode 100644 index 0000000..80682e1 --- /dev/null +++ b/docs/xhtml/manual/sec-install.html @@ -0,0 +1,5 @@ + + +Chapter 2. Installing the Package

Chapter 2. Installing the Package

Content

The source package contains the following:

docs/

Contains the files of this document.

etc/

Contains the XML configuration schemas, to use to validate your +configuration files.

latex/

Contains all the latex stuff: LaTeX style files, logos, and scripts to +compile the LaTeX output.

scripts/

Several scripts, including the main script of the package.

xsl/

XSL stylesheets.

tests/

Test files.

diff --git a/docs/xhtml/manual/sec-music.html b/docs/xhtml/manual/sec-music.html new file mode 100644 index 0000000..93d7d52 --- /dev/null +++ b/docs/xhtml/manual/sec-music.html @@ -0,0 +1,15 @@ + + +Musical Notation

Musical Notation

Dblatex does not itself present musical notation. Of course, +images of musical scores can be incorporated into dblatex output as +can any other sort of images. For a more comprehensive solution which +better integrates the typesetting of text with musical notation the +LilyPond project (http://www.lilypond.org/) provides a +facility for including musical notation within DocBook documents. +LilyPond provides a program, lilypond-book, that +pre-processes DocBook documents containing LilyPond musical notation +and which can automatically invoke dblatex to +produce PDFs integrating musical notation with text.

Information regards lilypond-book is, at +present, found in LilyPond's Usage manual, the +Running lilypond-book chapter, the Integrating +music and text section.

diff --git a/docs/xhtml/manual/sec-pagesetup.html b/docs/xhtml/manual/sec-pagesetup.html new file mode 100644 index 0000000..74ea6f5 --- /dev/null +++ b/docs/xhtml/manual/sec-pagesetup.html @@ -0,0 +1,12 @@ + + +Global Page Setup

Global Page Setup

Since version 0.3.3 the user can specify to dblatex +the global page layout to apply, through some XSL parameters (see the section called “Pagination and General Styles”). It is +also possible to produce pre-press layouts with physical pages having some crops +(see the section called “Prepress”).

Figure 3.1, “Parameter Lengths used for Page Setup” shows the meaning of each parameter length. +Of course the example is a page with crops, only to be able to display the +crop lengths with the other lengths.

Figure 3.1. Parameter Lengths used for Page Setup

Parameter Lengths used for Page Setup

Warning

+The native dblatex style still contains some hard-coded lengths to format the +revhistory table. You should then disable the revision +history display. +

diff --git a/docs/xhtml/manual/sec-pagination-params.html b/docs/xhtml/manual/sec-pagination-params.html new file mode 100644 index 0000000..c7e05b5 --- /dev/null +++ b/docs/xhtml/manual/sec-pagination-params.html @@ -0,0 +1,5 @@ + + +Pagination and General Styles

Pagination and General Styles

page.height — The height of the physical page
page.margin.bottom — The bottom margin of the page
page.margin.inner — The inner page margin
page.margin.outer — The outer page margin
page.margin.top — The top margin of the page
page.width — The width of the physical page
paper.type — Select the paper type
geometry.options — Raw options to pass to the geometry package
doc.alignment — Specifies the text alignement of the document
doc.collab.show — Print the document collaborators (authors, etc.) in a table
doc.layout — Specifies the overall document layout.
doc.publisher.show — Print the dblatex logo on the cover page?
draft.mode — Select draft mode
draft.watermark — Print a Watermak on each page in draft mode?
latex.engine.options — Extra arguments to pass to the TeX engine
latex.class.article — LaTeX document class to use for +article documents
latex.class.book — LaTeX document class to use for +book documents
latex.class.options — Options passed to the \documentclass command
latex.encoding — Encoding of the latex document to produce
latex.unicode.use — Use passivetex unicode support?
latex.output.revhistory — Print the revhistory table?
diff --git a/docs/xhtml/manual/sec-param-value.html b/docs/xhtml/manual/sec-param-value.html new file mode 100644 index 0000000..f0ac232 --- /dev/null +++ b/docs/xhtml/manual/sec-param-value.html @@ -0,0 +1,9 @@ + + +Setting Command line Parameters

Setting Command line Parameters

You can set some XSL parameters directly from the command + line without creating a configuration parameter stylesheet, with the + -P parameter=value option.

The following example set the latex.hyperparam parameter value: +

+  dblatex -P latex.hyperparam=colorlinks,linkcolor=blue myfile.xml
+

+

diff --git a/docs/xhtml/manual/sec-params.html b/docs/xhtml/manual/sec-params.html new file mode 100644 index 0000000..66f18c2 --- /dev/null +++ b/docs/xhtml/manual/sec-params.html @@ -0,0 +1,22 @@ + + +Appendix A. Dblatex XSL Parameter Reference

Appendix A. Dblatex XSL Parameter Reference

Table of Contents

Admonitions
figure.caution — Figure to use to render a caution block.
figure.important — Figure to use to render a important block
figure.note — Figure to use to render a note block
figure.tip — Figure to use to render a tip block
figure.warning — Figure to use to render a warning + block
Callouts
callout.linkends.hot — Hot links callout items
calloutlist.style — Callout list style to apply
callout.markup.circled — Use black circles for numbering the callout items?
co.linkends.show — Show the references to calloutlist items next to the markup
imageobjectco.hide — Hide the callout markups on the image
ToC/LoT/Index Generation
doc.lot.show — Specifies the Lists of Titles to display
doc.toc.show — Print the Table Of Contents
titleabbrev.in.toc — Should titleabbrev be put in the TOC + instead of title?
toc.section.depth — How deep should recursive sections appear in the TOC?
bibliography.tocdepth — How bibliography section and subsections appear in TOC
colophon.tocdepth — How colophon section and subsections appear in TOC
dedication.tocdepth — How dedication section and subsections appear in TOC
preface.tocdepth — How preface section and subsections appear in TOC
glossary.tocdepth — How glossary section and subsections appear in TOC
index.tocdepth — How index section and subsections appear in TOC
latex.index.tool — Define the tool to use to build an index
latex.index.language — Force the language to use for index sorting
refentry.tocdepth — How refentry section and subsections appear in TOC
Processor Extensions
alt.use — Always use alt to display equations
tex.math.in.alt — TeX notation used for equations
Automatic labelling
bibliography.numbered — Should bibliography headings be numbered?
glossary.numbered — Should glossary headings be numbered?
index.numbered — Should index headings be numbered?
refentry.numbered — Should refentry headings be numbered?
Meta/*Info
doc.pdfcreator.show — Set the PDF metadata Creator field
make.single.year.ranges — Print single-year ranges (e.g., 1998-1999)
make.year.ranges — Collate copyright years into ranges?
Reference Pages
funcsynopsis.decoration — Decorate elements of a funcsynopsis?
funcsynopsis.style — What style of funcsynopsis should be generated?
function.parens — Generate parens after a function?
refclass.suppress — Suppress display of refclass contents?
refentry.generate.name — Output NAME header before refnames?
refentry.xref.manvolnum — Output manvolnum as part of +refentry cross-reference?
Tables
newtbl.autowidth — Table column widths sized by latex
newtbl.bgcolor.thead — Background color of the thead rows
newtbl.default.colsep — By default draw a vertical line between columns
newtbl.default.rowsep — By default draw a horizontal line between rows
newtbl.format.tbody — LaTeX formatting for body table cells
newtbl.format.tfoot — LaTeX formatting for foot table cells
newtbl.format.thead — LaTeX formatting for head table cells
newtbl.use.hhline — Draw the horizontal lines with the hhline package
table.continue.caption — Caption text for continued table titles
table.default.position — Default table float placement policy
table.default.tabstyle — Default table style to apply
table.in.float — Use or emulate a float to display a formal table?
table.title.top — Title on top of the table float
default.table.rules — The default column and row rules for tables using HTML markup
default.table.width — The default width of tables
Linking
latex.hyperparam — Options/parameters passed to hyperref
Olink Parameters + + — Parameters to configure Olinks
Cross References
insert.xref.page.number — Turns page numbers in xrefs on and off
insert.xref.page.number.para — Turns page numbers in xrefs to paragraphs on and + off
xref.hypermarkup — Wrap the entire the xref markups with an hyperlink?
Lists
term.breakline — Put the term description on the next line?
variablelist.term.separator — Text to separate terms within a multi-term +varlistentry
QAndASet
qanda.defaultlabel — Sets the default for defaultlabel on QandASet.
Bibliography
biblioentry.item.separator — Text to separate bibliography entries
biblioentry.numbered — Should biblioentry item labels be numbered?
citation.default.style — Default natbib citation style to apply
citation.natbib.options — Specifies the natbib package options
citation.natbib.use — Use natbib to display citations
latex.bibfiles — Defines the default BibTeX database to use
latex.biblio.output — Defines how the BibTeX bibliographic entries are printed out
latex.biblio.style — Default BibTeX style to apply
latex.bibwidelabel — Template of the widest bibliography label
Glossary
glossterm.auto.link — Generate links from glossterm to glossentry automatically?
Miscellaneous
annotation.support — Enable the annotation support
beginpage.as.pagebreak — Force a page break when set to 1. Otherwise + beginpage does nothing.
doc.section.depth — Depth of the section numbering
endnotes.heading.command — LaTeX command of the endnotes headings
endnotes.heading.groups — Display the endnotes by groups
endnotes.heading.style — Style of the heading of endnotes groups
endnotes.properties — Properties of the latex package endnotes setup
equation.default.position — Default equation float placement to apply
example.default.position — Default example float placement to apply
example.float.type — Select the type of float for example elements
figure.anchor.top — Cross reference anchor on top of the figure float
figure.default.position — Figure float placement policy
figure.title.top — Title on top of the figure float
filename.as.url — Hyphenate a filename like if is was an URL
footnote.as.endnote — Use footnotes as endnotes
hyphenation.format — Predefined formats to hyphenate
linenumbering.scope — Templates on which the global linenumbering setup applies
linenumbering.default — Default linenumbering setup for literal environments
linenumbering.everyNth — Indicate which lines should be numbered
literal.layout.options — Override the options passed to the listing + package
literal.lines.showall — Show the last empty lines in the literal environments?
literal.width.ignore — Ignore the literal environment width attribute
literal.class — Default class to apply to literallayout + blocks
literal.role — Default role to apply to verbatim blocks
literal.environment — Latex environment used to format verbatim blocks
literal.extensions — Enable extended verbatim features
mediaobject.caption.style — Font style of the mediaobject caption text
monoseq.hyphenation — Specifies one of the supported monoseq hyphenation policy
monoseq.small — Use a smaller font to render monoseq portions of text
pdf.annot.options — PDF text annotations rendering options
segmentedlist.as.table — Format segmented lists as tables?
seg.item.separator — Separator to use between several +segs
show.comments — Display remark elements?
texlive.version — Version of the installed Tex Live Distribution
ulink.footnotes — Generate footnotes for ulinks?
ulink.show — Display URLs after ulinks?
xref.with.number.and.title — Use number and title in cross references
Graphics
imagedata.boxed — Put the images into a framed box
imagedata.default.scale — Specifies the default image scaling properties
imagedata.file.check — Make the latex compilation robust to missing images
keep.relative.image.uris — Should image URIs be resolved against xml:base?
Chuncking
set.book.num — Select a single book or all the books to compile from a + set
use.id.as.filename — Use ID value of chunk elements as the filename?
Pagination and General Styles
page.height — The height of the physical page
page.margin.bottom — The bottom margin of the page
page.margin.inner — The inner page margin
page.margin.outer — The outer page margin
page.margin.top — The top margin of the page
page.width — The width of the physical page
paper.type — Select the paper type
geometry.options — Raw options to pass to the geometry package
doc.alignment — Specifies the text alignement of the document
doc.collab.show — Print the document collaborators (authors, etc.) in a table
doc.layout — Specifies the overall document layout.
doc.publisher.show — Print the dblatex logo on the cover page?
draft.mode — Select draft mode
draft.watermark — Print a Watermak on each page in draft mode?
latex.engine.options — Extra arguments to pass to the TeX engine
latex.class.article — LaTeX document class to use for +article documents
latex.class.book — LaTeX document class to use for +book documents
latex.class.options — Options passed to the \documentclass command
latex.encoding — Encoding of the latex document to produce
latex.unicode.use — Use passivetex unicode support?
latex.output.revhistory — Print the revhistory table?
Font Families
body.font.family — The default font family for body text
cjk.font — Fonts to use in CJK environments
monospace.font.family — The default font family for monospace environments
sans.font.family — The default sans-serif font family
xetex.font — Specifies the fonts that XeTeX must use
Localization
korean.package — Package included when Korean language is used
latex.babel.language — Force the loaded babel language
latex.babel.use — Disable the use of babel, whatever the document language is
Prepress
crop.marks — Output crop marks?
crop.paper.type — Select the paper type for paper with crops
crop.page.width — The width of the physical crop page
crop.page.height — The height of the physical crop page
crop.mode — How to display crops
crop.options — Raw options passed to the crop package

This is reference documentation for all user-configurable +parameters +in the dblatex XSL stylesheets.

The organization of the reference entries mimics the +FO Parameter Reference for people familiar with +the DocBook Project documentation.

Admonitions

figure.caution — Figure to use to render a caution block.
figure.important — Figure to use to render a important block
figure.note — Figure to use to render a note block
figure.tip — Figure to use to render a tip block
figure.warning — Figure to use to render a warning + block
diff --git a/docs/xhtml/manual/sec-pi-lists.html b/docs/xhtml/manual/sec-pi-lists.html new file mode 100644 index 0000000..5d253ce --- /dev/null +++ b/docs/xhtml/manual/sec-pi-lists.html @@ -0,0 +1,7 @@ + + +Lists

Lists

dblatex autowidth — Column sizing by LaTeX in + segmentedlist tables
dblatex colwidth — Specifies a column width for + segmentedlists presented as tables
dblatex list-presentation — + Specifies presentation style for a + segmentedlist
diff --git a/docs/xhtml/manual/sec-pi-usage.html b/docs/xhtml/manual/sec-pi-usage.html new file mode 100644 index 0000000..528da36 --- /dev/null +++ b/docs/xhtml/manual/sec-pi-usage.html @@ -0,0 +1,22 @@ + + +Using Processing Instructions

Using Processing Instructions

Dblatex has Processing Instructions (PI) which can modify the default + document formatting. Usually these instructions alter the + output formatting of specific DocBook elements, like table cells. +

To alter formatting globally it is better to set an + appropriate stylesheet + parameter.

Processing instructions are written + <?name + content ?>. Most + often content will have the form of one or more + XML attributes with a value, as follows: + <?name + attribute="value" ?>.

The list of the available Processing Instructions are given in Appendix B, Dblatex Processing Instruction Reference.

Here is an example of a PI used in a table:

Example 4.1. Table width specified with a Processing Instruction

<informaltable><?dblatex table-width="autowidth.column: 1 3"?>
+  <tgroup cols="4" colsep="1" rowsep="1" align="left">
+  <colspec colname="c1"/>                 <!-- automatic width is applied to column #1 -->
+  <colspec align="left" colwidth="*"/>
+  <colspec align="right" colwidth="5cm"/> <!-- automatic width is applied to column #3 -->
+  <colspec align="center" colwidth="3cm"/>
+  ...
+</informaltable>
+

diff --git a/docs/xhtml/manual/sec-pis.html b/docs/xhtml/manual/sec-pis.html new file mode 100644 index 0000000..f7712be --- /dev/null +++ b/docs/xhtml/manual/sec-pis.html @@ -0,0 +1,9 @@ + + +Appendix B. Dblatex Processing Instruction Reference

Appendix B. Dblatex Processing Instruction Reference

Table of Contents

Bibliography
bibtex — Specify how to fill a Bibliography with BibTeX
dblatex citestyle — Sets Natbib Citation Style
LaTeX
latex — Insert Arbitrary text into the LaTeX file
Miscellaneous
dblatex angle — Rotates an imagedata Image
texmath delimiters — Disable The LaTeX Mathematical Delimiters Control
Tables
dblatex bgcolor — Sets the Background Color of A Table Element
dblatex table-width — Control the Automatic Width of a Table
Lists
dblatex autowidth — Column sizing by LaTeX in + segmentedlist tables
dblatex colwidth — Specifies a column width for + segmentedlists presented as tables
dblatex list-presentation — + Specifies presentation style for a + segmentedlist

This is reference documentation for all processing +instructions +in the dblatex XSL stylesheets.

Bibliography

bibtex — Specify how to fill a Bibliography with BibTeX
dblatex citestyle — Sets Natbib Citation Style
diff --git a/docs/xhtml/manual/sec-prepress-params.html b/docs/xhtml/manual/sec-prepress-params.html new file mode 100644 index 0000000..f3525ca --- /dev/null +++ b/docs/xhtml/manual/sec-prepress-params.html @@ -0,0 +1,3 @@ + + +Prepress

Prepress

crop.marks — Output crop marks?
crop.paper.type — Select the paper type for paper with crops
crop.page.width — The width of the physical crop page
crop.page.height — The height of the physical crop page
crop.mode — How to display crops
crop.options — Raw options passed to the crop package
diff --git a/docs/xhtml/manual/sec-pub-output.html b/docs/xhtml/manual/sec-pub-output.html new file mode 100644 index 0000000..7b120e8 --- /dev/null +++ b/docs/xhtml/manual/sec-pub-output.html @@ -0,0 +1,87 @@ + + +Publishing Outputs

Publishing Outputs

Publishing a single document

The default publishing document units are: article +and book. The output file name is optionnaly specified by +the -o option.

You can also publish an article or book subset, i.e. you can run dblatex +on an XML input whose root element is a chapter, a +section, or anything else. In this case, dblatex wraps the +root element in an article or in a book +and print out a warning. The output subset does not contain any front matter +data found in an article or in a book (cover page, revision history, etc.), +but it can contain some back matter materials like an index.

$ dblatex subset.xml 
+Build the book set list...
+Build the listings...
+XSLT stylesheets DocBook - LaTeX 2e (0.2.11)
+===================================================
+Warning: the root element is not an article nor a book
+Warning: element section(sec-subset) wrapped with article
+Build subset.pdf
+...
+   

Publishing a Set of Books

When the document root element is a set, and when +set.book.num is set to 'all', +dblatex ouputs a file per book contained in the set (and in the nested sets). +In this case the -o option is ignored, and only the +-O option is taken into account to specify the output +directory that will contain the generated files.

Instead of building all the books, the user can publish a single book +from the set, by setting the set.book.num parameter to +the absolute position of the book in the set(s). By default +set.book.num is set to 1 to publish only the first +book.

The output file names are the book identifiers when +use.id.as.filename is non zero, and when an identifier +exists. If one of the two conditions are not met, the filename pattern is +"book<position in set>". +

Example: given the following set:

<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- setfile.xml. An example of set. All the books have an @id except one -->
+
+<!DOCTYPE set PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
+<set lang="en" id="a_set" xmlns:xi="http://www.w3.org/2001/XInclude">
+<title>Set Title</title>
+  <set>
+    <xi:include href="book1.xml"/>   <!-- book #1 -->
+    <xi:include href="book2.xml"/>   <!-- book #2 -->
+    <xi:include href="book3.xml"/>   <!-- book #3 -->
+  </set>
+  <set>
+    <set>
+      <xi:include href="bookA.xml"/> <!-- book #4 -->
+      <xi:include href="bookB.xml"/> <!-- book #5 -->
+    </set>
+    <set>
+      <xi:include href="bookC.xml"/> <!-- book #6 -->
+    </set>
+  </set>
+  <set>
+    <xi:include href="book4.xml"/>   <!-- book #7 -->
+    <!-- The following book, at 8th position in the sets, has no @id -->
+    <xi:include href="book5.xml"/>   <!-- book #8 -->
+    <xi:include href="book6.xml"/>   <!-- book #9 -->
+  </set>
+</set>

Publishing this set produces 9 books in the +pdfdir directory:

$ dblatex -O./pdfdir -Pset.book.num=all -Puse.id.as.filename=1 setfile.xml
+Build the book set list...
+Build the listings...
+XSLT stylesheets DocBook - LaTeX 2e (0.2.11)
+===================================================
+Output all the books from the set
+Writing sec1-mybook.rtex for book(sec1-mybook)
+Writing sec2-mybook.rtex for book(sec2-mybook)
+Writing sec3-mybook.rtex for book(sec3-mybook)
+Writing secA-mybook.rtex for book(secA-mybook)
+Writing book8.rtex for book
+Writing secC-mybook.rtex for book(secC-mybook)
+Writing sec4-mybook.rtex for book(sec4-mybook)
+Writing sec5-mybook.rtex for book(sec5-mybook)
+Writing sec6-mybook.rtex for book(sec6-mybook)
+...
+Files successfully built in '/path/to/set/pdfdir':
+sec1-mybook.pdf
+sec2-mybook.pdf
+sec3-mybook.pdf
+sec4-mybook.pdf
+book8.pdf
+sec6-mybook.pdf
+secA-mybook.pdf
+secB-mybook.pdf
+secC-mybook.pdf

diff --git a/docs/xhtml/manual/sec-section-num.html b/docs/xhtml/manual/sec-section-num.html new file mode 100644 index 0000000..1250f12 --- /dev/null +++ b/docs/xhtml/manual/sec-section-num.html @@ -0,0 +1,104 @@ + + +Chapter and Section numbering

Chapter and Section numbering

Depth of Section numbering and Table Of Content

Dblatex relies on latex to automatically compute the +chapter and section numbers. It also relies on latex to produce the headings +with these numbers, and to produce the Table Of Content containing these +entries.

Some specific sections like preface, +colophon, or dedication are not numbered +because they are displayed in front and back matters, but they can be listed in +the TOC if the related parameters are set +(dedication.tocdepth, preface.tocdepth, colophon.tocdepth).

More generally you can configure the depth of the chapter and section +numbering with the parameter doc.section.depth, and the +depth of the entries in the TOC with the parameter +toc.section.depth

. + +

Note however that an unumbered section +becomes an informal component, and therefore you can only link to such a section +by using a specific xrefstyle because their label built with the +automatic number does not exist anymore. The other drawback is that +all the sections included in an unnumbered section or chapter are +unnumbered.

Using the latex style for section numbering

A well customized latex style can be a powerfull yet versatile +alternative to the use of section and/or TOC depth parameter. With some latex +packages you can easily format the headings to remove the numbers, or transform them. See the section called “Customized LaTeX style” to know how to use your own latex +style with dblatex.

The benefit of this method is that you can fully control how the titles +must be displayed, you do not have to play with latex counters to have the right +depth, and the sections do not lost their formal number label.

The following example shows how you can customize the chapter title by +using the latex package titlesec, and shows how to remove the chapter label in +the Table Of Content with the package titletoc. Look in particular in the +listing where text is emphasized.

+\usepackage{titlesec}
+
+%% Example 1: Redefines the heading to remove the chapter label
+%% The 2nd parameter only contains \filcenter without any label
+\titleformat{\chapter}[block]
+{\filcenter\huge}{\filcenter}{20pt}{\Huge}
+
+%% Example 2: Put the chapter number in word
+%% The title of the first chapter is then displayed like this:
+%% "Chapter One <chapter title>"
+\newcommand\makeletterof[1]{%
+\ifthenelse{\equal{#1}{1}}{ONE}{%
+\ifthenelse{\equal{#1}{2}}{TWO}{%
+\ifthenelse{\equal{#1}{3}}{THREE}{%
+\ifthenelse{\equal{#1}{4}}{FOUR}{%
+\ifthenelse{\equal{#1}{5}}{FIVE}{%
+\ifthenelse{\equal{#1}{6}}{SIX}{%
+\ifthenelse{\equal{#1}{7}}{SEVEN}{%
+\ifthenelse{\equal{#1}{8}}{EIGHT}{%
+\ifthenelse{\equal{#1}{9}}{NINE}{%
+\ifthenelse{\equal{#1}{10}}{TEN}{%
+\ifthenelse{\equal{#1}{11}}{ELEVEN}{%
+\ifthenelse{\equal{#1}{12}}{TWELVE}{%
+#1}}}}}}}}}}}}}
+
+\titleformat{\chapter}[block]
+{\filcenter\ttfamily\huge}%
+{\filcenter\MakeUppercase{\chaptertitlename} \makeletterof{\thechapter}}{20pt}{\Huge}
+
+
+%% Make TOC entries for chapters without label
+\usepackage{titletoc}
+
+\titlecontents{chapter} %
+[1.5em] % 
+{\addvspace{1em plus 0pt}\bfseries} %
+{\hspace{-1.3em}} % no number, remove room reserved for it 
+{\hspace{-1.3em}} %
+{\hfill \contentspage} %
+[\addvspace {0pt}]
+

Using the label attribute

If you need to mix numbered and not numbered chapters, the numbering depth +parameters will not help. The latex style will not easily detect that for +some chapters the number should be displayed and for others it should not. +

To mix numbered and unnumbered chapters you can use a label with an +empty string for the chapters that must not be numbered, as shown by the example +below.

+<chapter id="intro" label=""><title>Introduction</title>
+  <!-- This chapter must be displayed with no number, like a preface -->
+</chapter>
+<chapter id="before" label=""><title>Pre-requisite</title>
+  <!-- This chapter must be displayed with no number, like a preface -->
+</chapter>
+<chapter id="chap1"><title>First chapter</title>
+  <!-- First numbered chapter -->
+</chapter>
+...
+<chapter id="after" label=""><title>Conclusion</title>
+  <!-- This chapter must be displayed with no number, like a colophon -->
+</chapter>
+...
+

You can also set a label to a specific integer to force a section +counter. In this case there is no more automatic numbering. The automatic +numbering then applies to the following sections that increment the counter +set for this section if there is no label.

+<chapter id="intro" label="2"><title>Introduction</title>
+  <!-- This chapter is forced to have number 2 (it should be 1) -->
+  <section id="s1" label="3"><title>Section 2.3</title>
+    <!-- This section is forced to have number 3 (it should be 1) -->
+    <section id="s11" label="4"><title>Section 2.3.4</title>
+      <!-- This section is forced to have number 4 (it should be 1) -->
+    </section>
+  </section>
+</chapter>
+
diff --git a/docs/xhtml/manual/sec-specs.html b/docs/xhtml/manual/sec-specs.html new file mode 100644 index 0000000..9116be8 --- /dev/null +++ b/docs/xhtml/manual/sec-specs.html @@ -0,0 +1,229 @@ + + +Dblatex Configuration File

Dblatex Configuration File

+ A configuration file, also called a specification file, can be used + to list all the customizations and options to apply. Such a file is passed + by using the + option -S config_file. Several + configuration files can be specified if needed; it can be usefull to have a + default setup and additional setup for specific needs that override or + complete the default configuration. +

XML Configuration File Format

+ You should use the XML format to configure dblatex. It contains more + features than the text format used up to the 0.3.7 release that is now + deprecated. The principle remains the same, that is, most of the + configuration parameters correspond to a command line option. +

+ Here is a full example of a configuration file. In the next sections the + meaning and use of the configuration tags are detailed. +

<?xml version="1.0" encoding="utf-8"?>
+<!-- ======================================================= -->
+<!-- Dblatex Configuration example for building a book       -->
+<!-- ======================================================= -->
+<config xmlns="http://dblatex.sourceforge.net/config" version="1.0">
+  <latex>
+    <backend use="xetex"/>
+    <texstyle use="dbsimple"/>
+    <texpost fileref="dblatex-postprocess"/>
+    <indexstyle fileref="../myindexstyle.ist"/>
+    <texinputs>../mystyledir:/etc/texmf/userfont</texinputs>
+  </latex>
+  <xslt>
+    <stylesheet fileref="user_param.xsl"/>
+    <stylesheet fileref="xetex_param.xsl"/>
+    <stylesheet fileref="pdf.xsl"/>
+  </xslt>
+  <imagedata>
+    <converter src="svg" dst="*" docformat="pdf">
+      <command>
+        inkscape -z -D --export-dpi=600 --export-%(dst)s=%(output)s %(input)s
+      </command>
+    </converter>
+  </imagedata>
+  <options>-X -V</options>
+</config>
+

+

+ Another example, much simpler, is the configuration file used for + this manual. +

Example 4.5. User Manual Configuration File

<?xml version="1.0" ?>
+<!--
+  ====================================================================
+  Configuration file for dblatex documentation (manual, release notes)
+  ====================================================================
+-->
+<config xmlns="http://dblatex.sourceforge.net/config">
+  <latex>
+    <texinputs>../latex//</texinputs>
+    <texstyle use="docbook"/>
+    <backend use="pdftex"/>
+  </latex>
+  <xslt>
+    <stylesheet fileref="manual.xsl"/>
+  </xslt>
+</config>
+

The following sections detail the meaning of each tag. Note that + dblatex provides some schema that you can use to validate your configuration + file.

<config>

It is the root element of a configuration file. A valid configuration + file must have a config root element.

Attributes: +

xmlns

The namespace to use for a dblatex configuration file is: + http://dblatex.sourceforge.net/config.

+

+ The following elements occur in config: + latex, xslt, + imagedata, options. +

<latex>

The latex element contains the configuration data related to the latex + processing.

Attributes: none

+ The following elements occur in latex: +

backend

It defines the latex engine to use, like the option + --backend does. The backend name is specified through the + use attribute.

texstyle

It defines the docbook latex style to use, like the option + --texstyle does. The latex package is specified through the + use attribute.

texpost

It defines the latex post-processing script to use, like the + option --texpost does. The script name is specified through the + use attribute or the fileref + attribute.

indexstyle

It defines index style file (.ist) to use, like the + option --indexstyle does. The filename is + specified through the fileref + attribute.

texinputs

The element text defines the extra paths to add to TEXINPUTS, + like the option --texinputs does.

bibinputs

The element text defines the lookup paths of BIBINPUTS, + like you would do by successive use of the option --bib-path. +

bstinputs

The element text defines the lookup paths of BSTINPUTS, + like you would do by successive use of the option --bst-path. +

+

<xslt>

The xslt element contains the configuration data related to the XSL + processing.

Attributes: none

+ The following elements occur in xslt: +

stylesheet

It defines a user stylesheet to use, like the option + --xsl-user does. The stylesheet name is specified through the + fileref attribute. If several + stylesheet elements are set, the precedence is the same + like using the option --xsl-user several times.

engine

See engine.

+

<engine>

It defines the XSLT processor to use; it can be either a predefined + engine, or a user-defined command to run.

When the attribute + use is used, it works like the option + --xslt. The engine name is specified through the + use attribute.

+ When the element contains the command or + commandchain child element it defines the command(s) + to run to perform the XSLT processing. The core keywords defined in + command apply. The additional keywords of an XSLT + engine command are the following: +

%(xmlfile)s

Replaced by the XML source file to + process.

%(stylesheet)s

Replaced by the stylesheet to use to process the + XML file xmlfile.

%(param_list)s

Replaced by the list of the XSL parameters to set. + The parameter pair formatting (the parameter name and its value) is + specified through the param-format attribute + given to the engine element.

+

Attributes: +

param-format

This attribute is mandatory when the engine is specified + through a command. It tells how a parameter name and + value pair shall be formatted when added to the XSLT engine command. + The formatting is given by a string containing the keywords replaced by + the name or value of the parameter to set: + +

%(param_name)s

Replaced by the name of the + parameter to set.

%(param_value)s

Replaced by the value to set to the + parameter.

+

+ The following example re-writes with a user-defined command the Saxon engine + with an additional -T option: +

+<xslt>
+  <engine param-format="%(param_name)s=%(param_value)s">
+    <command>
+    saxon-xslt -T -o %(output)s %(xmlfile)s
+                                %(stylesheet)s %(param_list)s</command>
+  </engine>
+</xslt>

+

<imagedata>

The imagedata element contains the rules and commands to convert + on the fly the images included in the docbook document.

Attributes: none

+ The following elements occur in imagedata: +

figpath

It defines a path where to find the images, like the + option --fig-path does.

figformat

It defines the default image format when no suffix is + available to deduce the actual format, like + --fig-format does.

formatrule

It specifies in which format an image must be + converted, depending on the context, given by some attributes: +

docformat

The output document for which the rule + applies. When not set the rule applies for any format

backend

The rule applies only when this backend is + used

dst

When the conditions are met the image shall be + converted to this format.

+

The following example: +

<formatrule docformat="pdf" backend="xetex" dst="pdf"/>

+ tells that when a PDF document is built with the xetex backend, the + graphics not natively supported shall be converted to PDF. +

converter

It defines an image transformation rule. See + converter for more + details.

+

<converter>

The converter element defines a rule about how to convert on the fly + an image in a docbook document to the corresponding image used in the built + latex file. The + goal is to have an image format compatible with the latex engine, whatever the + original format is. Dblatex has a default set of rules, but + one can overwrite or add some rules.

Attributes: +

src

Format of the original image referenced in the XML + document. The converter only applies to the images matching this format. +

dst

Target format once converted. The converter only applies + to the original images having the format src and that + need to be converted to the format dst. + dst can take the special value "*" + meaning that the rule applies for all + the possible target formats (e.g. eps, pdf, png).

docformat

Specify for which document output format the converter + applies. For example, if docformat is set to "pdf", + it means that + the converter applies only if the document output format is PDF. The + converter will not apply if you want to build a PostScript or DVI + document.

backend

The converter applies only if it is this latex engine that + is used. For example, it is usefull if you want to convert an image in a + specific way only when xetex is used.

+

The following elements occur in converter: +

commandchain

List of the commands to run. A + commandchain contains one or more + command elements. +

command

command to execute to perform the conversion, or a part of + the conversion if several commands are chained. See + command. +

+

<command>

The command element contains the arguments of the command to run. + The arguments can contain some predefined keywords that are replaced by the + actual values when the command is executed. The known core keywords + are:

%(src)s

Replaced by the src value (original + image format).

%(dst)s

Replaced by the dst value (target + image format).

%(input)s

Replaced by the input file required by the command. In the + case of an image conversion, it is the filename of the original image to + convert.

%(output)s

Replaced by the name of the ouput file required by the + command. In the case of an image conversion, it is the filename of the + output image once converted.

Attributes: +

input

Standard input of the command to run. It can specify a + file or it can specify to use the output of the preceding command if the + keyword "PIPE" is used.

output

Standard output of the command to run. It can specify a + file or it can specify that the output shall be redirected to the next + command if the keyword "PIPE" is used.

shell

When set to "1" or "true", the command is run in a shell + environment.

+

<options>

The options element lists the extra arguments to pass to + dblatex.

Deprecated Text Configuration File Format

+ The format of the file is the following: +

  • + Every comment starts with a “#”, and is ignored. +

  • + The file must contain one parameter by line. +

  • + The format of a parameter is the following: +

    +<keyword>: <value>
    +   
  • + Every parameter is mapped to an option that can be passed to dblatex. +

  • + An unknown parameter is silently ignored (the whole line is dropped). +

  • + The parameters defining a path (a file or a directory) can take absolute or relative paths. A relative path must be defined from the specification file itself. For instance, a specification file under /the/spec/directory/ with a parameter describing the file ../where/this/file/is/myfile points to /the/spec/where/this/file/is/myfile. +

+ The following table lists the supported parameters and the corresponding command line option. +

KeywordValueCorresponding optionDescription
TexInputsDirectories--texinputsDefines extra path to add to TEXINPUTS
TexStyleLatex package name--texstyleDefines the LaTeX style package to use.
TexPostScript file name--texpostDefines the LaTeX post process script to use.
XslParamParameter file name-pDefines the parameter file to use.
FigInputsDirectories-IDefines the extra figures path.
OptionsCommand line optionsNoneLists command options to use by default when using the tool. The +options specified by the parameter are directly passed to +dblatex

Style Paths

By default dblatex tries to find the configuration + files related to a style (specified with option -T) in the + following paths, in respect of the order:

  1. The current directory

  2. $HOME/.dblatex

  3. /etc/dblatex

  4. The dblatex package configuration directories.

You can add some extra paths where to look for by setting the + DBLATEX_CONFIG_FILES environment variable. The paths are + separated by ":" in Unix like systems, and by ";" on Windows. These paths + are used only when nothing is found in the default paths.

diff --git a/docs/xhtml/manual/sec-style.html b/docs/xhtml/manual/sec-style.html new file mode 100644 index 0000000..4aee6db --- /dev/null +++ b/docs/xhtml/manual/sec-style.html @@ -0,0 +1,73 @@ + + +Output Formatting Style

Output Formatting Style

The output rendering done by dblatex can be widely +customized like explained in Chapter 4, Customization. By default several +rendering styles are provided, that one can choose by using the option +-T (see Example 3.1, “Choosing the DB2LaTeX style”). The available styles are:

native

The rendering uses the default LaTeX stylesheets. It is the style used by +default if dblatex has been configured without using the option +--style.

simple

The rendering is very close to original latex rendering. The wrapper +around the default latex packages is very thin.

db2latex

The rendering tries to be as close as possible to the +DB2LaTeX formatting.

Example 3.1. Choosing the DB2LaTeX style

+dblatex -T db2latex file.xml
+

How it works

The rendering style stuff is under the latex/ +directory. You can see the XSL stylesheets under xsl/ +as the way to produce latex with as little as possible docbook specific things +(even if a large amount of latex packages are used to do the work). Then, it's +up to LaTeX stylesheets to format the document as you wish.

The organization under latex/ is as follow:

contrib

Contains the non-default available LaTeX stylesheets (simple and db2latex). +

graphics

Default graphics used in the admonitions (e.g. warning). +These graphics are used by the default output formatting. +

scripts

Scripts used to compile with latex or +pdflatex. +

specs

Contains all the configuration files describing the available styles. +A specification file must have the extension .specs, .conf, or .xml to be +detected as a style description, and its basename is the name of the style. +For example the style db2latex is described by the configuration file +db2latex.xml. +

When dblatex is executed with no parameter, the usage +is displayed. In particular, the list of the available styles is given, like +this: +

+$ dblatex
+dblatex [options] file.{sgml|xml}
+Options:
+-t {pdf|ps|dvi|tex|xml}: output format
+...
+-T style               : available latex styles (db2latex, native, simple)
+

+The list is built by scanning the specs files found under +specs/. The spec file syntax is described in the section called “Dblatex Configuration File”. +

style

Default LaTeX stylesheets.

Adding a New Formatting Style

To add a new formatting style, do the following steps:

  1. Let's create the style directories that will contain all the +specific data. We choose to put them under the default +dblatex user configuration directory.

    +$ mkdir -p $HOME/.dblatex/mystyle/latex
    +$ mkdir -p $HOME/.dblatex/mystyle/xsl
    +

    Note that you could choose another configuration directory (see the section called “Style Paths” for more details).

  2. Create the latex stylesheets you need. It must define the expected +DocBook interface and include some core definitions from the default latex +stylesheets (cf. the section called “Customized LaTeX style”). Create also your XSL +stylesheet if necessary.

  3. Put these files under the appropriate directories:

    +$ mv mytexstyle.sty $HOME/.dblatex/mystyle/latex/.
    +$ mv param.xsl $HOME/.dblatex/mystyle/xsl/.
    +
  4. Create a configuration file under the directory +$HOME/.dblatex. The configuration file must point to the +new latex stylesheet, and give the specific parameters. Example:

    +$ cat $HOME/.dblatex/mystyle.conf
    +<?xml version="1.0" encoding="utf-8"?>
    +<!-- =======================================================
    +     Dblatex config file for my new style.
    +     Note that the directories are relative to mystyle.conf
    +     ======================================================= -->
    +<config xmlns="http://dblatex.sourceforge.net/config">
    +  <latex>
    +    <texinputs>mystyle/latex//</texinputs>
    +    <texstyle use="mytexstyle"/>
    +  </latex>
    +  <xslt>
    +    <stylesheet fileref="mystyle/xsl/param.xsl"/>
    +  </xslt>
    +  <options>-f fig</options>
    +</config>
    +
  5. That's it. Try to compile your document with your style, and check +the output. The configuration file basename is the name of the style to +call.

    +$ dblatex -T mystyle file.xml
    +
diff --git a/docs/xhtml/manual/sec-table.html b/docs/xhtml/manual/sec-table.html new file mode 100644 index 0000000..8543e29 --- /dev/null +++ b/docs/xhtml/manual/sec-table.html @@ -0,0 +1,313 @@ + + +Creating Tables

Creating Tables

DocBook tables can be quite complex, but dblatex +should be able to drive most of cases thanks to the excellent newtbl +implementation by David Hedley completely written in XSL.

Here is what is supported:

  • Columns without specified widths (colspec without +colwidth attribute) have the same size.

  • A table width is always equal to the page width, if at least one column +doesn't contain a fixed width attribute (e.g. colwidth=“12cm”).

  • Fixed column widths are supported (e.g. colwidth=“10cm”). The unit can +be whatever is understood by latex (e.g. cm, em, in, pt).

  • Proportional column widths are supported (e.g. colwidth= “5*”). +Combination of fixed and proportional width is supported too (e.g. +colwidth=“5*+10cm”).

  • The morerows attribute of a table entry +(entry element) is supported.

  • The namest and nameend attributes +of a table entry (entry element) are supported. It is +possible to have a cell spanned on several columns.

  • The orient table attribute is supported (portrait and +landscape).

  • It is possible to have missing cell entries in a table.

Limitations

Currently the following things are known to fail with tables: +

  • Program listings and screens cannot be embedded in tables. Some other +verbatim environments like litterallayout are allowed.

  • Footnotes in table cells can fail, especially if the footnote contains +several paragraphs. Moreover they are lost is a float like a table.

Table Width

A table width is explicit when all the columns have a fixed size. In +this case it is the sum of the colum widths. In the other cases (columns with +no colwidth or proportional columns widths) the total table width is deduced +by dblatex as follow: it looks for the Processing Instruction +<?dblatex table-with="width" +?> first, then the @width attribute, the +default.table.width parameter, and finally use the page +width.

A table width can be expressed as:

  • A valid length (e.g. 15cm),

  • A percentage of the page width (e.g. 75%),

  • A keyword telling to apply an automatic column width (e.g. +autowidth.all).

The automatic column width setup is detailed in the section called “Automatic Column Width”.

Tables without colwidth

When none of the colspec elements contains the +colwidth attribute, all the columns have the same size, and +the table width is fixed to the maximum available size. Several examples of +these tables are given in the PDF version of this +manual.

Tables with mixed colspec

A table can have colspec elements containing +colwidth attribute mixed with colspec +elements without colwidth. Here is an XML source +example:

+<informaltable>
+  <tgroup cols="5" colsep="1" rowsep="1" align="left">
+    <colspec colname="c1"/>
+    <colspec align="left" colwidth="4cm"/>
+    <colspec align="right" colwidth="5cm"/>
+    <colspec align="center"/>
+    <colspec align="center" colwidth="3cm"/>
+    <tbody>
+    ...
+    </tbody>
+  </tgroup>
+</informaltable>
+   

See the PDF version of this manual to see how it is +rendered.

Tables with proportional and fixed colwidth

Proportional column widths are supported. Here is an example:

+<informaltable>
+  <tgroup cols="5" colsep="1" rowsep="1" align="left"> 
+    <colspec colname="c1" colwidth="*"/> 
+    <colspec align="left" colwidth="2*"/> 
+    <colspec align="right" colwidth="3*"/> 
+    <colspec align="center"/>
+    <colspec align="center" colwidth="3cm"/>
+    <tbody>
+    ...
+    </tbody>
+  </tgroup>
+</informaltable>
+   

Tables with fixed colwidths

All the columns can have fixed size, like this:

<informaltable>
+  <tgroup cols="4" colsep="1" rowsep="1" align="left"> 
+    <colspec colname="c1" colwidth="2cm"/> 
+    <colspec align="left" colwidth="2.5cm"/> 
+    <colspec align="right" colwidth="5cm"/> 
+    <colspec align="center" colwidth="3cm"/>
+    <tbody>
+    ...
+    </tbody>
+  </tgroup>
+</informaltable>
+

Automatic Column Width

Global Setting

In the previous sections the columns widths are computed from a +proportional basis, when no colwidth is specified or when the colwidths +contain a star ("*"). Of course, a colwidth containing a fixed width +incidently sets the column width with this size.

It is possible to change this sizing policy of not-fixed-width columns +by playing with the newtbl.autowidth parameter. The +parameter can take the following values: + +

default

The automatic width (that is, latex is in charge to size the column +width) is applied only to columns not having a specified +colspec colwidth. It includes both undefined +colspec, and colspec without the +colwidth attribute.

all

the automatic width is applied to any column, whether a colspec is +provided or not.

By default the parameter is unset, and no automatic width is applied. +Using automatic width is handy in some situations but there is no more control +if the tables fit in the page or not, since in this case the column is as wide +as its content, with no more paragraph breaking. The parameter is global for +all the tables in the document.

You can also perform the same thing by setting the +default.table.width parameter to +autowidth.default or autowidth.all +instead of using newtbl.autowidth.

Local Setting

If you want to apply an automatic width only to some +specific tables you can put the Processing Instruction <?dblatex +table-with="autowidth.scope" ?> in the +related tables. The PI has precedence over the +newtbl.autowidth parameter.

The scope can take the same values and have +the same effects than for the newtbl.autowidth +parameter (default or all).

In addition to these keywords, table.width +can also take for its value keywords of the form +autowidth.column: N ..., where N is the number of the +column (counting from 1) which is to have its width automatically sized.

See the following example:

+

<informaltable><?dblatex table-width="autowidth.column: 1 3"?>
+  <tgroup cols="4" colsep="1" rowsep="1" align="left">
+  <colspec colname="c1"/>                 <!-- automatic width is applied to column #1 -->
+  <colspec align="left" colwidth="*"/>
+  <colspec align="right" colwidth="5cm"/> <!-- automatic width is applied to column #3 -->
+  <colspec align="center" colwidth="3cm"/>
+  ...
+</informaltable>
+

+

Here are two other examples with the all and default scopes:

The following table has columns 1 and 2 sized by latex with +autowidth.all:

Column 1Column 2Column 3Column 4
cell on 4 lines +simple cell +cell on 2 lines +cell without morerow attribute +
cell in column 2 +cell on 2 +lines +
left aligned on 2 lines +cell in line 3, column 3 +
4 cm column width +last cell in column 4 +

It is written as follow:

+

<informaltable><?dblatex table-width="autowidth.all"?>
+  <tgroup cols="4" colsep="1" rowsep="1" align="left">
+  <colspec colname="c1"/> <!-- 'default' and 'all' apply on this column -->
+  <colspec align="left" colwidth="*"/> <!-- only 'all' applies on this column -->
+  <colspec align="right" colwidth="5cm"/>
+  <colspec align="center" colwidth="3cm"/>
+  ...
+</informaltable>
+

+

The following table has only columns 1 sized by latex with +autowidth.default:

Column 1Column 2Column 3Column 4
cell on 4 lines +simple cell +cell on 2 lines +cell without morerow attribute +
cell in column 2 +cell on 2 +lines +
left aligned on 2 lines +cell in line 3, column 3 +
4 cm column width +last cell in column 4 +

The only difference is that the PI attribute value is +autowidth.default:

<informaltable><?dblatex table-width="autowidth.default"?>
+  <tgroup cols="4" colsep="1" rowsep="1" align="left">
+  <colspec colname="c1"/> <!-- 'default' and 'all' apply on this column -->
+  <colspec align="left" colwidth="*"/> <!-- only 'all' applies on this column -->
+  <colspec align="right" colwidth="5cm"/>
+  <colspec align="center" colwidth="3cm"/>
+  ...
+</informaltable>
+

Informal Table LaTeX Styles

By default dblatex translates an informal table to +the LaTeX environment specified by the +table.default.tabstyle parameter (usually +longtable), but you can specify which Latex tabular +environment to use, globally through the parameter, or per table through the +tabstyle attribute. Of course the +tabstyle attribute value is specific to dblatex. The +supported values are:

+

longtable

The default table type used by dblatex when +table.default.tabstyle is empty, in order to be able to +split over several pages.

tabular

The most usual table type. Such table can only be on a single +page.

tabularx

An advanced table type that allows to stretch column widths to the +available remained page width. Such table can only be on a single page like +for "tabular".

+

The two following examples show how tabular and tabularx rendering +differ when the automatic width feature is used. Here is the XML source +code:

<informaltable tabstyle="tabular">
+  <?dblatex table-width="autowitdh.column: 1 3"?>
+  <tgroup cols="5" colsep="1" rowsep="1" align="left"> 
+    <colspec colname="c1"/>
+    <colspec align="left"/>
+    <colspec align="right"/>
+    <colspec align="center"/>
+    ...
+  </tgroup>
+</informaltable>
+
+<informaltable tabstyle="tabularx">
+  <?dblatex table-width="autowitdh.column: 1 3"?>
+  <tgroup cols="5" colsep="1" rowsep="1" align="left"> 
+    <colspec colname="c1"/>
+    <colspec align="left"/>
+    <colspec align="right"/>
+    <colspec align="center"/>
+    ...
+  </tgroup>
+</informaltable>
+

It is rendered as follow:

Tables with morerows

A table can contain entries that cover several lines. The following XML +source contains an entry covering 4 lines:

<informaltable>
+  <tgroup cols="4" colsep="1" rowsep="1" align="left"> 
+    <colspec colname="c1" colwidth="*"/>
+    ...
+    <tbody>
+    <entry morerows="3">it covers 4 lines</entry>
+    ...
+    </tbody>
+  </tgroup>
+</informaltable>
+

Landscape tables

A table can be displayed in a lanscape format by using the +orient attribute. Here is an XML source example:

<informaltable orient="land">
+  <tgroup cols="5" colsep="1" rowsep="1" align="left"> 
+    <colspec colname="c1" colwidth="*"/>
+    ...
+    <tbody>
+    ...
+    </tbody>
+  </tgroup>
+</informaltable>
+

Smaller tables

For big tables it can be usefull to have smaller text, so that the table +is not too large or too long and it can be displayed within a page. It is +possible to specify smaller table text by using the role +attribute of the elements table or +informaltable.

The values and the “role” dedicated to this attribute are specific to +dblatex, but it is compliant with the DocBook specification because in general +the role attribute purpose is never defined.

The available text size definitions supported by role +are directly taken from LaTeX:

  • small,

  • footnotesize,

  • scriptsize,

  • tiny.

Coloured tables

You can color all the table by setting its bgcolor +attribute.

You can also color only some cells by using the Processing Instruction +<?dblatex bgcolor="color"?>. The PI can apply to +columns when put in a colspec, to rows when put at the +beginning of a row, or to cells when put in a +entry.

The entry colour has precedence over the row colour, that has precedence +over the column colour, that has precedence over the table colour.

The color can be expressed in hexadecimal +notation like for HTML (e.g. #C0C0C0) or in a syntax +understood by the colortbl latex package.

Here is a PDF +output example.

This table is coded like this:

<informaltable id="tbl-color" bgcolor="{yellow}">
+<tgroup cols="4" colsep="1" rowsep="1" align="left">
+  <colspec colname="c1" colwidth="2cm"/>
+  <colspec align="left" colwidth="2.5cm"><?dblatex bgcolor="#00FF00"?></colspec>
+  <colspec align="right" colwidth="5cm"/>
+  <colspec align="center" colwidth="3cm"/>
+  <thead>
+    <row>
+      <entry>Column 1</entry><entry>Column 2</entry>
+      <entry>Column 3</entry><entry>Column 4</entry>
+    </row>
+  </thead>
+  <tbody>
+  <row>
+    <entry>yellow</entry><entry>green column</entry>
+    <entry>yellow</entry><entry>yellow</entry>
+  </row>
+  <row>
+  <?dblatex bgcolor="{blue}"?>
+    <entry>blue row</entry>
+    <entry><?dblatex bgcolor="{red}"?>red cell</entry>
+    <entry>blue row</entry><entry>blue row</entry>
+  </row>
+  <row>
+    <entry>yellow</entry><entry>green column</entry>
+    <entry>yellow</entry>
+    <entry><?dblatex bgcolor="[gray]{0.8}"?>gray</entry>
+  </row>
+  </tbody>
+</tgroup>
+</informaltable>
+

HTML Tables

Since version 0.3.2 dblatex supports HTML tables. Some features are +handled differently from CALS tables as illustrated by the following HTML +table source example:

<table border="1" width="100%" rules="all"1>
+  <caption>An HTML Table</caption>2
+  <colgroup span="2" valign="top" align="right"/>
+    <?dblatex bgcolor="red"?>3
+  </colgroup>
+  <colgroup valign="bottom" align="left" width="5%"4>
+    <col align="right" span="2"/>
+    <col valign="top"/>
+  </colgroup>
+  <colgroup bgcolor="yellow" width="0*"5><?dblatex bgcolor="yellow"?></colgroup>
+  <colgroup valign="bottom" align="left" width="15%"/>
+  <colgroup valign="bottom" align="left" width="10%"/>
+  <thead>
+    <tr> <td width="10%">Head A1</td><td>Head B1</td><td>Head C1</td> </tr>
+  </thead>
+  <tfoot>
+    <tr> <td width="10%">Foot A1</td><td>Foot B1</td><td>Foot C1</td> </tr>
+  </tfoot>
+
+  <tr>
+    <td width="10%">A1</td><td>B1</td><td>C1</td>
+  </tr>
+  <tr>
+    <td>A2</td><td bgcolor="yellow">B2</td><td colspan="3" rowspan="3">C-E2</td><td>F2</td>
+  </tr>
+  <tr>
+    <td>A3</td><td width="25.3"6>B3</td><td>F3</td><td rowspan="2">G3</td><td rowspan="3">H3</td>
+  </tr>
+  <tr>
+    <td>A4</td><td>B4</td><td>F4</td><td>G4</td>
+  </tr>
+  <tr>
+    <td>A5</td><td>B5</td><td width="5%">C5</td><td>D5</td>
+  </tr>
+  <tr bgcolor="blue"7>
+    <td>A6</td><td>B6</td><td>C6</td><td>D6</td><td>E6</td><td bgcolor="green"7>F6</td>
+  </tr>
+</table>

1

The cell borders are specified through the table rules attribute, and not by any +rowsep and colsep attributes. Therefore +it is not possible to set the borders of an individual cell. If no rules attribute is provided the default setup +defined by default.table.rules parameter is +used.

2

The title of a formal HTML table is set through the +caption element, because the title +element is not available.

3

The cell background colors can be set directly with the bgcolor +attribute in row (for an entire row color setting), +th, or td, but the dblatex bgcolor +Processing Instruction is required in colgroup or +col to set a column color.

4

The relative widths can be expressed as a percentage. The proportional +syntax (e.g. "3*") is still available in colgroups.

5

To specify that a column must be as wide as its content, there is no +need to use the dblatex autowidth Processing Instruction. You just need to set +the related colgroup width attribute to "0*".

6

The fixed widths must be expressed as numbers, and the implicit unit is +the point ("pt"). You cannot set a width expressed in a unit like inchs +("in"), centimeters ("cm") and so on.

7

The closest enclosing element attribute has precedence over ancestor +attributes. This applies to background color too.

This source example is rendered as follow:

diff --git a/docs/xhtml/manual/sec-texpost.html b/docs/xhtml/manual/sec-texpost.html new file mode 100644 index 0000000..3b11d5b --- /dev/null +++ b/docs/xhtml/manual/sec-texpost.html @@ -0,0 +1,67 @@ + + +Latex post process script

Latex post process script

+ Extra user actions can be processed on the latex file produced by the XSL stylesheets or on its temporary working files produced by the latex compilation. +

+ For instance, in the documents I write the cover page must display the number of pages of the document, but written in full letters (e.g. 23 is written “twenty three”). The latex post process script is then helpfull, and in this particular case it patches the .aux file. +

+ The post process script is called just before the last latex compilation, and takes one parameter, the latex file compiled by the tool. +

Post latex compilations

+ The latex compilations done once the script is called depend on the return code + of the script: +

  • + When the return code is 0, dblatex continues the + compilation as many times as necessary. +

  • + When the return code is 1, no more compilation is done by dblatex. + This case is useful + if the script needs to control precisely the number of compilation to apply. + It is up to the script to perform the expected compilations.

    To do so, the script can retrieve in the LATEX environment + variable the actual compiler used by dblatex. +

  • + When the return code is another value, an error is raised to signal + a failed post process script execution. +

+

Post processing with a Python Plugin

You can use a python plugin instead of a script by prefixing + the plugin name with the string "plugin:". When using a + plugin you must not put the python suffix in the plugin name. If the plugin + is in one of the Python system directories, or in the current directory where + you call dblatex, or in one of the directories of the + PYTHONPATH + environment variable, you don't need to specify a directory location. + Otherwise put the plugin directory path before the plugin name. +

Here are several plugin call examples: +

# The texpost.py module is in one of the python paths
+dblatex -r plugin:texpost file.xml
+
+# The texpost.py module location is specified with an absolute path
+dblatex -r plugin:/path/to/texpost file.xml
+
+# The texpost.py module is specified through a relative path from current dir
+dblatex -r plugin:relative/path/from/current/dir/texpost file.xml
+

+

The plugin must contain a main entry point. Dblatex will pass the following parameters to the entry point: latex_file to specify the latex file to post process, and stdout to specify the output stream to use to be consistent with the dblatex verbosity.

Example 4.4. Texpost Python Plugin Example

+import sys
+import os
+
+def main(latex_file, stdout):
+    """
+    Texpost Plugin Entry point
+    """
+    # Let's find out the backend used
+    tex_engine = os.environ["LATEX"]
+
+    # Let's log something
+    print >>stdout, "Plugin called on '%s' file" % (latex_file)
+
+    # Open the latex file and parse it
+    texfile = open(latex_file)
+    ...
+
+    # Now decide if a new compilation must occur
+    if has_changed:
+      sys.exit(0)
+    else:
+      sys.exit(1)
+
+

diff --git a/docs/xhtml/manual/sec-thanks.html b/docs/xhtml/manual/sec-thanks.html new file mode 100644 index 0000000..b8ced9a --- /dev/null +++ b/docs/xhtml/manual/sec-thanks.html @@ -0,0 +1,10 @@ + + +Chapter 6. Thanks

Chapter 6. Thanks

Sponsors

Thanks to the companies that sponsored dblatex at a time or another: + + +, and the Raphael Hertzog's company + + +. +

diff --git a/docs/xhtml/manual/sec-verbatim.html b/docs/xhtml/manual/sec-verbatim.html new file mode 100644 index 0000000..f65f3f4 --- /dev/null +++ b/docs/xhtml/manual/sec-verbatim.html @@ -0,0 +1,146 @@ + + +Extending the Verbatim Rendering

Extending the Verbatim Rendering

Dblatex Specific Options

There are few attributes or options specific to +dblatex to render verbatim blocks:

  • The role attribute of +screen, programlisting, and +literallayout can take the following special values: + +

    wrap

    The verbatim lines can break and wrap when they are longer than the +available width. It is the default behaviour.

    overflow

    The verbatim lines never break and go into the margin when they are too +long.

    scale

    The verbatim block is automatically scaled so that the longest line or +specified column count +fits in the available page width. See the section called “Scaling Feature”. +

    + +

  • The parameter literal.role can be used +to set the default role to apply. By default the value is an empty string. +

  • The parameter literal.class can be used +to set the default literallayout class when +no class attribute is given. By default the value is +monospaced.

Scaling Feature

The user can scale the verbatim block so that the longest line fits in +the available page width, or so that the page contains at least a specified width expressed in columns.

The scaling feature is enabled when the parameter literal.extensions is set as follow: + +

scale

The scaling is performed only when the role attribute +is set to "scale", or when the role attribute is not set and the parameter literal.role is set to "scale".

scale.by.width

The scaling is performed when the role attribute +or literal.role is properly set, or when the attribute +width is set. When width is set the block is scaled so that +the specified width fits in the page width.

+

Here are some listing examples with several attribute combinations producing or not the scaling. In these examples the parameter literal.extensions is set to "scale.by.width".

+<programlisting width="110">
+The listing is scaled and lines are wrapped after 110 characters. Check yourself: 
+
+123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 1234567 9 123456789
+0         1         2         3         4         5         6         7         8         9         10        11       
+
+</programlisting>
+
+<programlisting width="110" role="overflow">
+There is no scaling because the role has precedence over the width attribute:
+                                                                                                            
+123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 1234567 9 123456789
+0         1         2         3         4         5         6         7         8         9         10        11       
+
+</programlisting>
+
+<programlisting role="scale">
+The listing is scaled to display the longest line with no break:
+                                                                                                            
+123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 1234567 9 123456789
+0         1         2         3         4         5         6         7         8         9         10        11       
+
+</programlisting>
+
+<programlisting width="110" role="scale">
+The listing is scaled to fit up to 110 columns, and the lines are wrapped. In this case role is redundant because @width automatically produces scaling.
+                                                                                                            
+123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 1234567 9 123456789
+0         1         2         3         4         5         6         7         8         9         10        11       
+
+</programlisting>
+

Formatting embedded elements

The programlisting and screen environments are supported by dblatex, but +the implementation is rather conservative, that is, most of the elements +embedded in such environments are not rendered like in normal environment +(e.g. bold, enphasis, etc.). Only the contained text is printed out. For the +elements whose rendering is lost, dblatex prints out a +warning message.

For example, let's compile the following programlisting fragment:

<programlisting>
+ 
+zone <replaceable>zone_name</replaceable> 
+<optional><replaceable>class</replaceable></optional> { 
+    type delegation-only;
+};    
+ 
+</programlisting>

dblatex warns that the optional +and replaceable elements are not supported (i.e. not +rendered) in the programlisting:

$ dblatex progfrag.xml 
+Build the book set list...
+Build the listings...
+XSLT stylesheets DocBook - LaTeX 2e (devel)
+===================================================
+Warning: the root element is not an article nor a book
+Warning: programlisting wrapped with article
+replaceable not supported in programlisting or screen
+optional not supported in programlisting or screen
+replaceable not supported in programlisting or screen
+replaceable not supported in programlisting or screen
+optional not supported in programlisting or screen
+replaceable not supported in programlisting or screen
+...
+

If you want those elements be formatted in bold, or italic you need to +override the templates used in latex.programlisting mode, +as follow:

<xsl:template match="replaceable|optional" mode="latex.programlisting">
+   <xsl:param name="co-tagin" select="'&lt;:'"/> 1
+   <xsl:param name="rnode" select="/"/>          2
+   <xsl:param name="probe" select="0"/>          3
+ 
+   <xsl:call-template name="verbatim.boldseq"> 4
+     <xsl:with-param name="co-tagin" select="$co-tagin"/>
+     <xsl:with-param name="rnode" select="$rnode"/>
+     <xsl:with-param name="probe" select="$probe"/>
+   </xsl:call-template>
+</xsl:template>

1 2 3

These parameters are required in latex.programlisting +mode.

4

The predefined template makes bold the verbatim text of the +element.

If formatting setup is not enough, you can also render these elements +as if they were in a normal environment. To do this, you need to override the +templates used in latex.programlisting mode, as +follow:

<xsl:template match="replaceable|optional" mode="latex.programlisting">
+   <xsl:param name="co-tagin" select="'&lt;:'"/>
+   <xsl:param name="rnode" select="/"/>
+   <xsl:param name="probe" select="0"/>
+ 
+   <xsl:call-template name="verbatim.embed"> 1
+     <xsl:with-param name="co-tagin" select="$co-tagin"/>
+     <xsl:with-param name="rnode" select="$rnode"/>
+     <xsl:with-param name="probe" select="$probe"/>
+   </xsl:call-template>
+</xsl:template> 

1

To enable the normal mode rendering within a verbatim environment, call +the verbatim.embed template, and pass the mandatory parameters.

Creating a new Verbatim Environment

dblatex heavily relies upon the listing latex package +to display the screen, programlisting, and +literallayout blocks.

The global listing setup can be overwritten with +literal.layout.options but the user can also provide its +own listing environment to use instead of the default environment, by using the following procedure:

  1. Create the new listing environment in a customized latex style, like +the following example. It is required that the environment name starts with the +string "lst". If not, dblatex raises an +error because it cannot recognize it as a special verbatim environment. +

    +%%
    +%% This style is derivated from the db2latex one
    +%%
    +\NeedsTeXFormat{LaTeX2e}
    +\ProvidesPackage{mystyle}[2012/02/03 My DocBook Style]
    +
    +%% Just use the original package and pass the options
    +\RequirePackageWithOptions{db2latex}
    +
    +%% New listing environment doing what I want
    +\lstnewenvironment{lstblock}[1][]
    +  {\lstset{numbers=left,numberstyle=\tiny,float,#1}}
    +  {}
    +

    +

  2. Specify to dblatex the listing environment name +through the literal.environment parameter, either on the +command line or with a user XSL stylesheet. +

    +$ dblatex -s mystyle.sty -P literal.environment=lstblock file.xml
    +

    + +

diff --git a/docs/xhtml/manual/sec-xref.html b/docs/xhtml/manual/sec-xref.html new file mode 100644 index 0000000..49a85b6 --- /dev/null +++ b/docs/xhtml/manual/sec-xref.html @@ -0,0 +1,18 @@ + + +Using XRefsyle and Olinks

Using XRefsyle and Olinks

Since version 0.2.7 you can use the xrefstyle attribute +like you would do with the DocBook Project stylesheets for HTML output.

Furthermore, you can also use olinks. Note that +Olinking is used in the PDF version of this manual, +in the section called “Change History”.

Actually, the common DocBook Project stylesheets version 1.72 are now +used by dblatex to handle all of these features.

These features are fully described in the DocBook XSL: The Complete Guide book by Bob Stayton. In particular, the following sections cover these topics: + +

+

Specific xrefstyle for ulink

Dblatex defines a template that can be applied through +the xrefstyle attribute to format an ulink. The template has +the following general form: +url[.{show|hide}][.{after|infoot}]

The principle is that the show and +hide parts override locally for this ulink the +ulink.show parameter, +and the after and +infoot parts override locally the +ulink.footnotes parameter.

When only one part is defined, only one setup is overriden, and the other setup depends on the corresponding global parameter.

See ulink.show to have several examples of use of the ulink xrefstyle template.

diff --git a/docs/xhtml/manual/seg.item.separator.html b/docs/xhtml/manual/seg.item.separator.html new file mode 100644 index 0000000..7b9841f --- /dev/null +++ b/docs/xhtml/manual/seg.item.separator.html @@ -0,0 +1,7 @@ + + +seg.item.separator

seg.item.separator

seg.item.separator — Separator to use between several +segs

Synopsis

+      <xsl:param name="seg.item.separator">, </xsl:param>
+ 

Description

Defines the separator to use between several +segs.

diff --git a/docs/xhtml/manual/segmentedlist.as.table.html b/docs/xhtml/manual/segmentedlist.as.table.html new file mode 100644 index 0000000..8242f58 --- /dev/null +++ b/docs/xhtml/manual/segmentedlist.as.table.html @@ -0,0 +1,12 @@ + + +segmentedlist.as.table

segmentedlist.as.table

segmentedlist.as.table — Format segmented lists as tables?

Synopsis

+      <xsl:param name="segmentedlist.as.table" select="0"/>
+

Description

If non-zero, segmentedlists will be formatted as + tables. If you want a local setup for a specific segmentedlist you can use + the list-presentation Processing Instruction instead.

When formatted as table, some table Processing Instructions can be + used to customize the rendering.

diff --git a/docs/xhtml/manual/set.book.num.html b/docs/xhtml/manual/set.book.num.html new file mode 100644 index 0000000..0717419 --- /dev/null +++ b/docs/xhtml/manual/set.book.num.html @@ -0,0 +1,9 @@ + + +set.book.num

set.book.num

set.book.num — Select a single book or all the books to compile from a + set

Synopsis

+      <xsl:param name="set.book.num">1</xsl:param>
+

Description

When the document root element is a set this +parameter can be used to select the book to print, or to publish all the +books contained in the set when the value is "all". +dblatex can only chunk the set in several books, and is not able to publish several books in a single file.

See the section called “Publishing a Set of Books” for more details.

diff --git a/docs/xhtml/manual/show.comments.html b/docs/xhtml/manual/show.comments.html new file mode 100644 index 0000000..cda440c --- /dev/null +++ b/docs/xhtml/manual/show.comments.html @@ -0,0 +1,11 @@ + + +show.comments

show.comments

show.comments — Display remark elements?

Synopsis

+      <xsl:param name="show.comments" select="1"/>
+

Description

If non-zero, comments will be displayed, otherwise they +are suppressed. Comments here refers to the remark element +(which was called comment prior to DocBook +4.0), not XML comments (<-- like this -->) which are +unavailable. +

Note

Dblatex uses the PDF Text Annotations capabilities to handle +comments and remarks.

diff --git a/docs/xhtml/manual/table.continue.caption.html b/docs/xhtml/manual/table.continue.caption.html new file mode 100644 index 0000000..3e92836 --- /dev/null +++ b/docs/xhtml/manual/table.continue.caption.html @@ -0,0 +1,7 @@ + + +table.continue.caption

table.continue.caption

table.continue.caption — Caption text for continued table titles

Synopsis

<xsl:param name="table.continue.caption" select="'(continued)'"/>
+
+    

Description

Text to display in the second (and following) captions +of long tables expanding over more than one page. The default parameter +value is '(continued)' (including the parentheses).

diff --git a/docs/xhtml/manual/table.default.position.html b/docs/xhtml/manual/table.default.position.html new file mode 100644 index 0000000..b826c97 --- /dev/null +++ b/docs/xhtml/manual/table.default.position.html @@ -0,0 +1,14 @@ + + +table.default.position

table.default.position

table.default.position — Default table float placement policy

Synopsis

+      <xsl:param name="table.default.position" select="'[htbp]'"/>
+
+    

Description

Default table float placement algorithm. The value + must contain enclosing square braces ([]). + Order is significant, the first match which produces acceptable + output is used.

The meaning of the characters are: +

h

Meaning: here

Place the float where it occurs in the DocBook source.

t

Meaning: top

Place the float at the top of the page.

b

Meaning: bottom

Place the float at the bottom of the page.

p

Meaning: page

Place the float on a special page just for floats.

+ + Any of the characters may be followed by an exclamation + point (!) to force LaTeX to be more aggressive + when trying the placement algorithm.

The default value is [htbp].

diff --git a/docs/xhtml/manual/table.default.tabstyle.html b/docs/xhtml/manual/table.default.tabstyle.html new file mode 100644 index 0000000..eba2f2b --- /dev/null +++ b/docs/xhtml/manual/table.default.tabstyle.html @@ -0,0 +1,11 @@ + + +table.default.tabstyle

table.default.tabstyle

table.default.tabstyle — Default table style to apply

Synopsis

+      <xsl:param name="table.default.tabstyle"/>
+

Description

The parameter applies only for informaltables that + do not have a tabstyle attribute. With dblatex its role + is to specify the latex table environment to use, so the set value must be + a valid latex environment. The supported values are: + +

longtable

The default table type used by dblatex, in order to be able to split over several pages. When the parameter is empty and no tabstyle attribute is defined, it is the applied value.

tabular

The most usual table type. Such table can only be on a single page.

tabularx

An advanced table type that allows to stretch column widths to the available remained page width. Such table can only be on a single page.

+

diff --git a/docs/xhtml/manual/table.in.float.html b/docs/xhtml/manual/table.in.float.html new file mode 100644 index 0000000..7b097aa --- /dev/null +++ b/docs/xhtml/manual/table.in.float.html @@ -0,0 +1,21 @@ + + +table.in.float

table.in.float

table.in.float — Use or emulate a float to display a formal table?

Synopsis

<xsl:param name="table.in.float" select="'1'"/>
+

Description

Determines whether formal tables + float. Floating tables do not necessarily appear in the output + document in the location in which they appear in the DocBook + input, they may move when this improves the overall document + layout. Non-floating tables always appear in the rendered + document in the same place as they appear in the input DocBook + document.

Informal tables never float. + Tables that do not float are processed using the + longtable package. Unlike the methods used to + process floating tables, tables processed with + longtable may span page boundaries. Floating + tables may not cross page boundaries and so may not be larger than + a single page.

The longtable + package is limited in that titles must be positioned at the top of + the table. This limits the positioning of non-floating table + titles to the top of the table.

When table.in.float is + 0 formal tables do not float.

The default is 1, formal tables + float.

diff --git a/docs/xhtml/manual/table.title.top.html b/docs/xhtml/manual/table.title.top.html new file mode 100644 index 0000000..7b5a717 --- /dev/null +++ b/docs/xhtml/manual/table.title.top.html @@ -0,0 +1,8 @@ + + +table.title.top

table.title.top

table.title.top — Title on top of the table float

Synopsis

+      <xsl:param name="table.title.top" select="'0'"/>
+
+    

Description

Set to 1 the table + float title position is above the +table. Set to 0 the title is under the table. Meaningless when the table is not in a float (see table.in.float).

diff --git a/docs/xhtml/manual/term.breakline.html b/docs/xhtml/manual/term.breakline.html new file mode 100644 index 0000000..09b53b9 --- /dev/null +++ b/docs/xhtml/manual/term.breakline.html @@ -0,0 +1,7 @@ + + +term.breakline

term.breakline

term.breakline — Put the term description on the next line?

Synopsis

+      <xsl:param name="term.breakline">0</xsl:param>
+
+    

Description

Set to 1 the item following a term in a variable list is put on the +next line.

diff --git a/docs/xhtml/manual/tex.math.in.alt.html b/docs/xhtml/manual/tex.math.in.alt.html new file mode 100644 index 0000000..57434fd --- /dev/null +++ b/docs/xhtml/manual/tex.math.in.alt.html @@ -0,0 +1,8 @@ + + +tex.math.in.alt

tex.math.in.alt

tex.math.in.alt — TeX notation used for equations

Synopsis

+      <xsl:param name="tex.math.in.alt" select="'latex'"/>
+
+    

Description

Specifies if the alt element in an (informal) +equation contains some tex equation. If so, and if the tex equation is in +'latex' format, the content is directly used by dblatex.

diff --git a/docs/xhtml/manual/texlive.version.html b/docs/xhtml/manual/texlive.version.html new file mode 100644 index 0000000..cb53b1a --- /dev/null +++ b/docs/xhtml/manual/texlive.version.html @@ -0,0 +1,7 @@ + + +texlive.version

texlive.version

texlive.version — Version of the installed Tex Live Distribution

Synopsis

+      <xsl:param name="texlive.version">2007-10</xsl:param>
+

Description

The version number is used to adapt the tex output. For instance the + URL output depends on the url package behaviour that differs from one + release to another.

diff --git a/docs/xhtml/manual/titleabbrev.in.toc.html b/docs/xhtml/manual/titleabbrev.in.toc.html new file mode 100644 index 0000000..41ca296 --- /dev/null +++ b/docs/xhtml/manual/titleabbrev.in.toc.html @@ -0,0 +1,7 @@ + + +titleabbrev.in.toc

titleabbrev.in.toc

titleabbrev.in.toc — Should titleabbrev be put in the TOC + instead of title?

Synopsis

+      <xsl:param name="titleabbrev.in.toc">1</xsl:param>
+ 

Description

Set to 1 the titleabbrev content is put in the TOC instead of the +title.

diff --git a/docs/xhtml/manual/toc.section.depth.html b/docs/xhtml/manual/toc.section.depth.html new file mode 100644 index 0000000..bd9ac94 --- /dev/null +++ b/docs/xhtml/manual/toc.section.depth.html @@ -0,0 +1,6 @@ + + +toc.section.depth

toc.section.depth

toc.section.depth — How deep should recursive sections appear in the TOC?

Synopsis

+      <xsl:param name="toc.section.depth">5</xsl:param>
+ 

Description

Depth of the TOC. Used to set the latex tocdepth +counter.

diff --git a/docs/xhtml/manual/ulink.footnotes.html b/docs/xhtml/manual/ulink.footnotes.html new file mode 100644 index 0000000..c76d838 --- /dev/null +++ b/docs/xhtml/manual/ulink.footnotes.html @@ -0,0 +1,7 @@ + + +ulink.footnotes

ulink.footnotes

ulink.footnotes — Generate footnotes for ulinks?

Synopsis

+      <xsl:param name="ulink.footnotes" select="0"/>
+

Description

If non-zero, and if ulink.show also is non-zero, +the URL of each ulink will appear as a footnote.

Dblatex Limitation

The URL cannot be shown in a footnote if the ulinks +are in list terms or heading titles.

diff --git a/docs/xhtml/manual/ulink.show.html b/docs/xhtml/manual/ulink.show.html new file mode 100644 index 0000000..a3806c7 --- /dev/null +++ b/docs/xhtml/manual/ulink.show.html @@ -0,0 +1,29 @@ + + +ulink.show

ulink.show

ulink.show — Display URLs after ulinks?

Synopsis

+      <xsl:param name="ulink.show" select="0"/>
+

Description

If non-zero, the URL of each ulink will +appear after the text of the link. If the text of the link and the URL +are identical, the URL is suppressed.

See also ulink.footnotes.

The global ulink.show and ulink.footnotes +setting can be overriden +for each ulink that uses an xrefstyle +like the following examples:

+<!-- show 'Hot Text [URL]' or 'Hot Text (foot)' even if $ulink.show=0 -->
+<ulink xrefstyle="url.show" url="http://www.a.site.org/path">Hot Text</ulink>
+
+<!-- show 'Hot Text' even if $ulink.show=1 -->
+<ulink xrefstyle="url.hide" url="http://us3.a.site.org/path">Hot Text</ulink>
+
+<!-- show 'Hot Text [URL]' even if $ulink.show=0 and $ulink.footnotes=1 -->
+<ulink xrefstyle="url.show.after" url="http://www.a.site.org/path">Hot Text</ulink>
+
+<!-- show 'Hot Text (foot)' even if $ulink.show=0 and $ulink.footnotes=0 -->
+<ulink xrefstyle="url.show.infoot" url="http://www.a.site.org/path">Hot Text</ulink>
+
+<!-- show 'Hot Text (foot)' if $ulink.show=1 and even if $ulink.footnotes=0 -->
+<ulink xrefstyle="url.infoot" url="http://www.a.site.org/path">Hot Text</ulink>
+
+<!-- show 'Hot Text [URL]' if $ulink.show=1 and even if $ulink.footnotes=1 -->
+<ulink xrefstyle="url.after" url="http://www.a.site.org/path">Hot Text</ulink>
+
+
diff --git a/docs/xhtml/manual/use.id.as.filename.html b/docs/xhtml/manual/use.id.as.filename.html new file mode 100644 index 0000000..8bf5080 --- /dev/null +++ b/docs/xhtml/manual/use.id.as.filename.html @@ -0,0 +1,9 @@ + + +use.id.as.filename

use.id.as.filename

use.id.as.filename — Use ID value of chunk elements as the filename?

Synopsis

+      <xsl:param name="use.id.as.filename" select="0"/>
+

Description

If use.id.as.filename +is non-zero, the filename of chunk elements that have IDs will be +derived from the ID value. +

This parameter is used only when chuncking occurs, that is, when a set of +books is published.

diff --git a/docs/xhtml/manual/variablelist.term.separator.html b/docs/xhtml/manual/variablelist.term.separator.html new file mode 100644 index 0000000..d798fc0 --- /dev/null +++ b/docs/xhtml/manual/variablelist.term.separator.html @@ -0,0 +1,9 @@ + + +variablelist.term.separator

variablelist.term.separator

variablelist.term.separator — Text to separate terms within a multi-term +varlistentry

Synopsis

+      <xsl:param name="variablelist.term.separator">, </xsl:param>
+

Description

When a varlistentry contains multiple +term elements, the string specified in the value of the +variablelist.term.separator parameter is placed +after each term except the last.

diff --git a/docs/xhtml/manual/xetex.font.html b/docs/xhtml/manual/xetex.font.html new file mode 100644 index 0000000..87429fb --- /dev/null +++ b/docs/xhtml/manual/xetex.font.html @@ -0,0 +1,18 @@ + + +xetex.font

xetex.font

xetex.font — Specifies the fonts that XeTeX must use

Synopsis

+      <xsl:param name="xetex.font">
+  <xsl:value-of select="concat('\setmainfont{',$body.font.family,'}&#10;')"/>
+  <xsl:value-of select="concat('\setsansfont{',$sans.font.family,'}&#10;')"/>
+  <xsl:value-of
+       select="concat('\setmonofont{',$monospace.font.family,'}&#10;')"/>
+</xsl:param>
+
+    

Description

Font specification for XeTeX. Meaningful only when the xetex backend + is used. By default the parameter sets the XeTeX configuration from the + parameters body.font.family, + sans.font.family, and + monospace.font.family but you can completely + override it to define a more complex setup.

See Also

body.font.family, + sans.font.family, + monospace.font.family

diff --git a/docs/xhtml/manual/xref.hypermarkup.html b/docs/xhtml/manual/xref.hypermarkup.html new file mode 100644 index 0000000..59494bb --- /dev/null +++ b/docs/xhtml/manual/xref.hypermarkup.html @@ -0,0 +1,7 @@ + + +xref.hypermarkup

xref.hypermarkup

xref.hypermarkup — Wrap the entire the xref markups with an hyperlink?

Synopsis

+      <xsl:param name="xref.hypermarkup" select="0"/>
+

Description

When set to 1, the whole cross reference markup produced for an + xref is converted to an hyperlink.

When not set, the default latex hyperlinking is done, that usually + means that only the reference numbers are hot.

diff --git a/docs/xhtml/manual/xref.with.number.and.title.html b/docs/xhtml/manual/xref.with.number.and.title.html new file mode 100644 index 0000000..a714512 --- /dev/null +++ b/docs/xhtml/manual/xref.with.number.and.title.html @@ -0,0 +1,7 @@ + + +xref.with.number.and.title

xref.with.number.and.title

xref.with.number.and.title — Use number and title in cross references

Synopsis

+      <xsl:param name="xref.with.number.and.title" select="0"/>
+

Description

A cross reference may include the number (for example, the number of +an example or figure) and the title which is a required child of some targets. This parameter inserts both the relevant number as well as +the title into the link.

diff --git a/docs/xhtml/release-notes/changes-txt.html b/docs/xhtml/release-notes/changes-txt.html new file mode 100644 index 0000000..cae9041 --- /dev/null +++ b/docs/xhtml/release-notes/changes-txt.html @@ -0,0 +1,1031 @@ + + +A. Change Log

A. Change Log

The listing below contains all the raw data used to write each release +change section. It is provided since it may contain additional details.

Release 0.3.10:
+---------------
+
+- Add the ability to set images for front and back covers
+- Add the ability to pass several configuration files (-c option)
+- Fix Debian bug #840189: drop dependency on the latex package 'multirow'
+- Fix Debian bug #849679: wrong character entities in el.xml
+- Fix Debian bug #851145: put the paragraph title on a separate line
+
+Release 0.3.9:
+--------------
+
+Enhancements:
+- Extend the XML configuration feature:
+  * a user can define its own XSLT engine with a user-defined command,
+  * the rules about how the images shall be converted can be overwritten
+    (Debian bug #837168).
+- Allow an xref to some informal elements like <para> or <simpara>. It behaves
+  like DocBook FO does.
+
+Release 0.3.8:
+--------------
+
+Enhancements:
+- Add the endnotes feature: the <footnote>s can be turned to be end notes in
+  the printed document. Some parameters are added to configure the endnotes
+  display.
+- Add an XML configuration file format: it replaces the simple text
+  configuration format. It gives a more consistent setup and more possibilities
+  to configure dblatex, like overriding the commands used to convert images.
+- Add the parameter figure.default.align to change the default <figure> and
+  <informalfigure> alignment
+- Add a workaround to fix a Xindy bug appearing when ranges of an index
+  overlap.
+- Add a workaround to fix the incompatibilities between Xindy and the new
+  hyperref when hyperindex is on.
+- Add the possibility to build a document from a tex file that includes
+  other tex files.
+- Allow a <segmentedlist> to be formatted as a table if the parameter
+  segmentedlist.as.table is set to '1' or if the list-presentation Processing
+  Instruction is set to 'table' (Karl O. Pinc patch). Other PIs can be used if
+  a segmentedlist is formatted as a table.
+
+Other features:
+- Internal refactoring of Processing Instructions.
+- Add a 'pdfscan.py' script to find out the fonts and their size used in a PDF
+  file and find out how the PDF is built.
+- Documentation: add references to the supported Processing Instructions
+
+Bug fixes:
+- Fix a bug when passing a dialect language (e.g. '[5.2]Lua')
+  to <programlisting>
+- Link the 'nn' lang to 'norwegian' for Xindy.
+- Fix the alignment of <imagedata> that is now handled even without an explicit
+  viewport
+- Take into account the <caption> align attribute.
+- Fix <seealso> in <indexterm>.
+- Fix a bug about ordered lists that loose their counter in <informaltable>s.
+- Put the <dedication>s in the book front matter (was in the body matter).
+- Add the table.continue.caption parameter to fix the hardcoded 'continued'
+  caption used for tables covering several pages (Ricard Mones patch)
+- Fix SF bug #102: the figure paths used in windows.
+- Fix SF bug #111: adapt the file paths used in windows by saxon or xsltproc.
+- Fix dbk_locale.sty to be an ASCII file.
+- Correctly strip spaces for docbook 5 elements.
+
+
+Release 0.3.7:
+--------------
+
+- Fix Debian bug #766945: catch 'inskscape' not installed (Andreas Hoenen patch)
+- Fix Debian bug #792898: improve the PDF metadata setup
+- Fix Debian bug #684772 and SF bug #85: section @label is used to force
+  the section counter
+- Fix Debian bug #684772: a chapter with an empty @label is not numbered
+- Fix Debian bug #793077: allow to put a figure anchor at the top even if the
+  caption is at the bottom, thanks to the parameter figure.anchor.top.
+- Add the parameters body.font.family, sans.font.family, and
+  monospace.font.family to mimic FO parameters, for xetex font setup
+
+
+Release 0.3.6:
+--------------
+
+- Adapt the debug env_tex script for Windows
+- Make dblatex work with Xindy, for xetex and pdftex backends. Xindy is selected
+  through the latex.index.tool parameter, and it's sorting is aware of the
+  language used that can be set through the latex.index.language parameter.
+  This is an answer to the Debian bug #756386.
+- Allow the Texpost script to be a python plugin.
+- Add the beginpage.as.pagebreak parameter to be able to inhibit the current
+  behaviour.
+- Fix a bug in index escaping: '"' was not escaped.
+- Fix a bug in <listitem> to prevent brackets side effects.
+- Quick fix for <screenshot> SF bug #74.
+- Fix SF bug #110.
+- Fix Debian bug #771473 and #684393.
+
+
+Release 0.3.5:
+--------------
+
+- Fix an HTML table bug when no <colgroup> or <col> is specified
+- Fix an HTML table bug when cellpadding is expressed in percentage
+- Fix Debian bug #720624 to have more greek letters correctly translated
+- Fix bug #108 so that setup.py works even if intall-layout not supported
+- Fix bug #107 to be compliant with frenchb v2.5 to remove shorthands
+  in listings
+- Fix bug #106 to have equation label localized
+- Fix bug #104 to have listings correctly displayed in <listitem>s
+- Fix bug #103 to have indexes correctly working in db2latex style
+- Fix Debian bug #682901 to have with XeTeX proper endash in indexes
+- Fix Debian bugs #682936 and #684391 to support Norwegian Bokmål through
+  lang='nb'
+- Fix Debian bug #683166 (SF bug #3553962/#98) to avoid chapters erroneously
+  included in parts.
+- Fix Debian bug #684393 babel setup to allow quote chars for lang='nn'
+- Adapt URL to work with texlive >= 2009.
+- Some fixes to be able work with Saxon
+- Improve setup.py to detect the installed texlive version only on
+  manual install.
+- Include the package 'ucs' and configure listings to work with pdftex and
+  UTF-8 characters.
+
+
+Release 0.3.4:
+--------------
+
+- Fix a bug in the missing characters display.
+- Fix the global template to actually insert a backmatter tag before backmatter
+  elements.
+- Fix bug #3520152 by changing a template xpath (looks like a libxslt
+  limitation).
+- Improve the verbatim block display to be able to scale the block width to the
+  page width.
+- Allow latex instructions within verbatim blocks through Processing
+  Instructions.
+- Improve the setup script to be close to the debian install rules.
+- Improve the hyphenation of the inlined literal elements.
+- Add the parameter example.float.type to give the possibility to have
+  <example> not floating. The attribute 'floatstyle' is also taken into
+  account.
+- Add the parameter hyphenation.format to specify the inlined format types
+  that must be hyphenated. It replaces the more limited monoseq.hyphenation
+  parameter.
+
+
+Release 0.3.3:
+--------------
+
+- Fix incomplete image path conversion when subfigures are used.
+- Fix unicode listings limitation to handle characters greater than 255.
+- Fix <abstract> environment to prevent from page counter reset.
+- Fix the <literallayout> limitations by using the same implementation than
+  <screen>.
+- Fix a texlive 9 french babel and enumitem incompatibility.
+- Fix to be robust to URL encoded image paths, and to non-latin1 paths.
+- Fix missing cross-reference to <sidebar> and <qandaset>.
+- Fix the <sidebar> box width to the actual context witdh.
+- Fix a french babel bug (unexpected active chars) when used with XeTeX.
+- Fix Debian bug #627501 to tell the priority policy of --xsl-user option.
+- Fix Debian bug #632967 to return a non-null code when the compilation fails.
+- Fix Debian bug #629514 to have draft watermark with XeTeX backend.
+- Fix Debian bug #634563 to have safe pdftitle content (no images).
+- Fix setup.py in order to work under Windows.
+- Fix the HTML table support to correctly render the cells elements.
+- Fix the HTML table support to correctly nested tables.
+- Fix the Olink support to allow database user-specific renderings like italics
+  for <i> tags. Reuse of the DocBook Project implementation.
+- Fix a setup failure that made the listings UTF-8 support failed 
+  (extendedchars to set to "true").
+- Fix --xslt-opts to be able to pass several arguments by using quotes
+- Set the TexLive version to 2009 by default.
+- Update to new Debian Error Handler API.
+ 
+Improvements sponsored by Freexian (http://www.freexian.com) :
+
+- Fix #3191550. Remove hard-coded paper size and add some parameters for page
+  layout setup:
+  * Parameters to define page sizes and margins.
+  * Parameters to have crop marks for pre-press PDF output.
+- Add the parameters literal.environment and literal.extensions to allow the
+  user define its own listing environment.
+- Add the parameter latex.engine.options to be able to pass options to the
+  TeX engine backend.
+- Print out warnings about the characters not handled by the selected fonts.
+- Image display improvements/fixes:
+  * Avoid unexpected paragraph indentation when displaying images.
+  * Strip spurious spaces between subfigures when @role='flow.inline'
+  * Prevents from empty tex subcaptions when no subfigure <caption> is defined.
+- Add the ability to format <ulink> as a block when @type='block'.
+- Pass @role to the latex sidebar environment.
+- Add the literal.class parameter used when <literallayout> class attribute is
+  not set. Default is 'monospaced'.
+- Add some @role to format literal elements, and literal.role parameter for
+  default role:
+  * Wrap: wrap lines when longer than text width (default)
+  * Overflow: do not wrap lines ; long lines overflow to the left
+  * Scale: automatically scale a listing to have its lines fit the page width
+           The special feature can be disabled with literal.extensions=0
+
+
+Release 0.3.2:
+--------------
+
+- Add feature request #2052157 to have HTML table support
+- Full support of the --quiet option
+- Improve setup.py to make package building easier in a development environment
+- Improve the document title formatting, to render <superscript> for example.
+- Fix debian bug #629110 to work around an appendix package limitation with
+  xetex
+- Fix bug #3094120 to work in paranoid mode (required for TexLive 2010)
+- Fix debian bug #623590 to format elements like <emphasis> contained
+  in <filename>.
+- Fix a bug that prevented from putting and index at the highest level when
+  preceded by a <part>.
+
+  Release 0.3.1.1:
+  ~~~~~~~~~~~~~~~~
+- Add feature request #2999505 to be able to pass a user index style file
+- Improve setup.py to be able to build and distribute a dblatex egg package 
+- Fix bug #2941472: print out the procedure title
+- Fix a python deprecation warning in setup.py
+- Fix a bug in setup.py to install correctly the XHTML documentation
+- Fix a bug in sgmtag.xsl to have the right font type for <sgmltag>
+
+
+Release 0.3.1:
+--------------
+
+- Fix bug in referencing to external books when xref.hypermarkup=1.
+- Fix bug #2969329 to have sub-tables working
+- Fix bug #3006458 to support the &#x21B5; Unicode character
+- Fix bug #3038067 md5 python module deprecation warning
+- Fix bug #3039592 to pass correct parameters to inkscape when converting SVG
+- Fix bug #3072636 to process preface/info/title
+- Fix bug #3137026 to remove a babel setup side effect on tables
+- Fix Debian bug #609374 to have nested quotes working
+- Fix Debian bug #617842 to write HTML documentation in UTF-8 format
+- Fix some documentation errors
+- Fix <anchor> used in bibliography mode
+- Fix <qandadiv> title support to be robust to a missing title element
+- Fix Debian bug #622357 to make <filename> more robust in <footnote>
+- Add the parameters:
+  * linenumbering.scope: which templates where linenumbering parameters apply
+  * linenumbering.default: default linenumbering attribute value
+  * linenumbering.everyNth: indicates which lines to number in verbatim blocks
+- Improve tables to support the tabularx environment (see documentation).
+  Add the parameter:
+  * table.default.tabstyle: default tabstyle to apply when no tabstyle attribute
+    is defined.
+- Add a not fully implemented --quiet option
+
+
+Release 0.3:
+------------
+
+- Make the latex style more robust to latex classes without abstract
+  environment.
+- Partially Fix bug #2953261 to render elements under <methodsynopsis>
+- Fix bug #2969329 to allow a <screen> in an <entrytbl> (Pulchart's patch
+  partially applied).
+- Fix bug #2820728 to correctly render caption elements.
+- Fix bug #2967024 to make cmdsynopsis working for DocBook 5.
+- Fix bug #2957897 to render the chapter/info/title node.
+- Fix Debian Bug #563659: adapt the url template behaviour to the installed
+  Texlive version (2007 or 2009).
+- Apply the two Andreas's debian errorhandler patches (replace an obsoleted
+  method).
+- Apply the Debian bug #570582 patch from Andreas.
+- Change the segmented list implentation to workaround a bug in processing DB5
+  documents (use the Docbook Project implementation).
+- Add the default.table.width parameter (equivalent to the Docbook Project
+  parameter).
+- Allow an autowidth setup local to a table through a Processing Instruction.
+- Convert latex logos to PDF-1.4 format supported by XeTeX.
+- Add parameter biblioentry.numbered to have bibliographic references numbered.
+- Apply bug #2891018 patch to improve biblio.xsl
+- Fix a bug to compute correctly the relative paths of <imagedata> filerefs.
+  Apply the same templates than the DocBook Project (use of @xml:base)
+- Make xsltproc.py compatible with versions providing --xincludestyle
+  or not (bug introduced with 0.2.12).
+- Fix bug #2955605 in setup.py that makes install crash under windows
+  (bug introduced in 0.2.10).
+- Fix bug to handle correctly a relative XSL customization file path
+  (use of the -p option).
+- Fix a bug that merged the example and equation floats in the same TOC
+- Add hyperlink to <xref> to books.
+- Move the book ID anchor so that an hyperlink to this anchor points to the 
+  beginning of the book and not after the Table of Content.
+- Change some output messages so that they don't appear as error messages.
+
+
+Release 0.2.12:
+---------------
+
+- Add support for feature #2836168 with the xref.hypermarkup parameter that
+  wraps the whole xref markup with an hyperlink.
+- The <index> section can be unnumbered when the new parameter index.numbered
+  is set to 0.
+- <bibliography> sections can be unnumbered when the new parameter
+  bibliography.numbered is set to 0. The parameter
+  bibliography.tocdepth is also given.
+- Basic <biblioref> support added. The specific attributes are not handled.
+- Allow the appendices to be followed by other sections.
+- Fix indexterm bug in titles.
+- Apply patch #2821475: add a converter to transform SVG graphics with
+  Inkscape (thanks to David Necas)
+- Fix bug #2821901: <reference> headings to the right level
+- Fix bug #2818215: square brackets must be protected in <member>s
+- Fix bug #2819592: references working with xml:id (DocBook 5 compatibility)
+- Fix Debian bug #533332: wrong page numeration in PDF viewers with XeTeX
+  backend
+- Fix Debian bug #528964: linebreaks preserved in formatted verbatim
+  environment
+
+
+Release 0.2.11:
+---------------
+
+- Improve the <set> support: dblatex can build all the PDF files (one per
+  book) and the package xr is used to make cross-references between the books.
+- Improve the xetex font switch macros (experimental fontconfig support)
+- Format the elements contained in <ulink>s (not only text)
+- Add some hook to external error handlers +
+  Add the Debian error handler in the repository (the maintainer is still
+  A. Hoenen)
+- Change verbatim implementation in order to be able to easily add new
+  elements embeddable in <programlisting>s
+- Optimize the pdftex backend by supporting the -draftmode option
+  (experimental)
+- Fix documentation bug #1997998.
+- Fix bug #1831383: use \ref*{} to display <xref> in a TOC or LOT
+- Fix Debian bug #528849 about the <refclass> rendering, add the
+  refclass.suppress parameter, and fix the <refpurpose> dash separator
+  (use of &mdash; instead of &ndash;)
+- Fix the bug where \nolinkurl{} strips the spaces
+- Fix a bug annotation
+- Glossary headings are now rendered like refentry headings
+  (add glossary.numbered and glossary.tocdepth parameters)
+- Add and modify scripts to synch SF CVS and Mercurial repositories 
+
+
+Release 0.2.10:
+---------------
+
+- Fix Debian bug #525692: remove babel shorthand for russian
+- Fix Debian bug #514932: apply XSLT options when building listing
+  (thanks to W. Borgert's patch).
+- Fix Debian bug #499500: apply the A. Hoenen patch
+- Fix bug #2412650: make curly braces more robust in <indexterm>s.
+- Fix bug #2393435: handle <table> @pgwide for two column mode.
+- Fix bug #2381306: make <ulink>s more robust in <term>
+- Fix bug #2058771: use \ensuremath{} to make equations robust.
+- Fix bug #1987025: use @xml:id when provided to make labels.
+- Fix bug #1975259: apply general title template to handle escaped chars in
+  qandaset titles.
+- Fix bug in handling @xreflabel in <xref>
+- Fix annotation bug: add a correct font setup to each annotation tex file
+- Fix some character translations: backtick (`), degree symbol
+- Fix SGML to XML conversion through osx
+- Use Info/title to render qansaset headings
+- Use \ensuremath{} to make latin1 from UTF8 conversion more robust
+- Add the parameters:
+  * doc.layout: configure the overall document layout
+    (deciding if it contains a coverpage, a toc, a frontmatter etc.)
+  * variablelist.term.separator,
+  * refentry.generate.name,
+  * ulink.show (mechanism extended with @xrefstyle),
+  * ulink.footnotes.
+- Remove useless parameters (rely on localized gentext instead):
+  * refnamediv.title,
+  * refsynopsis.title,
+- Move the 'qandaset.defaultlabel' parameter to 'qanda.defaultlabel' in
+  order to be common with the DocBook Project XSL parameter.
+- By default, a document subset (i.e. no <article> or <book> root element
+  is no more wrapped with an <article>. No more unexpected cover page and
+  front matter.
+- Allow a tex equation in <alt> without latex math mode delimiters in both
+  <equation> and <inlineequation>.
+- Add texmath PI in <alt> in order to avoid automatic math mode wrapping
+- Make XeTeX support more mature (but still experimental).
+- Change the documentation structure.
+
+
+Release 0.2.9:
+--------------
+
+- Fix bug #1838293: <dedication> and <colophon> support where <title>s
+  are optional.
+- Fix bug #1833581 (biblio elements).
+- Fix bug #1832623 (<userinput> rendering in normal mode).
+- Fix bug #1769020 (date in <biblioentry>).
+- Fix bug #1745318 with a minipage in \author{}.
+  Fix the similar debian bug #465221.
+- Fix bug #1642442 (missing unicode characters).
+- Fix debian bug #466162 (German localization).
+- Fix debian bug #461919 (rendering abstract titles).
+- Fix debian bug #459474 (simplesect in appendix).
+- Fix unicode character encoding in TeX equations in <alt>.
+- Fix bug that transforms "<<" to french quotation marks.
+- Fix spurious spaces in inline graphics.
+- Fix to have frenchb 2.x support (option macros changed).
+- Add refentry.numbered and refentry.tocdepth parameters to have the
+  refentry titles numbered (default) or not.
+- Add <partintro>s handling. 
+- Add linking to <areaset>.
+- Add <emphasis> rendering in <programlisting> and <screen>.
+- Add some logic to handle the graphics in equations.
+  Add the alt.use parameter.
+- Add some XeTeX support. One can use -b xetex to compile with
+  xelatex. Add the xetex.font parameter too.
+- Add the "angle" attribute to the dblatex Processing Instruction.
+  When set in an <imageobject>, you can rotate the image to the
+  required angle.
+
+
+Release 0.2.8:
+--------------
+
+- Fix <userinput> in <programlisting> (#1832623)
+- Fix <literal> in <example> title (#1831391)
+- Fix <foreignphrase> in <example> title (#1831385)
+- Fix <indexterm> in <programlisting> (#1831374)
+- Fix UTF-8 encoding in olink target.db data (like <ttl>)
+- Fix <colophon> after the index. (Debian bug #447607)
+- Fix <title> in <sidebar>s. (Debian bug #447616)
+- Fix stuck <holder>s in <copyright> (Debian bug #446871)
+- Fix <question> italic bug. (#1800469)
+- Fix an <xref> bug to a biblioentry.
+- Fix setup.py to allow the --skip-build option. (#1790229)
+- Fix the portugese babel loading. (#1797774)
+- Fix <xref> to a <part>.
+- Fix some missing parameters used by gentext.xsl.
+- Fix a weird behaviour with \nolinkurl{} used in a table cell.
+- Fix the page.citation mode shown when $insert.xref.page.number = 'yes'.
+- Fix missing punct.honorific parameter.
+- Fix the <refentry> sections to the right nested level. (#1792996)
+- A list preamble (before the list items) is now processed. (#1783455)
+- Add lastpage.sty under latex/misc, for MikTeX distribs.
+- Add some table <entry> consistency check.
+- Add the parameters: equation.default.position and example.default.position.
+- Add the parameter: cjk.font.
+- Add pdftitle and pdfauthor in PDF document infos.
+
+
+Release 0.2.7:
+--------------
+
+* Improvements:
+  - Xref completely refactored to work with the common
+    DocBook Project XSL stylesheets version 1.72. 
+  - Olink and xrefstyle support added.
+
+* Minor changes:
+  - dblatex accepts input data from stdin.
+  - newtbl.bgcolor.thead added, to change the default table header color.
+  - Italian translation added.
+  - Several user stylesheets (option -p) can be passed.
+  - In the docbook styles, the front matter page numbers are now in roman.
+  - <biblioid> can be used instead of <pubsnumber> in the doc info,
+    mostly for docbook 5 files.
+  - monoseq.small parameter added (Michael Smith's patch)
+
+* Bug fixes:
+  - Fix bug with german babel (e.g '"S' becomes 'SS').
+  - Fix Author listing bug.
+  - Fix <screen> in <footnote>s, in simple cases.
+  - Fix footmisc package inclusion bug (must be loaded before hyperref).
+  - Fix bibliomixed/bibliomset text bug (tex characters must be escaped).
+  - Fix xref to a callout.
+  - Fix the use of <alt> in equations: when <alt> is used, the other
+    elements must not be processed. Parameter tex.math.in.alt added
+    to choose if <alt> should be used by default.
+  - Fix empty MathML equation case.
+  - Fix bug #1778655: added anchors in <para> having an id
+  - Fix bug #1777645: footnotes with id handled correctly
+  - Fix bug #1777575: an <indexterm> between paragraphs don't stick the
+    paragraphs anymore.
+  - Fix bug #1777364: <thead> no more duplicated in nested tables.
+  - Fix bug #1745309: <author>s under docinfo are not concatenated.
+  - Fix the last page bug shown with a recent texlive
+  - Fix bug about changebars for consecutive paragraphs
+  - Ulinks shown as hot links in biblio enties.
+  - Fix index bug to front matter pages (when front page numbers are in
+    roman). 
+
+
+Release 0.2.6:
+--------------
+
+* Minor improvements:
+  - Headings code refactored.
+  - Unnumbered sections (e.g. preface) can be put in TOC. Add the parameters:
+    * preface.tocdepth
+    * dedication.tocdepth
+    * colophon.tocdepth
+  - Basic <itermset> support
+  - Basic <beginpage> support (start a new page only at the current page)
+  - Parameter monoseq.hyphenation added to handle SF bug #1727482
+  - Add draft.watermark={0|1} and draft.mode=maybe, allowing to deduce the
+    draft mode from the @status='draft' attribute, and allowing to print
+    the "DRAFT" text as a watermark on every page. (thanks to Colin Marquardt's
+    patch)
+
+* Bug fixes:
+  - Fix display of several <glossseealso>s in <glossentry>
+  - Fix <para> output in list items (<listitem>, <step>)
+  - Fix unicode bug in <step>/<title>s
+  - Fix <footnoteref> bug in <table>s (thanks to Colin Marquardt's patch)
+  - Fix setup.py to make bdist_rpm work (thanks to Tim Fuehner's patch)
+  - Fix some missing characters (euro, etc.) by using the pifont and textcomp
+    packages.
+  - Fix unicode bug in some verbatim environment.
+  - Fix bug #1727472 (glossentry without acronym has no line break).
+  - Fix URL bug under Windows. (dbtex.py)
+  - Add some missing greek symbols in unicode mapping. (unient.py)
+
+
+Release 0.2.5:
+--------------
+
+* Improvements:
+  - Basic support for CJK languages. Use the CJK package and the cyberbit fonts.
+    The HLatex package is not supported yet.
+  - Support native UTF-8 latex compilation, thanks to the ucs package.
+  - Add the -s, --texstyle option.
+  - Preamble handling refactored. The expected benefit is to make dblatex more
+    customizable.
+  - Drop the docbook style 'article' or 'report' option. It is up to the style
+    to find out if it is an article or not (if needed).
+  - Support @valign combined with @morerow.
+  - Better URL handling in tables (special characters like '%').
+  - Better dblatex package precedence, to ensure that the dblatex specific
+    packages have always precedence over the system wide package.
+  - Figure captions take into account the inline docbook elements.
+ 
+* Bug fixes:
+  - Restore the -r, --texpost option.
+  - Fix use of compact itemizes in french.
+  - Fix --tmpdir bug for relative paths.
+  - Fix a small synopsis bug.
+  - Fix SF bug #1672862. Change the parsing separators to some non-human
+    writable pattern.
+  - Fix the block display of MathML equations put in an <informalequation>.
+  - Fix <programlisting> latex translation bug.
+  - Remove unexpected space strippings in <title>s.
+  - Fix bug about locale formatting (in l10n.xsl).
+
+
+Release 0.2.4:
+--------------
+
+* Minor improvements:
+  - Basic DocBook 5 support (namespace stripping)
+  - More consistent console output (use of logging)
+  - Add general parser/encoding mechanism (to fix <programlisting> encoding
+    troubles)
+  - Better <calloulist> item indentation. The calloutlist.style parameter is
+    provided to change the rendering.
+
+* Bug fixes:
+  - <releaseinfo> displayed in a biblioentry.
+  - draft.mode parameter more consistent.
+  - <biblioid> support in biblioentry.
+  - Fix regression bug (introduced in 0.2.3): ps building possible again
+  - Fix bug about image conversion combined with -bdvips
+  - Indexterm taken into account when in <refmeta>
+  - Use of subprocess instead of os.system() to have a portable latex
+    compilation.
+  - Add -R0 to dvips to work with 5.95b (thanks to Andreas Hoenen)
+  - Fix URL UTF-8 to Latin1 encoding
+  - Fix bug in dumping latex errors when latex fails
+  - <programlisting> characters now encoded to Latin1
+  - Basic <highlights> support
+
+
+Release 0.2.3:
+--------------
+
+* Improvements:
+  - Experimental annotation support (enabled when annotation.support=1)
+  - Add imageobjectco.hide={0|1} to hide the callout numbers on the image.
+
+* Setup changes and fixes:
+  - Check the available XSLTs (xsltproc is not required if 4Suite
+    is available) (SF Bug #1617458).
+  - Avoid optional package dependency (unicode.sty)
+  - Add the --use-python-path to use the path of the python interpreter that
+    runs setup.py, instead of relying on env to locate python
+    (thanks to Max Horn, the Fink packager)
+  - Fix the wrapper script building when --root is used
+    (thanks to Max Horn, the Fink packager)
+
+* Minor changes:
+  - When <releaseinfo> is set, but empty, the box in the header is removed.
+  - Add doc.toc.show={0|1} to let user skip the TOC.
+  - Add draft.mode={'yes'|'no'} to print or not the <releaseinfo> content in the
+    header of each page (SF Request #1600886).
+
+* Bug fixes:
+  - Some locale elements translated to iso-latin1.
+  - Locale mappings updated for 'de' and 'es'.
+  - Spanish babel setup added, to workaround some of the bugs introduced by
+    spanish.
+  - Load babel before the docbook style, to work around the babel/3875 bug.
+  - Xref to a term containing empty lines.
+  - String-replace origin detailed in COPYRIGHT.
+  - <abstract> duplication fixed (SF Bug #1560164).
+  - Spurious space fix.
+  - Make the -B option actually work.
+
+
+Release 0.2.2:
+--------------
+
+* BibTeX support.
+  - Some bibliography databases can be specified in <?bibtex?>
+  - A bibliography style can be specified in <?bibtex?>
+  - A global style can be defined with the latex.biblio.style parameter
+  - Options -L bib_path and -l bst_path added
+  - Bibtex is automatically called when the file is compiled
+
+* Table changes:
+  - Longtables can be used to have formal tables across several pages. Use
+    table.in.float=0 for this (Bug SF #1463054).
+  - Automatic table width allowed with newtbl.autowidth={default|all}
+  - Footnotes in tables are possible.
+  - Basic programlisting/screen support in table.
+
+* Other changes:
+  - Better cited bibliography support.
+  - Possible use of natbib citation styles (belgabor patch)
+  - Better MathML entity mapping.
+  - Footnote in programlisting possible.
+
+* Bug fixes:
+  - Fix about tilde translation.
+  - Check if a title is numbered or not for TOC filtering.
+  - Bug SF #1587091: link to formalpara (and refsection)
+  - Bug SF #1600124: correct URI from pathname in XSL parameter file
+  - Bug SF #1600441: handle image files with spaces in the path
+  - Bug SF #1606166: verbatim in legalnotice
+  - Catch a 'Rerun' asked by bibtopic or changebar packages
+  - Xref to a formal table fixed
+  - Escape characters in some biblio elements.
+  - Glossary title fix.
+  - Better MathML entity mapping.
+  - Added calloutlist title.
+  - Handles UTF-8 indexterms 
+  - Fix anchor in glossterms
+  - Extends unicode support (with passivetex packages). It is activated with
+    latex.unicode.use=1
+  - Handles callout list titles
+  - Handles xref to a glossentry
+
+
+Release 0.2.1:
+--------------
+
+* Python code improvements:
+  - Use of codecs for better and systematic unicode support.
+  - Extensible XSLT engines, loaded as plugins.
+  - Option -m added to select the XSLT to use.
+  - XSLT module using 4Suite (http://4suite.org) added.
+  - Possibility to have user and/or system-wide configuration files.
+
+* XSL improvements:
+  - UTF-8 XML output.
+  - Hexadecimal color like <?dblatex bgcolor="#cceeff"?> supported.
+  - Named color like <?dblatex bgcolor="blue"?> supported.
+  - lang.xsl: contains all lang stuff and calls the babel setup hook.
+  - newtbl.xsl: @cellpadding used for horizontal padding.
+  - pdf.annot.options parameter added to customize the PDF text annotation
+    rendering (width, height, depth, title).
+  - latex.class.book and latex.class.article parameters added to let user
+    choose an alternative document class.
+
+* Latex improvements:
+  - Cleaner locale handling.
+  - New latex commands to customize the babel setup.
+  - Default babel setup for french.
+  - Remark/comment rendered as PDF text annotations. Fixes Bug #374210 and
+    allows remark in boxes/minipages like a note.
+
+* Bug fixes:
+  - Cross-references use of key() instead of id().
+  - newtbl.xsl, xref.xsl: more conformant XSL code.
+  - dbk_core.sty: use enumitem instead of enumerate (simple style).
+  - biblio.xsl: bibliographic title fixed for an article (use of \refname).
+  - dbtex.py: bug fix when both -Tstyle -Pparam are used.
+  - legalnotice.xsl: bug shown by xsltproc-1.1.18 fixed.
+  - graphic.xsl: escape graphic filenames.
+
+
+Release 0.2:
+------------
+
+* Better osx(1) integration. The SDATA entities are translated to the equivalent
+  Unicode characters.
+
+* Better windows compatibility thanks to the Nicolas Pernetty's patches:
+  - Use of a portable 'which' during the install dependency check.
+  - Use of shutil instead of unix equivalent commands.
+  - Portable TEXINPUTS variable setup.
+  - Compatible figure path setup.
+  - Compatible package paths.
+  - Correct URI put in the customized XSL stylesheets.
+
+* Better table support:
+  - Verbatim (litterallayout, address, synopsis, classsynopsis) in tables
+    now work.
+  - Informaltable nesting is possible.
+  - Basic <entrytbl> support.
+  - Better @valign support.
+  - Column, row and entry can be coloured in tables by using
+    <?dblatex bgcolor="..."?>. The alternative hhline package can be used to
+    have row lines properly printed (newtbl.use.hhline='1')
+  - Basic support of @float and @floatstyle in <table>.
+
+* Minor imageobject/figure improvements:
+  - Basic support of @float and @floatstyle in <figure>.
+  - Possibility to use imageobject/@role='dblatex' to select the image to
+    process.
+  - Alternative <imageobject>s in a <mediaobjectco> are supported (DocBook 5).
+ 
+* Some cleanups and bug fixes.
+  - latex compilation cycle bug fix.
+  - logparser bug fix (rerun for table)
+  - dbk_fonts.sty now contains the font setup
+  - coref/@linkend fix.
+  - user manual documentation reorganized
+  - PDF manual installed in a proper way
+  - Debian manpage added to the package and used in the dblatex manual
+  - latex.figure.boxed parameter changed to imagedata.boxed
+  - latex.figure.position parameter changed to figure.default.position
+  - table.default.position added
+  - table counter bug fix
+  - <filename> in section title bug fix
+  - mklistings.xsl: URI fix when the path contains some spaces
+  - imagedata.py: robust to paths containing spaces
+  - \vdots supported in MathML
+
+
+Release 0.2pre:
+---------------
+
+* Major change: publishing code (except XSL) is re-written in Python. Perl,
+  GNU make and shell scripts are no more used.
+
+* Minor improvements:
+  - list @continuation, @numeration, @spacing attributes now handled.
+  - filename.as.url parameter added to avoid forced hyphenation with spurious
+    '-' characters.
+
+* Bug fixes:
+  - <alt> not printed in verbatim mode, and only in <*equation> elements.
+  - Entities &#8217; and &#8230; correctly mapped.
+  - db2latex.sty, docbook.sty: uses \examplename (locale).
+  - <uri>, <tag> defined.
+
+
+Release 0.1.10:
+---------------
+
+* Minor improvements:
+  - Special 'maxwidth' and 'maxheight' imagedata.default.scale setup added.
+  - glossterm.auto.link={0|1} parameter added.
+  - Add bookinfo spanish locale.
+
+* Bug fixes:
+  - Scripts handle correctly spaces in file paths (Debian bug [1]).
+  - Itemize fix, to be compatible with french babel (Debian bug [2]).
+  - Multiple copyrights correctly handled (Debian bug [3])
+  - Latex files cleanup (remove pslatex, epsfig, etc. Debian bug [4]).
+  - Several paragraphs correctly handled in table cells. 
+  - Cross-references, like <xref> or <link>, correctly handled in table cells. 
+  - <ulink> with URL containing the character '#' correctly handled in table
+    cells. 
+
+
+[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=366721
+[2] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=374215
+[3] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=374212
+[4] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=376418
+
+
+Release 0.1.9:
+--------------
+
+* Minor improvements:
+  - make.year.ranges and the make.single.year.ranges parameters added.
+  - equations without title are now latex equations (not formula in a float).
+  - xref to <varlistentry> or <term> now works.
+  - newtbl is updated and becomes the default table implementation used.
+    It now handles some tricky cell spanning cases.
+
+* Bug fix:
+  - en.xml: chapter en appendix xref labelling fix.
+  - de.xml: nested quotes fix.
+  - dbk_hyper.sty: PDF compilation test fix (use of the package ifpdf).
+  - texclean: <xt> parsing recoded to make it safer.
+  - texclean: handle entities in table cells.
+  - texclean: \pm added.
+  - db2latex.sty: equation counter level fix (set to chapter instead of article)
+  - bug fix about the text of a link to a <term> containing <ulink> or <link>
+  - qandaset.xsl: wrong test to close a list
+  - verbatimco.xsl, mklistings.xsl: correct identifier to listing
+  - xref.xsl: escape characters of refname cross-reference 
+
+
+Release 0.1.8:
+--------------
+
+* Minor improvements:
+  - doc.alignment parameter added. It defines the text alignment for the whole
+    document.
+  - Better programlisting, screen support:
+    inlinegraphic[@format='linespecific'] is handled.
+  - The book or article wrapper inherits from the root element information.
+  - Better newtbl table support: the case colwidth="1em+5*" is correctly handled.
+  - xref to refnamediv is now possible.
+  - imagedata.file.check parameter added. It checks if the referenced image file
+    exists. If not, the mediaobject alternative (textobject) is used. Set to 1
+    by default. (equation.[001-004])
+  - titleabbrev.in.toc parameter added. When set to 1 the titleabbrev content
+    is put in the TOC instead of the title. Set to 1 by default. (article.[004-005])
+  - dblatex does not convert images when output is latex only.
+  - GIF images are converted on the fly to PDF.
+  - <emphasis role="underline"> is supported.
+  - <trademark class="service"> is supported.
+  - set.book.num parameter added. When the root element is a set, this
+    parameter can be used to select the book to print. Set to 1 by default.
+  - doc.lot.show parameter added, to ask for printing some LoTs. The value is
+    a comma separated list that can contain "figure", "table", "equation",
+    "example". The order of the names is the order of the LoTs.
+    Example:
+    doc.lot.show=figure,table asks for printing only the List of Figures and the
+    List of Tables, in this order.
+  - qandaset.defaultlabel parameter added to define a default label when the
+    attribute is not defined. Default is 'number'.
+  - <bibliolist> support.
+  - Automatic biblioentry abbreviation used if <abbrev> and @id are not defined.
+  - date removed from the native style cover page
+
+* Bug fix:
+  - COPYRIGHT: contains LGPL text to respect the Debian constraints
+  - db2latex.sty: to have \RaggedRight working
+  - dbk_graphic.sty: wrong \imgheight setting
+  - sections.xsl: section level is now correct under an appendix within an
+    article
+  - mediaobject.xsl: imageobjectco is now handled when embedded in a
+    mediaobject.
+  - mediaobject.xsl: having both contentwidth="x%" and contentdepth="y%" is
+    now possible. @entityref used before @fileref.
+  - mediaobject.xsl: having @width or @depth and @scalefit=1 is now considered
+    as if the image with its natural size is in a viewport defined by width
+    and/or depth.
+  - runlatex: compile twice to have the correct number of pages when there is an
+    index.
+  - docbook.sty: an index in an article is correctly handled.
+  - lists.xsl: simplelist[@inline] bug fix. Weird vertical space removed
+  - lists.xsl: list nesting depth is now checked, to prevent latex compilation
+    crash. (orderedlist.004, orderedlist.005)
+  - dbk_item.sty: include enumerate package to handle orderedlist/@numeration.
+  - sgml2xml.pl: empty anchor element supported.
+  - biblio.xsl: a default title bibliography is provided (part.001)
+  - xref.xsl, labelid.xsl: the titles can now contain things like xref, link,
+    anchor, inlinegraphic or inlinemediaobject.
+  - common/<lang>.xml: replace some unicode values by latex equivalent.
+  - qandaset.xsl: the list environment used for numbered <qandaentry>s was
+    not properly used.
+  - db2latex.sty, dbsimple.sty, docbook.sty: sidebar changed to an environment
+    that can contain verbatim stuff. (lot.001)
+  - xref.xsl: xref to a biblioentry is now the same as a citation
+
+Release 0.1.7:
+--------------
+
+* Callout support:
+  - <programlistingco> and <screenco> supported, even for external files.
+  - <mediaobjectco> supported.
+
+* Better <programlisting> or <screen> support:
+  - External files (eg, in <textdata>) are handled.
+  - literal.lines.showall parameter added, to remove the empty last
+    lines, when set to 0. Set by default to 1.
+
+* Legalnotices are printed in the native docbook style.
+
+* An abstract in an article is printed.
+
+* Better <xref> support:
+  - <xref> to a list with a title is possible.
+  - <xref> to a refentry is possible.
+
+* Other improvements:
+  - term.breakline parameter added to have the <listitem> on a new line below
+    the <term>.
+  - Hyphenation forced for text using a typewriter font. Moreover the font is
+    smaller.
+  - doc.publisher.show parameter added, to print the dblatex logo on the cover
+    page.
+  - doc.pdfcreator.show parameter added, to have the fill the Creator field in
+    PDF information section.
+  - Running dblatex on a root element different from article or book does not
+    fail anymore, except for <set>.
+
+* Bug fixes:
+  - dbk_table.sty: make \@xmultirow long.
+  - sgml2xml.pl: empty textdata element handled.
+
+Release 0.1.6:
+--------------
+
+* Better <figure> and <informalfigure> rendering:
+  - consistent behaviour, where captions and title are printed separately.
+  - possibility to ask for title below or above the image (parameter
+    figure.title.top).
+  - possibility to change the caption style (parameter
+    mediaobject.caption.style).
+  - imagedata.default.scale parameter added to have a default scaling rule
+    applied on every imagedata that contains no scaling attribute. In particular
+    when set to 'pagebound' the images keep their natural size up to the page
+    boundaries.
+
+* Better <programlisting> and <screen> rendering, thanks to the listings.sty
+  package possibilities:
+  - all the attributes are supported.
+  - a default rendering layout is proposed.
+  - long lines are wrapped.
+  - literal.width.ignore parameter added.
+  - literal.layout.options parameter added to overwrite the default verbatim
+    style.
+
+* Minor improvements:
+  - seg.item.separator parameter added to let the user choose the separator
+    between several <segitem>s.
+  - a breakline is forced after a <term> when it is followed by a list.
+  - caption position can be choosed for tables (parameter table.title.top).
+  - \nopagebreak put after list titles.
+  - a FAQ section (quite small for the moment) added to the manual.
+  - bibtopic.sty provided for convenience.
+
+* Bug fixes:
+  - texclean: caret ('^') handled correctly
+  - texclean: bug in removing extra breaklines
+  - texclean: table header parsed correctly
+  - dblatex: compilation with some parameters (option -P) on a doc using MathML
+    fails.
+  - biblio.xsl: biblioentry/edition escaping done.
+  - inlined.xsl: <errortext> added.
+  - inlined.xsl: the arrow separating <guimenu> and <guimenuitem> is changed
+    to a real LaTeX arrow.
+  - misc.xsl: removing unexpected latex package inclusion (a4wide).
+  - dbk_biblio.sty: removing unexpected latex package inclusion (fancyhdr).
+  - lists.xsl: <term> is more robust, with the <term> content enclosed by { }.
+
+Release 0.1.5:
+--------------
+
+* dblatex supports the new option -T <target_style>. It specifies which
+  latex style is to be used for format the output. The default available
+  latex styles are:
+  - simple: the rendering is very close to original latex rendering
+  - native: the rendering is the original rendering used to produce the
+    manual (default one)
+  - db2latex: the rendering tries to be as close as possible to the
+    DB2LaTeX formatting.
+
+* The configure script can select the default latex style to use with the
+  option --target:
+  Example:
+  ./configure --prefix=/where/to/install --target=simple
+
+* The use of make instead of gmake is now detected by configure.
+
+* Other changes:
+  - possibility to define the figures to use in admonitions,
+  - \textregistered and \copyright robustness improved,
+  - <legalnotice> support,
+  - <footnote> support improved: it can be used in <term>s and in <title>s,
+  - better <subscript> and <superscript> support,
+  - <caption> in <mediaobject> is displayed (when <figure> not used)
+  - <pubdate> and <copyright> mapped to latex macros
+  - <xref> works in <term>s
+  - parameter latex.class.options added
+  - texclean optimisation, to convert a figure only once
+  - bug fix in specread (XslParam parsing)
+  - native table improvement (support any size units)
+
+Release 0.1.5pre:
+-----------------
+
+* Any document language should be well supported, since babel is now included
+  for the related language.
+
+* Some latex rendering aspects are removed from the XSL stylesheets (they should
+  never have been in these stylesheets): \parindent value, \parskip value,
+  \thispagestyle{fancy} for pages containing chapters.
+
+* The following XSL parameters are added:
+  - latex.babel.use={0|1(default)}: set to 0 the babel package is not included
+    whatever the document language is.
+  - latex.babel.language: empty by default, this parameter forces the use of
+    the specified babel language whatever the document language is.
+  - newtbl.use={0(default)|1}: set to one use the David Hedley table support
+    (very good and no Perl parsing needed).
+
+* New table support, completely re-written by David Hedley. One can use this
+  new XSL table code by setting the parameter newtbl.use=1.
+
+* XML source files with any extension are correctly handled. Previously one
+  needed to give XML files with extension .xml.
+
+* &ndash; and &mdash; entities support (texclean).
+
+* Bug fixes:
+  - <indexterm> were not put under their alphabetical letter.
+  - <indexterm> special characters '@', '!', '|' correctly handled.
+  - <personname> is now supported.
+  - <ulink> URL hyphenation is now correctly handled.
+  - <ulink> without text is correctly handled (use of @url content).
+  - template "scape" was defined twice (it fails with recent xsltproc).
+  - <refentrytitle> and <refname> correctly handled.
+  - patch for colortbl package bug (latex/3797)
+
+
diff --git a/docs/xhtml/release-notes/index.html b/docs/xhtml/release-notes/index.html new file mode 100644 index 0000000..b005c28 --- /dev/null +++ b/docs/xhtml/release-notes/index.html @@ -0,0 +1,8 @@ + + +Release Notes for dblatex

Release Notes for dblatex

Benoît Guillon


Introduction

This document provides a per-release list of enhancements and changes to +the dblatex project. Appendix A, Change Log dumps the entire change log, since it may +contain details omitted in the release sections, like the precise list of the +bugs fixed.

For releases prior or equal to version 0.2.9 the changes were listed in +the dblatex manual. The full change history is now stored in this release +note.

diff --git a/docs/xhtml/release-notes/manual.css b/docs/xhtml/release-notes/manual.css new file mode 100644 index 0000000..ac46671 --- /dev/null +++ b/docs/xhtml/release-notes/manual.css @@ -0,0 +1,122 @@ +/* + * Stylesheet copied from the DocBook XSL Stylesheets reference.css + */ + +div.legalnotice { + font-size: 80%; +} + +div.note, div.tip, div.warning { + margin-left: 5%; + margin-right: 10%; + padding: 5px; +} + +div.note, div.tip { + border-left: solid #d5dee3 20px; + border-right: solid #d5dee3 20px; +} + +div.note, div.tip { + border-left: solid palegreen 20px; + border-right: solid palegreen 20px; +} + +div.warning { + border-left: solid yellow 20px; + border-right: solid yellow 20px; +} + +div.note p, div.tip p, div.warning p { + margin-top: 0px; + margin-bottom: 4px; +} + +div.note h3, div.tip h3, div.warning h3 { + margin-top: 0; +} + +div.informalexample { + background-color: #d5dee3; + border-top-width: 2px; + border-top-style: double; + border-top-color: #d3d3d3; + border-bottom-width: 2px; + border-bottom-style: double; + border-bottom-color: #d3d3d3; + padding: 4px; + margin: 0em; + margin-left: 2em; +} + +pre.programlisting, pre.synopsis { + whitespace: pre; + font-family: monospace; + background-color: #d5dee3; + border-top-width: 1px; + border-top-style: single; + border-top-color: #d3d3d3; + border-bottom-width: 1px; + border-bottom-style: single; + border-bottom-color: #d3d3d3; + padding: 4px; + margin: 0em; + margin-top: 6px; + margin-bottom: 6px; +} + +div.informalexample pre { + whitespace: pre; + font-family: monospace; + border-top-width: 0px; + border-bottom-width: 0px; + padding: 0px; +} + +/* Parameter and PI titles */ +div.refnamediv h2 { + font-size: 2em; +} + +/* Table rendering */ +div.revhistory table, div.informaltable table { + border-collapse: collapse; + border-top: 0.5pt solid black; + border-bottom: 0.5pt solid black; + border-left: 0.5pt solid black; + border-right: 0.5pt solid black; +} + +div.revhistory td, div.revhistory th, +div.informaltable td, div.informaltable th { + padding: 2; +} + +/* TOC rendering */ +div.toc span.part { + font-family: Tahoma, Ariel, Helvetica, sans-serif; + font-weight: bold; + font-size: 20; + margin-top: 1in; +} + +div.toc span.glossary { + font-weight: bold; +} + +div.toc span.index { + font-weight: bold; +} + +div.toc span.preface { + font-weight: bold; +} + +div.toc span.appendix { + font-weight: bold; +} + +div.toc span.chapter { + font-weight: bold; +} + diff --git a/docs/xhtml/release-notes/sec-changes-0110.html b/docs/xhtml/release-notes/sec-changes-0110.html new file mode 100644 index 0000000..3eb8b02 --- /dev/null +++ b/docs/xhtml/release-notes/sec-changes-0110.html @@ -0,0 +1,4 @@ + + +Release 0.1.10

Release 0.1.10

Bug fix release.

  • Images can now have their default dimension limited to a specified maximum + dimension (can be lower than the page bounderies).

  • the following parameter is added:

    glossterm.auto.link

    Makes glossterms link to their glossary definition.

  • A number of bug fixes.

diff --git a/docs/xhtml/release-notes/sec-changes-014.html b/docs/xhtml/release-notes/sec-changes-014.html new file mode 100644 index 0000000..be7e92f --- /dev/null +++ b/docs/xhtml/release-notes/sec-changes-014.html @@ -0,0 +1,10 @@ + + +Release 0.1.4

Release 0.1.4

  • Deep code cleanup.

  • Better table support

    • Multicolumn support (use of the attributes + namest, nameend, + spanname).

    • Better frame, rowsep, + colsep attributes inheritance.

  • Better bibliography support

    • Bibliography can be nested under any section.

    • Biblioset support.

    • Basic bibliomixed support.

  • Indexterm sortas and class attributes support added.

  • Imagedata width, depth, scale attributes support improved. In previous releases, scale was used instead of width. Now, you should use width or scale properly.

  • Programlisting linenumbering attribute support added.

  • Basic glossary support added.

  • Better reference support. Refnamediv title is no more hard-coded +(use of $refnamediv.title if not empty, or name automatically generated according to the +lang).

  • Qandaset improved. Qandadiv can be nested under any section.

  • Better xref support. Now xreflabel and endterm work.

  • The latex hyperref package is now automatically included in the dbk_core +package. A customized LaTeX style package shouldn't include hyperref +anymore.

  • Link now works.

  • Trademark class attribute managed (except class='service').

  • A keyword is not displayed but is inserted in the index entries.

  • Some bug fixes.

diff --git a/docs/xhtml/release-notes/sec-changes-0141.html b/docs/xhtml/release-notes/sec-changes-0141.html new file mode 100644 index 0000000..ec00b2c --- /dev/null +++ b/docs/xhtml/release-notes/sec-changes-0141.html @@ -0,0 +1,14 @@ + + +Release 0.1.4.1

Release 0.1.4.1

  • Significant imagedata improvement: almost all the +attributes (align, valign, depth, width, scale, scalefit, contentdepth, +contentwidth) are correctly managed. However percentage used for both contentdepth and +contentwidth is not managed (only contentwidth percentage is then applied).

  • Dblatex tries to automatically detect the image file formats of the +included graphics, and convert them if necessary (and if possible) to be compatible with +the TeX backend driver. It is usefull when several image formats are used within the +same document, in which case the -f +fig_format cannot be used.

  • The dblatex option -P param=value is +added. One can then set XSL parameter values directly from the command line. This is an alternative to the -p custom.xsl option. +

  • The align attribute is now managed for table cells spanned on +several columns (i.e. row entries with nameend or +spanname attributes).

diff --git a/docs/xhtml/release-notes/sec-changes-015.html b/docs/xhtml/release-notes/sec-changes-015.html new file mode 100644 index 0000000..d27ae47 --- /dev/null +++ b/docs/xhtml/release-notes/sec-changes-015.html @@ -0,0 +1,27 @@ + + +Release 0.1.5

Release 0.1.5

  • +dblatex supports the new option +-T target_style. It specifies which latex +style to use for formatting the output. See this section for more +details.

  • The configure script can select the default latex style to use with the option +--target. Example:

    +  ./configure --prefix=/where/to/install --target=db2latex
    +
  • The use of make instead of gmake is now +detected by configure.

  • Any document language should be well supported, since babel is now included +for the related language.

  • New table support, completely re-written by David Hedley. It is very good and +no Perl parsing is needed. One can use this new XSL table code by setting the +parameter newtbl.use=1.

  • The following XSL parameters are added:

    latex.babel.use

    Set to 1 the babel package corresponding to the document language is +included. Set to 0 no babel package is included whatever the document language +is. Default is 1.

    latex.babel.language

    Empty by default, this parameter forces the use of the specified babel +language whatever the document language is.

    newtbl.use

    Set to 1, use the David Hedley table support. By default it is set to +0.

    figure.note

    Figure to use to render a note block. This parameter is +added to allow new latex styles to use their own figures in admonitions.

    figure.tip

    Figure to use to render a tip block. This parameter is +added to allow new latex styles to use their own figures in admonitions.

    figure.important

    Figure to use to render a important block. This parameter is +added to allow new latex styles to use their own figures in admonitions.

    figure.warning

    Figure to use to render a warning block. This parameter is +added to allow new latex styles to use their own figures in admonitions.

    figure.caution

    Figure to use to render a caution block. This parameter is +added to allow new latex styles to use their own figures in admonitions.

  • XML source files with any extension are correctly handled. Previously one +needed to give XML files with extension .xml.

  • Better footnote support: it can be used in section titles +and in terms.

  • Some latex rendering aspects are removed from the XSL stylesheets (they should +never have been in these stylesheets): \parindent value, \parskip value, +\thispagestyle{fancy} for pages containing chapters.

  • Bug fixes.

diff --git a/docs/xhtml/release-notes/sec-changes-016.html b/docs/xhtml/release-notes/sec-changes-016.html new file mode 100644 index 0000000..4b6e5fc --- /dev/null +++ b/docs/xhtml/release-notes/sec-changes-016.html @@ -0,0 +1,15 @@ + + +Release 0.1.6

Release 0.1.6

  • +Better figure and informalfigure +rendering:

    • Caption and title are printed separately, in a consistent way.

    • Default image scaling is possible.

  • Better programlisting and screen +rendering:

    • All the attributes are supported

    • A default verbatim layout is provided. The text is put in a framed box +with a yellow background color.

    • Long lines are wrapped.

  • Minor improvements:

    • A breakline is forced after a term when it is immediately +followed by a list.

  • the following parameters are added:

    imagedata.default.scale

    It defines the default scaling rule to +apply on every imagedata that contains no scaling +attribute.

    By default the parameter is set to 'pagebound', that is the images keep +their natural size up to the page boundaries.

    figure.title.top

    Set to 1 it specifies to put the title above +the image. By default it is set to 0 (title below).

    Note

    This parameter has no effect if an explicit float +style is used for the figures (e.g. ruled style), since the title position is +then fixed by the chosen style.

    mediaobject.caption.style

    Font style applied to the caption text. Default is slanted.

    literal.width.ignore

    Set to 1 the programlisting and screen width attribute is ignored.

    literal.layout.options

    Overwrite the default verbatim layout options.

    seg.item.separator

    Defines the separator to use between several +segitems.

  • Some bug fixes.

diff --git a/docs/xhtml/release-notes/sec-changes-017.html b/docs/xhtml/release-notes/sec-changes-017.html new file mode 100644 index 0000000..497de16 --- /dev/null +++ b/docs/xhtml/release-notes/sec-changes-017.html @@ -0,0 +1,32 @@ + + +Release 0.1.7

Release 0.1.7

  • +Callouts are now supported:

    • Embedded callout markups cos are + supported.

    • The coref markups are supported.

    • Callouts markups defined with areas in a + programlistingco or screenco are + supported.

    • Callouts on external text files (referenced by textdata + or imagedata elements) are supported.

    • Mediaobjectcos is supported.

    • The calloutlists are rendered as description lists + where the terms are the callout markups.

    • The links between the callout markups (defined via areas + or cos) and the calloutlist items (linkends + attributes) are handled properly.

  • Programlisting and screen + improved: external text files referenced via textdata or + imagedata are now supported.

  • An abstract in an article is now printed.

  • The legalnotices are now printed in the native + docbook style.

  • Better xref support. You can now make a + cross-reference to an itemizedlist with title, and to a + refentry.

  • Hyphenation is forced for text using a typewriter font, and the font is + smaller.

  • Running dblatex on a root element different from a + book or article does not fail anymore, except for set. + The root element is now wrapped into a book or an + article.

  • Minor improvements:

    • A DBLaTeX logo can be put on the cover page.

    • The PDF information section can tell that the creator of the document + is dblatex.

  • the following parameters are added:

    co.linkends.show

    Next to a callout markup the links to the corresponding calloutlist + items are shown if the parameter is set to 1. Set by default to 1.

    callout.markup.circled

    The callouts referenced in the callout list have the same rendering than + the markups in the listing (or graphic), that is, white numbers in black + circles. Set to 0 the references are simple numbers. Set to 1 by + default.

    callout.linkends.hot

    The callouts referenced in the callout list are hot links if the + parameter is set to 1. Then, the references are in red such like any + other cross-reference link in the document. Set to 1 by default.

    term.breakline

    Set to 1, the item following a term in a variable list is put on the + next line. Set to 0 by default.

    doc.pdfcreator.show

    Set to 1, the creator field of the PDF information section says that + dblatex is the creator. Set to 1 by default.

    doc.publisher.show

    Set to 1, the dblatex logo is printed on the cover page of the native + docbook style. Set to 0 by default.

    literal.lines.showall

    Set to 1, all the lines in a verbatim environment like programlisting or + screen are printed, even if they are empty. Set to 0, the last empty lines are + not printed. It is set to 1 by default.

  • Some bug fixes.

diff --git a/docs/xhtml/release-notes/sec-changes-018.html b/docs/xhtml/release-notes/sec-changes-018.html new file mode 100644 index 0000000..6f30abe --- /dev/null +++ b/docs/xhtml/release-notes/sec-changes-018.html @@ -0,0 +1,16 @@ + + +Release 0.1.8

Release 0.1.8

This is mainly a bug fix release.

  • Better programlisting and screen + support: inlinegraphic[@format='linespecific'] is handled.

  • Better newtbl support: the case colwidth="1in+5*" is now correctly handled. +

  • GIF images are converted on the fly to PDF.

  • Bibliolist support.

  • Minor improvements:

    • DBLaTeX does not convert images when output is latex only.

    • Emphasis with role="underline" is supported.

    • Trademark with class="service" is supported.

    • Xref to refnamediv + is now possible.

    • Automatic biblioentry abbreviation used if + abbrev and @id reference are not defined.

  • the following parameters are added:

    titleabbrev.in.toc

    When set to 1 the titleabbrev content is put in the TOC instead of the + title. Set to 1 by default.

    set.book.num

    When the document root element is a set this parameter + can be used to select the book to print. Set to 1 by default.

    doc.lot.show

    It specifies which Lists of Titles should be printed after the + Table of Content. The value is a comma separated list of the LoTs to + print. The supported LoTs are "figure", "table", "equation", and "example". + The list order represents the LoTs order in the output document.

    qandaset.defaultlabel

    It defines the default label to use in a qandadet + when the defaultlabel attribute is not specified. Set to "number" by default.

    imagedata.file.check

    Set to 1, it checks if the referenced image file exists. If not, the + mediaobject alternative (textobject) is used. Set to 1 by default.

    doc.alignment

    It defines the text alignment for the whole document. The valid values + are: "left", "center", "right", "justify". By default the parameter is empty, + which is equivalent to "justify".

  • A number of bug fixes.

diff --git a/docs/xhtml/release-notes/sec-changes-019.html b/docs/xhtml/release-notes/sec-changes-019.html new file mode 100644 index 0000000..118612c --- /dev/null +++ b/docs/xhtml/release-notes/sec-changes-019.html @@ -0,0 +1,6 @@ + + +Release 0.1.9

Release 0.1.9

Few changes.

  • The newtbl implementation now handles some tricky row spanning cells. + Moreover it becomes the default table implementation used.

  • Equations without title are now latex equations (not formula in a + float).

  • Xref to varlistentry or term is + possible.

  • the following parameters are added:

    make.year.ranges, make.single.year.ranges

    Change the rendering of year ranges in a copyright.

  • A number of bug fixes.

diff --git a/docs/xhtml/release-notes/sec-changes-020.html b/docs/xhtml/release-notes/sec-changes-020.html new file mode 100644 index 0000000..c6efed4 --- /dev/null +++ b/docs/xhtml/release-notes/sec-changes-020.html @@ -0,0 +1,11 @@ + + +Release 0.2

Release 0.2

  • Better osx integration. The SDATA entities are translated to the equivalent Unicode characters.

  • Better Windows compatibility thanks to Nicolas Pernetty for his +patches and feedbacks.

  • Better table support:

    • Putting some verbatim text (literallayout, address, synopsis, classsynopsis) in tables now works.

    • Nesting some informaltables is +possible.

    • Basic entrytbl support.

    • Better valign attribute support.

    • The columns, rows and entries can be coloured by using some special +Processing Instructions like <?dblatex bgcolor="..."?>.

    • The table floatstyle attribute can be used to +specify the float placement rules (like "[htbp]").

  • A few imageobject improvements:

    • Like for the official DocBook XSL stylesheets, you can use the +role attribute in imageobject to specify +the image to use by dblatex. Set role to 'dblatex' to select +the image used by dblatex.

    • Alternative imageobjects can be put in a +mediaobjectco (DocBook 5).

  • Some cleanups and a number of bug fixes.

diff --git a/docs/xhtml/release-notes/sec-changes-021.html b/docs/xhtml/release-notes/sec-changes-021.html new file mode 100644 index 0000000..0ef624c --- /dev/null +++ b/docs/xhtml/release-notes/sec-changes-021.html @@ -0,0 +1,29 @@ + + +Release 0.2.1

Release 0.2.1

  • Better unicode support. Now the XML output is encoded in UTF-8, +and Python uses the codecs to decode to ISO-Latin1 and replace the unsupported +characters to some latex equivalent.

  • Several XSLT processors can be used. The first port is for +4suite because it is fully written in +Python and is quite a good tool. The processors are loaded as plugins, so that +it can be easily extended to any other XSLT processor.

    The processor to use is specified from the command line with the +-m xslt option, where +xslt is the name of the plugin to load (actually the +name of the dynamically loaded Python module).

  • The XSL code is more conformant. It has been checked by using the +4suite XSLT processor as an alternative +to xsltproc.

  • Possibility to have some configuration files stored under +$HOME/.dblatex or under /etc/dblatex +for system-wide configurations. Some extra paths can be specified by using the +DBLATEX_CONFIG_FILES environment variable.

  • The remarks and comments +are rendered as PDF text annotations when pdflatex is +used. Otherwise, the comments are suppressed.

  • Some other minor improvements: +

    • The parameters pdf.annot.options, +latex.class.book, and +latex.class.article are added.

    • An hexadecimal color like +<?dblatex bgcolor="#cceeff"?> is supported, and +a named color like <?dblatex bgcolor="blue"?> is +supported too (in the previous release named colors had to +be enclosed in curly braces "{}").

    • Some cleaner locale handling is provided, and new latex commands +are given to allow the user to customize the babel setup.

    • The cross-references now use key() +instead of id(). It prevents from some bugs and makes +writing a document easier, especially in modular parts.

    +

  • Some bug fixes.

diff --git a/docs/xhtml/release-notes/sec-changes-0210.html b/docs/xhtml/release-notes/sec-changes-0210.html new file mode 100644 index 0000000..e0526a3 --- /dev/null +++ b/docs/xhtml/release-notes/sec-changes-0210.html @@ -0,0 +1,17 @@ + + +Release 0.2.10

Release 0.2.10

Bug fix release.

  • Use info/title to render qansaset headings.

  • Use \ensuremath{} to make latin1 from UTF8 conversion +more robust.

  • Add the parameters:

    • doc.layout parameter to configure the overall +document layout (deciding if it contains a coverpage, a toc, a frontmatter +etc.).

    • variablelist.term.separator (common with DocBook +Project),

    • refentry.generate.name (common with DocBook +Project),

    • ulink.show (mechanism extended with +@xrefstyle),

    • ulink.footnotes (mechanism extended with +@xrefstyle).

  • By default, a document subset (i.e. the root element is not an +article nor a book) is no more wrapped +with an article. No more unexpected cover page and front +matter.

  • A tex equation in alt can be written without latex +math mode delimiters (\( \),\[ \], $ $) in both equation +and inlineequation.

  • Add texmath Processing Instruction in +alt in order to avoid automatic math mode wrapping

  • Make XeTeX support more mature (but still experimental).

  • Change the documentation structure.

  • A number of bug fixes, including:

    • Debian bugs: #525692, and #514932.

    • SourceForge bugs: #2412650, #2393435, #2381306, #2058771, #1987025, and +#1975259.

diff --git a/docs/xhtml/release-notes/sec-changes-0211.html b/docs/xhtml/release-notes/sec-changes-0211.html new file mode 100644 index 0000000..40653d5 --- /dev/null +++ b/docs/xhtml/release-notes/sec-changes-0211.html @@ -0,0 +1,6 @@ + + +Release 0.2.11

Release 0.2.11

Release containing some new features.

  • Improve the set support: dblatex can build all the +PDF files (one per book) and the xr-hyper package is used to make +cross-references between books.

  • Improve the XeTeX font switch macros (still experimental).

  • Add some hook to external error handlers.

  • Change the verbatim implementation in order to be able to easily +add new elements embeddable in programlistings.

  • Add the parameters:

    • glossary.tocdepth.

    • glossary.numbered.

    • refclass.suppress.

    • use.id.as.filename.

  • Fix some bugs.

diff --git a/docs/xhtml/release-notes/sec-changes-0212.html b/docs/xhtml/release-notes/sec-changes-0212.html new file mode 100644 index 0000000..78ae7e6 --- /dev/null +++ b/docs/xhtml/release-notes/sec-changes-0212.html @@ -0,0 +1,6 @@ + + +Release 0.2.12

Release 0.2.12

Bug fix release.

  • Add basic biblioref support. Its specific attributes +are not handled yet.

  • Allow the appendices to be followed by other sections.

  • Add the ability to convert on the fly SVG figures to PDF through +inskscape: apply patch #2821475 from David Necas.

  • Improve the ability to format in bold or italic the elements embedded in +programlistings or screens.

  • Add the parameters:

    • index.tocdepth.

    • index.numbered.

    • bibliography.tocdepth.

    • bibliography.numbered.

    • xref.hypermarkup.

  • A number of bug fixes.

diff --git a/docs/xhtml/release-notes/sec-changes-022.html b/docs/xhtml/release-notes/sec-changes-022.html new file mode 100644 index 0000000..83f1462 --- /dev/null +++ b/docs/xhtml/release-notes/sec-changes-022.html @@ -0,0 +1,11 @@ + + +Release 0.2.2

Release 0.2.2

  • BibTeX support added. See the section called “Using BibTeX Databases” for more +details.

  • A better bibliography support, and natbib citation styles can be +used (see The User Manual).

  • Some table improvements: +

    • Formal tables accross several pages are possible when setting + the table.in.float parameter to 0. The limitation is + that the caption must be on the top of the table.

    • Automatic table width allowed when setting the + newtbl.autowidth parameter to default or all.

    • Footnotes in tables are possible.

    • Basic programlisting/screen + support in tables.

    +

  • A number of bug fixes.

diff --git a/docs/xhtml/release-notes/sec-changes-023.html b/docs/xhtml/release-notes/sec-changes-023.html new file mode 100644 index 0000000..0759a86 --- /dev/null +++ b/docs/xhtml/release-notes/sec-changes-023.html @@ -0,0 +1,7 @@ + + +Release 0.2.3

Release 0.2.3

This is mainly a bug fix release.

  • Experimental annotation support (DocBook 5) +enabled when the annotation.support paramater is set to 1. The +annotation support is only for PDF output.

  • Some setup.py improvements and bug fixes, thanks +to Max Horn's feedbacks (Fink packager).

  • Some minor improvements (doc.toc.show and +draft.mode parameters added).

  • A number of bug fixes.

diff --git a/docs/xhtml/release-notes/sec-changes-024.html b/docs/xhtml/release-notes/sec-changes-024.html new file mode 100644 index 0000000..04278b3 --- /dev/null +++ b/docs/xhtml/release-notes/sec-changes-024.html @@ -0,0 +1,5 @@ + + +Release 0.2.4

Release 0.2.4

A bug fix release.

  • A step towards DocBook 5 support by reusing the DocBook Project +namespace stripping templates.

  • More consistent console output (use of logging python module).

  • Some bug fixes, including:

    • Fix PostScript output bug introduced in 0.2.3.

    • Use of subprocess to handle correctly the latex compilation.

    • A general parser/encoding mechanism is added, allowing to + encode programlisting characters to Latin1.

diff --git a/docs/xhtml/release-notes/sec-changes-025.html b/docs/xhtml/release-notes/sec-changes-025.html new file mode 100644 index 0000000..3d86229 --- /dev/null +++ b/docs/xhtml/release-notes/sec-changes-025.html @@ -0,0 +1,7 @@ + + +Release 0.2.5

Release 0.2.5

Contains some deep changes even if the list of changes is small.

  • Basic support for Chinese, Japanese, and Korean (CJK) +languages. The CJK package must be installed, as well as the cyberbit fonts, to +have this feature available.

  • Support native UTF8 latex compilation, thanks to the +ucs package.

  • Preamble code refactored. The expected benefit is to make +dblatex more customizable.

  • Some other minor improvements and bug fixes.

diff --git a/docs/xhtml/release-notes/sec-changes-026.html b/docs/xhtml/release-notes/sec-changes-026.html new file mode 100644 index 0000000..5996239 --- /dev/null +++ b/docs/xhtml/release-notes/sec-changes-026.html @@ -0,0 +1,6 @@ + + +Release 0.2.6

Release 0.2.6

Bug fix release.

  • It is possible to number and/or put the preface, dedication, +and colophon sections in the TOC and bookmarks.

  • Add a draft watermark when the document is in draft mode. +Moreover, the draft mode can be deduced from the document status +attribute.

  • Some other minor improvements and bug fixes.

diff --git a/docs/xhtml/release-notes/sec-changes-027.html b/docs/xhtml/release-notes/sec-changes-027.html new file mode 100644 index 0000000..cbf941d --- /dev/null +++ b/docs/xhtml/release-notes/sec-changes-027.html @@ -0,0 +1,10 @@ + + +Release 0.2.7

Release 0.2.7

  • The XRef implementation is competely refactored to work with the +common DocBook Project stylesheets version 1.72. The goal is to support the +DocBook Project xreftyle and olink capabilities. In normal use, the changes +should be transparent.

  • Dblatex accepts input data from +standard input. Therefore, the result of some pre-processing (like profiling) +can be piped to dblatex.

  • Several user stylesheets (option -p) can be passed. Note that +each stylesheet is imported (not included) which have significant impact +on precedence or overriding behaviour.

  • Other minor improvements and a number of bug fixes.

diff --git a/docs/xhtml/release-notes/sec-changes-028.html b/docs/xhtml/release-notes/sec-changes-028.html new file mode 100644 index 0000000..62a030d --- /dev/null +++ b/docs/xhtml/release-notes/sec-changes-028.html @@ -0,0 +1,5 @@ + + +Release 0.2.8

Release 0.2.8

Bug fix release.

  • Add the parameters equation.default.position, +example.default.position, and cjk.font. +

  • A number of bug fixes.

diff --git a/docs/xhtml/release-notes/sec-changes-029.html b/docs/xhtml/release-notes/sec-changes-029.html new file mode 100644 index 0000000..19666f4 --- /dev/null +++ b/docs/xhtml/release-notes/sec-changes-029.html @@ -0,0 +1,13 @@ + + +Release 0.2.9

Release 0.2.9

Bug fix release.

  • Add the parameters refentry.numbered, + refentry.tocdepth to have the + refentry titles numbered (default) or not.

  • Add partintros handling. Needed to have a + complete TDG compiled with dblatex.

  • Add linking to areaset.

  • Add emphasis rendering in + programlisting and screen.

  • Add some logic to handle the graphics in equations. Add the + alt.use parameter.

  • Add some XeTeX support. One can use -b xetex to + compile with xelatex. The + xetex.font parameter is added to allow the user + to configure the fonts used by XeTeX. This feature may not work for + some ranges of unicode characters. This aspect will be improved in a next + release.

  • A number of bug fixes.

diff --git a/docs/xhtml/release-notes/sec-changes-02pre.html b/docs/xhtml/release-notes/sec-changes-02pre.html new file mode 100644 index 0000000..6fb83fb --- /dev/null +++ b/docs/xhtml/release-notes/sec-changes-02pre.html @@ -0,0 +1,11 @@ + + +Release 0.2pre

Release 0.2pre

Major release. All the code to transform SGML, call the XSLT, convert the +figures and finally compile with LaTeX has been re-written from scratch in +Python, removing Perl and GNU make dependencies. The LaTeX compilation relies on +a subset of the Rubber package. The new implementation is more robust, more consistent, and gives +the possibility to integrates new features. Some other small improvements are +included too: +

  • Some list attributes like continuation, numeration and spacing are now supported.

  • The filename.as.url parameter is added to avoid +forced hyphenation with spurious '-' characters.

  • Some bug fixes.

+

diff --git a/docs/xhtml/release-notes/sec-changes-03.html b/docs/xhtml/release-notes/sec-changes-03.html new file mode 100644 index 0000000..7e2fd40 --- /dev/null +++ b/docs/xhtml/release-notes/sec-changes-03.html @@ -0,0 +1,3 @@ + + +Release 0.3

Release 0.3

Bug fix release.

  • Upgrade to recent Debian scripts (error handlers).

  • Improve the table rendering by adding a table-width Processing Instruction.

  • Add the parameters:

    • default.table.width.

    • biblioentry.numbered.

  • A number of bug fixes.

diff --git a/docs/xhtml/release-notes/sec-changes-031.html b/docs/xhtml/release-notes/sec-changes-031.html new file mode 100644 index 0000000..86aca79 --- /dev/null +++ b/docs/xhtml/release-notes/sec-changes-031.html @@ -0,0 +1,7 @@ + + +Release 0.3.1

Release 0.3.1

Mainly a bug fix release.

  • Improve the table rendering by adding the support to the tabularx +environment and improving the automatic column width feature. See +Automatic Width and +Table LaTeX Styles +

  • Add the parameters:

    • linenumbering.scope.

    • linenumbering.default.

    • linenumbering.everyNth.

    • table.default.tabstyle.

  • A number of bug fixes.

diff --git a/docs/xhtml/release-notes/sec-changes-0310.html b/docs/xhtml/release-notes/sec-changes-0310.html new file mode 100644 index 0000000..3549c9f --- /dev/null +++ b/docs/xhtml/release-notes/sec-changes-0310.html @@ -0,0 +1,5 @@ + + +Release 0.3.10

Release 0.3.10

This is a minor release with two new features.

  • Add the ability to set images for front and back +covers.

  • Add the ability to pass several configuration files +(-c or -S option).

  • Fix some bugs reported by Debian.

diff --git a/docs/xhtml/release-notes/sec-changes-032.html b/docs/xhtml/release-notes/sec-changes-032.html new file mode 100644 index 0000000..93737ba --- /dev/null +++ b/docs/xhtml/release-notes/sec-changes-032.html @@ -0,0 +1,10 @@ + + +Release 0.3.2

Release 0.3.2

Some new features or improvements.

  • Add the HTML table support. See HTML Tables for more +details.

  • Add the parameters:

    • default.table.rules: parameter related to the new +HTML table support.

  • Improve the setup.py script in order to be able to +build and distribute a dblatex egg package. See PyPI Install for more +details.

  • Full support of the --quiet option.

  • Add the ability to pass a user defined index style file to dblatex +through the option --indexstyle.

  • Make dblatex working in paranoid mode in order to function correctly +with the TexLive 2010 distribution (output files only in the current +directory).

  • Some bug fixes.

diff --git a/docs/xhtml/release-notes/sec-changes-033.html b/docs/xhtml/release-notes/sec-changes-033.html new file mode 100644 index 0000000..8b39576 --- /dev/null +++ b/docs/xhtml/release-notes/sec-changes-033.html @@ -0,0 +1,14 @@ + + +Release 0.3.3

Release 0.3.3

Thanks to Freexian that is +the sponsor of this release. It contains a number of new features.

  • Remove hard-coded paper size and add some parameters for Page Layout setup. See Page Setup Section +for more details.

  • Add literal.environment and literal.extensions parameters to allow the + user define its own listing environment. See Verbatim Section.

  • Add some formatting features for the literal/verbatim elements, by taking +into account some specific keywords set to the role +attribute. +See Verbatim Section.

  • Add the parameter latex.engine.options to be able +to pass options to the TeX engine backend.

  • Print out warnings about the characters not handled by the selected fonts. Feature usefull in particular when XeTeX backend is used.

  • Improve the display of images.

  • Add the ability to format ulink as a block when +@type='block'.

  • Improve (and fixes some bugs of) the literallayout +rendering. In particular it takes into account the class +attribute, and uses the parameter literal.class as +default class to apply.

  • A number of bug fixes.

diff --git a/docs/xhtml/release-notes/sec-changes-034.html b/docs/xhtml/release-notes/sec-changes-034.html new file mode 100644 index 0000000..a8f7074 --- /dev/null +++ b/docs/xhtml/release-notes/sec-changes-034.html @@ -0,0 +1,5 @@ + + +Release 0.3.4

Release 0.3.4

This release contains completed features sponsored by Freexian that were not ready in the previous version.

  • Improve the verbatim block display to be able to scale the block width to the page width. See Verbatim Scaling +for more details.

  • Improve the hyphenation of the inlined literal elements with a dblatex +specific hyphenation algorithm.

  • Add the parameter hyphenation.format to specify the inlined format types that must be hyphenated. It replaces the more limited parameter monoseq.hyphenation.

  • Add the parameter example.float.type to give the possibility to have example elements not floating. The attribute 'floatstyle' is also taken into account.

  • A number of bug fixes.

diff --git a/docs/xhtml/release-notes/sec-changes-035.html b/docs/xhtml/release-notes/sec-changes-035.html new file mode 100644 index 0000000..33f8442 --- /dev/null +++ b/docs/xhtml/release-notes/sec-changes-035.html @@ -0,0 +1,7 @@ + + +Release 0.3.5

Release 0.3.5

This is a bug fix release.

  • Fix an HTML table bug when no colgroup or col is specified.

  • Fix an HTML table bug when cellpadding is expressed in percentage.

  • Include the package 'ucs' and configure listings to work with pdftex and + UTF-8 characters.

  • Improve setup.py to detect the installed texlive version only on + manual install.

  • Adapt URL to work with texlive >= 2009.

  • Debian bugs fixed: #720624, #684393, #684391, #683166, #682936, +and #682901.

  • SF bugs fixed: #108, #107, #106, #104, #103, #98, and some fixes to be +able work with Saxon.

diff --git a/docs/xhtml/release-notes/sec-changes-036.html b/docs/xhtml/release-notes/sec-changes-036.html new file mode 100644 index 0000000..02cd0f3 --- /dev/null +++ b/docs/xhtml/release-notes/sec-changes-036.html @@ -0,0 +1,3 @@ + + +Release 0.3.6

Release 0.3.6

This is a bug fix release with some minor improvements.

  • Make dblatex work with Xindy, for xetex and pdftex backends. Xindy is selected through the latex.index.tool parameter, and it's sorting is aware of the language used that can be set through the latex.index.language parameter. . This feature fixes the Debian bug #756386.

  • Allow the Texpost script to be a python plugin.

  • SF bugs fixed: #74, #110.

  • Debian bugs fixed: #771473, #684393.

diff --git a/docs/xhtml/release-notes/sec-changes-037.html b/docs/xhtml/release-notes/sec-changes-037.html new file mode 100644 index 0000000..93b206c --- /dev/null +++ b/docs/xhtml/release-notes/sec-changes-037.html @@ -0,0 +1,18 @@ + + +Release 0.3.7

Release 0.3.7

This is a bug fix release with some minor improvements.

  • Fix Debian bug #792898: the PDF metadata setup is improved. The PDF +Subject field is now filled with the data contained by the elements +subject. The PDF Keywords field is filled with +keyword of the document.

  • Fix Debian bug #684772 and SF bug #85: the label +attribute of the formal headings (e.g. chapter, +sect1 to sect5, +section) is used by dblatex to: + +

    • Force a section counter when the label is set to an integer.

    • Make a chapter unnumbered when the label is set to an empty string.

    + +

  • Fix Debian bug #793077: allow to put a figure anchor at the top even if +the caption is at the bottom, thanks to the parameter +figure.anchor.top.

  • Add the parameters body.font.family, +sans.font.family, and +monospace.font.family to mimic FO parameters, for xetex +font setup.

  • Other Debian bug fixed: #766945.

diff --git a/docs/xhtml/release-notes/sec-changes-038.html b/docs/xhtml/release-notes/sec-changes-038.html new file mode 100644 index 0000000..6241ac4 --- /dev/null +++ b/docs/xhtml/release-notes/sec-changes-038.html @@ -0,0 +1,30 @@ + + +Release 0.3.8

Release 0.3.8

This release fixes some bugs and contains some new features.

  • Add the endnotes feature: the footnotes can be turned +to be end notes in the printed document. Some parameters are added to configure +the endnotes display.

  • Add an XML configuration file format: it replaces the simple text + configuration format. It gives a more consistent setup and more possibilities + to configure dblatex, like overriding the commands used to convert images. + +

  • Add the parameter figure.default.align to change +the default figure and informalfigure +alignment.

  • Add a workaround to fix a Xindy bug appearing when ranges of an index +overlap.

  • Add a workaround to fix the incompatibilities between Xindy and the new + hyperref when hyperindex is on.

  • Add the possibility to build a document from a tex file that includes + other tex files.

  • Allow a segmentedlist to be formatted as a table if +the parameter segmentedlist.as.table is set to '1' or if +the <?list-presentation?> Processing +Instruction is set to 'table' (Karl O. Pinc patch). Other PIs can be used +if a segmentedlist is formatted as a table. +

  • Internal refactoring of Processing Instructions.

  • Add a 'pdfscan.py' script to find out the fonts and their size used in a +PDF file, and find out how the PDF is built.

  • Fix some bugs: + +

    • Fix a bug when passing a dialect language (e.g. '[5.2]Lua') + to programlisting.

    • Link the 'nn' lang to 'norwegian' for Xindy.

    • Fix the alignment of imagedata> that is now handled +even without an explicit viewport.

    • Take into account the caption> align attribute.

    • Fix seealso in indexterm.

    • Fix a bug about ordered lists that loose their counter in +informaltables.

    • Put the dedications in the book front matter +(was in the body matter).

    • Add the table.continue.caption parameter to fix +the hardcoded 'continued' caption used for tables covering several pages +(Ricard Mones patch).

    • Fix SF bug #102: the figure paths used in windows.

    • Fix SF bug #111: adapt the file paths used in windows by saxon or +xsltproc.

    • Fix dbk_locale.sty to be an ASCII file.

    • Correctly strip spaces for docbook 5 elements.

    +

diff --git a/docs/xhtml/release-notes/sec-changes-039.html b/docs/xhtml/release-notes/sec-changes-039.html new file mode 100644 index 0000000..bcc3fa4 --- /dev/null +++ b/docs/xhtml/release-notes/sec-changes-039.html @@ -0,0 +1,9 @@ + + +Release 0.3.9

Release 0.3.9

This is a minor release with some new features.

  • Extend the XML configuration features: a user can define its own XSLT +engine, and the rules about how the images +shall be converted can be overwritten in order to by-pass the limitations +shown by the Debian bug #837168.

  • Add the (quite old) parameter +insert.xref.page.number.para and allow to reference +(xref) to a para, simpara, +phrase like DocBook FO does.

diff --git a/docs/xref.xml b/docs/xref.xml new file mode 100644 index 0000000..c91f1f2 --- /dev/null +++ b/docs/xref.xml @@ -0,0 +1,47 @@ + + +
+Using XRefsyle and Olinks + +Since version 0.2.7 you can use the xrefstyle attribute +like you would do with the DocBook Project stylesheets for HTML output. + +Furthermore, you can also use olinks. Note that +Olinking is used in the PDF version of this manual, +in . + +Actually, the common DocBook Project stylesheets version 1.72 are now +used by dblatex to handle all of these features. + +These features are fully described in the DocBook XSL: The Complete Guide book by Bob Stayton. In particular, the following sections cover these topics: + + + explains how to use xrefstyle. + + explains how to use olinks. + + + + + +
diff --git a/etc/schema/dblatex-config.dtd b/etc/schema/dblatex-config.dtd new file mode 100644 index 0000000..41052f9 --- /dev/null +++ b/etc/schema/dblatex-config.dtd @@ -0,0 +1,146 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/etc/schema/dblatex-config.rnc b/etc/schema/dblatex-config.rnc new file mode 100644 index 0000000..367c15c --- /dev/null +++ b/etc/schema/dblatex-config.rnc @@ -0,0 +1,81 @@ +default namespace = "http://dblatex.sourceforge.net/config" + +start = config +config = + element config { + attribute version { text }?, (latex | xslt | imagedata | options)* + } + +# element and children syntaxes +# +latex = + element latex { + empty, + (texinputs + | bibinputs + | bstinputs + | backend + | texstyle + | texpost + | indexstyle)* + } + +attlist.modname = attribute use { text } +attlist.filepath = attribute fileref { text } +attlist.mod_or_file = + attlist.modname | + attlist.filepath + +backend = element backend { attlist.modname, empty } +texstyle = element texstyle { attlist.mod_or_file, empty } +texpost = element texpost { attlist.mod_or_file, empty } +indexstyle = element indexstyle { attlist.filepath, empty } +texinputs = element texinputs { text } +bibinputs = element bibinputs { text } +bstinputs = element bstinputs { text } + +# element and children syntaxes +# +xslt = element xslt { (stylesheet | engine)* } + +stylesheet = element stylesheet { attlist.filepath, empty } +engine = + element engine { attlist.engine, (commandchain | command)? } +attlist.engine = + attlist.modname | + attribute param-format { text } + +# element and children syntaxes +# +imagedata = + element imagedata { (figpath | figformat | formatrule | converter)* } + +figpath = element figpath { attlist.filepath, empty } +figformat = element figformat { text } +formatrule = element formatrule { attlist.formatrule, empty } +attlist.formatrule = + attribute dst { text }?, + attribute docformat { "dvi" | "ps" | "pdf" | "*" }?, + attribute backend { text }? + +converter = + element converter { attlist.converter, (commandchain | command) } +attlist.converter = + attribute src { text }?, + attribute dst { text }?, + attribute docformat { "dvi" | "ps" | "pdf" | "*" }?, + attribute backend { text }? + +# General syntax +# +commandchain = element commandchain { command+ } +command = element command { attlist.command, text } +attlist.command = + attribute input { text }?, + attribute output { text }?, + attribute shell { "0" | "1" | "false" | "true" }? + +# syntax +# +options = element options { text } + diff --git a/etc/schema/dblatex-config.rng b/etc/schema/dblatex-config.rng new file mode 100644 index 0000000..02ed495 --- /dev/null +++ b/etc/schema/dblatex-config.rng @@ -0,0 +1,254 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + dvi + ps + pdf + * + + + + + + + + + + + + + + + + + + + + + + + + + + + dvi + ps + pdf + * + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 1 + false + true + + + + + + + + + + + diff --git a/latex/contrib/db2latex/db2latex.sty b/latex/contrib/db2latex/db2latex.sty new file mode 100644 index 0000000..7a5945e --- /dev/null +++ b/latex/contrib/db2latex/db2latex.sty @@ -0,0 +1,490 @@ +%% +%% This is the DocBook LaTeX style used by DB2LaTeX (http://db2latex.sf.net) +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{db2latex}[2003/04/11 DB2LaTeX DocBook Style] + +% The defined options +\DeclareOption{hyperlink}{ \def\DBKhyperlink{yes} } +\DeclareOption{nohyperlink}{ \def\DBKhyperlink{no} } + +% Default values +\ExecuteOptions{nohyperlink} + +% If defined, process the options +\ProcessOptions\relax + +% Needed packages +\usepackage{ifthen} +\usepackage{float} +\usepackage{footmisc} +\usepackage{appendix} + +% Workaround to avoid troubles with accents in \appendixname used as hyperref +% label: force the label prefix to 'appendix' whatever the lang is +\let\orgresetsapp=\@resets@pp +\let\orgrestoreapp=\restoreapp +\let\restoreapp\relax +\def\@resets@pp{% + \orgresetsapp + \if@pphyper + \def\Hy@chapapp{appendix}% + \fi + \orgrestoreapp +} + +\newcommand{\DBKreleaseinfo}{Working Paper} + +\usepackage{dbk_fonts} +\usepackage{dbk_hyper} +\usepackage{dbk_biblio} +\usepackage{dbk_table} +\usepackage{dbk_changebar} +\usepackage{dbk_graphic} +\usepackage{dbk_cover} +\usepackage{dbk_verbatim} +\usepackage{dbk_misc} +\usepackage{dbk_callout} +\usepackage{dbk_locale} +\usepackage{dbk_annot} + +% For missing options in article +\@ifundefined{if@openright} + {\let\if@openright\iftrue}{} + +% LaTeX commands to define +% +% #1: mapped to +% #2: mapped to +% +\def\DBKinditem#1#2{ + #2 & #1 \tabularnewline + \hline +} + +\newenvironment{DBKindtable}{ + \begin{tabular}{ |l|l| } + \hline + \emph{Collaborator} & \emph{Contribution} + \hline +}{ + \end{tabular} +} + +% +% Latex table +% +\newenvironment{DBKrevtable}{ + \begin{longtable}{ |l|l|l|l| } + \hline + Revision number & Date & Release Info & Author \tabularnewline + \hline + \endhead +}{ + \end{longtable} +} + +\newcommand{\DBKreference}{} +\newcommand{\DBKsite}{} +\newcommand{\DBKedition}{} +\newcommand{\DBKsubtitle}{} +\newcommand{\DBKdate}{\today} +\newcommand{\DBKpubdate}{} +\newcommand{\DBKindexation}{} +\newcommand{\DBKrevhistory}{} +\newcommand{\DBKlegalblock}{} +\newcommand{\DBKlegaltitle}{} +\newcommand{\DBKcopyright}{} + +% Display ``DRAFT'' as a water mark: +\usepackage{ifpdf} + +\newif\ifpdfengine +\ifpdf\pdfenginetrue +\else\ifxetex\pdfenginetrue +\fi\fi + +\ifpdfengine +\usepackage{pdfpages} +\usepackage{color} +\def\showwatermark#1{% + \AddToShipoutPicture{ + \AtTextCenter{% + \makebox(0,0)[c]{\resizebox{\textwidth}{!}{% + \rotatebox{45}{\textsf{\textbf{\color[gray]{0.8}#1}}}}}% + }} +} +\else +\def\showwatermark#1{}% +\fi + +% -------------------------- +% Title and Bookinfo display +% -------------------------- +\let\stdtitle=\title +\def\title#1{ + \def\DBKtitle{#1} + \stdtitle{\bfseries #1% + \ifthenelse{\equal{\DBKsubtitle}{}}{}{\\[12pt]\normalsize \DBKsubtitle}} +} + +\let\stdauthor=\author +\def\author#1{ + \def\DBKauthor{#1} + \stdauthor{\begin{minipage}{10cm}\centering #1\end{minipage}}% +} + +\let\stdmaketitle=\maketitle +\def\maketitle{ + \stdmaketitle + \noindent + \textbf{\DBKtitle \\} + \ifx\DBKauthor\empty\else{by \DBKauthor \\}\fi + \hspace{0pt}\\ + \ifthenelse{\equal{\DBKedition}{}}{}{Edition \DBKedition \\} + \ifthenelse{\equal{\DBKpubdate}{}}{}{Published \DBKpubdate \\} + \ifthenelse{\equal{\DBKcopyright}{}}{}{\DBKcopyright \\} + \hspace{0pt}\\ + % Now the legalnotice block + \DBKlegalblock + \newpage +} + +\newenvironment{DBKlegalnotice}{ + \if@twocolumn + \noindent\small\textit{\DBKlegaltitle} + \/\bfseries---$\!$ + \else + \noindent\begin{center}\small\bfseries\DBKlegaltitle + \end{center}\begin{quote}\small + \fi +}{ + \vspace{0.6em}\par\if@twocolumn\else\end{quote}\fi +} + +% -------------------------------------------- +% Check for PDFLaTeX/LaTeX +% -------------------------------------------- +% Default page setup if not already done by geometry +\@ifpackageloaded{geometry}{}{ +\usepackage{anysize} +\marginsize{3cm}{2cm}{1.25cm}{1.25cm} +} + +\makeatletter + +% Redefine paragraph to put the title on a separate line +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1ex \@plus .2ex}% + {\normalfont\normalsize\bfseries}} + +% redefine the listoffigures and listoftables so that the name of the chapter +% is printed whenever there are figures or tables from that chapter. encourage +% pagebreak prior to the name of the chapter (discourage orphans). +\let\save@@chapter\@chapter +\let\save@@l@figure\l@figure +\let\the@l@figure@leader\relax +\def\@chapter[#1]#2{\save@@chapter[{#1}]{#2}% +\addtocontents{lof}{\protect\def\the@l@figure@leader{\protect\pagebreak[0]\protect\contentsline{chapter}{\protect\numberline{\thechapter}#1}{}{\thepage}}}% +\addtocontents{lot}{\protect\def\the@l@figure@leader{\protect\pagebreak[0]\protect\contentsline{chapter}{\protect\numberline{\thechapter}#1}{}{\thepage}}}% +} +\renewcommand*\l@figure{\the@l@figure@leader\let\the@l@figure@leader\relax\save@@l@figure} +\let\l@table\l@figure +\makeatother +\usepackage{fancyhdr} +\renewcommand{\headrulewidth}{0.4pt} +\renewcommand{\footrulewidth}{0.4pt} +% Safeguard against long headers. +\IfFileExists{truncate.sty}{ +\usepackage{truncate} +% Use an ellipsis when text would be larger than x% of the text width. +% Preserve left/right text alignment using \hfill (works for English). +\fancyhead[ol]{\truncate{0.49\textwidth}{\sl\leftmark}} +\fancyhead[er]{\truncate{0.49\textwidth}{\hfill\sl\rightmark}} +\fancyhead[el]{\truncate{0.49\textwidth}{\sl\leftmark}} +\fancyhead[or]{\truncate{0.49\textwidth}{\hfill\sl\rightmark}} +}{\typeout{WARNING: truncate.sty wasn't available and functionality was skipped.}} +\pagestyle{fancy} + +% Define front/main/back matter if not available +\makeatletter +\@ifundefined{frontmatter}{ + \def\frontmatter{\cleardoublepage\pagenumbering{roman}} +}{} +\@ifundefined{mainmatter}{ + \def\mainmatter{\cleardoublepage\pagenumbering{arabic}} +}{} +\@ifundefined{backmatter}{ + \def\backmatter{\if@openright\cleardoublepage\else\clearpage\fi} +}{} + + +\@ifundefined{abstract}{ +\newenvironment{abstract}{ + \setlength\parskip{\medskipamount}% + \setlength\parindent{0pt}% +}{} +}{ +% Redefine abstract in avoid page count reset +\def\nocount#1#2{} +\let\stdsetcounter\setcounter + +\let\stdabstract\abstract +\let\endstdabstract\endabstract + +\renewenvironment{abstract}{% +\let\setcounter\nocount +\stdabstract +}{% +\endstdabstract +\let\setcounter\stdsetcounter +} +} + +\makeatother + +% ---------------------- +% Most Common Packages +% ---------------------- +\usepackage{latexsym} +% FIXME: enumitem is expected by the stylesheets +\usepackage{enumitem} +\usepackage{fancybox} +\usepackage{ragged2e} +\usepackage{fancyvrb} +\makeatletter\@namedef{FV@fontfamily@default}{\def\FV@FontScanPrep{}\def\FV@FontFamily{}}\makeatother +\fvset{obeytabs=true,tabsize=3} +\makeatletter +\let\dblatex@center\center\let\dblatex@endcenter\endcenter +\def\dblatex@nolistI{\leftmargin\leftmargini\topsep\z@ \parsep\parskip \itemsep\z@} +\def\center{\let\@listi\dblatex@nolistI\@listi\dblatex@center\let\@listi\@listI\@listi} +\def\endcenter{\dblatex@endcenter} +\makeatother +\usepackage{rotating} +\usepackage{subfigure} +\usepackage{tabularx} + +% -------------------------------------------- +% Math support +% -------------------------------------------- +\usepackage{amsmath,amsthm,amsfonts,amsxtra,amsopn} + +% --------------- +% Document Font +% --------------- +\ifxetex\else +\usepackage{palatino} +\fi + +% ---------------------------------------------- +% Define a new LaTeX environment (adminipage) +% ---------------------------------------------- +\newenvironment{admminipage}% +{ % this code corresponds to the \begin{adminipage} command + \begin{Sbox}% + \begin{minipage}% +} %done +{ % this code corresponds to the \end{adminipage} command + \end{minipage} + \end{Sbox} + \fbox{\TheSbox} +} %done + +% ---------------------------------------------- +% Define a new LaTeX length (admlength) +% ---------------------------------------------- +\newlength{\admlength} + +% ---------------------------------------------- +% Define a new LaTeX environment (admonition) +% With 2 parameters: +% #1 The image (e.g. note.pdf) +% #2 The caption +% ---------------------------------------------- +\newenvironment{DBKadmonition}[2] { + % this code corresponds to the \begin{admonition} command + \hspace{0mm}\newline\hspace*\fill\newline + \noindent + \setlength{\fboxsep}{5pt} + \setlength{\admlength}{\linewidth} + \addtolength{\admlength}{-10\fboxsep} + \addtolength{\admlength}{-10\fboxrule} + \admminipage{\admlength} + {\bfseries \sc\large{#2}} \newline + ~\\[1mm] + \sffamily + \ifthenelse{\equal{#1}{}}{ + \def\admgraph{false} + }{ + \def\admgraph{true} + \includegraphics[width=1cm]{#1} + \addtolength{\admlength}{-1cm} + \addtolength{\admlength}{-20pt} + \begin{minipage}[lt]{\admlength} + } + \parskip=0.5\baselineskip \advance\parskip by 0pt plus 2pt +} %done +{ % this code corresponds to the \end{admonition} command + \vspace{5mm} + \ifthenelse{\equal{\admgraph}{false}}{}{ + \end{minipage} + } + \endadmminipage + \vspace{.5em} + \par +} + +\newenvironment{sidebar}[1][]{ + \hspace{0mm}\newline% + \noindent\begin{Sbox}\begin{minipage}{\linewidth-2\fboxsep-2\fboxrule-\shadowsize} +}{ + \end{minipage}\end{Sbox}\shadowbox{\TheSbox}% +} + +% -------------------------------------------- +% Commands to manage/style/create floats +% figures, tables, algorithms, examples, eqn +% -------------------------------------------- +\makeatletter +\floatstyle{ruled} +\restylefloat{figure} +\floatstyle{ruled} +\restylefloat{table} +\@ifundefined{chapter}{ + \floatstyle{ruled} + \newfloat{program}{ht}{lop}[section] + \floatstyle{ruled} + \newfloat{example}{ht}{loe}[section] + \floatname{example}{\examplename} + \floatstyle{ruled} + \newfloat{dbequation}{ht}{lom}[section] + \def\toclevel@dbequation{0} + \floatname{dbequation}{\dbequationname} + \floatstyle{boxed} + \newfloat{algorithm}{ht}{loa}[section] + \floatname{algorithm}{Algorithm} +}{ + \floatstyle{ruled} + \newfloat{program}{ht}{lop}[chapter] + \floatstyle{ruled} + \newfloat{example}{ht}{loe}[chapter] + \floatname{example}{\examplename} + \floatstyle{ruled} + \newfloat{dbequation}{ht}{lom}[chapter] + \def\toclevel@dbequation{0} + \floatname{dbequation}{\dbequationname} + \floatstyle{boxed} + \newfloat{algorithm}{ht}{loa}[chapter] + \floatname{algorithm}{Algorithm} +} +\makeatother + +% -------------------------------------------- +% $latex.caption.swapskip enabled for $formal.title.placement support +%\newlength{\docbooktolatextempskip} +%\newcommand{\captionswapskip}{\setlength{\docbooktolatextempskip}{\abovecaptionskip}\setlength{\abovecaptionskip}{\belowcaptionskip}\setlength{\belowcaptionskip}{\docbooktolatextempskip}} +%% Guard against a problem with old package versions. +%\makeatletter +%\AtBeginDocument{ +%\DeclareRobustCommand\ref{\@refstar} +%\DeclareRobustCommand\pageref{\@pagerefstar} +%} +%\makeatother +%% -------------------------------------------- +\makeatletter +\newcommand{\dbz}{\penalty \z@} +\newcommand{\docbooktolatexpipe}{\ensuremath{|}\dbz} +\newskip\docbooktolatexoldparskip +\newcommand{\docbooktolatexnoparskip}{\docbooktolatexoldparskip=\parskip\parskip=0pt plus 1pt} +\newcommand{\docbooktolatexrestoreparskip}{\parskip=\docbooktolatexoldparskip} +\def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else\hbox{}\thispagestyle{empty}\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi} + +\ifx\dblatex@chaptersmark\@undefined\def\dblatex@chaptersmark#1{\markboth{\MakeUppercase{#1}}{}}\fi +\let\save@makeschapterhead\@makeschapterhead +\def\dblatex@makeschapterhead#1{\vspace*{-80pt}\save@makeschapterhead{#1}} +\def\@makeschapterhead#1{\dblatex@makeschapterhead{#1}\dblatex@chaptersmark{#1}} + + +\AtBeginDocument{\ifx\refname\@undefined\let\docbooktolatexbibname\bibname\def\docbooktolatexbibnamex{\bibname}\else\let\docbooktolatexbibname\refname\def\docbooktolatexbibnamex{\refname}\fi} +% Facilitate use of \cite with \label +\newcommand{\docbooktolatexbibaux}[2]{% + \protected@write\@auxout{}{\string\global\string\@namedef{docbooktolatexcite@#1}{#2}} +} + +%\usepackage{cite} +%\renewcommand\citeleft{(} % parentheses around list +%\renewcommand\citeright{)} % parentheses around list +\newcommand{\docbooktolatexcite}[2]{% + \@ifundefined{docbooktolatexcite@#1}% + {\cite{#1}}% + {\def\@docbooktolatextemp{#2}\ifx\@docbooktolatextemp\@empty% + \cite{\@nameuse{docbooktolatexcite@#1}}% + \else\cite[#2]{\@nameuse{docbooktolatexcite@#1}}% + \fi% + }% +} +\newcommand{\docbooktolatexbackcite}[1]{% + \ifx\Hy@backout\@undefined\else% + \@ifundefined{docbooktolatexcite@#1}{% + % emit warning? + }{% + \ifBR@verbose% + \PackageInfo{backref}{back cite \string`#1\string' as \string`\@nameuse{docbooktolatexcite@#1}\string'}% + \fi% + \Hy@backout{\@nameuse{docbooktolatexcite@#1}}% + }% + \fi% +} + +% -------------------------------------------- +% A way to honour s +% Blame j-devenish (at) users.sourceforge.net +% In any other LaTeX context, this would probably go into a style file. +\newcommand{\docbooktolatexusefootnoteref}[1]{\@ifundefined{@fn@label@#1}% + {\hbox{\@textsuperscript{\normalfont ?}}% + \@latex@warning{Footnote label `#1' was not defined}}% + {\@nameuse{@fn@label@#1}}} +\newcommand{\docbooktolatexmakefootnoteref}[1]{% + \protected@write\@auxout{}% + {\global\string\@namedef{@fn@label@#1}{\@makefnmark}}% + \@namedef{@fn@label@#1}{\hbox{\@textsuperscript{\normalfont ?}}}% + } + +% index labeling helper +\let\dbtolatex@@theindex\theindex +\let\dbtolatex@@endtheindex\endtheindex +\renewenvironment{theindex}{ + \if@openright\cleardoublepage\else\clearpage\fi + \dbtolatex@@theindex + % To have the index in the TOC + \@ifundefined{chapter}{ + \addcontentsline{toc}{section}{\numberline{}\indexname} + }{ + \refstepcounter{chapter} + \ifnum \value{part} >\z@ + \addcontentsline{toc}{part}{\protect\numberline{}\indexname} + \else + \addcontentsline{toc}{chapter}{\numberline{}\indexname} + \fi + } +}{ + \dbtolatex@@endtheindex% +} + +\newlength\saveparskip \newlength\saveparindent +\newlength\tempparskip \newlength\tempparindent + +% Prevent multiple openings of the same aux file +% (happens when backref is used with multiple bibliography environments) +\ifx\AfterBeginDocument\undefined\let\AfterBeginDocument\AtBeginDocument\fi +\AfterBeginDocument{ + \let\latex@@starttoc\@starttoc + \def\@starttoc#1{% + \@ifundefined{docbooktolatex@aux#1}{% + \global\@namedef{docbooktolatex@aux#1}{}% + \latex@@starttoc{#1}% + }{} + } +} + diff --git a/latex/contrib/db2latex/graphics/caution.eps b/latex/contrib/db2latex/graphics/caution.eps new file mode 100644 index 0000000..c9473b7 --- /dev/null +++ b/latex/contrib/db2latex/graphics/caution.eps @@ -0,0 +1,1348 @@ +%!PS-Adobe-2.0 EPSF-1.2 +%%Title: Untitled-3 +%%Creator: FreeHand 9.0 +%%CreationDate: 2002/12/05 8:20 PM +%%BoundingBox: 0 0 29 29 +%%FHPathName:Untitled:FreeHand 9:English:Untitled-3 +%ALDOriginalFile:Untitled:FreeHand 9:English:Untitled-3 +%ALDBoundingBox: -2 -2 29 29 +%%FHPageNum:1 +%%DocumentSuppliedResources: procset Altsys_header 4 0 +%%ColorUsage: Color +%%DocumentProcessColors: Black +%%EndComments +%%BeginResource: procset Altsys_header 4 0 +userdict begin /AltsysDict 300 dict def end +AltsysDict begin +/bdf{bind def}bind def +/xdf{exch def}bdf +/defed{where{pop true}{false}ifelse}bdf +/ndf{1 index where{pop pop pop}{dup xcheck{bind}if def}ifelse}bdf +/d{setdash}bdf +/h{closepath}bdf +/H{}bdf +/J{setlinecap}bdf +/j{setlinejoin}bdf +/M{setmiterlimit}bdf +/n{newpath}bdf +/N{newpath}bdf +/q{gsave}bdf +/Q{grestore}bdf +/w{setlinewidth}bdf +/Xic{matrix invertmatrix concat}bdf +/Xq{matrix currentmatrix mark}bdf +/XQ{cleartomark setmatrix}bdf +/sepdef{ +dup where not +{ +AltsysSepDict +} +if +3 1 roll exch put +}bdf +/st{settransfer}bdf +/colorimage defed /_rci xdf +/cntr 0 def +/readbinarystring{ +/cntr 0 def +2 copy readstring +{ +{ +dup +(\034) search +{ +length exch pop exch +dup length 0 ne +{ +dup dup 0 get 32 sub 0 exch put +/cntr cntr 1 add def +} +{ +pop 1 string dup +0 6 index read pop 32 sub put +}ifelse +3 copy +putinterval pop +1 add +1 index length 1 sub +1 index sub +dup 0 le {pop pop exit}if +getinterval +} +{ +pop exit +} ifelse +} loop +}if +cntr 0 gt +{ +pop 2 copy +dup length cntr sub cntr getinterval +readbinarystring +} if +pop exch pop +} bdf +/_NXLevel2 defed { +_NXLevel2 not { +/colorimage where { +userdict eq { +/_rci false def +} if +} if +} if +} if +/md defed{ +md type /dicttype eq { +/colorimage where { +md eq { +/_rci false def +}if +}if +/settransfer where { +md eq { +/st systemdict /settransfer get def +}if +}if +}if +}if +/setstrokeadjust defed +{ +true setstrokeadjust +/C{curveto}bdf +/L{lineto}bdf +/m{moveto}bdf +} +{ +/dr{transform .25 sub round .25 add +exch .25 sub round .25 add exch itransform}bdf +/C{dr curveto}bdf +/L{dr lineto}bdf +/m{dr moveto}bdf +/setstrokeadjust{pop}bdf +}ifelse +/privrectpath { +4 -2 roll m +dtransform round exch round exch idtransform +2 copy 0 lt exch 0 lt xor +{dup 0 exch rlineto exch 0 rlineto neg 0 exch rlineto} +{exch dup 0 rlineto exch 0 exch rlineto neg 0 rlineto} +ifelse +closepath +}bdf +/rectclip{newpath privrectpath clip newpath}def +/rectfill{gsave newpath privrectpath fill grestore}def +/rectstroke{gsave newpath privrectpath stroke grestore}def +/_fonthacksave false def +/currentpacking defed +{ +/_bfh {/_fonthacksave currentpacking def false setpacking} bdf +/_efh {_fonthacksave setpacking} bdf +} +{ +/_bfh {} bdf +/_efh {} bdf +}ifelse +/packedarray{array astore readonly}ndf +/` +{ +false setoverprint +/-save0- save def +5 index concat +pop +storerect left bottom width height rectclip +pop +/MMdict_count countdictstack def +/MMop_count count 1 sub def +userdict begin +/showpage {} def +0 setgray 0 setlinecap 1 setlinewidth +0 setlinejoin 10 setmiterlimit [] 0 setdash newpath +} bdf +/currentpacking defed{true setpacking}if +/min{2 copy gt{exch}if pop}bdf +/max{2 copy lt{exch}if pop}bdf +/xformfont { currentfont exch makefont setfont } bdf +/fhnumcolors 1 +statusdict begin +/processcolors defed +{ +pop processcolors +} +{ +/deviceinfo defed { +deviceinfo /Colors known { +pop deviceinfo /Colors get +} if +} if +} ifelse +end +def +/printerRes +gsave +matrix defaultmatrix setmatrix +72 72 dtransform +abs exch abs +max +grestore +def +/graycalcs +[ +{Angle Frequency} +{GrayAngle GrayFrequency} +{0 Width Height matrix defaultmatrix idtransform +dup mul exch dup mul add sqrt 72 exch div} +{0 GrayWidth GrayHeight matrix defaultmatrix idtransform +dup mul exch dup mul add sqrt 72 exch div} +] def +/calcgraysteps { +forcemaxsteps +{ +maxsteps +} +{ +/currenthalftone defed +{currenthalftone /dicttype eq}{false}ifelse +{ +currenthalftone begin +HalftoneType 4 le +{graycalcs HalftoneType 1 sub get exec} +{ +HalftoneType 5 eq +{ +Default begin +{graycalcs HalftoneType 1 sub get exec} +end +} +{0 60} +ifelse +} +ifelse +end +} +{ +currentscreen pop exch +} +ifelse +printerRes 300 max exch div exch +2 copy +sin mul round dup mul +3 1 roll +cos mul round dup mul +add 1 add +dup maxsteps gt {pop maxsteps} if +dup minsteps lt {pop minsteps} if +} +ifelse +} bdf +/nextrelease defed { +/languagelevel defed not { +/framebuffer defed { +0 40 string framebuffer 9 1 roll 8 {pop} repeat +dup 516 eq exch 520 eq or +{ +/fhnumcolors 3 def +/currentscreen {60 0 {pop pop 1}}bdf +/calcgraysteps {maxsteps} bdf +}if +}if +}if +}if +fhnumcolors 1 ne { +/calcgraysteps {maxsteps} bdf +} if +/currentpagedevice defed { +currentpagedevice /PreRenderingEnhance known +{ +currentpagedevice /PreRenderingEnhance get +{ +/calcgraysteps +{ +forcemaxsteps +{maxsteps} +{256 maxsteps min} +ifelse +} def +} if +} if +} if +/gradfrequency 144 def +printerRes 1000 lt { +/gradfrequency 72 def +} if +/adjnumsteps { +dup dtransform abs exch abs max +printerRes div +gradfrequency mul +round +5 max +min +}bdf +/goodsep { +spots exch get 4 get dup sepname eq exch (_vc_Registration) eq or +}bdf +/BeginGradation defed +{/bb{BeginGradation}bdf} +{/bb{}bdf} +ifelse +/EndGradation defed +{/eb{EndGradation}bdf} +{/eb{}bdf} +ifelse +/bottom -0 def +/delta -0 def +/frac -0 def +/height -0 def +/left -0 def +/numsteps1 -0 def +/radius -0 def +/right -0 def +/top -0 def +/width -0 def +/xt -0 def +/yt -0 def +/df currentflat def +/tempstr 1 string def +/clipflatness currentflat def +/inverted? +0 currenttransfer exec .5 ge def +/tc1 [0 0 0 1] def +/tc2 [0 0 0 1] def +/storerect{/top xdf /right xdf /bottom xdf /left xdf +/width right left sub def /height top bottom sub def}bdf +/concatprocs{ +systemdict /packedarray known +{dup type /packedarraytype eq 2 index type /packedarraytype eq or}{false}ifelse +{ +/proc2 exch cvlit def /proc1 exch cvlit def +proc1 aload pop proc2 aload pop +proc1 length proc2 length add packedarray cvx +} +{ +/proc2 exch cvlit def /proc1 exch cvlit def +/newproc proc1 length proc2 length add array def +newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval +newproc cvx +}ifelse +}bdf +/i{dup 0 eq +{pop df dup} +{dup} ifelse +/clipflatness xdf setflat +}bdf +version cvr 38.0 le +{/setrgbcolor{ +currenttransfer exec 3 1 roll +currenttransfer exec 3 1 roll +currenttransfer exec 3 1 roll +setrgbcolor}bdf}if +/vms {/vmsv save def} bdf +/vmr {vmsv restore} bdf +/vmrs{vmsv restore /vmsv save def}bdf +/eomode{ +{/filler /eofill load def /clipper /eoclip load def} +{/filler /fill load def /clipper /clip load def} +ifelse +}bdf +/normtaper{}bdf +/logtaper{9 mul 1 add log}bdf +/CD{ +/NF exch def +{ +exch dup +/FID ne 1 index/UniqueID ne and +{exch NF 3 1 roll put} +{pop pop} +ifelse +}forall +NF +}bdf +/MN{ +1 index length +/Len exch def +dup length Len add +string dup +Len +4 -1 roll +putinterval +dup +0 +4 -1 roll +putinterval +}bdf +/RC{4 -1 roll /ourvec xdf 256 string cvs(|______)anchorsearch +{1 index MN cvn/NewN exch def cvn +findfont dup maxlength dict CD dup/FontName NewN put dup +/Encoding ourvec put NewN exch definefont pop}{pop}ifelse}bdf +/RF{ +dup +FontDirectory exch +known +{pop 3 -1 roll pop} +{RC} +ifelse +}bdf +/FF{dup 256 string cvs(|______)exch MN cvn dup FontDirectory exch known +{exch pop findfont 3 -1 roll pop} +{pop dup findfont dup maxlength dict CD dup dup +/Encoding exch /Encoding get 256 array copy 7 -1 roll +{3 -1 roll dup 4 -2 roll put}forall put definefont} +ifelse}bdf +/RCJ{4 -1 roll +/ourvec xdf +256 string cvs +(|______) anchorsearch +{pop +cvn +dup FDFJ +exch +1 index +eq +{ +_bfh findfont _efh +dup +maxlength dict +CD +dup +/FontName +3 index +put +dup +/Encoding ourvec put +1 index +exch +definefont +pop +} +{exch pop} +ifelse +} +{pop} +ifelse +}bdf +/RFJ{ +dup +FontDirectory exch +known +{pop 3 -1 roll pop} +{RCJ} +ifelse +}bdf +/hasfont +{ +/resourcestatus where +{ +pop +/Font resourcestatus +{ +pop pop true +} +{ +false +} +ifelse +} +{ +dup FontDirectory exch known +{pop true} +{ +256 string +cvs +(fonts/) exch MN +status +{pop pop pop pop true} +{false} +ifelse +} +ifelse +} +ifelse +}bdf +/FDFJ +{ +dup +hasfont +not +{ +pop +/Ryumin-Light-83pv-RKSJ-H +hasfont +{ +/Ryumin-Light-83pv-RKSJ-H +} +{ +/Courier +} +ifelse +} +if +}bdf +/FFJ{ +_bfh +dup +256 string cvs +(|______)exch MN +cvn +dup +FontDirectory +exch known +{ +exch +pop +findfont +3 -1 roll +pop +} +{ +pop +FDFJ +dup findfont +dup maxlength dict +CD +dup dup +/Encoding exch +/Encoding get +256 array copy +7 -1 roll +{ +3 -1 roll +dup +4 -2 roll +put +}forall +put +definefont +} +ifelse +_efh +}bdf +/GS { +dup +hasfont +{ +findfont +exch makesetfont +exch +pop +ts +} +{ +pop pop pop +ts +} ifelse +} bdf +/RCK{4 -1 roll +/ourvec xdf +256 string cvs +(|______) anchorsearch +{pop +cvn +dup FDFK +exch +1 index +eq +{ +_bfh findfont _efh +dup +maxlength dict +CD +dup +/FontName +3 index +put +dup +/Encoding ourvec put +1 index +exch +definefont +pop +} +{exch pop} +ifelse +} +{pop} +ifelse +}bdf +/RFK{ +dup +FontDirectory exch +known +{pop 3 -1 roll pop} +{RCK} +ifelse +}bdf +/hasfont +{ +/resourcestatus where +{ +pop +/Font resourcestatus +{ +pop pop true +} +{ +false +} +ifelse +} +{ +dup FontDirectory exch known +{pop true} +{ +256 string +cvs +(fonts/) exch MN +status +{pop pop pop pop true} +{false} +ifelse +} +ifelse +} +ifelse +}bdf +/FDFK +{ +dup +hasfont +not +{ +pop +/JCsm +hasfont +{ +/JCsm +} +{ +/Courier +} +ifelse +} +if +}bdf +/FFK{ +_bfh +dup +256 string cvs +(|______)exch MN +cvn +dup +FontDirectory +exch known +{ +exch +pop +findfont +3 -1 roll +pop +} +{ +pop +FDFK +dup findfont +dup maxlength dict +CD +dup dup +/Encoding exch +/Encoding get +256 array copy +7 -1 roll +{ +3 -1 roll +dup +4 -2 roll +put +}forall +put +definefont +} +ifelse +_efh +}bdf +/RCTC{4 -1 roll +/ourvec xdf +256 string cvs +(|______) anchorsearch +{pop +cvn +dup FDFTC +exch +1 index +eq +{ +_bfh findfont _efh +dup +maxlength dict +CD +dup +/FontName +3 index +put +dup +/Encoding ourvec put +1 index +exch +definefont +pop +} +{exch pop} +ifelse +} +{pop} +ifelse +}bdf +/RFTC{ +dup +FontDirectory exch +known +{pop 3 -1 roll pop} +{RCTC} +ifelse +}bdf +/FDFTC +{ +dup +hasfont +not +{ +pop +/DFMing-Lt-HK-BF +hasfont +{ +/DFMing-Lt-HK-BF +} +{ +/Courier +} +ifelse +} +if +}bdf +/FFTC{ +_bfh +dup +256 string cvs +(|______)exch MN +cvn +dup +FontDirectory +exch known +{ +exch +pop +findfont +3 -1 roll +pop +} +{ +pop +FDFTC +dup findfont +dup maxlength dict +CD +dup dup +/Encoding exch +/Encoding get +256 array copy +7 -1 roll +{ +3 -1 roll +dup +4 -2 roll +put +}forall +put +definefont +} +ifelse +_efh +}bdf +/fps{ +currentflat +exch +dup 0 le{pop 1}if +{ +dup setflat 3 index stopped +{1.3 mul dup 3 index gt{pop setflat pop pop stop}if} +{exit} +ifelse +}loop +pop setflat pop pop +}bdf +/fp{100 currentflat fps}bdf +/clipper{clip}bdf +/W{/clipper load 100 clipflatness dup setflat fps}bdf + +userdict begin /BDFontDict 29 dict def end +BDFontDict begin +/bu{}def +/bn{}def +/setTxMode{av 70 ge{pop}if pop}def +/gm{m}def +/show{pop}def +/gr{pop}def +/fnt{pop pop pop}def +/fs{pop}def +/fz{pop}def +/lin{pop pop}def +/:M {pop pop} def +/sf {pop} def +/S {pop} def +/@b {pop pop pop pop pop pop pop pop} def +/_bdsave /save load def +/_bdrestore /restore load def +/save { dup /fontsave eq {null} {_bdsave} ifelse } def +/restore { dup null eq { pop } { _bdrestore } ifelse } def +/fontsave null def +end +/MacVec 256 array def +MacVec 0 /Helvetica findfont +/Encoding get 0 128 getinterval putinterval +MacVec 127 /DEL put MacVec 16#27 /quotesingle put MacVec 16#60 /grave put +/NUL/SOH/STX/ETX/EOT/ENQ/ACK/BEL/BS/HT/LF/VT/FF/CR/SO/SI +/DLE/DC1/DC2/DC3/DC4/NAK/SYN/ETB/CAN/EM/SUB/ESC/FS/GS/RS/US +MacVec 0 32 getinterval astore pop +/Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis/Udieresis/aacute +/agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute/egrave +/ecircumflex/edieresis/iacute/igrave/icircumflex/idieresis/ntilde/oacute +/ograve/ocircumflex/odieresis/otilde/uacute/ugrave/ucircumflex/udieresis +/dagger/degree/cent/sterling/section/bullet/paragraph/germandbls +/registered/copyright/trademark/acute/dieresis/notequal/AE/Oslash +/infinity/plusminus/lessequal/greaterequal/yen/mu/partialdiff/summation +/product/pi/integral/ordfeminine/ordmasculine/Omega/ae/oslash +/questiondown/exclamdown/logicalnot/radical/florin/approxequal/Delta/guillemotleft +/guillemotright/ellipsis/nbspace/Agrave/Atilde/Otilde/OE/oe +/endash/emdash/quotedblleft/quotedblright/quoteleft/quoteright/divide/lozenge +/ydieresis/Ydieresis/fraction/currency/guilsinglleft/guilsinglright/fi/fl +/daggerdbl/periodcentered/quotesinglbase/quotedblbase +/perthousand/Acircumflex/Ecircumflex/Aacute +/Edieresis/Egrave/Iacute/Icircumflex/Idieresis/Igrave/Oacute/Ocircumflex +/apple/Ograve/Uacute/Ucircumflex/Ugrave/dotlessi/circumflex/tilde +/macron/breve/dotaccent/ring/cedilla/hungarumlaut/ogonek/caron +MacVec 128 128 getinterval astore pop +/findheaderfont { +/Helvetica findfont +} def +end %. AltsysDict +%%EndResource +%%EndProlog + +%%BeginSetup + +AltsysDict begin +_bfh + +_efh +end %. AltsysDict + +%%EndSetup +AltsysDict begin + +/onlyk4{false}ndf +/ccmyk{dup 5 -1 roll sub 0 max exch}ndf +/cmyk2gray{ +4 -1 roll 0.3 mul 4 -1 roll 0.59 mul 4 -1 roll 0.11 mul +add add add 1 min neg 1 add +}bdf +/setcmykcolor{1 exch sub ccmyk ccmyk ccmyk pop setrgbcolor}ndf +/maxcolor { +max max max +} ndf +/maxspot { +pop +} ndf +/setcmykcoloroverprint{4{dup -1 eq{pop 0}if 4 1 roll}repeat setcmykcolor}ndf +/findcmykcustomcolor{5 packedarray}ndf +/setcustomcolor{exch aload pop pop 4{4 index mul 4 1 roll}repeat setcmykcolor pop}ndf +/setseparationgray{setgray}ndf +/setoverprint{pop}ndf +/currentoverprint false ndf +/cmykbufs2gray{ +0 1 2 index length 1 sub +{ +4 index 1 index get 0.3 mul +4 index 2 index get 0.59 mul +4 index 3 index get 0.11 mul +4 index 4 index get +add add add cvi 255 min +255 exch sub +2 index 3 1 roll put +}for +4 1 roll pop pop pop +}bdf +/colorimage{ +pop pop +[ +5 -1 roll/exec cvx +6 -1 roll/exec cvx +7 -1 roll/exec cvx +8 -1 roll/exec cvx +/cmykbufs2gray cvx +]cvx +image +} +%. version 47.1 on Linotronic of Postscript defines colorimage incorrectly (rgb model only) +version cvr 47.1 le +statusdict /product get (Lino) anchorsearch{pop pop true}{pop false}ifelse +and{userdict begin bdf end}{ndf}ifelse +fhnumcolors 1 ne {/yt save def} if +/customcolorimage{ +aload pop +(_vc_Registration) eq +{ +pop pop pop pop separationimage +} +{ +/ik xdf /iy xdf /im xdf /ic xdf +ic im iy ik cmyk2gray /xt xdf +currenttransfer +{dup 1.0 exch sub xt mul add}concatprocs +st +image +} +ifelse +}ndf +fhnumcolors 1 ne {yt restore} if +fhnumcolors 3 ne {/yt save def} if +/customcolorimage{ +aload pop +(_vc_Registration) eq +{ +pop pop pop pop separationimage +} +{ +/ik xdf /iy xdf /im xdf /ic xdf +1.0 dup ic ik add min sub +1.0 dup im ik add min sub +1.0 dup iy ik add min sub +/ic xdf /iy xdf /im xdf +currentcolortransfer +4 1 roll +{dup 1.0 exch sub ic mul add}concatprocs 4 1 roll +{dup 1.0 exch sub iy mul add}concatprocs 4 1 roll +{dup 1.0 exch sub im mul add}concatprocs 4 1 roll +setcolortransfer +{/dummy xdf dummy}concatprocs{dummy}{dummy}true 3 colorimage +} +ifelse +}ndf +fhnumcolors 3 ne {yt restore} if +fhnumcolors 4 ne {/yt save def} if +/customcolorimage{ +aload pop +(_vc_Registration) eq +{ +pop pop pop pop separationimage +} +{ +/ik xdf /iy xdf /im xdf /ic xdf +currentcolortransfer +{1.0 exch sub ik mul ik sub 1 add}concatprocs 4 1 roll +{1.0 exch sub iy mul iy sub 1 add}concatprocs 4 1 roll +{1.0 exch sub im mul im sub 1 add}concatprocs 4 1 roll +{1.0 exch sub ic mul ic sub 1 add}concatprocs 4 1 roll +setcolortransfer +{/dummy xdf dummy}concatprocs{dummy}{dummy}{dummy} +true 4 colorimage +} +ifelse +}ndf +fhnumcolors 4 ne {yt restore} if +/separationimage{image}ndf +/spotascmyk false ndf +/newcmykcustomcolor{6 packedarray}ndf +/inkoverprint false ndf +/setinkoverprint{pop}ndf +/setspotcolor { +spots exch get +dup 4 get (_vc_Registration) eq +{pop 1 exch sub setseparationgray} +{0 5 getinterval exch setcustomcolor} +ifelse +}ndf +/currentcolortransfer{currenttransfer dup dup dup}ndf +/setcolortransfer{st pop pop pop}ndf +/fas{}ndf +/sas{}ndf +/fhsetspreadsize{pop}ndf +/filler{fill}bdf +/F{gsave {filler}fp grestore}bdf +/f{closepath F}bdf +/S{gsave {stroke}fp grestore}bdf +/s{closepath S}bdf +userdict /islevel2 +systemdict /languagelevel known dup +{ +pop systemdict /languagelevel get 2 ge +} if +put +islevel2 not +{ +/currentcmykcolor +{ +0 0 0 1 currentgray sub +} ndf +} if +/tc +{ +gsave +setcmykcolor currentcmykcolor +grestore +} bind def +/testCMYKColorThrough +{ +tc add add add 0 ne +} bind def +/fhiscomposite where not { +userdict /fhiscomposite +islevel2 +{ +gsave 1 1 1 1 setcmykcolor currentcmykcolor grestore +add add add 4 eq +} +{ +1 0 0 0 testCMYKColorThrough +0 1 0 0 testCMYKColorThrough +0 0 1 0 testCMYKColorThrough +0 0 0 1 testCMYKColorThrough +and and and +} ifelse +put +} +{ pop } +ifelse +/bc4 [0 0 0 0] def +/_lfp4 { +1 pop +/yt xdf +/xt xdf +/ang xdf +storerect +/taperfcn xdf +/k2 xdf /y2 xdf /m2 xdf /c2 xdf +/k1 xdf /y1 xdf /m1 xdf /c1 xdf +c1 c2 sub abs +m1 m2 sub abs +y1 y2 sub abs +k1 k2 sub abs +maxcolor +calcgraysteps mul abs round +height abs adjnumsteps +dup 1 lt {pop 1} if +1 sub /numsteps1 xdf +currentflat mark +currentflat clipflatness +/delta top bottom sub numsteps1 1 add div def +/right right left sub def +/botsv top delta sub def +{ +{ +W +xt yt translate +ang rotate +xt neg yt neg translate +dup setflat +/bottom botsv def +0 1 numsteps1 +{ +numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse +taperfcn /frac xdf +bc4 0 c2 c1 sub frac mul c1 add put +bc4 1 m2 m1 sub frac mul m1 add put +bc4 2 y2 y1 sub frac mul y1 add put +bc4 3 k2 k1 sub frac mul k1 add put +bc4 vc +1 index setflat +{ +mark {newpath left bottom right delta rectfill}stopped +{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if} +{cleartomark exit}ifelse +}loop +/bottom bottom delta sub def +}for +} +gsave stopped grestore +{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if} +{exit}ifelse +}loop +cleartomark setflat +}bdf +/bcs [0 0] def +/_lfs4 { +/yt xdf +/xt xdf +/ang xdf +storerect +/taperfcn xdf +/tint2 xdf +/tint1 xdf +bcs exch 1 exch put +tint1 tint2 sub abs +bcs 1 get maxspot +calcgraysteps mul abs round +height abs adjnumsteps +dup 2 lt {pop 2} if +1 sub /numsteps1 xdf +currentflat mark +currentflat clipflatness +/delta top bottom sub numsteps1 1 add div def +/right right left sub def +/botsv top delta sub def +{ +{ +W +xt yt translate +ang rotate +xt neg yt neg translate +dup setflat +/bottom botsv def +0 1 numsteps1 +{ +numsteps1 div taperfcn /frac xdf +bcs 0 +1.0 tint2 tint1 sub frac mul tint1 add sub +put bcs vc +1 index setflat +{ +mark {newpath left bottom right delta rectfill}stopped +{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if} +{cleartomark exit}ifelse +}loop +/bottom bottom delta sub def +}for +} +gsave stopped grestore +{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if} +{exit}ifelse +}loop +cleartomark setflat +}bdf +/_rfs6 { +/tint2 xdf +/tint1 xdf +bcs exch 1 exch put +/inrad xdf +/radius xdf +/yt xdf +/xt xdf +tint1 tint2 sub abs +bcs 1 get maxspot +calcgraysteps mul abs round +radius inrad sub abs +adjnumsteps +dup 1 lt {pop 1} if +1 sub /numsteps1 xdf +radius inrad sub numsteps1 dup 0 eq {pop} {div} ifelse +2 div /halfstep xdf +currentflat mark +currentflat clipflatness +{ +{ +dup setflat +W +0 1 numsteps1 +{ +dup /radindex xdf +numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse +/frac xdf +bcs 0 +tint2 tint1 sub frac mul tint1 add +put bcs vc +1 index setflat +{ +newpath mark +xt yt radius inrad sub 1 frac sub mul halfstep add inrad add 0 360 +{ arc +radindex numsteps1 ne +inrad 0 gt or +{ +xt yt +numsteps1 0 eq +{ inrad } +{ +radindex 1 add numsteps1 div 1 exch sub +radius inrad sub mul halfstep add inrad add +}ifelse +dup xt add yt moveto +360 0 arcn +} if +fill +}stopped +{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if} +{cleartomark exit}ifelse +}loop +}for +} +gsave stopped grestore +{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if} +{exit}ifelse +}loop +cleartomark setflat +}bdf +/_rfp6 { +1 pop +/k2 xdf /y2 xdf /m2 xdf /c2 xdf +/k1 xdf /y1 xdf /m1 xdf /c1 xdf +/inrad xdf +/radius xdf +/yt xdf +/xt xdf +c1 c2 sub abs +m1 m2 sub abs +y1 y2 sub abs +k1 k2 sub abs +maxcolor +calcgraysteps mul abs round +radius inrad sub abs +adjnumsteps +dup 1 lt {pop 1} if +1 sub /numsteps1 xdf +radius inrad sub numsteps1 dup 0 eq {pop} {div} ifelse +2 div /halfstep xdf +currentflat mark +currentflat clipflatness +{ +{ +dup setflat +W +0 1 numsteps1 +{ +dup /radindex xdf +numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse +/frac xdf +bc4 0 c2 c1 sub frac mul c1 add put +bc4 1 m2 m1 sub frac mul m1 add put +bc4 2 y2 y1 sub frac mul y1 add put +bc4 3 k2 k1 sub frac mul k1 add put +bc4 vc +1 index setflat +{ +newpath mark +xt yt radius inrad sub 1 frac sub mul halfstep add inrad add 0 360 +{ arc +radindex numsteps1 ne +inrad 0 gt or +{ +xt yt +numsteps1 0 eq +{ inrad } +{ +radindex 1 add numsteps1 div 1 exch sub +radius inrad sub mul halfstep add inrad add +}ifelse +dup xt add yt moveto +360 0 arcn +} if +fill +}stopped +{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if} +{cleartomark exit}ifelse +}loop +}for +} +gsave stopped grestore +{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if} +{exit}ifelse +}loop +cleartomark setflat +}bdf +/lfp4{_lfp4}ndf +/lfs4{_lfs4}ndf +/rfs6{_rfs6}ndf +/rfp6{_rfp6}ndf +/cvc [0 0 0 1] def +/vc{ +AltsysDict /cvc 2 index put +aload length dup 4 eq +{pop dup -1 eq{pop setrgbcolor}{setcmykcolor}ifelse} +{6 eq {sethexcolor} {setspotcolor} ifelse } +ifelse +}bdf +0 setseparationgray +/imgr {1692.47 1570.59 1723.65 1601.77 } def +/bleed 0 def +/clpr {1692.47 1570.59 1723.65 1601.77 } def +/xs 1 def +/ys 1 def +/botx 0 def +/overlap 0 def +/wdist 18 def +0 2 mul fhsetspreadsize +0 0 ne {/df 0 def /clipflatness 0 def} if +/maxsteps 256 def +/forcemaxsteps false def +/minsteps 0 def + +userdict begin /AGDOrigMtx matrix currentmatrix def end +vms +-1694 -1572 translate + +/currentpacking defed{false setpacking}if +/spots[ + +1 0 0 0 (Process Cyan) false newcmykcustomcolor + +0 1 0 0 (Process Magenta) false newcmykcustomcolor + +0 0 1 0 (Process Yellow) false newcmykcustomcolor + +0 0 0 1 (Process Black) false newcmykcustomcolor +]def +n +[] 0 d +3.863708 M +1 w +0 j +0 J +false setoverprint +0 i +false eomode +[0 0 0 1]vc +vms +q +[1 0 0 1 -249.981674 -586.867554] concat +vms +1946.9506 2177.5114 m +1954.4907 2185.0516 L +1956.7047 2187.2656 1960.2943 2187.2656 1962.5083 2185.0516 C +1970.0485 2177.5114 L +1972.2625 2175.2974 1972.2625 2171.7078 1970.0485 2169.4938 C +1962.5083 2161.9537 L +1960.2943 2159.7396 1956.7047 2159.7396 1954.4907 2161.9537 C +1946.9506 2169.4938 L +1944.7365 2171.7078 1944.7365 2175.2974 1946.9506 2177.5114 C +s +n +true eomode +1958.5469 2181.0039 m +1959.2148 2181.0039 1959.7012 2180.9296 1960.0059 2180.7813 C +1960.3142 2180.6326 1960.4684 2180.363 1960.4688 2179.9727 C +1960.4688 2179.7383 1960.3398 2178.8026 1960.082 2177.166 C +1959.0742 2170.4219 L +1958.9373 2170.3241 1958.7615 2170.2754 1958.5469 2170.2754 C +1958.3319 2170.2754 1958.1561 2170.3241 1958.0195 2170.4219 C +1957.0117 2177.166 L +1956.7539 2178.8026 1956.625 2179.7379 1956.625 2179.9727 C +1956.625 2180.363 1956.7792 2180.6326 1957.0879 2180.7813 C +1957.4003 2180.9296 1957.8866 2181.0035 1958.5469 2181.0039 C +h +1958.5469 2165.166 m +1958.0389 2165.166 1957.5878 2165.3499 1957.1934 2165.7168 C +1956.7986 2166.0837 1956.6016 2166.5485 1956.6016 2167.1113 C +1956.6016 2167.6698 1956.7891 2168.1404 1957.1641 2168.5234 C +1957.5427 2168.9102 1958.0038 2169.1035 1958.5469 2169.1035 C +1959.1094 2169.1035 1959.5741 2168.9043 1959.9414 2168.5059 C +1960.3083 2168.1074 1960.4918 2167.6423 1960.4922 2167.1113 C +1960.4922 2166.748 1960.4102 2166.4177 1960.2461 2166.1211 C +1960.082 2165.8241 1959.8513 2165.5916 1959.5547 2165.4238 C +1959.2577 2165.2521 1958.9219 2165.1664 1958.5469 2165.166 C +true setoverprint +f +false setoverprint +n +vmr +Q +false eomode +vmr +vmr +end +%%Trailer diff --git a/latex/contrib/db2latex/graphics/caution.pdf b/latex/contrib/db2latex/graphics/caution.pdf new file mode 100644 index 0000000..ff7c003 Binary files /dev/null and b/latex/contrib/db2latex/graphics/caution.pdf differ diff --git a/latex/contrib/db2latex/graphics/important.eps b/latex/contrib/db2latex/graphics/important.eps new file mode 100644 index 0000000..c9473b7 --- /dev/null +++ b/latex/contrib/db2latex/graphics/important.eps @@ -0,0 +1,1348 @@ +%!PS-Adobe-2.0 EPSF-1.2 +%%Title: Untitled-3 +%%Creator: FreeHand 9.0 +%%CreationDate: 2002/12/05 8:20 PM +%%BoundingBox: 0 0 29 29 +%%FHPathName:Untitled:FreeHand 9:English:Untitled-3 +%ALDOriginalFile:Untitled:FreeHand 9:English:Untitled-3 +%ALDBoundingBox: -2 -2 29 29 +%%FHPageNum:1 +%%DocumentSuppliedResources: procset Altsys_header 4 0 +%%ColorUsage: Color +%%DocumentProcessColors: Black +%%EndComments +%%BeginResource: procset Altsys_header 4 0 +userdict begin /AltsysDict 300 dict def end +AltsysDict begin +/bdf{bind def}bind def +/xdf{exch def}bdf +/defed{where{pop true}{false}ifelse}bdf +/ndf{1 index where{pop pop pop}{dup xcheck{bind}if def}ifelse}bdf +/d{setdash}bdf +/h{closepath}bdf +/H{}bdf +/J{setlinecap}bdf +/j{setlinejoin}bdf +/M{setmiterlimit}bdf +/n{newpath}bdf +/N{newpath}bdf +/q{gsave}bdf +/Q{grestore}bdf +/w{setlinewidth}bdf +/Xic{matrix invertmatrix concat}bdf +/Xq{matrix currentmatrix mark}bdf +/XQ{cleartomark setmatrix}bdf +/sepdef{ +dup where not +{ +AltsysSepDict +} +if +3 1 roll exch put +}bdf +/st{settransfer}bdf +/colorimage defed /_rci xdf +/cntr 0 def +/readbinarystring{ +/cntr 0 def +2 copy readstring +{ +{ +dup +(\034) search +{ +length exch pop exch +dup length 0 ne +{ +dup dup 0 get 32 sub 0 exch put +/cntr cntr 1 add def +} +{ +pop 1 string dup +0 6 index read pop 32 sub put +}ifelse +3 copy +putinterval pop +1 add +1 index length 1 sub +1 index sub +dup 0 le {pop pop exit}if +getinterval +} +{ +pop exit +} ifelse +} loop +}if +cntr 0 gt +{ +pop 2 copy +dup length cntr sub cntr getinterval +readbinarystring +} if +pop exch pop +} bdf +/_NXLevel2 defed { +_NXLevel2 not { +/colorimage where { +userdict eq { +/_rci false def +} if +} if +} if +} if +/md defed{ +md type /dicttype eq { +/colorimage where { +md eq { +/_rci false def +}if +}if +/settransfer where { +md eq { +/st systemdict /settransfer get def +}if +}if +}if +}if +/setstrokeadjust defed +{ +true setstrokeadjust +/C{curveto}bdf +/L{lineto}bdf +/m{moveto}bdf +} +{ +/dr{transform .25 sub round .25 add +exch .25 sub round .25 add exch itransform}bdf +/C{dr curveto}bdf +/L{dr lineto}bdf +/m{dr moveto}bdf +/setstrokeadjust{pop}bdf +}ifelse +/privrectpath { +4 -2 roll m +dtransform round exch round exch idtransform +2 copy 0 lt exch 0 lt xor +{dup 0 exch rlineto exch 0 rlineto neg 0 exch rlineto} +{exch dup 0 rlineto exch 0 exch rlineto neg 0 rlineto} +ifelse +closepath +}bdf +/rectclip{newpath privrectpath clip newpath}def +/rectfill{gsave newpath privrectpath fill grestore}def +/rectstroke{gsave newpath privrectpath stroke grestore}def +/_fonthacksave false def +/currentpacking defed +{ +/_bfh {/_fonthacksave currentpacking def false setpacking} bdf +/_efh {_fonthacksave setpacking} bdf +} +{ +/_bfh {} bdf +/_efh {} bdf +}ifelse +/packedarray{array astore readonly}ndf +/` +{ +false setoverprint +/-save0- save def +5 index concat +pop +storerect left bottom width height rectclip +pop +/MMdict_count countdictstack def +/MMop_count count 1 sub def +userdict begin +/showpage {} def +0 setgray 0 setlinecap 1 setlinewidth +0 setlinejoin 10 setmiterlimit [] 0 setdash newpath +} bdf +/currentpacking defed{true setpacking}if +/min{2 copy gt{exch}if pop}bdf +/max{2 copy lt{exch}if pop}bdf +/xformfont { currentfont exch makefont setfont } bdf +/fhnumcolors 1 +statusdict begin +/processcolors defed +{ +pop processcolors +} +{ +/deviceinfo defed { +deviceinfo /Colors known { +pop deviceinfo /Colors get +} if +} if +} ifelse +end +def +/printerRes +gsave +matrix defaultmatrix setmatrix +72 72 dtransform +abs exch abs +max +grestore +def +/graycalcs +[ +{Angle Frequency} +{GrayAngle GrayFrequency} +{0 Width Height matrix defaultmatrix idtransform +dup mul exch dup mul add sqrt 72 exch div} +{0 GrayWidth GrayHeight matrix defaultmatrix idtransform +dup mul exch dup mul add sqrt 72 exch div} +] def +/calcgraysteps { +forcemaxsteps +{ +maxsteps +} +{ +/currenthalftone defed +{currenthalftone /dicttype eq}{false}ifelse +{ +currenthalftone begin +HalftoneType 4 le +{graycalcs HalftoneType 1 sub get exec} +{ +HalftoneType 5 eq +{ +Default begin +{graycalcs HalftoneType 1 sub get exec} +end +} +{0 60} +ifelse +} +ifelse +end +} +{ +currentscreen pop exch +} +ifelse +printerRes 300 max exch div exch +2 copy +sin mul round dup mul +3 1 roll +cos mul round dup mul +add 1 add +dup maxsteps gt {pop maxsteps} if +dup minsteps lt {pop minsteps} if +} +ifelse +} bdf +/nextrelease defed { +/languagelevel defed not { +/framebuffer defed { +0 40 string framebuffer 9 1 roll 8 {pop} repeat +dup 516 eq exch 520 eq or +{ +/fhnumcolors 3 def +/currentscreen {60 0 {pop pop 1}}bdf +/calcgraysteps {maxsteps} bdf +}if +}if +}if +}if +fhnumcolors 1 ne { +/calcgraysteps {maxsteps} bdf +} if +/currentpagedevice defed { +currentpagedevice /PreRenderingEnhance known +{ +currentpagedevice /PreRenderingEnhance get +{ +/calcgraysteps +{ +forcemaxsteps +{maxsteps} +{256 maxsteps min} +ifelse +} def +} if +} if +} if +/gradfrequency 144 def +printerRes 1000 lt { +/gradfrequency 72 def +} if +/adjnumsteps { +dup dtransform abs exch abs max +printerRes div +gradfrequency mul +round +5 max +min +}bdf +/goodsep { +spots exch get 4 get dup sepname eq exch (_vc_Registration) eq or +}bdf +/BeginGradation defed +{/bb{BeginGradation}bdf} +{/bb{}bdf} +ifelse +/EndGradation defed +{/eb{EndGradation}bdf} +{/eb{}bdf} +ifelse +/bottom -0 def +/delta -0 def +/frac -0 def +/height -0 def +/left -0 def +/numsteps1 -0 def +/radius -0 def +/right -0 def +/top -0 def +/width -0 def +/xt -0 def +/yt -0 def +/df currentflat def +/tempstr 1 string def +/clipflatness currentflat def +/inverted? +0 currenttransfer exec .5 ge def +/tc1 [0 0 0 1] def +/tc2 [0 0 0 1] def +/storerect{/top xdf /right xdf /bottom xdf /left xdf +/width right left sub def /height top bottom sub def}bdf +/concatprocs{ +systemdict /packedarray known +{dup type /packedarraytype eq 2 index type /packedarraytype eq or}{false}ifelse +{ +/proc2 exch cvlit def /proc1 exch cvlit def +proc1 aload pop proc2 aload pop +proc1 length proc2 length add packedarray cvx +} +{ +/proc2 exch cvlit def /proc1 exch cvlit def +/newproc proc1 length proc2 length add array def +newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval +newproc cvx +}ifelse +}bdf +/i{dup 0 eq +{pop df dup} +{dup} ifelse +/clipflatness xdf setflat +}bdf +version cvr 38.0 le +{/setrgbcolor{ +currenttransfer exec 3 1 roll +currenttransfer exec 3 1 roll +currenttransfer exec 3 1 roll +setrgbcolor}bdf}if +/vms {/vmsv save def} bdf +/vmr {vmsv restore} bdf +/vmrs{vmsv restore /vmsv save def}bdf +/eomode{ +{/filler /eofill load def /clipper /eoclip load def} +{/filler /fill load def /clipper /clip load def} +ifelse +}bdf +/normtaper{}bdf +/logtaper{9 mul 1 add log}bdf +/CD{ +/NF exch def +{ +exch dup +/FID ne 1 index/UniqueID ne and +{exch NF 3 1 roll put} +{pop pop} +ifelse +}forall +NF +}bdf +/MN{ +1 index length +/Len exch def +dup length Len add +string dup +Len +4 -1 roll +putinterval +dup +0 +4 -1 roll +putinterval +}bdf +/RC{4 -1 roll /ourvec xdf 256 string cvs(|______)anchorsearch +{1 index MN cvn/NewN exch def cvn +findfont dup maxlength dict CD dup/FontName NewN put dup +/Encoding ourvec put NewN exch definefont pop}{pop}ifelse}bdf +/RF{ +dup +FontDirectory exch +known +{pop 3 -1 roll pop} +{RC} +ifelse +}bdf +/FF{dup 256 string cvs(|______)exch MN cvn dup FontDirectory exch known +{exch pop findfont 3 -1 roll pop} +{pop dup findfont dup maxlength dict CD dup dup +/Encoding exch /Encoding get 256 array copy 7 -1 roll +{3 -1 roll dup 4 -2 roll put}forall put definefont} +ifelse}bdf +/RCJ{4 -1 roll +/ourvec xdf +256 string cvs +(|______) anchorsearch +{pop +cvn +dup FDFJ +exch +1 index +eq +{ +_bfh findfont _efh +dup +maxlength dict +CD +dup +/FontName +3 index +put +dup +/Encoding ourvec put +1 index +exch +definefont +pop +} +{exch pop} +ifelse +} +{pop} +ifelse +}bdf +/RFJ{ +dup +FontDirectory exch +known +{pop 3 -1 roll pop} +{RCJ} +ifelse +}bdf +/hasfont +{ +/resourcestatus where +{ +pop +/Font resourcestatus +{ +pop pop true +} +{ +false +} +ifelse +} +{ +dup FontDirectory exch known +{pop true} +{ +256 string +cvs +(fonts/) exch MN +status +{pop pop pop pop true} +{false} +ifelse +} +ifelse +} +ifelse +}bdf +/FDFJ +{ +dup +hasfont +not +{ +pop +/Ryumin-Light-83pv-RKSJ-H +hasfont +{ +/Ryumin-Light-83pv-RKSJ-H +} +{ +/Courier +} +ifelse +} +if +}bdf +/FFJ{ +_bfh +dup +256 string cvs +(|______)exch MN +cvn +dup +FontDirectory +exch known +{ +exch +pop +findfont +3 -1 roll +pop +} +{ +pop +FDFJ +dup findfont +dup maxlength dict +CD +dup dup +/Encoding exch +/Encoding get +256 array copy +7 -1 roll +{ +3 -1 roll +dup +4 -2 roll +put +}forall +put +definefont +} +ifelse +_efh +}bdf +/GS { +dup +hasfont +{ +findfont +exch makesetfont +exch +pop +ts +} +{ +pop pop pop +ts +} ifelse +} bdf +/RCK{4 -1 roll +/ourvec xdf +256 string cvs +(|______) anchorsearch +{pop +cvn +dup FDFK +exch +1 index +eq +{ +_bfh findfont _efh +dup +maxlength dict +CD +dup +/FontName +3 index +put +dup +/Encoding ourvec put +1 index +exch +definefont +pop +} +{exch pop} +ifelse +} +{pop} +ifelse +}bdf +/RFK{ +dup +FontDirectory exch +known +{pop 3 -1 roll pop} +{RCK} +ifelse +}bdf +/hasfont +{ +/resourcestatus where +{ +pop +/Font resourcestatus +{ +pop pop true +} +{ +false +} +ifelse +} +{ +dup FontDirectory exch known +{pop true} +{ +256 string +cvs +(fonts/) exch MN +status +{pop pop pop pop true} +{false} +ifelse +} +ifelse +} +ifelse +}bdf +/FDFK +{ +dup +hasfont +not +{ +pop +/JCsm +hasfont +{ +/JCsm +} +{ +/Courier +} +ifelse +} +if +}bdf +/FFK{ +_bfh +dup +256 string cvs +(|______)exch MN +cvn +dup +FontDirectory +exch known +{ +exch +pop +findfont +3 -1 roll +pop +} +{ +pop +FDFK +dup findfont +dup maxlength dict +CD +dup dup +/Encoding exch +/Encoding get +256 array copy +7 -1 roll +{ +3 -1 roll +dup +4 -2 roll +put +}forall +put +definefont +} +ifelse +_efh +}bdf +/RCTC{4 -1 roll +/ourvec xdf +256 string cvs +(|______) anchorsearch +{pop +cvn +dup FDFTC +exch +1 index +eq +{ +_bfh findfont _efh +dup +maxlength dict +CD +dup +/FontName +3 index +put +dup +/Encoding ourvec put +1 index +exch +definefont +pop +} +{exch pop} +ifelse +} +{pop} +ifelse +}bdf +/RFTC{ +dup +FontDirectory exch +known +{pop 3 -1 roll pop} +{RCTC} +ifelse +}bdf +/FDFTC +{ +dup +hasfont +not +{ +pop +/DFMing-Lt-HK-BF +hasfont +{ +/DFMing-Lt-HK-BF +} +{ +/Courier +} +ifelse +} +if +}bdf +/FFTC{ +_bfh +dup +256 string cvs +(|______)exch MN +cvn +dup +FontDirectory +exch known +{ +exch +pop +findfont +3 -1 roll +pop +} +{ +pop +FDFTC +dup findfont +dup maxlength dict +CD +dup dup +/Encoding exch +/Encoding get +256 array copy +7 -1 roll +{ +3 -1 roll +dup +4 -2 roll +put +}forall +put +definefont +} +ifelse +_efh +}bdf +/fps{ +currentflat +exch +dup 0 le{pop 1}if +{ +dup setflat 3 index stopped +{1.3 mul dup 3 index gt{pop setflat pop pop stop}if} +{exit} +ifelse +}loop +pop setflat pop pop +}bdf +/fp{100 currentflat fps}bdf +/clipper{clip}bdf +/W{/clipper load 100 clipflatness dup setflat fps}bdf + +userdict begin /BDFontDict 29 dict def end +BDFontDict begin +/bu{}def +/bn{}def +/setTxMode{av 70 ge{pop}if pop}def +/gm{m}def +/show{pop}def +/gr{pop}def +/fnt{pop pop pop}def +/fs{pop}def +/fz{pop}def +/lin{pop pop}def +/:M {pop pop} def +/sf {pop} def +/S {pop} def +/@b {pop pop pop pop pop pop pop pop} def +/_bdsave /save load def +/_bdrestore /restore load def +/save { dup /fontsave eq {null} {_bdsave} ifelse } def +/restore { dup null eq { pop } { _bdrestore } ifelse } def +/fontsave null def +end +/MacVec 256 array def +MacVec 0 /Helvetica findfont +/Encoding get 0 128 getinterval putinterval +MacVec 127 /DEL put MacVec 16#27 /quotesingle put MacVec 16#60 /grave put +/NUL/SOH/STX/ETX/EOT/ENQ/ACK/BEL/BS/HT/LF/VT/FF/CR/SO/SI +/DLE/DC1/DC2/DC3/DC4/NAK/SYN/ETB/CAN/EM/SUB/ESC/FS/GS/RS/US +MacVec 0 32 getinterval astore pop +/Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis/Udieresis/aacute +/agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute/egrave +/ecircumflex/edieresis/iacute/igrave/icircumflex/idieresis/ntilde/oacute +/ograve/ocircumflex/odieresis/otilde/uacute/ugrave/ucircumflex/udieresis +/dagger/degree/cent/sterling/section/bullet/paragraph/germandbls +/registered/copyright/trademark/acute/dieresis/notequal/AE/Oslash +/infinity/plusminus/lessequal/greaterequal/yen/mu/partialdiff/summation +/product/pi/integral/ordfeminine/ordmasculine/Omega/ae/oslash +/questiondown/exclamdown/logicalnot/radical/florin/approxequal/Delta/guillemotleft +/guillemotright/ellipsis/nbspace/Agrave/Atilde/Otilde/OE/oe +/endash/emdash/quotedblleft/quotedblright/quoteleft/quoteright/divide/lozenge +/ydieresis/Ydieresis/fraction/currency/guilsinglleft/guilsinglright/fi/fl +/daggerdbl/periodcentered/quotesinglbase/quotedblbase +/perthousand/Acircumflex/Ecircumflex/Aacute +/Edieresis/Egrave/Iacute/Icircumflex/Idieresis/Igrave/Oacute/Ocircumflex +/apple/Ograve/Uacute/Ucircumflex/Ugrave/dotlessi/circumflex/tilde +/macron/breve/dotaccent/ring/cedilla/hungarumlaut/ogonek/caron +MacVec 128 128 getinterval astore pop +/findheaderfont { +/Helvetica findfont +} def +end %. AltsysDict +%%EndResource +%%EndProlog + +%%BeginSetup + +AltsysDict begin +_bfh + +_efh +end %. AltsysDict + +%%EndSetup +AltsysDict begin + +/onlyk4{false}ndf +/ccmyk{dup 5 -1 roll sub 0 max exch}ndf +/cmyk2gray{ +4 -1 roll 0.3 mul 4 -1 roll 0.59 mul 4 -1 roll 0.11 mul +add add add 1 min neg 1 add +}bdf +/setcmykcolor{1 exch sub ccmyk ccmyk ccmyk pop setrgbcolor}ndf +/maxcolor { +max max max +} ndf +/maxspot { +pop +} ndf +/setcmykcoloroverprint{4{dup -1 eq{pop 0}if 4 1 roll}repeat setcmykcolor}ndf +/findcmykcustomcolor{5 packedarray}ndf +/setcustomcolor{exch aload pop pop 4{4 index mul 4 1 roll}repeat setcmykcolor pop}ndf +/setseparationgray{setgray}ndf +/setoverprint{pop}ndf +/currentoverprint false ndf +/cmykbufs2gray{ +0 1 2 index length 1 sub +{ +4 index 1 index get 0.3 mul +4 index 2 index get 0.59 mul +4 index 3 index get 0.11 mul +4 index 4 index get +add add add cvi 255 min +255 exch sub +2 index 3 1 roll put +}for +4 1 roll pop pop pop +}bdf +/colorimage{ +pop pop +[ +5 -1 roll/exec cvx +6 -1 roll/exec cvx +7 -1 roll/exec cvx +8 -1 roll/exec cvx +/cmykbufs2gray cvx +]cvx +image +} +%. version 47.1 on Linotronic of Postscript defines colorimage incorrectly (rgb model only) +version cvr 47.1 le +statusdict /product get (Lino) anchorsearch{pop pop true}{pop false}ifelse +and{userdict begin bdf end}{ndf}ifelse +fhnumcolors 1 ne {/yt save def} if +/customcolorimage{ +aload pop +(_vc_Registration) eq +{ +pop pop pop pop separationimage +} +{ +/ik xdf /iy xdf /im xdf /ic xdf +ic im iy ik cmyk2gray /xt xdf +currenttransfer +{dup 1.0 exch sub xt mul add}concatprocs +st +image +} +ifelse +}ndf +fhnumcolors 1 ne {yt restore} if +fhnumcolors 3 ne {/yt save def} if +/customcolorimage{ +aload pop +(_vc_Registration) eq +{ +pop pop pop pop separationimage +} +{ +/ik xdf /iy xdf /im xdf /ic xdf +1.0 dup ic ik add min sub +1.0 dup im ik add min sub +1.0 dup iy ik add min sub +/ic xdf /iy xdf /im xdf +currentcolortransfer +4 1 roll +{dup 1.0 exch sub ic mul add}concatprocs 4 1 roll +{dup 1.0 exch sub iy mul add}concatprocs 4 1 roll +{dup 1.0 exch sub im mul add}concatprocs 4 1 roll +setcolortransfer +{/dummy xdf dummy}concatprocs{dummy}{dummy}true 3 colorimage +} +ifelse +}ndf +fhnumcolors 3 ne {yt restore} if +fhnumcolors 4 ne {/yt save def} if +/customcolorimage{ +aload pop +(_vc_Registration) eq +{ +pop pop pop pop separationimage +} +{ +/ik xdf /iy xdf /im xdf /ic xdf +currentcolortransfer +{1.0 exch sub ik mul ik sub 1 add}concatprocs 4 1 roll +{1.0 exch sub iy mul iy sub 1 add}concatprocs 4 1 roll +{1.0 exch sub im mul im sub 1 add}concatprocs 4 1 roll +{1.0 exch sub ic mul ic sub 1 add}concatprocs 4 1 roll +setcolortransfer +{/dummy xdf dummy}concatprocs{dummy}{dummy}{dummy} +true 4 colorimage +} +ifelse +}ndf +fhnumcolors 4 ne {yt restore} if +/separationimage{image}ndf +/spotascmyk false ndf +/newcmykcustomcolor{6 packedarray}ndf +/inkoverprint false ndf +/setinkoverprint{pop}ndf +/setspotcolor { +spots exch get +dup 4 get (_vc_Registration) eq +{pop 1 exch sub setseparationgray} +{0 5 getinterval exch setcustomcolor} +ifelse +}ndf +/currentcolortransfer{currenttransfer dup dup dup}ndf +/setcolortransfer{st pop pop pop}ndf +/fas{}ndf +/sas{}ndf +/fhsetspreadsize{pop}ndf +/filler{fill}bdf +/F{gsave {filler}fp grestore}bdf +/f{closepath F}bdf +/S{gsave {stroke}fp grestore}bdf +/s{closepath S}bdf +userdict /islevel2 +systemdict /languagelevel known dup +{ +pop systemdict /languagelevel get 2 ge +} if +put +islevel2 not +{ +/currentcmykcolor +{ +0 0 0 1 currentgray sub +} ndf +} if +/tc +{ +gsave +setcmykcolor currentcmykcolor +grestore +} bind def +/testCMYKColorThrough +{ +tc add add add 0 ne +} bind def +/fhiscomposite where not { +userdict /fhiscomposite +islevel2 +{ +gsave 1 1 1 1 setcmykcolor currentcmykcolor grestore +add add add 4 eq +} +{ +1 0 0 0 testCMYKColorThrough +0 1 0 0 testCMYKColorThrough +0 0 1 0 testCMYKColorThrough +0 0 0 1 testCMYKColorThrough +and and and +} ifelse +put +} +{ pop } +ifelse +/bc4 [0 0 0 0] def +/_lfp4 { +1 pop +/yt xdf +/xt xdf +/ang xdf +storerect +/taperfcn xdf +/k2 xdf /y2 xdf /m2 xdf /c2 xdf +/k1 xdf /y1 xdf /m1 xdf /c1 xdf +c1 c2 sub abs +m1 m2 sub abs +y1 y2 sub abs +k1 k2 sub abs +maxcolor +calcgraysteps mul abs round +height abs adjnumsteps +dup 1 lt {pop 1} if +1 sub /numsteps1 xdf +currentflat mark +currentflat clipflatness +/delta top bottom sub numsteps1 1 add div def +/right right left sub def +/botsv top delta sub def +{ +{ +W +xt yt translate +ang rotate +xt neg yt neg translate +dup setflat +/bottom botsv def +0 1 numsteps1 +{ +numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse +taperfcn /frac xdf +bc4 0 c2 c1 sub frac mul c1 add put +bc4 1 m2 m1 sub frac mul m1 add put +bc4 2 y2 y1 sub frac mul y1 add put +bc4 3 k2 k1 sub frac mul k1 add put +bc4 vc +1 index setflat +{ +mark {newpath left bottom right delta rectfill}stopped +{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if} +{cleartomark exit}ifelse +}loop +/bottom bottom delta sub def +}for +} +gsave stopped grestore +{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if} +{exit}ifelse +}loop +cleartomark setflat +}bdf +/bcs [0 0] def +/_lfs4 { +/yt xdf +/xt xdf +/ang xdf +storerect +/taperfcn xdf +/tint2 xdf +/tint1 xdf +bcs exch 1 exch put +tint1 tint2 sub abs +bcs 1 get maxspot +calcgraysteps mul abs round +height abs adjnumsteps +dup 2 lt {pop 2} if +1 sub /numsteps1 xdf +currentflat mark +currentflat clipflatness +/delta top bottom sub numsteps1 1 add div def +/right right left sub def +/botsv top delta sub def +{ +{ +W +xt yt translate +ang rotate +xt neg yt neg translate +dup setflat +/bottom botsv def +0 1 numsteps1 +{ +numsteps1 div taperfcn /frac xdf +bcs 0 +1.0 tint2 tint1 sub frac mul tint1 add sub +put bcs vc +1 index setflat +{ +mark {newpath left bottom right delta rectfill}stopped +{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if} +{cleartomark exit}ifelse +}loop +/bottom bottom delta sub def +}for +} +gsave stopped grestore +{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if} +{exit}ifelse +}loop +cleartomark setflat +}bdf +/_rfs6 { +/tint2 xdf +/tint1 xdf +bcs exch 1 exch put +/inrad xdf +/radius xdf +/yt xdf +/xt xdf +tint1 tint2 sub abs +bcs 1 get maxspot +calcgraysteps mul abs round +radius inrad sub abs +adjnumsteps +dup 1 lt {pop 1} if +1 sub /numsteps1 xdf +radius inrad sub numsteps1 dup 0 eq {pop} {div} ifelse +2 div /halfstep xdf +currentflat mark +currentflat clipflatness +{ +{ +dup setflat +W +0 1 numsteps1 +{ +dup /radindex xdf +numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse +/frac xdf +bcs 0 +tint2 tint1 sub frac mul tint1 add +put bcs vc +1 index setflat +{ +newpath mark +xt yt radius inrad sub 1 frac sub mul halfstep add inrad add 0 360 +{ arc +radindex numsteps1 ne +inrad 0 gt or +{ +xt yt +numsteps1 0 eq +{ inrad } +{ +radindex 1 add numsteps1 div 1 exch sub +radius inrad sub mul halfstep add inrad add +}ifelse +dup xt add yt moveto +360 0 arcn +} if +fill +}stopped +{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if} +{cleartomark exit}ifelse +}loop +}for +} +gsave stopped grestore +{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if} +{exit}ifelse +}loop +cleartomark setflat +}bdf +/_rfp6 { +1 pop +/k2 xdf /y2 xdf /m2 xdf /c2 xdf +/k1 xdf /y1 xdf /m1 xdf /c1 xdf +/inrad xdf +/radius xdf +/yt xdf +/xt xdf +c1 c2 sub abs +m1 m2 sub abs +y1 y2 sub abs +k1 k2 sub abs +maxcolor +calcgraysteps mul abs round +radius inrad sub abs +adjnumsteps +dup 1 lt {pop 1} if +1 sub /numsteps1 xdf +radius inrad sub numsteps1 dup 0 eq {pop} {div} ifelse +2 div /halfstep xdf +currentflat mark +currentflat clipflatness +{ +{ +dup setflat +W +0 1 numsteps1 +{ +dup /radindex xdf +numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse +/frac xdf +bc4 0 c2 c1 sub frac mul c1 add put +bc4 1 m2 m1 sub frac mul m1 add put +bc4 2 y2 y1 sub frac mul y1 add put +bc4 3 k2 k1 sub frac mul k1 add put +bc4 vc +1 index setflat +{ +newpath mark +xt yt radius inrad sub 1 frac sub mul halfstep add inrad add 0 360 +{ arc +radindex numsteps1 ne +inrad 0 gt or +{ +xt yt +numsteps1 0 eq +{ inrad } +{ +radindex 1 add numsteps1 div 1 exch sub +radius inrad sub mul halfstep add inrad add +}ifelse +dup xt add yt moveto +360 0 arcn +} if +fill +}stopped +{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if} +{cleartomark exit}ifelse +}loop +}for +} +gsave stopped grestore +{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if} +{exit}ifelse +}loop +cleartomark setflat +}bdf +/lfp4{_lfp4}ndf +/lfs4{_lfs4}ndf +/rfs6{_rfs6}ndf +/rfp6{_rfp6}ndf +/cvc [0 0 0 1] def +/vc{ +AltsysDict /cvc 2 index put +aload length dup 4 eq +{pop dup -1 eq{pop setrgbcolor}{setcmykcolor}ifelse} +{6 eq {sethexcolor} {setspotcolor} ifelse } +ifelse +}bdf +0 setseparationgray +/imgr {1692.47 1570.59 1723.65 1601.77 } def +/bleed 0 def +/clpr {1692.47 1570.59 1723.65 1601.77 } def +/xs 1 def +/ys 1 def +/botx 0 def +/overlap 0 def +/wdist 18 def +0 2 mul fhsetspreadsize +0 0 ne {/df 0 def /clipflatness 0 def} if +/maxsteps 256 def +/forcemaxsteps false def +/minsteps 0 def + +userdict begin /AGDOrigMtx matrix currentmatrix def end +vms +-1694 -1572 translate + +/currentpacking defed{false setpacking}if +/spots[ + +1 0 0 0 (Process Cyan) false newcmykcustomcolor + +0 1 0 0 (Process Magenta) false newcmykcustomcolor + +0 0 1 0 (Process Yellow) false newcmykcustomcolor + +0 0 0 1 (Process Black) false newcmykcustomcolor +]def +n +[] 0 d +3.863708 M +1 w +0 j +0 J +false setoverprint +0 i +false eomode +[0 0 0 1]vc +vms +q +[1 0 0 1 -249.981674 -586.867554] concat +vms +1946.9506 2177.5114 m +1954.4907 2185.0516 L +1956.7047 2187.2656 1960.2943 2187.2656 1962.5083 2185.0516 C +1970.0485 2177.5114 L +1972.2625 2175.2974 1972.2625 2171.7078 1970.0485 2169.4938 C +1962.5083 2161.9537 L +1960.2943 2159.7396 1956.7047 2159.7396 1954.4907 2161.9537 C +1946.9506 2169.4938 L +1944.7365 2171.7078 1944.7365 2175.2974 1946.9506 2177.5114 C +s +n +true eomode +1958.5469 2181.0039 m +1959.2148 2181.0039 1959.7012 2180.9296 1960.0059 2180.7813 C +1960.3142 2180.6326 1960.4684 2180.363 1960.4688 2179.9727 C +1960.4688 2179.7383 1960.3398 2178.8026 1960.082 2177.166 C +1959.0742 2170.4219 L +1958.9373 2170.3241 1958.7615 2170.2754 1958.5469 2170.2754 C +1958.3319 2170.2754 1958.1561 2170.3241 1958.0195 2170.4219 C +1957.0117 2177.166 L +1956.7539 2178.8026 1956.625 2179.7379 1956.625 2179.9727 C +1956.625 2180.363 1956.7792 2180.6326 1957.0879 2180.7813 C +1957.4003 2180.9296 1957.8866 2181.0035 1958.5469 2181.0039 C +h +1958.5469 2165.166 m +1958.0389 2165.166 1957.5878 2165.3499 1957.1934 2165.7168 C +1956.7986 2166.0837 1956.6016 2166.5485 1956.6016 2167.1113 C +1956.6016 2167.6698 1956.7891 2168.1404 1957.1641 2168.5234 C +1957.5427 2168.9102 1958.0038 2169.1035 1958.5469 2169.1035 C +1959.1094 2169.1035 1959.5741 2168.9043 1959.9414 2168.5059 C +1960.3083 2168.1074 1960.4918 2167.6423 1960.4922 2167.1113 C +1960.4922 2166.748 1960.4102 2166.4177 1960.2461 2166.1211 C +1960.082 2165.8241 1959.8513 2165.5916 1959.5547 2165.4238 C +1959.2577 2165.2521 1958.9219 2165.1664 1958.5469 2165.166 C +true setoverprint +f +false setoverprint +n +vmr +Q +false eomode +vmr +vmr +end +%%Trailer diff --git a/latex/contrib/db2latex/graphics/important.pdf b/latex/contrib/db2latex/graphics/important.pdf new file mode 100644 index 0000000..f6dd589 Binary files /dev/null and b/latex/contrib/db2latex/graphics/important.pdf differ diff --git a/latex/contrib/db2latex/graphics/note.eps b/latex/contrib/db2latex/graphics/note.eps new file mode 100644 index 0000000..39be23f --- /dev/null +++ b/latex/contrib/db2latex/graphics/note.eps @@ -0,0 +1,1387 @@ +%!PS-Adobe-2.0 EPSF-1.2 +%%Title: Untitled-1 +%%Creator: FreeHand 9.0 +%%CreationDate: 2002/07/16 10:41 PM +%%BoundingBox: 0 0 27 27 +%%FHPathName:Untitled:FreeHand 9:English:Untitled-1 +%ALDOriginalFile:Untitled:FreeHand 9:English:Untitled-1 +%ALDBoundingBox: -153 -436 442 406 +%%FHPageNum:1 +%%DocumentSuppliedResources: procset Altsys_header 4 0 +%%ColorUsage: Color +%%DocumentProcessColors: Black +%%EndComments +%%BeginResource: procset Altsys_header 4 0 +userdict begin /AltsysDict 300 dict def end +AltsysDict begin +/bdf{bind def}bind def +/xdf{exch def}bdf +/defed{where{pop true}{false}ifelse}bdf +/ndf{1 index where{pop pop pop}{dup xcheck{bind}if def}ifelse}bdf +/d{setdash}bdf +/h{closepath}bdf +/H{}bdf +/J{setlinecap}bdf +/j{setlinejoin}bdf +/M{setmiterlimit}bdf +/n{newpath}bdf +/N{newpath}bdf +/q{gsave}bdf +/Q{grestore}bdf +/w{setlinewidth}bdf +/Xic{matrix invertmatrix concat}bdf +/Xq{matrix currentmatrix mark}bdf +/XQ{cleartomark setmatrix}bdf +/sepdef{ +dup where not +{ +AltsysSepDict +} +if +3 1 roll exch put +}bdf +/st{settransfer}bdf +/colorimage defed /_rci xdf +/cntr 0 def +/readbinarystring{ +/cntr 0 def +2 copy readstring +{ +{ +dup +(\034) search +{ +length exch pop exch +dup length 0 ne +{ +dup dup 0 get 32 sub 0 exch put +/cntr cntr 1 add def +} +{ +pop 1 string dup +0 6 index read pop 32 sub put +}ifelse +3 copy +putinterval pop +1 add +1 index length 1 sub +1 index sub +dup 0 le {pop pop exit}if +getinterval +} +{ +pop exit +} ifelse +} loop +}if +cntr 0 gt +{ +pop 2 copy +dup length cntr sub cntr getinterval +readbinarystring +} if +pop exch pop +} bdf +/_NXLevel2 defed { +_NXLevel2 not { +/colorimage where { +userdict eq { +/_rci false def +} if +} if +} if +} if +/md defed{ +md type /dicttype eq { +/colorimage where { +md eq { +/_rci false def +}if +}if +/settransfer where { +md eq { +/st systemdict /settransfer get def +}if +}if +}if +}if +/setstrokeadjust defed +{ +true setstrokeadjust +/C{curveto}bdf +/L{lineto}bdf +/m{moveto}bdf +} +{ +/dr{transform .25 sub round .25 add +exch .25 sub round .25 add exch itransform}bdf +/C{dr curveto}bdf +/L{dr lineto}bdf +/m{dr moveto}bdf +/setstrokeadjust{pop}bdf +}ifelse +/privrectpath { +4 -2 roll m +dtransform round exch round exch idtransform +2 copy 0 lt exch 0 lt xor +{dup 0 exch rlineto exch 0 rlineto neg 0 exch rlineto} +{exch dup 0 rlineto exch 0 exch rlineto neg 0 rlineto} +ifelse +closepath +}bdf +/rectclip{newpath privrectpath clip newpath}def +/rectfill{gsave newpath privrectpath fill grestore}def +/rectstroke{gsave newpath privrectpath stroke grestore}def +/_fonthacksave false def +/currentpacking defed +{ +/_bfh {/_fonthacksave currentpacking def false setpacking} bdf +/_efh {_fonthacksave setpacking} bdf +} +{ +/_bfh {} bdf +/_efh {} bdf +}ifelse +/packedarray{array astore readonly}ndf +/` +{ +false setoverprint +/-save0- save def +5 index concat +pop +storerect left bottom width height rectclip +pop +/MMdict_count countdictstack def +/MMop_count count 1 sub def +userdict begin +/showpage {} def +0 setgray 0 setlinecap 1 setlinewidth +0 setlinejoin 10 setmiterlimit [] 0 setdash newpath +} bdf +/currentpacking defed{true setpacking}if +/min{2 copy gt{exch}if pop}bdf +/max{2 copy lt{exch}if pop}bdf +/xformfont { currentfont exch makefont setfont } bdf +/fhnumcolors 1 +statusdict begin +/processcolors defed +{ +pop processcolors +} +{ +/deviceinfo defed { +deviceinfo /Colors known { +pop deviceinfo /Colors get +} if +} if +} ifelse +end +def +/printerRes +gsave +matrix defaultmatrix setmatrix +72 72 dtransform +abs exch abs +max +grestore +def +/graycalcs +[ +{Angle Frequency} +{GrayAngle GrayFrequency} +{0 Width Height matrix defaultmatrix idtransform +dup mul exch dup mul add sqrt 72 exch div} +{0 GrayWidth GrayHeight matrix defaultmatrix idtransform +dup mul exch dup mul add sqrt 72 exch div} +] def +/calcgraysteps { +forcemaxsteps +{ +maxsteps +} +{ +/currenthalftone defed +{currenthalftone /dicttype eq}{false}ifelse +{ +currenthalftone begin +HalftoneType 4 le +{graycalcs HalftoneType 1 sub get exec} +{ +HalftoneType 5 eq +{ +Default begin +{graycalcs HalftoneType 1 sub get exec} +end +} +{0 60} +ifelse +} +ifelse +end +} +{ +currentscreen pop exch +} +ifelse +printerRes 300 max exch div exch +2 copy +sin mul round dup mul +3 1 roll +cos mul round dup mul +add 1 add +dup maxsteps gt {pop maxsteps} if +dup minsteps lt {pop minsteps} if +} +ifelse +} bdf +/nextrelease defed { +/languagelevel defed not { +/framebuffer defed { +0 40 string framebuffer 9 1 roll 8 {pop} repeat +dup 516 eq exch 520 eq or +{ +/fhnumcolors 3 def +/currentscreen {60 0 {pop pop 1}}bdf +/calcgraysteps {maxsteps} bdf +}if +}if +}if +}if +fhnumcolors 1 ne { +/calcgraysteps {maxsteps} bdf +} if +/currentpagedevice defed { +currentpagedevice /PreRenderingEnhance known +{ +currentpagedevice /PreRenderingEnhance get +{ +/calcgraysteps +{ +forcemaxsteps +{maxsteps} +{256 maxsteps min} +ifelse +} def +} if +} if +} if +/gradfrequency 144 def +printerRes 1000 lt { +/gradfrequency 72 def +} if +/adjnumsteps { +dup dtransform abs exch abs max +printerRes div +gradfrequency mul +round +5 max +min +}bdf +/goodsep { +spots exch get 4 get dup sepname eq exch (_vc_Registration) eq or +}bdf +/BeginGradation defed +{/bb{BeginGradation}bdf} +{/bb{}bdf} +ifelse +/EndGradation defed +{/eb{EndGradation}bdf} +{/eb{}bdf} +ifelse +/bottom -0 def +/delta -0 def +/frac -0 def +/height -0 def +/left -0 def +/numsteps1 -0 def +/radius -0 def +/right -0 def +/top -0 def +/width -0 def +/xt -0 def +/yt -0 def +/df currentflat def +/tempstr 1 string def +/clipflatness currentflat def +/inverted? +0 currenttransfer exec .5 ge def +/tc1 [0 0 0 1] def +/tc2 [0 0 0 1] def +/storerect{/top xdf /right xdf /bottom xdf /left xdf +/width right left sub def /height top bottom sub def}bdf +/concatprocs{ +systemdict /packedarray known +{dup type /packedarraytype eq 2 index type /packedarraytype eq or}{false}ifelse +{ +/proc2 exch cvlit def /proc1 exch cvlit def +proc1 aload pop proc2 aload pop +proc1 length proc2 length add packedarray cvx +} +{ +/proc2 exch cvlit def /proc1 exch cvlit def +/newproc proc1 length proc2 length add array def +newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval +newproc cvx +}ifelse +}bdf +/i{dup 0 eq +{pop df dup} +{dup} ifelse +/clipflatness xdf setflat +}bdf +version cvr 38.0 le +{/setrgbcolor{ +currenttransfer exec 3 1 roll +currenttransfer exec 3 1 roll +currenttransfer exec 3 1 roll +setrgbcolor}bdf}if +/vms {/vmsv save def} bdf +/vmr {vmsv restore} bdf +/vmrs{vmsv restore /vmsv save def}bdf +/eomode{ +{/filler /eofill load def /clipper /eoclip load def} +{/filler /fill load def /clipper /clip load def} +ifelse +}bdf +/normtaper{}bdf +/logtaper{9 mul 1 add log}bdf +/CD{ +/NF exch def +{ +exch dup +/FID ne 1 index/UniqueID ne and +{exch NF 3 1 roll put} +{pop pop} +ifelse +}forall +NF +}bdf +/MN{ +1 index length +/Len exch def +dup length Len add +string dup +Len +4 -1 roll +putinterval +dup +0 +4 -1 roll +putinterval +}bdf +/RC{4 -1 roll /ourvec xdf 256 string cvs(|______)anchorsearch +{1 index MN cvn/NewN exch def cvn +findfont dup maxlength dict CD dup/FontName NewN put dup +/Encoding ourvec put NewN exch definefont pop}{pop}ifelse}bdf +/RF{ +dup +FontDirectory exch +known +{pop 3 -1 roll pop} +{RC} +ifelse +}bdf +/FF{dup 256 string cvs(|______)exch MN cvn dup FontDirectory exch known +{exch pop findfont 3 -1 roll pop} +{pop dup findfont dup maxlength dict CD dup dup +/Encoding exch /Encoding get 256 array copy 7 -1 roll +{3 -1 roll dup 4 -2 roll put}forall put definefont} +ifelse}bdf +/RCJ{4 -1 roll +/ourvec xdf +256 string cvs +(|______) anchorsearch +{pop +cvn +dup FDFJ +exch +1 index +eq +{ +_bfh findfont _efh +dup +maxlength dict +CD +dup +/FontName +3 index +put +dup +/Encoding ourvec put +1 index +exch +definefont +pop +} +{exch pop} +ifelse +} +{pop} +ifelse +}bdf +/RFJ{ +dup +FontDirectory exch +known +{pop 3 -1 roll pop} +{RCJ} +ifelse +}bdf +/hasfont +{ +/resourcestatus where +{ +pop +/Font resourcestatus +{ +pop pop true +} +{ +false +} +ifelse +} +{ +dup FontDirectory exch known +{pop true} +{ +256 string +cvs +(fonts/) exch MN +status +{pop pop pop pop true} +{false} +ifelse +} +ifelse +} +ifelse +}bdf +/FDFJ +{ +dup +hasfont +not +{ +pop +/Ryumin-Light-83pv-RKSJ-H +hasfont +{ +/Ryumin-Light-83pv-RKSJ-H +} +{ +/Courier +} +ifelse +} +if +}bdf +/FFJ{ +_bfh +dup +256 string cvs +(|______)exch MN +cvn +dup +FontDirectory +exch known +{ +exch +pop +findfont +3 -1 roll +pop +} +{ +pop +FDFJ +dup findfont +dup maxlength dict +CD +dup dup +/Encoding exch +/Encoding get +256 array copy +7 -1 roll +{ +3 -1 roll +dup +4 -2 roll +put +}forall +put +definefont +} +ifelse +_efh +}bdf +/GS { +dup +hasfont +{ +findfont +exch makesetfont +exch +pop +ts +} +{ +pop pop pop +ts +} ifelse +} bdf +/RCK{4 -1 roll +/ourvec xdf +256 string cvs +(|______) anchorsearch +{pop +cvn +dup FDFK +exch +1 index +eq +{ +_bfh findfont _efh +dup +maxlength dict +CD +dup +/FontName +3 index +put +dup +/Encoding ourvec put +1 index +exch +definefont +pop +} +{exch pop} +ifelse +} +{pop} +ifelse +}bdf +/RFK{ +dup +FontDirectory exch +known +{pop 3 -1 roll pop} +{RCK} +ifelse +}bdf +/hasfont +{ +/resourcestatus where +{ +pop +/Font resourcestatus +{ +pop pop true +} +{ +false +} +ifelse +} +{ +dup FontDirectory exch known +{pop true} +{ +256 string +cvs +(fonts/) exch MN +status +{pop pop pop pop true} +{false} +ifelse +} +ifelse +} +ifelse +}bdf +/FDFK +{ +dup +hasfont +not +{ +pop +/JCsm +hasfont +{ +/JCsm +} +{ +/Courier +} +ifelse +} +if +}bdf +/FFK{ +_bfh +dup +256 string cvs +(|______)exch MN +cvn +dup +FontDirectory +exch known +{ +exch +pop +findfont +3 -1 roll +pop +} +{ +pop +FDFK +dup findfont +dup maxlength dict +CD +dup dup +/Encoding exch +/Encoding get +256 array copy +7 -1 roll +{ +3 -1 roll +dup +4 -2 roll +put +}forall +put +definefont +} +ifelse +_efh +}bdf +/RCTC{4 -1 roll +/ourvec xdf +256 string cvs +(|______) anchorsearch +{pop +cvn +dup FDFTC +exch +1 index +eq +{ +_bfh findfont _efh +dup +maxlength dict +CD +dup +/FontName +3 index +put +dup +/Encoding ourvec put +1 index +exch +definefont +pop +} +{exch pop} +ifelse +} +{pop} +ifelse +}bdf +/RFTC{ +dup +FontDirectory exch +known +{pop 3 -1 roll pop} +{RCTC} +ifelse +}bdf +/FDFTC +{ +dup +hasfont +not +{ +pop +/DFMing-Lt-HK-BF +hasfont +{ +/DFMing-Lt-HK-BF +} +{ +/Courier +} +ifelse +} +if +}bdf +/FFTC{ +_bfh +dup +256 string cvs +(|______)exch MN +cvn +dup +FontDirectory +exch known +{ +exch +pop +findfont +3 -1 roll +pop +} +{ +pop +FDFTC +dup findfont +dup maxlength dict +CD +dup dup +/Encoding exch +/Encoding get +256 array copy +7 -1 roll +{ +3 -1 roll +dup +4 -2 roll +put +}forall +put +definefont +} +ifelse +_efh +}bdf +/fps{ +currentflat +exch +dup 0 le{pop 1}if +{ +dup setflat 3 index stopped +{1.3 mul dup 3 index gt{pop setflat pop pop stop}if} +{exit} +ifelse +}loop +pop setflat pop pop +}bdf +/fp{100 currentflat fps}bdf +/clipper{clip}bdf +/W{/clipper load 100 clipflatness dup setflat fps}bdf + +userdict begin /BDFontDict 29 dict def end +BDFontDict begin +/bu{}def +/bn{}def +/setTxMode{av 70 ge{pop}if pop}def +/gm{m}def +/show{pop}def +/gr{pop}def +/fnt{pop pop pop}def +/fs{pop}def +/fz{pop}def +/lin{pop pop}def +/:M {pop pop} def +/sf {pop} def +/S {pop} def +/@b {pop pop pop pop pop pop pop pop} def +/_bdsave /save load def +/_bdrestore /restore load def +/save { dup /fontsave eq {null} {_bdsave} ifelse } def +/restore { dup null eq { pop } { _bdrestore } ifelse } def +/fontsave null def +end +/MacVec 256 array def +MacVec 0 /Helvetica findfont +/Encoding get 0 128 getinterval putinterval +MacVec 127 /DEL put MacVec 16#27 /quotesingle put MacVec 16#60 /grave put +/NUL/SOH/STX/ETX/EOT/ENQ/ACK/BEL/BS/HT/LF/VT/FF/CR/SO/SI +/DLE/DC1/DC2/DC3/DC4/NAK/SYN/ETB/CAN/EM/SUB/ESC/FS/GS/RS/US +MacVec 0 32 getinterval astore pop +/Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis/Udieresis/aacute +/agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute/egrave +/ecircumflex/edieresis/iacute/igrave/icircumflex/idieresis/ntilde/oacute +/ograve/ocircumflex/odieresis/otilde/uacute/ugrave/ucircumflex/udieresis +/dagger/degree/cent/sterling/section/bullet/paragraph/germandbls +/registered/copyright/trademark/acute/dieresis/notequal/AE/Oslash +/infinity/plusminus/lessequal/greaterequal/yen/mu/partialdiff/summation +/product/pi/integral/ordfeminine/ordmasculine/Omega/ae/oslash +/questiondown/exclamdown/logicalnot/radical/florin/approxequal/Delta/guillemotleft +/guillemotright/ellipsis/nbspace/Agrave/Atilde/Otilde/OE/oe +/endash/emdash/quotedblleft/quotedblright/quoteleft/quoteright/divide/lozenge +/ydieresis/Ydieresis/fraction/currency/guilsinglleft/guilsinglright/fi/fl +/daggerdbl/periodcentered/quotesinglbase/quotedblbase +/perthousand/Acircumflex/Ecircumflex/Aacute +/Edieresis/Egrave/Iacute/Icircumflex/Idieresis/Igrave/Oacute/Ocircumflex +/apple/Ograve/Uacute/Ucircumflex/Ugrave/dotlessi/circumflex/tilde +/macron/breve/dotaccent/ring/cedilla/hungarumlaut/ogonek/caron +MacVec 128 128 getinterval astore pop +/findheaderfont { +/Helvetica findfont +} def +end %. AltsysDict +%%EndResource +%%EndProlog + +%%BeginSetup + +AltsysDict begin +_bfh + +_efh +end %. AltsysDict + +%%EndSetup +AltsysDict begin + +/onlyk4{false}ndf +/ccmyk{dup 5 -1 roll sub 0 max exch}ndf +/cmyk2gray{ +4 -1 roll 0.3 mul 4 -1 roll 0.59 mul 4 -1 roll 0.11 mul +add add add 1 min neg 1 add +}bdf +/setcmykcolor{1 exch sub ccmyk ccmyk ccmyk pop setrgbcolor}ndf +/maxcolor { +max max max +} ndf +/maxspot { +pop +} ndf +/setcmykcoloroverprint{4{dup -1 eq{pop 0}if 4 1 roll}repeat setcmykcolor}ndf +/findcmykcustomcolor{5 packedarray}ndf +/setcustomcolor{exch aload pop pop 4{4 index mul 4 1 roll}repeat setcmykcolor pop}ndf +/setseparationgray{setgray}ndf +/setoverprint{pop}ndf +/currentoverprint false ndf +/cmykbufs2gray{ +0 1 2 index length 1 sub +{ +4 index 1 index get 0.3 mul +4 index 2 index get 0.59 mul +4 index 3 index get 0.11 mul +4 index 4 index get +add add add cvi 255 min +255 exch sub +2 index 3 1 roll put +}for +4 1 roll pop pop pop +}bdf +/colorimage{ +pop pop +[ +5 -1 roll/exec cvx +6 -1 roll/exec cvx +7 -1 roll/exec cvx +8 -1 roll/exec cvx +/cmykbufs2gray cvx +]cvx +image +} +%. version 47.1 on Linotronic of Postscript defines colorimage incorrectly (rgb model only) +version cvr 47.1 le +statusdict /product get (Lino) anchorsearch{pop pop true}{pop false}ifelse +and{userdict begin bdf end}{ndf}ifelse +fhnumcolors 1 ne {/yt save def} if +/customcolorimage{ +aload pop +(_vc_Registration) eq +{ +pop pop pop pop separationimage +} +{ +/ik xdf /iy xdf /im xdf /ic xdf +ic im iy ik cmyk2gray /xt xdf +currenttransfer +{dup 1.0 exch sub xt mul add}concatprocs +st +image +} +ifelse +}ndf +fhnumcolors 1 ne {yt restore} if +fhnumcolors 3 ne {/yt save def} if +/customcolorimage{ +aload pop +(_vc_Registration) eq +{ +pop pop pop pop separationimage +} +{ +/ik xdf /iy xdf /im xdf /ic xdf +1.0 dup ic ik add min sub +1.0 dup im ik add min sub +1.0 dup iy ik add min sub +/ic xdf /iy xdf /im xdf +currentcolortransfer +4 1 roll +{dup 1.0 exch sub ic mul add}concatprocs 4 1 roll +{dup 1.0 exch sub iy mul add}concatprocs 4 1 roll +{dup 1.0 exch sub im mul add}concatprocs 4 1 roll +setcolortransfer +{/dummy xdf dummy}concatprocs{dummy}{dummy}true 3 colorimage +} +ifelse +}ndf +fhnumcolors 3 ne {yt restore} if +fhnumcolors 4 ne {/yt save def} if +/customcolorimage{ +aload pop +(_vc_Registration) eq +{ +pop pop pop pop separationimage +} +{ +/ik xdf /iy xdf /im xdf /ic xdf +currentcolortransfer +{1.0 exch sub ik mul ik sub 1 add}concatprocs 4 1 roll +{1.0 exch sub iy mul iy sub 1 add}concatprocs 4 1 roll +{1.0 exch sub im mul im sub 1 add}concatprocs 4 1 roll +{1.0 exch sub ic mul ic sub 1 add}concatprocs 4 1 roll +setcolortransfer +{/dummy xdf dummy}concatprocs{dummy}{dummy}{dummy} +true 4 colorimage +} +ifelse +}ndf +fhnumcolors 4 ne {yt restore} if +/separationimage{image}ndf +/spotascmyk false ndf +/newcmykcustomcolor{6 packedarray}ndf +/inkoverprint false ndf +/setinkoverprint{pop}ndf +/setspotcolor { +spots exch get +dup 4 get (_vc_Registration) eq +{pop 1 exch sub setseparationgray} +{0 5 getinterval exch setcustomcolor} +ifelse +}ndf +/currentcolortransfer{currenttransfer dup dup dup}ndf +/setcolortransfer{st pop pop pop}ndf +/fas{}ndf +/sas{}ndf +/fhsetspreadsize{pop}ndf +/filler{fill}bdf +/F{gsave {filler}fp grestore}bdf +/f{closepath F}bdf +/S{gsave {stroke}fp grestore}bdf +/s{closepath S}bdf +userdict /islevel2 +systemdict /languagelevel known dup +{ +pop systemdict /languagelevel get 2 ge +} if +put +islevel2 not +{ +/currentcmykcolor +{ +0 0 0 1 currentgray sub +} ndf +} if +/tc +{ +gsave +setcmykcolor currentcmykcolor +grestore +} bind def +/testCMYKColorThrough +{ +tc add add add 0 ne +} bind def +/fhiscomposite where not { +userdict /fhiscomposite +islevel2 +{ +gsave 1 1 1 1 setcmykcolor currentcmykcolor grestore +add add add 4 eq +} +{ +1 0 0 0 testCMYKColorThrough +0 1 0 0 testCMYKColorThrough +0 0 1 0 testCMYKColorThrough +0 0 0 1 testCMYKColorThrough +and and and +} ifelse +put +} +{ pop } +ifelse +/bc4 [0 0 0 0] def +/_lfp4 { +1 pop +/yt xdf +/xt xdf +/ang xdf +storerect +/taperfcn xdf +/k2 xdf /y2 xdf /m2 xdf /c2 xdf +/k1 xdf /y1 xdf /m1 xdf /c1 xdf +c1 c2 sub abs +m1 m2 sub abs +y1 y2 sub abs +k1 k2 sub abs +maxcolor +calcgraysteps mul abs round +height abs adjnumsteps +dup 1 lt {pop 1} if +1 sub /numsteps1 xdf +currentflat mark +currentflat clipflatness +/delta top bottom sub numsteps1 1 add div def +/right right left sub def +/botsv top delta sub def +{ +{ +W +xt yt translate +ang rotate +xt neg yt neg translate +dup setflat +/bottom botsv def +0 1 numsteps1 +{ +numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse +taperfcn /frac xdf +bc4 0 c2 c1 sub frac mul c1 add put +bc4 1 m2 m1 sub frac mul m1 add put +bc4 2 y2 y1 sub frac mul y1 add put +bc4 3 k2 k1 sub frac mul k1 add put +bc4 vc +1 index setflat +{ +mark {newpath left bottom right delta rectfill}stopped +{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if} +{cleartomark exit}ifelse +}loop +/bottom bottom delta sub def +}for +} +gsave stopped grestore +{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if} +{exit}ifelse +}loop +cleartomark setflat +}bdf +/bcs [0 0] def +/_lfs4 { +/yt xdf +/xt xdf +/ang xdf +storerect +/taperfcn xdf +/tint2 xdf +/tint1 xdf +bcs exch 1 exch put +tint1 tint2 sub abs +bcs 1 get maxspot +calcgraysteps mul abs round +height abs adjnumsteps +dup 2 lt {pop 2} if +1 sub /numsteps1 xdf +currentflat mark +currentflat clipflatness +/delta top bottom sub numsteps1 1 add div def +/right right left sub def +/botsv top delta sub def +{ +{ +W +xt yt translate +ang rotate +xt neg yt neg translate +dup setflat +/bottom botsv def +0 1 numsteps1 +{ +numsteps1 div taperfcn /frac xdf +bcs 0 +1.0 tint2 tint1 sub frac mul tint1 add sub +put bcs vc +1 index setflat +{ +mark {newpath left bottom right delta rectfill}stopped +{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if} +{cleartomark exit}ifelse +}loop +/bottom bottom delta sub def +}for +} +gsave stopped grestore +{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if} +{exit}ifelse +}loop +cleartomark setflat +}bdf +/_rfs6 { +/tint2 xdf +/tint1 xdf +bcs exch 1 exch put +/inrad xdf +/radius xdf +/yt xdf +/xt xdf +tint1 tint2 sub abs +bcs 1 get maxspot +calcgraysteps mul abs round +radius inrad sub abs +adjnumsteps +dup 1 lt {pop 1} if +1 sub /numsteps1 xdf +radius inrad sub numsteps1 dup 0 eq {pop} {div} ifelse +2 div /halfstep xdf +currentflat mark +currentflat clipflatness +{ +{ +dup setflat +W +0 1 numsteps1 +{ +dup /radindex xdf +numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse +/frac xdf +bcs 0 +tint2 tint1 sub frac mul tint1 add +put bcs vc +1 index setflat +{ +newpath mark +xt yt radius inrad sub 1 frac sub mul halfstep add inrad add 0 360 +{ arc +radindex numsteps1 ne +inrad 0 gt or +{ +xt yt +numsteps1 0 eq +{ inrad } +{ +radindex 1 add numsteps1 div 1 exch sub +radius inrad sub mul halfstep add inrad add +}ifelse +dup xt add yt moveto +360 0 arcn +} if +fill +}stopped +{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if} +{cleartomark exit}ifelse +}loop +}for +} +gsave stopped grestore +{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if} +{exit}ifelse +}loop +cleartomark setflat +}bdf +/_rfp6 { +1 pop +/k2 xdf /y2 xdf /m2 xdf /c2 xdf +/k1 xdf /y1 xdf /m1 xdf /c1 xdf +/inrad xdf +/radius xdf +/yt xdf +/xt xdf +c1 c2 sub abs +m1 m2 sub abs +y1 y2 sub abs +k1 k2 sub abs +maxcolor +calcgraysteps mul abs round +radius inrad sub abs +adjnumsteps +dup 1 lt {pop 1} if +1 sub /numsteps1 xdf +radius inrad sub numsteps1 dup 0 eq {pop} {div} ifelse +2 div /halfstep xdf +currentflat mark +currentflat clipflatness +{ +{ +dup setflat +W +0 1 numsteps1 +{ +dup /radindex xdf +numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse +/frac xdf +bc4 0 c2 c1 sub frac mul c1 add put +bc4 1 m2 m1 sub frac mul m1 add put +bc4 2 y2 y1 sub frac mul y1 add put +bc4 3 k2 k1 sub frac mul k1 add put +bc4 vc +1 index setflat +{ +newpath mark +xt yt radius inrad sub 1 frac sub mul halfstep add inrad add 0 360 +{ arc +radindex numsteps1 ne +inrad 0 gt or +{ +xt yt +numsteps1 0 eq +{ inrad } +{ +radindex 1 add numsteps1 div 1 exch sub +radius inrad sub mul halfstep add inrad add +}ifelse +dup xt add yt moveto +360 0 arcn +} if +fill +}stopped +{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if} +{cleartomark exit}ifelse +}loop +}for +} +gsave stopped grestore +{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if} +{exit}ifelse +}loop +cleartomark setflat +}bdf +/lfp4{_lfp4}ndf +/lfs4{_lfs4}ndf +/rfs6{_rfs6}ndf +/rfp6{_rfp6}ndf +/cvc [0 0 0 1] def +/vc{ +AltsysDict /cvc 2 index put +aload length dup 4 eq +{pop dup -1 eq{pop setrgbcolor}{setcmykcolor}ifelse} +{6 eq {sethexcolor} {setspotcolor} ifelse } +ifelse +}bdf +0 setseparationgray +/imgr {1692.47 1570.59 2287.75 2412.48 } def +/bleed 0 def +/clpr {1692.47 1570.59 2287.75 2412.48 } def +/xs 1 def +/ys 1 def +/botx 0 def +/overlap 0 def +/wdist 18 def +0 2 mul fhsetspreadsize +0 0 ne {/df 0 def /clipflatness 0 def} if +/maxsteps 256 def +/forcemaxsteps false def +/minsteps 0 def + +userdict begin /AGDOrigMtx matrix currentmatrix def end +vms +0.15 0.15 scale %JND +-1845 -2006 translate + +/currentpacking defed{false setpacking}if +/spots[ + +1 0 0 0 (Process Cyan) false newcmykcustomcolor + +0 1 0 0 (Process Magenta) false newcmykcustomcolor + +0 0 1 0 (Process Yellow) false newcmykcustomcolor + +0 0 0 1 (Process Black) false newcmykcustomcolor +]def +n +[] 0 d +3.863708 M +1 w +0 j +0 J +false setoverprint +0 i +false eomode +[0 0 0 1]vc +vms +1848.4365 2094.0422 m +1848.4365 2140.987 1886.4917 2179.0422 1933.4365 2179.0422 C +1980.3813 2179.0422 2018.4365 2140.987 2018.4365 2094.0422 C +2018.4365 2047.0974 1980.3813 2009.0422 1933.4365 2009.0422 C +1886.4917 2009.0422 1848.4365 2047.0974 1848.4365 2094.0422 C +5.3858 w +3.863693 M +s +n +true eomode +1880.5612 2118.7403 m +1880.5612 2121.7396 1881.6862 2124.8795 1883.9362 2128.1622 C +1886.1862 2131.4889 1888.4581 2133.1522 1890.7565 2133.1544 C +1892.2089 2133.1544 1893.4042 2132.5677 1894.3424 2131.3966 C +1895.3268 2130.2233 1895.819 2128.7467 1895.819 2126.9669 C +1895.819 2124.0599 1894.6237 2121.0826 1892.233 2118.0372 C +1889.8885 2114.9896 1887.6144 2113.4669 1885.4127 2113.4669 C +1884.0526 2113.4669 1882.9034 2113.9591 1881.9674 2114.9435 C +1881.0292 2115.974 1880.5612 2117.2396 1880.5612 2118.7403 C +h +1948.2018 2061.1544 m +1978.4362 2061.0138 L +1980.451 2062.6068 1981.9034 2064.3163 1982.7955 2066.1466 C +1983.7316 2068.0209 1984.1996 2070.2005 1984.2018 2072.6857 C +1984.2018 2073.2482 L +1969.2252 2099.6153 L +1969.2252 2099.3341 1969.2472 2098.8639 1969.2955 2098.2091 C +1969.3417 2097.5983 1969.3636 2097.1544 1969.3658 2096.8732 C +1969.3658 2089.888 1967.5597 2083.3732 1963.9518 2077.3263 C +1960.3878 2071.2794 1955.1385 2065.8873 1948.2018 2061.1544 C +h +1905.8737 2139.4825 m +1910.0924 2124.2247 L +1964.233 2092.5841 L +1964.6066 2094.3177 1964.8636 2095.724 1965.0065 2096.8028 C +1965.1471 2097.9278 1965.2174 2098.9122 1965.2174 2099.756 C +1965.2174 2100.4108 1965.1691 2101.5599 1965.0768 2103.2013 C +1964.9823 2103.5748 1964.9362 2103.8561 1964.9362 2104.045 C +1905.8737 2139.4825 L +h +1908.4752 2120.3575 m +1898.983 2105.5216 L +1954.3893 2072.8263 L +1956.4987 2074.7005 1958.2565 2076.8561 1959.6627 2079.295 C +1961.1151 2081.7779 1962.2863 2084.6608 1963.1783 2087.9435 C +1908.4752 2120.3575 L +h +1896.2408 2102.3575 m +1880.5612 2099.0528 L +1942.9283 2062.631 L +1944.5675 2063.5209 1946.0682 2064.5272 1947.4283 2065.6544 C +1948.7863 2066.7794 1950.0057 2068.0209 1951.0846 2069.381 C +1896.2408 2102.3575 L +h +1871.2096 2120.7794 m +1876.3424 2102.3575 L +1894.2018 2105.9435 L +1906.1549 2125.2794 L +1900.8815 2142.506 L +1882.7408 2139.2013 L +1871.2096 2120.7794 L +h +1866.7096 2121.4825 m +1880.1393 2142.3653 L +1901.3033 2146.5841 L +1963.6705 2109.3888 L +1968.0299 2106.8092 1971.005 2103.9747 1972.6002 2100.881 C +1972.8815 2100.2701 1973.1144 2099.8021 1973.3033 2099.4747 C +1991.444 2068.256 L +1991.6769 2067.8341 1992.0043 2067.2474 1992.4283 2066.4982 C +1994.0675 2064.013 1994.8871 2062.0904 1994.8893 2060.7325 C +1994.8893 2059.4186 1994.3971 2058.4825 1993.4127 2057.92 C +1992.4745 2057.4037 1990.6705 2057.1466 1987.9987 2057.1466 C +1948.0612 2057.1466 L +1946.4198 2057.1466 1944.7784 2057.4037 1943.1393 2057.92 C +1941.4979 2058.4825 1939.4127 2059.513 1936.8815 2061.0138 C +1873.6705 2098.631 L +1866.7096 2121.4825 L +true setoverprint +f +false setoverprint +n +vmr +vmr +end +%%Trailer diff --git a/latex/contrib/db2latex/graphics/note.pdf b/latex/contrib/db2latex/graphics/note.pdf new file mode 100644 index 0000000..ec6c248 Binary files /dev/null and b/latex/contrib/db2latex/graphics/note.pdf differ diff --git a/latex/contrib/db2latex/graphics/tip.eps b/latex/contrib/db2latex/graphics/tip.eps new file mode 100644 index 0000000..a28ad88 --- /dev/null +++ b/latex/contrib/db2latex/graphics/tip.eps @@ -0,0 +1,1503 @@ +%!PS-Adobe-2.0 EPSF-1.2 +%%Title: Untitled-1 +%%Creator: FreeHand 9.0 +%%CreationDate: 2002/07/16 10:41 PM +%%BoundingBox: 0 0 27 27 +%%FHPathName:Untitled:FreeHand 9:English:Untitled-1 +%ALDOriginalFile:Untitled:FreeHand 9:English:Untitled-1 +%ALDBoundingBox: -153 -436 442 406 +%%FHPageNum:1 +%%DocumentSuppliedResources: procset Altsys_header 4 0 +%%ColorUsage: Color +%%DocumentProcessColors: Black +%%EndComments +%%BeginResource: procset Altsys_header 4 0 +userdict begin /AltsysDict 300 dict def end +AltsysDict begin +/bdf{bind def}bind def +/xdf{exch def}bdf +/defed{where{pop true}{false}ifelse}bdf +/ndf{1 index where{pop pop pop}{dup xcheck{bind}if def}ifelse}bdf +/d{setdash}bdf +/h{closepath}bdf +/H{}bdf +/J{setlinecap}bdf +/j{setlinejoin}bdf +/M{setmiterlimit}bdf +/n{newpath}bdf +/N{newpath}bdf +/q{gsave}bdf +/Q{grestore}bdf +/w{setlinewidth}bdf +/Xic{matrix invertmatrix concat}bdf +/Xq{matrix currentmatrix mark}bdf +/XQ{cleartomark setmatrix}bdf +/sepdef{ +dup where not +{ +AltsysSepDict +} +if +3 1 roll exch put +}bdf +/st{settransfer}bdf +/colorimage defed /_rci xdf +/cntr 0 def +/readbinarystring{ +/cntr 0 def +2 copy readstring +{ +{ +dup +(\034) search +{ +length exch pop exch +dup length 0 ne +{ +dup dup 0 get 32 sub 0 exch put +/cntr cntr 1 add def +} +{ +pop 1 string dup +0 6 index read pop 32 sub put +}ifelse +3 copy +putinterval pop +1 add +1 index length 1 sub +1 index sub +dup 0 le {pop pop exit}if +getinterval +} +{ +pop exit +} ifelse +} loop +}if +cntr 0 gt +{ +pop 2 copy +dup length cntr sub cntr getinterval +readbinarystring +} if +pop exch pop +} bdf +/_NXLevel2 defed { +_NXLevel2 not { +/colorimage where { +userdict eq { +/_rci false def +} if +} if +} if +} if +/md defed{ +md type /dicttype eq { +/colorimage where { +md eq { +/_rci false def +}if +}if +/settransfer where { +md eq { +/st systemdict /settransfer get def +}if +}if +}if +}if +/setstrokeadjust defed +{ +true setstrokeadjust +/C{curveto}bdf +/L{lineto}bdf +/m{moveto}bdf +} +{ +/dr{transform .25 sub round .25 add +exch .25 sub round .25 add exch itransform}bdf +/C{dr curveto}bdf +/L{dr lineto}bdf +/m{dr moveto}bdf +/setstrokeadjust{pop}bdf +}ifelse +/privrectpath { +4 -2 roll m +dtransform round exch round exch idtransform +2 copy 0 lt exch 0 lt xor +{dup 0 exch rlineto exch 0 rlineto neg 0 exch rlineto} +{exch dup 0 rlineto exch 0 exch rlineto neg 0 rlineto} +ifelse +closepath +}bdf +/rectclip{newpath privrectpath clip newpath}def +/rectfill{gsave newpath privrectpath fill grestore}def +/rectstroke{gsave newpath privrectpath stroke grestore}def +/_fonthacksave false def +/currentpacking defed +{ +/_bfh {/_fonthacksave currentpacking def false setpacking} bdf +/_efh {_fonthacksave setpacking} bdf +} +{ +/_bfh {} bdf +/_efh {} bdf +}ifelse +/packedarray{array astore readonly}ndf +/` +{ +false setoverprint +/-save0- save def +5 index concat +pop +storerect left bottom width height rectclip +pop +/MMdict_count countdictstack def +/MMop_count count 1 sub def +userdict begin +/showpage {} def +0 setgray 0 setlinecap 1 setlinewidth +0 setlinejoin 10 setmiterlimit [] 0 setdash newpath +} bdf +/currentpacking defed{true setpacking}if +/min{2 copy gt{exch}if pop}bdf +/max{2 copy lt{exch}if pop}bdf +/xformfont { currentfont exch makefont setfont } bdf +/fhnumcolors 1 +statusdict begin +/processcolors defed +{ +pop processcolors +} +{ +/deviceinfo defed { +deviceinfo /Colors known { +pop deviceinfo /Colors get +} if +} if +} ifelse +end +def +/printerRes +gsave +matrix defaultmatrix setmatrix +72 72 dtransform +abs exch abs +max +grestore +def +/graycalcs +[ +{Angle Frequency} +{GrayAngle GrayFrequency} +{0 Width Height matrix defaultmatrix idtransform +dup mul exch dup mul add sqrt 72 exch div} +{0 GrayWidth GrayHeight matrix defaultmatrix idtransform +dup mul exch dup mul add sqrt 72 exch div} +] def +/calcgraysteps { +forcemaxsteps +{ +maxsteps +} +{ +/currenthalftone defed +{currenthalftone /dicttype eq}{false}ifelse +{ +currenthalftone begin +HalftoneType 4 le +{graycalcs HalftoneType 1 sub get exec} +{ +HalftoneType 5 eq +{ +Default begin +{graycalcs HalftoneType 1 sub get exec} +end +} +{0 60} +ifelse +} +ifelse +end +} +{ +currentscreen pop exch +} +ifelse +printerRes 300 max exch div exch +2 copy +sin mul round dup mul +3 1 roll +cos mul round dup mul +add 1 add +dup maxsteps gt {pop maxsteps} if +dup minsteps lt {pop minsteps} if +} +ifelse +} bdf +/nextrelease defed { +/languagelevel defed not { +/framebuffer defed { +0 40 string framebuffer 9 1 roll 8 {pop} repeat +dup 516 eq exch 520 eq or +{ +/fhnumcolors 3 def +/currentscreen {60 0 {pop pop 1}}bdf +/calcgraysteps {maxsteps} bdf +}if +}if +}if +}if +fhnumcolors 1 ne { +/calcgraysteps {maxsteps} bdf +} if +/currentpagedevice defed { +currentpagedevice /PreRenderingEnhance known +{ +currentpagedevice /PreRenderingEnhance get +{ +/calcgraysteps +{ +forcemaxsteps +{maxsteps} +{256 maxsteps min} +ifelse +} def +} if +} if +} if +/gradfrequency 144 def +printerRes 1000 lt { +/gradfrequency 72 def +} if +/adjnumsteps { +dup dtransform abs exch abs max +printerRes div +gradfrequency mul +round +5 max +min +}bdf +/goodsep { +spots exch get 4 get dup sepname eq exch (_vc_Registration) eq or +}bdf +/BeginGradation defed +{/bb{BeginGradation}bdf} +{/bb{}bdf} +ifelse +/EndGradation defed +{/eb{EndGradation}bdf} +{/eb{}bdf} +ifelse +/bottom -0 def +/delta -0 def +/frac -0 def +/height -0 def +/left -0 def +/numsteps1 -0 def +/radius -0 def +/right -0 def +/top -0 def +/width -0 def +/xt -0 def +/yt -0 def +/df currentflat def +/tempstr 1 string def +/clipflatness currentflat def +/inverted? +0 currenttransfer exec .5 ge def +/tc1 [0 0 0 1] def +/tc2 [0 0 0 1] def +/storerect{/top xdf /right xdf /bottom xdf /left xdf +/width right left sub def /height top bottom sub def}bdf +/concatprocs{ +systemdict /packedarray known +{dup type /packedarraytype eq 2 index type /packedarraytype eq or}{false}ifelse +{ +/proc2 exch cvlit def /proc1 exch cvlit def +proc1 aload pop proc2 aload pop +proc1 length proc2 length add packedarray cvx +} +{ +/proc2 exch cvlit def /proc1 exch cvlit def +/newproc proc1 length proc2 length add array def +newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval +newproc cvx +}ifelse +}bdf +/i{dup 0 eq +{pop df dup} +{dup} ifelse +/clipflatness xdf setflat +}bdf +version cvr 38.0 le +{/setrgbcolor{ +currenttransfer exec 3 1 roll +currenttransfer exec 3 1 roll +currenttransfer exec 3 1 roll +setrgbcolor}bdf}if +/vms {/vmsv save def} bdf +/vmr {vmsv restore} bdf +/vmrs{vmsv restore /vmsv save def}bdf +/eomode{ +{/filler /eofill load def /clipper /eoclip load def} +{/filler /fill load def /clipper /clip load def} +ifelse +}bdf +/normtaper{}bdf +/logtaper{9 mul 1 add log}bdf +/CD{ +/NF exch def +{ +exch dup +/FID ne 1 index/UniqueID ne and +{exch NF 3 1 roll put} +{pop pop} +ifelse +}forall +NF +}bdf +/MN{ +1 index length +/Len exch def +dup length Len add +string dup +Len +4 -1 roll +putinterval +dup +0 +4 -1 roll +putinterval +}bdf +/RC{4 -1 roll /ourvec xdf 256 string cvs(|______)anchorsearch +{1 index MN cvn/NewN exch def cvn +findfont dup maxlength dict CD dup/FontName NewN put dup +/Encoding ourvec put NewN exch definefont pop}{pop}ifelse}bdf +/RF{ +dup +FontDirectory exch +known +{pop 3 -1 roll pop} +{RC} +ifelse +}bdf +/FF{dup 256 string cvs(|______)exch MN cvn dup FontDirectory exch known +{exch pop findfont 3 -1 roll pop} +{pop dup findfont dup maxlength dict CD dup dup +/Encoding exch /Encoding get 256 array copy 7 -1 roll +{3 -1 roll dup 4 -2 roll put}forall put definefont} +ifelse}bdf +/RCJ{4 -1 roll +/ourvec xdf +256 string cvs +(|______) anchorsearch +{pop +cvn +dup FDFJ +exch +1 index +eq +{ +_bfh findfont _efh +dup +maxlength dict +CD +dup +/FontName +3 index +put +dup +/Encoding ourvec put +1 index +exch +definefont +pop +} +{exch pop} +ifelse +} +{pop} +ifelse +}bdf +/RFJ{ +dup +FontDirectory exch +known +{pop 3 -1 roll pop} +{RCJ} +ifelse +}bdf +/hasfont +{ +/resourcestatus where +{ +pop +/Font resourcestatus +{ +pop pop true +} +{ +false +} +ifelse +} +{ +dup FontDirectory exch known +{pop true} +{ +256 string +cvs +(fonts/) exch MN +status +{pop pop pop pop true} +{false} +ifelse +} +ifelse +} +ifelse +}bdf +/FDFJ +{ +dup +hasfont +not +{ +pop +/Ryumin-Light-83pv-RKSJ-H +hasfont +{ +/Ryumin-Light-83pv-RKSJ-H +} +{ +/Courier +} +ifelse +} +if +}bdf +/FFJ{ +_bfh +dup +256 string cvs +(|______)exch MN +cvn +dup +FontDirectory +exch known +{ +exch +pop +findfont +3 -1 roll +pop +} +{ +pop +FDFJ +dup findfont +dup maxlength dict +CD +dup dup +/Encoding exch +/Encoding get +256 array copy +7 -1 roll +{ +3 -1 roll +dup +4 -2 roll +put +}forall +put +definefont +} +ifelse +_efh +}bdf +/GS { +dup +hasfont +{ +findfont +exch makesetfont +exch +pop +ts +} +{ +pop pop pop +ts +} ifelse +} bdf +/RCK{4 -1 roll +/ourvec xdf +256 string cvs +(|______) anchorsearch +{pop +cvn +dup FDFK +exch +1 index +eq +{ +_bfh findfont _efh +dup +maxlength dict +CD +dup +/FontName +3 index +put +dup +/Encoding ourvec put +1 index +exch +definefont +pop +} +{exch pop} +ifelse +} +{pop} +ifelse +}bdf +/RFK{ +dup +FontDirectory exch +known +{pop 3 -1 roll pop} +{RCK} +ifelse +}bdf +/hasfont +{ +/resourcestatus where +{ +pop +/Font resourcestatus +{ +pop pop true +} +{ +false +} +ifelse +} +{ +dup FontDirectory exch known +{pop true} +{ +256 string +cvs +(fonts/) exch MN +status +{pop pop pop pop true} +{false} +ifelse +} +ifelse +} +ifelse +}bdf +/FDFK +{ +dup +hasfont +not +{ +pop +/JCsm +hasfont +{ +/JCsm +} +{ +/Courier +} +ifelse +} +if +}bdf +/FFK{ +_bfh +dup +256 string cvs +(|______)exch MN +cvn +dup +FontDirectory +exch known +{ +exch +pop +findfont +3 -1 roll +pop +} +{ +pop +FDFK +dup findfont +dup maxlength dict +CD +dup dup +/Encoding exch +/Encoding get +256 array copy +7 -1 roll +{ +3 -1 roll +dup +4 -2 roll +put +}forall +put +definefont +} +ifelse +_efh +}bdf +/RCTC{4 -1 roll +/ourvec xdf +256 string cvs +(|______) anchorsearch +{pop +cvn +dup FDFTC +exch +1 index +eq +{ +_bfh findfont _efh +dup +maxlength dict +CD +dup +/FontName +3 index +put +dup +/Encoding ourvec put +1 index +exch +definefont +pop +} +{exch pop} +ifelse +} +{pop} +ifelse +}bdf +/RFTC{ +dup +FontDirectory exch +known +{pop 3 -1 roll pop} +{RCTC} +ifelse +}bdf +/FDFTC +{ +dup +hasfont +not +{ +pop +/DFMing-Lt-HK-BF +hasfont +{ +/DFMing-Lt-HK-BF +} +{ +/Courier +} +ifelse +} +if +}bdf +/FFTC{ +_bfh +dup +256 string cvs +(|______)exch MN +cvn +dup +FontDirectory +exch known +{ +exch +pop +findfont +3 -1 roll +pop +} +{ +pop +FDFTC +dup findfont +dup maxlength dict +CD +dup dup +/Encoding exch +/Encoding get +256 array copy +7 -1 roll +{ +3 -1 roll +dup +4 -2 roll +put +}forall +put +definefont +} +ifelse +_efh +}bdf +/fps{ +currentflat +exch +dup 0 le{pop 1}if +{ +dup setflat 3 index stopped +{1.3 mul dup 3 index gt{pop setflat pop pop stop}if} +{exit} +ifelse +}loop +pop setflat pop pop +}bdf +/fp{100 currentflat fps}bdf +/clipper{clip}bdf +/W{/clipper load 100 clipflatness dup setflat fps}bdf + +userdict begin /BDFontDict 29 dict def end +BDFontDict begin +/bu{}def +/bn{}def +/setTxMode{av 70 ge{pop}if pop}def +/gm{m}def +/show{pop}def +/gr{pop}def +/fnt{pop pop pop}def +/fs{pop}def +/fz{pop}def +/lin{pop pop}def +/:M {pop pop} def +/sf {pop} def +/S {pop} def +/@b {pop pop pop pop pop pop pop pop} def +/_bdsave /save load def +/_bdrestore /restore load def +/save { dup /fontsave eq {null} {_bdsave} ifelse } def +/restore { dup null eq { pop } { _bdrestore } ifelse } def +/fontsave null def +end +/MacVec 256 array def +MacVec 0 /Helvetica findfont +/Encoding get 0 128 getinterval putinterval +MacVec 127 /DEL put MacVec 16#27 /quotesingle put MacVec 16#60 /grave put +/NUL/SOH/STX/ETX/EOT/ENQ/ACK/BEL/BS/HT/LF/VT/FF/CR/SO/SI +/DLE/DC1/DC2/DC3/DC4/NAK/SYN/ETB/CAN/EM/SUB/ESC/FS/GS/RS/US +MacVec 0 32 getinterval astore pop +/Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis/Udieresis/aacute +/agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute/egrave +/ecircumflex/edieresis/iacute/igrave/icircumflex/idieresis/ntilde/oacute +/ograve/ocircumflex/odieresis/otilde/uacute/ugrave/ucircumflex/udieresis +/dagger/degree/cent/sterling/section/bullet/paragraph/germandbls +/registered/copyright/trademark/acute/dieresis/notequal/AE/Oslash +/infinity/plusminus/lessequal/greaterequal/yen/mu/partialdiff/summation +/product/pi/integral/ordfeminine/ordmasculine/Omega/ae/oslash +/questiondown/exclamdown/logicalnot/radical/florin/approxequal/Delta/guillemotleft +/guillemotright/ellipsis/nbspace/Agrave/Atilde/Otilde/OE/oe +/endash/emdash/quotedblleft/quotedblright/quoteleft/quoteright/divide/lozenge +/ydieresis/Ydieresis/fraction/currency/guilsinglleft/guilsinglright/fi/fl +/daggerdbl/periodcentered/quotesinglbase/quotedblbase +/perthousand/Acircumflex/Ecircumflex/Aacute +/Edieresis/Egrave/Iacute/Icircumflex/Idieresis/Igrave/Oacute/Ocircumflex +/apple/Ograve/Uacute/Ucircumflex/Ugrave/dotlessi/circumflex/tilde +/macron/breve/dotaccent/ring/cedilla/hungarumlaut/ogonek/caron +MacVec 128 128 getinterval astore pop +/findheaderfont { +/Helvetica findfont +} def +end %. AltsysDict +%%EndResource +%%EndProlog + +%%BeginSetup + +AltsysDict begin +_bfh + +_efh +end %. AltsysDict + +%%EndSetup +AltsysDict begin + +/onlyk4{false}ndf +/ccmyk{dup 5 -1 roll sub 0 max exch}ndf +/cmyk2gray{ +4 -1 roll 0.3 mul 4 -1 roll 0.59 mul 4 -1 roll 0.11 mul +add add add 1 min neg 1 add +}bdf +/setcmykcolor{1 exch sub ccmyk ccmyk ccmyk pop setrgbcolor}ndf +/maxcolor { +max max max +} ndf +/maxspot { +pop +} ndf +/setcmykcoloroverprint{4{dup -1 eq{pop 0}if 4 1 roll}repeat setcmykcolor}ndf +/findcmykcustomcolor{5 packedarray}ndf +/setcustomcolor{exch aload pop pop 4{4 index mul 4 1 roll}repeat setcmykcolor pop}ndf +/setseparationgray{setgray}ndf +/setoverprint{pop}ndf +/currentoverprint false ndf +/cmykbufs2gray{ +0 1 2 index length 1 sub +{ +4 index 1 index get 0.3 mul +4 index 2 index get 0.59 mul +4 index 3 index get 0.11 mul +4 index 4 index get +add add add cvi 255 min +255 exch sub +2 index 3 1 roll put +}for +4 1 roll pop pop pop +}bdf +/colorimage{ +pop pop +[ +5 -1 roll/exec cvx +6 -1 roll/exec cvx +7 -1 roll/exec cvx +8 -1 roll/exec cvx +/cmykbufs2gray cvx +]cvx +image +} +%. version 47.1 on Linotronic of Postscript defines colorimage incorrectly (rgb model only) +version cvr 47.1 le +statusdict /product get (Lino) anchorsearch{pop pop true}{pop false}ifelse +and{userdict begin bdf end}{ndf}ifelse +fhnumcolors 1 ne {/yt save def} if +/customcolorimage{ +aload pop +(_vc_Registration) eq +{ +pop pop pop pop separationimage +} +{ +/ik xdf /iy xdf /im xdf /ic xdf +ic im iy ik cmyk2gray /xt xdf +currenttransfer +{dup 1.0 exch sub xt mul add}concatprocs +st +image +} +ifelse +}ndf +fhnumcolors 1 ne {yt restore} if +fhnumcolors 3 ne {/yt save def} if +/customcolorimage{ +aload pop +(_vc_Registration) eq +{ +pop pop pop pop separationimage +} +{ +/ik xdf /iy xdf /im xdf /ic xdf +1.0 dup ic ik add min sub +1.0 dup im ik add min sub +1.0 dup iy ik add min sub +/ic xdf /iy xdf /im xdf +currentcolortransfer +4 1 roll +{dup 1.0 exch sub ic mul add}concatprocs 4 1 roll +{dup 1.0 exch sub iy mul add}concatprocs 4 1 roll +{dup 1.0 exch sub im mul add}concatprocs 4 1 roll +setcolortransfer +{/dummy xdf dummy}concatprocs{dummy}{dummy}true 3 colorimage +} +ifelse +}ndf +fhnumcolors 3 ne {yt restore} if +fhnumcolors 4 ne {/yt save def} if +/customcolorimage{ +aload pop +(_vc_Registration) eq +{ +pop pop pop pop separationimage +} +{ +/ik xdf /iy xdf /im xdf /ic xdf +currentcolortransfer +{1.0 exch sub ik mul ik sub 1 add}concatprocs 4 1 roll +{1.0 exch sub iy mul iy sub 1 add}concatprocs 4 1 roll +{1.0 exch sub im mul im sub 1 add}concatprocs 4 1 roll +{1.0 exch sub ic mul ic sub 1 add}concatprocs 4 1 roll +setcolortransfer +{/dummy xdf dummy}concatprocs{dummy}{dummy}{dummy} +true 4 colorimage +} +ifelse +}ndf +fhnumcolors 4 ne {yt restore} if +/separationimage{image}ndf +/spotascmyk false ndf +/newcmykcustomcolor{6 packedarray}ndf +/inkoverprint false ndf +/setinkoverprint{pop}ndf +/setspotcolor { +spots exch get +dup 4 get (_vc_Registration) eq +{pop 1 exch sub setseparationgray} +{0 5 getinterval exch setcustomcolor} +ifelse +}ndf +/currentcolortransfer{currenttransfer dup dup dup}ndf +/setcolortransfer{st pop pop pop}ndf +/fas{}ndf +/sas{}ndf +/fhsetspreadsize{pop}ndf +/filler{fill}bdf +/F{gsave {filler}fp grestore}bdf +/f{closepath F}bdf +/S{gsave {stroke}fp grestore}bdf +/s{closepath S}bdf +userdict /islevel2 +systemdict /languagelevel known dup +{ +pop systemdict /languagelevel get 2 ge +} if +put +islevel2 not +{ +/currentcmykcolor +{ +0 0 0 1 currentgray sub +} ndf +} if +/tc +{ +gsave +setcmykcolor currentcmykcolor +grestore +} bind def +/testCMYKColorThrough +{ +tc add add add 0 ne +} bind def +/fhiscomposite where not { +userdict /fhiscomposite +islevel2 +{ +gsave 1 1 1 1 setcmykcolor currentcmykcolor grestore +add add add 4 eq +} +{ +1 0 0 0 testCMYKColorThrough +0 1 0 0 testCMYKColorThrough +0 0 1 0 testCMYKColorThrough +0 0 0 1 testCMYKColorThrough +and and and +} ifelse +put +} +{ pop } +ifelse +/bc4 [0 0 0 0] def +/_lfp4 { +1 pop +/yt xdf +/xt xdf +/ang xdf +storerect +/taperfcn xdf +/k2 xdf /y2 xdf /m2 xdf /c2 xdf +/k1 xdf /y1 xdf /m1 xdf /c1 xdf +c1 c2 sub abs +m1 m2 sub abs +y1 y2 sub abs +k1 k2 sub abs +maxcolor +calcgraysteps mul abs round +height abs adjnumsteps +dup 1 lt {pop 1} if +1 sub /numsteps1 xdf +currentflat mark +currentflat clipflatness +/delta top bottom sub numsteps1 1 add div def +/right right left sub def +/botsv top delta sub def +{ +{ +W +xt yt translate +ang rotate +xt neg yt neg translate +dup setflat +/bottom botsv def +0 1 numsteps1 +{ +numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse +taperfcn /frac xdf +bc4 0 c2 c1 sub frac mul c1 add put +bc4 1 m2 m1 sub frac mul m1 add put +bc4 2 y2 y1 sub frac mul y1 add put +bc4 3 k2 k1 sub frac mul k1 add put +bc4 vc +1 index setflat +{ +mark {newpath left bottom right delta rectfill}stopped +{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if} +{cleartomark exit}ifelse +}loop +/bottom bottom delta sub def +}for +} +gsave stopped grestore +{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if} +{exit}ifelse +}loop +cleartomark setflat +}bdf +/bcs [0 0] def +/_lfs4 { +/yt xdf +/xt xdf +/ang xdf +storerect +/taperfcn xdf +/tint2 xdf +/tint1 xdf +bcs exch 1 exch put +tint1 tint2 sub abs +bcs 1 get maxspot +calcgraysteps mul abs round +height abs adjnumsteps +dup 2 lt {pop 2} if +1 sub /numsteps1 xdf +currentflat mark +currentflat clipflatness +/delta top bottom sub numsteps1 1 add div def +/right right left sub def +/botsv top delta sub def +{ +{ +W +xt yt translate +ang rotate +xt neg yt neg translate +dup setflat +/bottom botsv def +0 1 numsteps1 +{ +numsteps1 div taperfcn /frac xdf +bcs 0 +1.0 tint2 tint1 sub frac mul tint1 add sub +put bcs vc +1 index setflat +{ +mark {newpath left bottom right delta rectfill}stopped +{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if} +{cleartomark exit}ifelse +}loop +/bottom bottom delta sub def +}for +} +gsave stopped grestore +{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if} +{exit}ifelse +}loop +cleartomark setflat +}bdf +/_rfs6 { +/tint2 xdf +/tint1 xdf +bcs exch 1 exch put +/inrad xdf +/radius xdf +/yt xdf +/xt xdf +tint1 tint2 sub abs +bcs 1 get maxspot +calcgraysteps mul abs round +radius inrad sub abs +adjnumsteps +dup 1 lt {pop 1} if +1 sub /numsteps1 xdf +radius inrad sub numsteps1 dup 0 eq {pop} {div} ifelse +2 div /halfstep xdf +currentflat mark +currentflat clipflatness +{ +{ +dup setflat +W +0 1 numsteps1 +{ +dup /radindex xdf +numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse +/frac xdf +bcs 0 +tint2 tint1 sub frac mul tint1 add +put bcs vc +1 index setflat +{ +newpath mark +xt yt radius inrad sub 1 frac sub mul halfstep add inrad add 0 360 +{ arc +radindex numsteps1 ne +inrad 0 gt or +{ +xt yt +numsteps1 0 eq +{ inrad } +{ +radindex 1 add numsteps1 div 1 exch sub +radius inrad sub mul halfstep add inrad add +}ifelse +dup xt add yt moveto +360 0 arcn +} if +fill +}stopped +{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if} +{cleartomark exit}ifelse +}loop +}for +} +gsave stopped grestore +{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if} +{exit}ifelse +}loop +cleartomark setflat +}bdf +/_rfp6 { +1 pop +/k2 xdf /y2 xdf /m2 xdf /c2 xdf +/k1 xdf /y1 xdf /m1 xdf /c1 xdf +/inrad xdf +/radius xdf +/yt xdf +/xt xdf +c1 c2 sub abs +m1 m2 sub abs +y1 y2 sub abs +k1 k2 sub abs +maxcolor +calcgraysteps mul abs round +radius inrad sub abs +adjnumsteps +dup 1 lt {pop 1} if +1 sub /numsteps1 xdf +radius inrad sub numsteps1 dup 0 eq {pop} {div} ifelse +2 div /halfstep xdf +currentflat mark +currentflat clipflatness +{ +{ +dup setflat +W +0 1 numsteps1 +{ +dup /radindex xdf +numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse +/frac xdf +bc4 0 c2 c1 sub frac mul c1 add put +bc4 1 m2 m1 sub frac mul m1 add put +bc4 2 y2 y1 sub frac mul y1 add put +bc4 3 k2 k1 sub frac mul k1 add put +bc4 vc +1 index setflat +{ +newpath mark +xt yt radius inrad sub 1 frac sub mul halfstep add inrad add 0 360 +{ arc +radindex numsteps1 ne +inrad 0 gt or +{ +xt yt +numsteps1 0 eq +{ inrad } +{ +radindex 1 add numsteps1 div 1 exch sub +radius inrad sub mul halfstep add inrad add +}ifelse +dup xt add yt moveto +360 0 arcn +} if +fill +}stopped +{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if} +{cleartomark exit}ifelse +}loop +}for +} +gsave stopped grestore +{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if} +{exit}ifelse +}loop +cleartomark setflat +}bdf +/lfp4{_lfp4}ndf +/lfs4{_lfs4}ndf +/rfs6{_rfs6}ndf +/rfp6{_rfp6}ndf +/cvc [0 0 0 1] def +/vc{ +AltsysDict /cvc 2 index put +aload length dup 4 eq +{pop dup -1 eq{pop setrgbcolor}{setcmykcolor}ifelse} +{6 eq {sethexcolor} {setspotcolor} ifelse } +ifelse +}bdf +0 setseparationgray +/imgr {1692.47 1570.59 2287.75 2412.48 } def +/bleed 0 def +/clpr {1692.47 1570.59 2287.75 2412.48 } def +/xs 1 def +/ys 1 def +/botx 0 def +/overlap 0 def +/wdist 18 def +0 2 mul fhsetspreadsize +0 0 ne {/df 0 def /clipflatness 0 def} if +/maxsteps 256 def +/forcemaxsteps false def +/minsteps 0 def + +userdict begin /AGDOrigMtx matrix currentmatrix def end +vms +0.15 0.15 scale %JND +-1845 -2006 translate + +/currentpacking defed{false setpacking}if +/spots[ + +1 0 0 0 (Process Cyan) false newcmykcustomcolor + +0 1 0 0 (Process Magenta) false newcmykcustomcolor + +0 0 1 0 (Process Yellow) false newcmykcustomcolor + +0 0 0 1 (Process Black) false newcmykcustomcolor +]def +n +[] 0 d +3.863708 M +1 w +0 j +0 J +false setoverprint +0 i +false eomode +[0 0 0 1]vc +vms +1848.4365 2094.0422 m +1848.4365 2140.987 1886.4917 2179.0422 1933.4365 2179.0422 C +1980.3813 2179.0422 2018.4365 2140.987 2018.4365 2094.0422 C +2018.4365 2047.0974 1980.3813 2009.0422 1933.4365 2009.0422 C +1886.4917 2009.0422 1848.4365 2047.0974 1848.4365 2094.0422 C +5.3858 w +3.863693 M +s +n +true eomode +1897.6516 2067.1709 m +1897.6087 2066.5538 L +1885.3743 2066.1319 L +1883.1946 2062.4053 L +1869.9055 2063.9522 L +1869.9055 2067.1712 L +1897.6516 2067.1709 L +h +1944.0852 2067.1709 m +1944.0852 2067.0077 1944.0852 2066.8741 1944.0852 2066.7647 C +1944.1314 2066.5757 1944.1775 2066.4131 1944.2258 2066.2725 C +1945.0213 2065.0992 1946.0056 2064.2554 1947.179 2063.7413 C +1948.3963 2063.2249 1950.0134 2062.9678 1952.0305 2062.9678 C +1956.0142 2062.9678 1959.7627 2063.9522 1963.2805 2065.9209 C +1964.0204 2066.3353 1964.6824 2066.7527 1965.2665 2067.1732 C +1971.313 2067.1709 L +1970.2122 2065.693 1968.5893 2064.3153 1966.4446 2063.0381 C +1962.0369 2060.4585 1956.8821 2059.1709 1950.9758 2059.1709 C +1948.6775 2059.1709 1946.7791 2059.5445 1945.2805 2060.2959 C +1943.7798 2061.0914 1942.5142 2062.357 1941.4837 2064.0928 C +1941.2486 2064.0928 1940.8728 2064.0928 1940.3587 2064.0928 C +1937.5462 2063.9039 1935.4829 2063.8116 1934.1712 2063.8116 C +1929.2954 2063.8116 1925.1228 2064.2796 1921.6555 2065.2178 C +1919.9787 2065.6936 1918.2362 2066.3443 1916.4282 2067.1704 C +1944.0852 2067.1709 L +true setoverprint +f +false setoverprint +n +1884.4125 2075.1709 m +1884.4602 2073.585 L +1893.1087 2073.0225 L +1893.1087 2075.1712 L +1910.8456 2075.1709 L +1910.98 2075.0913 1911.1146 2075.0069 1911.2493 2074.9209 C +1911.9986 2074.3584 1912.583 2073.9585 1913.0071 2073.7256 C +1916.804 2071.4756 1920.2954 2069.9288 1923.4837 2069.085 C +1926.718 2068.2413 1931.0071 2067.8194 1936.3508 2067.8194 C +1940.3587 2067.8194 L +1940.7805 2070.7022 L +1938.9524 2070.8428 1937.522 2071.4053 1936.4915 2072.3897 C +1935.7726 2073.1422 1935.3163 2074.0693 1935.1223 2075.1726 C +1940.1696 2075.1709 L +1940.3293 2074.9768 1940.5095 2074.8018 1940.7102 2074.6397 C +1941.7407 2073.8421 1943.147 2073.4444 1944.929 2073.4444 C +1948.4128 2073.4444 1951.8259 2074.0193 1955.1674 2075.169 C +1963.5704 2075.1709 L +1962.8877 2074.843 1962.0411 2074.4337 1961.0305 2073.9366 C +1958.1697 2072.5303 1955.2166 2071.4976 1952.1712 2070.8428 C +1951.3274 2070.7022 1950.2244 2070.5132 1948.8665 2070.2803 C +1945.6782 2069.7178 1944.0852 2068.8038 1944.0852 2067.5381 C +1944.0852 2067.4017 1944.0852 2067.2776 1944.0852 2067.1658 C +1916.4282 2067.1709 L +1914.4953 2068.0535 1912.4877 2069.1369 1910.4055 2070.4209 C +1910.0759 2070.6539 1909.6321 2070.9593 1909.0696 2071.335 C +1905.9275 2073.5367 1902.9041 2074.6375 1899.9993 2074.6397 C +1899.9509 2074.6397 1899.6939 2074.6155 1899.2258 2074.5694 C +1898.7556 2074.521 1898.4041 2074.5452 1898.1712 2074.6397 C +1897.6516 2067.1709 L +1869.9055 2067.1709 L +1869.9055 2075.1714 L +1884.4125 2075.1709 L +h +1972.5022 2075.1709 m +1972.8687 2074.2606 1973.0523 2073.2652 1973.054 2072.1788 C +1973.054 2070.3983 1972.4736 2068.7289 1971.313 2067.1709 C +1965.2666 2067.1709 L +1967.4581 2068.751 1968.554 2070.3727 1968.554 2072.0381 C +1968.554 2073.0686 1968.2486 2073.9827 1967.6399 2074.7803 C +1967.5373 2074.922 1967.4334 2075.0518 1967.3283 2075.1698 C +1972.5022 2075.1709 L +true setoverprint +f +false setoverprint +n +1869.9055 2075.1709 m +1869.9055 2119.0772 L +1897.1868 2119.8506 L +1897.8899 2114.2256 L +1899.2962 2114.2256 L +1901.0759 2114.2256 1902.7876 2114.5069 1904.429 2115.0694 C +1906.1165 2115.678 1908.2478 2116.825 1910.8274 2118.5147 C +1911.9524 2119.2178 L +1919.5923 2124.1397 1925.4041 2126.6006 1929.3899 2126.6006 C +1930.8423 2126.6006 1932.3408 2126.3655 1933.8899 2125.8975 C +1935.4368 2125.4756 1937.1463 2124.7945 1939.0227 2123.8584 C +1940.1939 2123.9046 1941.8814 2123.9507 1944.0852 2123.9991 C +1950.0376 2124.0914 1954.0674 2124.1375 1956.179 2124.1397 C +1972.7244 2124.1397 1984.583 2123.1311 1991.7571 2121.1163 C +1998.9751 2119.1475 2002.583 2115.9351 2002.5852 2111.4834 C +2002.5852 2107.8272 2000.2869 2105.2959 1995.6946 2103.8897 C +1991.1463 2102.5296 1981.865 2101.8506 1967.8508 2101.8506 C +1963.5618 2101.8506 L +1964.6384 2100.8179 1965.4361 2099.8116 1965.9524 2098.8272 C +1966.4666 2097.8428 1966.7236 2096.8343 1966.7258 2095.8038 C +1966.7258 2095.3335 1966.6314 2094.7952 1966.4446 2094.1866 C +1966.2556 2093.6241 1965.9041 2092.8506 1965.3899 2091.8663 C +1967.1697 2091.1631 1968.5056 2090.1788 1969.3977 2088.9131 C +1970.2876 2087.6936 1970.7315 2086.1929 1970.7337 2084.4131 C +1970.7337 2083.521 1970.615 2082.6311 1970.3821 2081.7413 C +1970.147 2080.8492 1969.7954 2079.9593 1969.3274 2079.0694 C +1970.5447 2078.2256 1971.4588 2077.2171 1972.0696 2076.0459 C +1972.2346 2075.7625 1972.3788 2075.4685 1972.5022 2075.1642 C +1967.3284 2075.1709 L +1966.8077 2075.7539 1966.2562 2076.0459 1965.6712 2076.0459 C +1965.5191 2076.0459 1964.8189 2075.7521 1963.5704 2075.1643 C +1955.1674 2075.1709 L +1956.5004 2075.6277 1957.8219 2076.1778 1959.1321 2076.8194 C +1963.7727 2079.1155 1966.093 2081.5523 1966.093 2084.1319 C +1966.093 2085.303 1965.7173 2086.2632 1964.968 2087.0147 C +1964.2649 2087.764 1963.3508 2088.1375 1962.2258 2088.1397 C +1961.7556 2088.1397 1959.0838 2086.9905 1954.2102 2084.6944 C +1949.3806 2082.396 1944.4368 2080.6624 1939.3743 2079.4913 C +1939.2798 2079.3023 1939.2337 2079.0914 1939.2337 2078.8584 C +1939.2337 2078.6695 1939.2337 2078.3663 1939.2337 2077.9444 C +1939.2337 2076.8248 1939.5456 2075.8974 1940.1695 2075.1644 C +1935.1224 2075.1709 L +1935.0507 2075.5803 1935.0149 2076.012 1935.0149 2076.4678 C +1935.0149 2076.8414 1935.0369 2077.2391 1935.0852 2077.6631 C +1935.1775 2078.085 1935.294 2078.5992 1935.4368 2079.21 C +1934.7337 2079.21 L +1931.9673 2079.21 1929.7876 2080.0296 1928.1946 2081.6709 C +1926.5994 2083.3101 1925.804 2085.514 1925.804 2088.2803 C +1925.804 2088.9834 L +1924.3032 2088.6077 1922.9673 2088.3265 1921.7962 2088.1397 C +1920.6712 2087.9507 1919.6626 2087.8584 1918.7727 2087.8584 C +1916.8501 2087.8584 1914.9517 2088.232 1913.0774 2088.9834 C +1911.2493 2089.7789 1909.2102 2091.0906 1906.9602 2092.9209 C +1906.8196 2094.6084 L +1909.1619 2093.7647 1911.2713 2093.1077 1913.1477 2092.6397 C +1915.022 2092.2178 1916.7556 2092.0069 1918.3508 2092.0069 C +1920.6931 2092.0069 1922.9431 2092.521 1925.1008 2093.5538 C +1927.3025 2094.5843 1929.5986 2096.2476 1931.9915 2098.5459 C +1925.804 2107.7569 L +1927.0696 2109.4444 L +1928.4275 2108.3655 1930.2556 2106.7945 1932.554 2104.7334 C +1938.2251 2099.6226 1942.9361 2097.0694 1946.6868 2097.0694 C +1948.5149 2097.0694 1950.1782 2097.5132 1951.679 2098.4053 C +1953.2258 2099.2952 1953.9993 2100.1851 1953.9993 2101.0772 C +1953.9993 2101.6397 1952.9446 2103.1866 1950.8352 2105.7178 C +1948.772 2108.2491 1946.1946 2111.0374 1943.1008 2114.085 C +1939.4446 2117.6006 1936.7244 2119.8023 1934.9446 2120.6944 C +1933.2088 2121.6304 1931.3103 2122.0984 1929.2493 2122.1006 C +1925.3579 2122.1006 1920.3657 2120.0374 1914.2727 2115.9131 C +1913.5696 2115.4913 1913.0532 2115.1617 1912.7258 2114.9288 C +1909.6321 2112.8194 1907.1228 2111.4131 1905.2024 2110.71 C +1903.2798 2110.053 1901.2166 2109.7256 1899.0149 2109.7256 C +1898.0305 2109.7256 L +1898.0305 2078.6475 L +1899.8587 2078.6475 L +1903.4329 2078.6475 1907.0952 2077.4884 1910.8456 2075.1742 C +1893.1087 2075.1709 L +1893.1087 2115.7725 L +1883.1946 2115.6319 L +1884.4125 2075.171 L +1869.9055 2075.1709 L +h +1957.9368 2101.0772 m +1957.3259 2098.5459 1956.0603 2096.6695 1954.1399 2095.4522 C +1952.2634 2094.2327 1949.6399 2093.6241 1946.2649 2093.6241 C +1945.1861 2093.6241 1943.615 2093.9273 1941.554 2094.5381 C +1939.5369 2095.1929 1938.0383 2095.5203 1937.054 2095.5225 C +1935.3665 2095.5225 1933.679 2094.8194 1931.9915 2093.4131 C +1930.3501 2092.0069 1929.5305 2090.5765 1929.5305 2089.1241 C +1929.5305 2087.107 1930.0447 2085.5601 1931.0774 2084.4834 C +1932.1079 2083.4507 1933.6065 2082.9366 1935.5774 2082.9366 C +1937.5462 2082.9366 1940.1477 2083.4046 1943.3821 2084.3428 C +1946.6626 2085.3272 1949.9673 2086.5928 1953.2962 2088.1397 C +1956.3416 2089.5459 1958.5674 2090.8819 1959.9758 2092.1475 C +1961.3821 2093.4131 1962.0852 2094.6788 1962.0852 2095.9444 C +1962.0852 2096.8343 1961.7556 2097.678 1961.1008 2098.4756 C +1960.4439 2099.3194 1959.3892 2100.1851 1957.9368 2101.0772 C +h +1943.3821 2119.71 m +1946.054 2117.1788 1948.3501 2114.8584 1950.2727 2112.7491 C +1952.2415 2110.6397 1954.0213 2108.5303 1955.6165 2106.4209 C +1958.5696 2106.1397 1961.2876 2105.9288 1963.7727 2105.7881 C +1966.304 2105.6475 1968.6243 2105.5772 1970.7337 2105.5772 C +1980.7642 2105.5772 1987.7471 2106.021 1991.6868 2106.9131 C +1995.6704 2107.803 1997.6611 2109.3719 1997.6633 2111.6241 C +1997.6633 2114.4366 1994.2883 2116.5459 1987.5383 2117.9522 C +1980.8345 2119.4046 1970.8259 2120.1297 1957.5149 2120.1319 C +1955.4055 2120.1319 1953.1555 2120.0835 1950.7649 2119.9913 C +1948.4204 2119.9429 1945.9595 2119.8506 1943.3821 2119.71 C +true setoverprint +f +false setoverprint +n +vmr +vmr +end +%%Trailer diff --git a/latex/contrib/db2latex/graphics/tip.pdf b/latex/contrib/db2latex/graphics/tip.pdf new file mode 100644 index 0000000..54f5ded Binary files /dev/null and b/latex/contrib/db2latex/graphics/tip.pdf differ diff --git a/latex/contrib/db2latex/graphics/warning.eps b/latex/contrib/db2latex/graphics/warning.eps new file mode 100644 index 0000000..c9473b7 --- /dev/null +++ b/latex/contrib/db2latex/graphics/warning.eps @@ -0,0 +1,1348 @@ +%!PS-Adobe-2.0 EPSF-1.2 +%%Title: Untitled-3 +%%Creator: FreeHand 9.0 +%%CreationDate: 2002/12/05 8:20 PM +%%BoundingBox: 0 0 29 29 +%%FHPathName:Untitled:FreeHand 9:English:Untitled-3 +%ALDOriginalFile:Untitled:FreeHand 9:English:Untitled-3 +%ALDBoundingBox: -2 -2 29 29 +%%FHPageNum:1 +%%DocumentSuppliedResources: procset Altsys_header 4 0 +%%ColorUsage: Color +%%DocumentProcessColors: Black +%%EndComments +%%BeginResource: procset Altsys_header 4 0 +userdict begin /AltsysDict 300 dict def end +AltsysDict begin +/bdf{bind def}bind def +/xdf{exch def}bdf +/defed{where{pop true}{false}ifelse}bdf +/ndf{1 index where{pop pop pop}{dup xcheck{bind}if def}ifelse}bdf +/d{setdash}bdf +/h{closepath}bdf +/H{}bdf +/J{setlinecap}bdf +/j{setlinejoin}bdf +/M{setmiterlimit}bdf +/n{newpath}bdf +/N{newpath}bdf +/q{gsave}bdf +/Q{grestore}bdf +/w{setlinewidth}bdf +/Xic{matrix invertmatrix concat}bdf +/Xq{matrix currentmatrix mark}bdf +/XQ{cleartomark setmatrix}bdf +/sepdef{ +dup where not +{ +AltsysSepDict +} +if +3 1 roll exch put +}bdf +/st{settransfer}bdf +/colorimage defed /_rci xdf +/cntr 0 def +/readbinarystring{ +/cntr 0 def +2 copy readstring +{ +{ +dup +(\034) search +{ +length exch pop exch +dup length 0 ne +{ +dup dup 0 get 32 sub 0 exch put +/cntr cntr 1 add def +} +{ +pop 1 string dup +0 6 index read pop 32 sub put +}ifelse +3 copy +putinterval pop +1 add +1 index length 1 sub +1 index sub +dup 0 le {pop pop exit}if +getinterval +} +{ +pop exit +} ifelse +} loop +}if +cntr 0 gt +{ +pop 2 copy +dup length cntr sub cntr getinterval +readbinarystring +} if +pop exch pop +} bdf +/_NXLevel2 defed { +_NXLevel2 not { +/colorimage where { +userdict eq { +/_rci false def +} if +} if +} if +} if +/md defed{ +md type /dicttype eq { +/colorimage where { +md eq { +/_rci false def +}if +}if +/settransfer where { +md eq { +/st systemdict /settransfer get def +}if +}if +}if +}if +/setstrokeadjust defed +{ +true setstrokeadjust +/C{curveto}bdf +/L{lineto}bdf +/m{moveto}bdf +} +{ +/dr{transform .25 sub round .25 add +exch .25 sub round .25 add exch itransform}bdf +/C{dr curveto}bdf +/L{dr lineto}bdf +/m{dr moveto}bdf +/setstrokeadjust{pop}bdf +}ifelse +/privrectpath { +4 -2 roll m +dtransform round exch round exch idtransform +2 copy 0 lt exch 0 lt xor +{dup 0 exch rlineto exch 0 rlineto neg 0 exch rlineto} +{exch dup 0 rlineto exch 0 exch rlineto neg 0 rlineto} +ifelse +closepath +}bdf +/rectclip{newpath privrectpath clip newpath}def +/rectfill{gsave newpath privrectpath fill grestore}def +/rectstroke{gsave newpath privrectpath stroke grestore}def +/_fonthacksave false def +/currentpacking defed +{ +/_bfh {/_fonthacksave currentpacking def false setpacking} bdf +/_efh {_fonthacksave setpacking} bdf +} +{ +/_bfh {} bdf +/_efh {} bdf +}ifelse +/packedarray{array astore readonly}ndf +/` +{ +false setoverprint +/-save0- save def +5 index concat +pop +storerect left bottom width height rectclip +pop +/MMdict_count countdictstack def +/MMop_count count 1 sub def +userdict begin +/showpage {} def +0 setgray 0 setlinecap 1 setlinewidth +0 setlinejoin 10 setmiterlimit [] 0 setdash newpath +} bdf +/currentpacking defed{true setpacking}if +/min{2 copy gt{exch}if pop}bdf +/max{2 copy lt{exch}if pop}bdf +/xformfont { currentfont exch makefont setfont } bdf +/fhnumcolors 1 +statusdict begin +/processcolors defed +{ +pop processcolors +} +{ +/deviceinfo defed { +deviceinfo /Colors known { +pop deviceinfo /Colors get +} if +} if +} ifelse +end +def +/printerRes +gsave +matrix defaultmatrix setmatrix +72 72 dtransform +abs exch abs +max +grestore +def +/graycalcs +[ +{Angle Frequency} +{GrayAngle GrayFrequency} +{0 Width Height matrix defaultmatrix idtransform +dup mul exch dup mul add sqrt 72 exch div} +{0 GrayWidth GrayHeight matrix defaultmatrix idtransform +dup mul exch dup mul add sqrt 72 exch div} +] def +/calcgraysteps { +forcemaxsteps +{ +maxsteps +} +{ +/currenthalftone defed +{currenthalftone /dicttype eq}{false}ifelse +{ +currenthalftone begin +HalftoneType 4 le +{graycalcs HalftoneType 1 sub get exec} +{ +HalftoneType 5 eq +{ +Default begin +{graycalcs HalftoneType 1 sub get exec} +end +} +{0 60} +ifelse +} +ifelse +end +} +{ +currentscreen pop exch +} +ifelse +printerRes 300 max exch div exch +2 copy +sin mul round dup mul +3 1 roll +cos mul round dup mul +add 1 add +dup maxsteps gt {pop maxsteps} if +dup minsteps lt {pop minsteps} if +} +ifelse +} bdf +/nextrelease defed { +/languagelevel defed not { +/framebuffer defed { +0 40 string framebuffer 9 1 roll 8 {pop} repeat +dup 516 eq exch 520 eq or +{ +/fhnumcolors 3 def +/currentscreen {60 0 {pop pop 1}}bdf +/calcgraysteps {maxsteps} bdf +}if +}if +}if +}if +fhnumcolors 1 ne { +/calcgraysteps {maxsteps} bdf +} if +/currentpagedevice defed { +currentpagedevice /PreRenderingEnhance known +{ +currentpagedevice /PreRenderingEnhance get +{ +/calcgraysteps +{ +forcemaxsteps +{maxsteps} +{256 maxsteps min} +ifelse +} def +} if +} if +} if +/gradfrequency 144 def +printerRes 1000 lt { +/gradfrequency 72 def +} if +/adjnumsteps { +dup dtransform abs exch abs max +printerRes div +gradfrequency mul +round +5 max +min +}bdf +/goodsep { +spots exch get 4 get dup sepname eq exch (_vc_Registration) eq or +}bdf +/BeginGradation defed +{/bb{BeginGradation}bdf} +{/bb{}bdf} +ifelse +/EndGradation defed +{/eb{EndGradation}bdf} +{/eb{}bdf} +ifelse +/bottom -0 def +/delta -0 def +/frac -0 def +/height -0 def +/left -0 def +/numsteps1 -0 def +/radius -0 def +/right -0 def +/top -0 def +/width -0 def +/xt -0 def +/yt -0 def +/df currentflat def +/tempstr 1 string def +/clipflatness currentflat def +/inverted? +0 currenttransfer exec .5 ge def +/tc1 [0 0 0 1] def +/tc2 [0 0 0 1] def +/storerect{/top xdf /right xdf /bottom xdf /left xdf +/width right left sub def /height top bottom sub def}bdf +/concatprocs{ +systemdict /packedarray known +{dup type /packedarraytype eq 2 index type /packedarraytype eq or}{false}ifelse +{ +/proc2 exch cvlit def /proc1 exch cvlit def +proc1 aload pop proc2 aload pop +proc1 length proc2 length add packedarray cvx +} +{ +/proc2 exch cvlit def /proc1 exch cvlit def +/newproc proc1 length proc2 length add array def +newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval +newproc cvx +}ifelse +}bdf +/i{dup 0 eq +{pop df dup} +{dup} ifelse +/clipflatness xdf setflat +}bdf +version cvr 38.0 le +{/setrgbcolor{ +currenttransfer exec 3 1 roll +currenttransfer exec 3 1 roll +currenttransfer exec 3 1 roll +setrgbcolor}bdf}if +/vms {/vmsv save def} bdf +/vmr {vmsv restore} bdf +/vmrs{vmsv restore /vmsv save def}bdf +/eomode{ +{/filler /eofill load def /clipper /eoclip load def} +{/filler /fill load def /clipper /clip load def} +ifelse +}bdf +/normtaper{}bdf +/logtaper{9 mul 1 add log}bdf +/CD{ +/NF exch def +{ +exch dup +/FID ne 1 index/UniqueID ne and +{exch NF 3 1 roll put} +{pop pop} +ifelse +}forall +NF +}bdf +/MN{ +1 index length +/Len exch def +dup length Len add +string dup +Len +4 -1 roll +putinterval +dup +0 +4 -1 roll +putinterval +}bdf +/RC{4 -1 roll /ourvec xdf 256 string cvs(|______)anchorsearch +{1 index MN cvn/NewN exch def cvn +findfont dup maxlength dict CD dup/FontName NewN put dup +/Encoding ourvec put NewN exch definefont pop}{pop}ifelse}bdf +/RF{ +dup +FontDirectory exch +known +{pop 3 -1 roll pop} +{RC} +ifelse +}bdf +/FF{dup 256 string cvs(|______)exch MN cvn dup FontDirectory exch known +{exch pop findfont 3 -1 roll pop} +{pop dup findfont dup maxlength dict CD dup dup +/Encoding exch /Encoding get 256 array copy 7 -1 roll +{3 -1 roll dup 4 -2 roll put}forall put definefont} +ifelse}bdf +/RCJ{4 -1 roll +/ourvec xdf +256 string cvs +(|______) anchorsearch +{pop +cvn +dup FDFJ +exch +1 index +eq +{ +_bfh findfont _efh +dup +maxlength dict +CD +dup +/FontName +3 index +put +dup +/Encoding ourvec put +1 index +exch +definefont +pop +} +{exch pop} +ifelse +} +{pop} +ifelse +}bdf +/RFJ{ +dup +FontDirectory exch +known +{pop 3 -1 roll pop} +{RCJ} +ifelse +}bdf +/hasfont +{ +/resourcestatus where +{ +pop +/Font resourcestatus +{ +pop pop true +} +{ +false +} +ifelse +} +{ +dup FontDirectory exch known +{pop true} +{ +256 string +cvs +(fonts/) exch MN +status +{pop pop pop pop true} +{false} +ifelse +} +ifelse +} +ifelse +}bdf +/FDFJ +{ +dup +hasfont +not +{ +pop +/Ryumin-Light-83pv-RKSJ-H +hasfont +{ +/Ryumin-Light-83pv-RKSJ-H +} +{ +/Courier +} +ifelse +} +if +}bdf +/FFJ{ +_bfh +dup +256 string cvs +(|______)exch MN +cvn +dup +FontDirectory +exch known +{ +exch +pop +findfont +3 -1 roll +pop +} +{ +pop +FDFJ +dup findfont +dup maxlength dict +CD +dup dup +/Encoding exch +/Encoding get +256 array copy +7 -1 roll +{ +3 -1 roll +dup +4 -2 roll +put +}forall +put +definefont +} +ifelse +_efh +}bdf +/GS { +dup +hasfont +{ +findfont +exch makesetfont +exch +pop +ts +} +{ +pop pop pop +ts +} ifelse +} bdf +/RCK{4 -1 roll +/ourvec xdf +256 string cvs +(|______) anchorsearch +{pop +cvn +dup FDFK +exch +1 index +eq +{ +_bfh findfont _efh +dup +maxlength dict +CD +dup +/FontName +3 index +put +dup +/Encoding ourvec put +1 index +exch +definefont +pop +} +{exch pop} +ifelse +} +{pop} +ifelse +}bdf +/RFK{ +dup +FontDirectory exch +known +{pop 3 -1 roll pop} +{RCK} +ifelse +}bdf +/hasfont +{ +/resourcestatus where +{ +pop +/Font resourcestatus +{ +pop pop true +} +{ +false +} +ifelse +} +{ +dup FontDirectory exch known +{pop true} +{ +256 string +cvs +(fonts/) exch MN +status +{pop pop pop pop true} +{false} +ifelse +} +ifelse +} +ifelse +}bdf +/FDFK +{ +dup +hasfont +not +{ +pop +/JCsm +hasfont +{ +/JCsm +} +{ +/Courier +} +ifelse +} +if +}bdf +/FFK{ +_bfh +dup +256 string cvs +(|______)exch MN +cvn +dup +FontDirectory +exch known +{ +exch +pop +findfont +3 -1 roll +pop +} +{ +pop +FDFK +dup findfont +dup maxlength dict +CD +dup dup +/Encoding exch +/Encoding get +256 array copy +7 -1 roll +{ +3 -1 roll +dup +4 -2 roll +put +}forall +put +definefont +} +ifelse +_efh +}bdf +/RCTC{4 -1 roll +/ourvec xdf +256 string cvs +(|______) anchorsearch +{pop +cvn +dup FDFTC +exch +1 index +eq +{ +_bfh findfont _efh +dup +maxlength dict +CD +dup +/FontName +3 index +put +dup +/Encoding ourvec put +1 index +exch +definefont +pop +} +{exch pop} +ifelse +} +{pop} +ifelse +}bdf +/RFTC{ +dup +FontDirectory exch +known +{pop 3 -1 roll pop} +{RCTC} +ifelse +}bdf +/FDFTC +{ +dup +hasfont +not +{ +pop +/DFMing-Lt-HK-BF +hasfont +{ +/DFMing-Lt-HK-BF +} +{ +/Courier +} +ifelse +} +if +}bdf +/FFTC{ +_bfh +dup +256 string cvs +(|______)exch MN +cvn +dup +FontDirectory +exch known +{ +exch +pop +findfont +3 -1 roll +pop +} +{ +pop +FDFTC +dup findfont +dup maxlength dict +CD +dup dup +/Encoding exch +/Encoding get +256 array copy +7 -1 roll +{ +3 -1 roll +dup +4 -2 roll +put +}forall +put +definefont +} +ifelse +_efh +}bdf +/fps{ +currentflat +exch +dup 0 le{pop 1}if +{ +dup setflat 3 index stopped +{1.3 mul dup 3 index gt{pop setflat pop pop stop}if} +{exit} +ifelse +}loop +pop setflat pop pop +}bdf +/fp{100 currentflat fps}bdf +/clipper{clip}bdf +/W{/clipper load 100 clipflatness dup setflat fps}bdf + +userdict begin /BDFontDict 29 dict def end +BDFontDict begin +/bu{}def +/bn{}def +/setTxMode{av 70 ge{pop}if pop}def +/gm{m}def +/show{pop}def +/gr{pop}def +/fnt{pop pop pop}def +/fs{pop}def +/fz{pop}def +/lin{pop pop}def +/:M {pop pop} def +/sf {pop} def +/S {pop} def +/@b {pop pop pop pop pop pop pop pop} def +/_bdsave /save load def +/_bdrestore /restore load def +/save { dup /fontsave eq {null} {_bdsave} ifelse } def +/restore { dup null eq { pop } { _bdrestore } ifelse } def +/fontsave null def +end +/MacVec 256 array def +MacVec 0 /Helvetica findfont +/Encoding get 0 128 getinterval putinterval +MacVec 127 /DEL put MacVec 16#27 /quotesingle put MacVec 16#60 /grave put +/NUL/SOH/STX/ETX/EOT/ENQ/ACK/BEL/BS/HT/LF/VT/FF/CR/SO/SI +/DLE/DC1/DC2/DC3/DC4/NAK/SYN/ETB/CAN/EM/SUB/ESC/FS/GS/RS/US +MacVec 0 32 getinterval astore pop +/Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis/Udieresis/aacute +/agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute/egrave +/ecircumflex/edieresis/iacute/igrave/icircumflex/idieresis/ntilde/oacute +/ograve/ocircumflex/odieresis/otilde/uacute/ugrave/ucircumflex/udieresis +/dagger/degree/cent/sterling/section/bullet/paragraph/germandbls +/registered/copyright/trademark/acute/dieresis/notequal/AE/Oslash +/infinity/plusminus/lessequal/greaterequal/yen/mu/partialdiff/summation +/product/pi/integral/ordfeminine/ordmasculine/Omega/ae/oslash +/questiondown/exclamdown/logicalnot/radical/florin/approxequal/Delta/guillemotleft +/guillemotright/ellipsis/nbspace/Agrave/Atilde/Otilde/OE/oe +/endash/emdash/quotedblleft/quotedblright/quoteleft/quoteright/divide/lozenge +/ydieresis/Ydieresis/fraction/currency/guilsinglleft/guilsinglright/fi/fl +/daggerdbl/periodcentered/quotesinglbase/quotedblbase +/perthousand/Acircumflex/Ecircumflex/Aacute +/Edieresis/Egrave/Iacute/Icircumflex/Idieresis/Igrave/Oacute/Ocircumflex +/apple/Ograve/Uacute/Ucircumflex/Ugrave/dotlessi/circumflex/tilde +/macron/breve/dotaccent/ring/cedilla/hungarumlaut/ogonek/caron +MacVec 128 128 getinterval astore pop +/findheaderfont { +/Helvetica findfont +} def +end %. AltsysDict +%%EndResource +%%EndProlog + +%%BeginSetup + +AltsysDict begin +_bfh + +_efh +end %. AltsysDict + +%%EndSetup +AltsysDict begin + +/onlyk4{false}ndf +/ccmyk{dup 5 -1 roll sub 0 max exch}ndf +/cmyk2gray{ +4 -1 roll 0.3 mul 4 -1 roll 0.59 mul 4 -1 roll 0.11 mul +add add add 1 min neg 1 add +}bdf +/setcmykcolor{1 exch sub ccmyk ccmyk ccmyk pop setrgbcolor}ndf +/maxcolor { +max max max +} ndf +/maxspot { +pop +} ndf +/setcmykcoloroverprint{4{dup -1 eq{pop 0}if 4 1 roll}repeat setcmykcolor}ndf +/findcmykcustomcolor{5 packedarray}ndf +/setcustomcolor{exch aload pop pop 4{4 index mul 4 1 roll}repeat setcmykcolor pop}ndf +/setseparationgray{setgray}ndf +/setoverprint{pop}ndf +/currentoverprint false ndf +/cmykbufs2gray{ +0 1 2 index length 1 sub +{ +4 index 1 index get 0.3 mul +4 index 2 index get 0.59 mul +4 index 3 index get 0.11 mul +4 index 4 index get +add add add cvi 255 min +255 exch sub +2 index 3 1 roll put +}for +4 1 roll pop pop pop +}bdf +/colorimage{ +pop pop +[ +5 -1 roll/exec cvx +6 -1 roll/exec cvx +7 -1 roll/exec cvx +8 -1 roll/exec cvx +/cmykbufs2gray cvx +]cvx +image +} +%. version 47.1 on Linotronic of Postscript defines colorimage incorrectly (rgb model only) +version cvr 47.1 le +statusdict /product get (Lino) anchorsearch{pop pop true}{pop false}ifelse +and{userdict begin bdf end}{ndf}ifelse +fhnumcolors 1 ne {/yt save def} if +/customcolorimage{ +aload pop +(_vc_Registration) eq +{ +pop pop pop pop separationimage +} +{ +/ik xdf /iy xdf /im xdf /ic xdf +ic im iy ik cmyk2gray /xt xdf +currenttransfer +{dup 1.0 exch sub xt mul add}concatprocs +st +image +} +ifelse +}ndf +fhnumcolors 1 ne {yt restore} if +fhnumcolors 3 ne {/yt save def} if +/customcolorimage{ +aload pop +(_vc_Registration) eq +{ +pop pop pop pop separationimage +} +{ +/ik xdf /iy xdf /im xdf /ic xdf +1.0 dup ic ik add min sub +1.0 dup im ik add min sub +1.0 dup iy ik add min sub +/ic xdf /iy xdf /im xdf +currentcolortransfer +4 1 roll +{dup 1.0 exch sub ic mul add}concatprocs 4 1 roll +{dup 1.0 exch sub iy mul add}concatprocs 4 1 roll +{dup 1.0 exch sub im mul add}concatprocs 4 1 roll +setcolortransfer +{/dummy xdf dummy}concatprocs{dummy}{dummy}true 3 colorimage +} +ifelse +}ndf +fhnumcolors 3 ne {yt restore} if +fhnumcolors 4 ne {/yt save def} if +/customcolorimage{ +aload pop +(_vc_Registration) eq +{ +pop pop pop pop separationimage +} +{ +/ik xdf /iy xdf /im xdf /ic xdf +currentcolortransfer +{1.0 exch sub ik mul ik sub 1 add}concatprocs 4 1 roll +{1.0 exch sub iy mul iy sub 1 add}concatprocs 4 1 roll +{1.0 exch sub im mul im sub 1 add}concatprocs 4 1 roll +{1.0 exch sub ic mul ic sub 1 add}concatprocs 4 1 roll +setcolortransfer +{/dummy xdf dummy}concatprocs{dummy}{dummy}{dummy} +true 4 colorimage +} +ifelse +}ndf +fhnumcolors 4 ne {yt restore} if +/separationimage{image}ndf +/spotascmyk false ndf +/newcmykcustomcolor{6 packedarray}ndf +/inkoverprint false ndf +/setinkoverprint{pop}ndf +/setspotcolor { +spots exch get +dup 4 get (_vc_Registration) eq +{pop 1 exch sub setseparationgray} +{0 5 getinterval exch setcustomcolor} +ifelse +}ndf +/currentcolortransfer{currenttransfer dup dup dup}ndf +/setcolortransfer{st pop pop pop}ndf +/fas{}ndf +/sas{}ndf +/fhsetspreadsize{pop}ndf +/filler{fill}bdf +/F{gsave {filler}fp grestore}bdf +/f{closepath F}bdf +/S{gsave {stroke}fp grestore}bdf +/s{closepath S}bdf +userdict /islevel2 +systemdict /languagelevel known dup +{ +pop systemdict /languagelevel get 2 ge +} if +put +islevel2 not +{ +/currentcmykcolor +{ +0 0 0 1 currentgray sub +} ndf +} if +/tc +{ +gsave +setcmykcolor currentcmykcolor +grestore +} bind def +/testCMYKColorThrough +{ +tc add add add 0 ne +} bind def +/fhiscomposite where not { +userdict /fhiscomposite +islevel2 +{ +gsave 1 1 1 1 setcmykcolor currentcmykcolor grestore +add add add 4 eq +} +{ +1 0 0 0 testCMYKColorThrough +0 1 0 0 testCMYKColorThrough +0 0 1 0 testCMYKColorThrough +0 0 0 1 testCMYKColorThrough +and and and +} ifelse +put +} +{ pop } +ifelse +/bc4 [0 0 0 0] def +/_lfp4 { +1 pop +/yt xdf +/xt xdf +/ang xdf +storerect +/taperfcn xdf +/k2 xdf /y2 xdf /m2 xdf /c2 xdf +/k1 xdf /y1 xdf /m1 xdf /c1 xdf +c1 c2 sub abs +m1 m2 sub abs +y1 y2 sub abs +k1 k2 sub abs +maxcolor +calcgraysteps mul abs round +height abs adjnumsteps +dup 1 lt {pop 1} if +1 sub /numsteps1 xdf +currentflat mark +currentflat clipflatness +/delta top bottom sub numsteps1 1 add div def +/right right left sub def +/botsv top delta sub def +{ +{ +W +xt yt translate +ang rotate +xt neg yt neg translate +dup setflat +/bottom botsv def +0 1 numsteps1 +{ +numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse +taperfcn /frac xdf +bc4 0 c2 c1 sub frac mul c1 add put +bc4 1 m2 m1 sub frac mul m1 add put +bc4 2 y2 y1 sub frac mul y1 add put +bc4 3 k2 k1 sub frac mul k1 add put +bc4 vc +1 index setflat +{ +mark {newpath left bottom right delta rectfill}stopped +{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if} +{cleartomark exit}ifelse +}loop +/bottom bottom delta sub def +}for +} +gsave stopped grestore +{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if} +{exit}ifelse +}loop +cleartomark setflat +}bdf +/bcs [0 0] def +/_lfs4 { +/yt xdf +/xt xdf +/ang xdf +storerect +/taperfcn xdf +/tint2 xdf +/tint1 xdf +bcs exch 1 exch put +tint1 tint2 sub abs +bcs 1 get maxspot +calcgraysteps mul abs round +height abs adjnumsteps +dup 2 lt {pop 2} if +1 sub /numsteps1 xdf +currentflat mark +currentflat clipflatness +/delta top bottom sub numsteps1 1 add div def +/right right left sub def +/botsv top delta sub def +{ +{ +W +xt yt translate +ang rotate +xt neg yt neg translate +dup setflat +/bottom botsv def +0 1 numsteps1 +{ +numsteps1 div taperfcn /frac xdf +bcs 0 +1.0 tint2 tint1 sub frac mul tint1 add sub +put bcs vc +1 index setflat +{ +mark {newpath left bottom right delta rectfill}stopped +{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if} +{cleartomark exit}ifelse +}loop +/bottom bottom delta sub def +}for +} +gsave stopped grestore +{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if} +{exit}ifelse +}loop +cleartomark setflat +}bdf +/_rfs6 { +/tint2 xdf +/tint1 xdf +bcs exch 1 exch put +/inrad xdf +/radius xdf +/yt xdf +/xt xdf +tint1 tint2 sub abs +bcs 1 get maxspot +calcgraysteps mul abs round +radius inrad sub abs +adjnumsteps +dup 1 lt {pop 1} if +1 sub /numsteps1 xdf +radius inrad sub numsteps1 dup 0 eq {pop} {div} ifelse +2 div /halfstep xdf +currentflat mark +currentflat clipflatness +{ +{ +dup setflat +W +0 1 numsteps1 +{ +dup /radindex xdf +numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse +/frac xdf +bcs 0 +tint2 tint1 sub frac mul tint1 add +put bcs vc +1 index setflat +{ +newpath mark +xt yt radius inrad sub 1 frac sub mul halfstep add inrad add 0 360 +{ arc +radindex numsteps1 ne +inrad 0 gt or +{ +xt yt +numsteps1 0 eq +{ inrad } +{ +radindex 1 add numsteps1 div 1 exch sub +radius inrad sub mul halfstep add inrad add +}ifelse +dup xt add yt moveto +360 0 arcn +} if +fill +}stopped +{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if} +{cleartomark exit}ifelse +}loop +}for +} +gsave stopped grestore +{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if} +{exit}ifelse +}loop +cleartomark setflat +}bdf +/_rfp6 { +1 pop +/k2 xdf /y2 xdf /m2 xdf /c2 xdf +/k1 xdf /y1 xdf /m1 xdf /c1 xdf +/inrad xdf +/radius xdf +/yt xdf +/xt xdf +c1 c2 sub abs +m1 m2 sub abs +y1 y2 sub abs +k1 k2 sub abs +maxcolor +calcgraysteps mul abs round +radius inrad sub abs +adjnumsteps +dup 1 lt {pop 1} if +1 sub /numsteps1 xdf +radius inrad sub numsteps1 dup 0 eq {pop} {div} ifelse +2 div /halfstep xdf +currentflat mark +currentflat clipflatness +{ +{ +dup setflat +W +0 1 numsteps1 +{ +dup /radindex xdf +numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse +/frac xdf +bc4 0 c2 c1 sub frac mul c1 add put +bc4 1 m2 m1 sub frac mul m1 add put +bc4 2 y2 y1 sub frac mul y1 add put +bc4 3 k2 k1 sub frac mul k1 add put +bc4 vc +1 index setflat +{ +newpath mark +xt yt radius inrad sub 1 frac sub mul halfstep add inrad add 0 360 +{ arc +radindex numsteps1 ne +inrad 0 gt or +{ +xt yt +numsteps1 0 eq +{ inrad } +{ +radindex 1 add numsteps1 div 1 exch sub +radius inrad sub mul halfstep add inrad add +}ifelse +dup xt add yt moveto +360 0 arcn +} if +fill +}stopped +{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if} +{cleartomark exit}ifelse +}loop +}for +} +gsave stopped grestore +{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if} +{exit}ifelse +}loop +cleartomark setflat +}bdf +/lfp4{_lfp4}ndf +/lfs4{_lfs4}ndf +/rfs6{_rfs6}ndf +/rfp6{_rfp6}ndf +/cvc [0 0 0 1] def +/vc{ +AltsysDict /cvc 2 index put +aload length dup 4 eq +{pop dup -1 eq{pop setrgbcolor}{setcmykcolor}ifelse} +{6 eq {sethexcolor} {setspotcolor} ifelse } +ifelse +}bdf +0 setseparationgray +/imgr {1692.47 1570.59 1723.65 1601.77 } def +/bleed 0 def +/clpr {1692.47 1570.59 1723.65 1601.77 } def +/xs 1 def +/ys 1 def +/botx 0 def +/overlap 0 def +/wdist 18 def +0 2 mul fhsetspreadsize +0 0 ne {/df 0 def /clipflatness 0 def} if +/maxsteps 256 def +/forcemaxsteps false def +/minsteps 0 def + +userdict begin /AGDOrigMtx matrix currentmatrix def end +vms +-1694 -1572 translate + +/currentpacking defed{false setpacking}if +/spots[ + +1 0 0 0 (Process Cyan) false newcmykcustomcolor + +0 1 0 0 (Process Magenta) false newcmykcustomcolor + +0 0 1 0 (Process Yellow) false newcmykcustomcolor + +0 0 0 1 (Process Black) false newcmykcustomcolor +]def +n +[] 0 d +3.863708 M +1 w +0 j +0 J +false setoverprint +0 i +false eomode +[0 0 0 1]vc +vms +q +[1 0 0 1 -249.981674 -586.867554] concat +vms +1946.9506 2177.5114 m +1954.4907 2185.0516 L +1956.7047 2187.2656 1960.2943 2187.2656 1962.5083 2185.0516 C +1970.0485 2177.5114 L +1972.2625 2175.2974 1972.2625 2171.7078 1970.0485 2169.4938 C +1962.5083 2161.9537 L +1960.2943 2159.7396 1956.7047 2159.7396 1954.4907 2161.9537 C +1946.9506 2169.4938 L +1944.7365 2171.7078 1944.7365 2175.2974 1946.9506 2177.5114 C +s +n +true eomode +1958.5469 2181.0039 m +1959.2148 2181.0039 1959.7012 2180.9296 1960.0059 2180.7813 C +1960.3142 2180.6326 1960.4684 2180.363 1960.4688 2179.9727 C +1960.4688 2179.7383 1960.3398 2178.8026 1960.082 2177.166 C +1959.0742 2170.4219 L +1958.9373 2170.3241 1958.7615 2170.2754 1958.5469 2170.2754 C +1958.3319 2170.2754 1958.1561 2170.3241 1958.0195 2170.4219 C +1957.0117 2177.166 L +1956.7539 2178.8026 1956.625 2179.7379 1956.625 2179.9727 C +1956.625 2180.363 1956.7792 2180.6326 1957.0879 2180.7813 C +1957.4003 2180.9296 1957.8866 2181.0035 1958.5469 2181.0039 C +h +1958.5469 2165.166 m +1958.0389 2165.166 1957.5878 2165.3499 1957.1934 2165.7168 C +1956.7986 2166.0837 1956.6016 2166.5485 1956.6016 2167.1113 C +1956.6016 2167.6698 1956.7891 2168.1404 1957.1641 2168.5234 C +1957.5427 2168.9102 1958.0038 2169.1035 1958.5469 2169.1035 C +1959.1094 2169.1035 1959.5741 2168.9043 1959.9414 2168.5059 C +1960.3083 2168.1074 1960.4918 2167.6423 1960.4922 2167.1113 C +1960.4922 2166.748 1960.4102 2166.4177 1960.2461 2166.1211 C +1960.082 2165.8241 1959.8513 2165.5916 1959.5547 2165.4238 C +1959.2577 2165.2521 1958.9219 2165.1664 1958.5469 2165.166 C +true setoverprint +f +false setoverprint +n +vmr +Q +false eomode +vmr +vmr +end +%%Trailer diff --git a/latex/contrib/db2latex/graphics/warning.pdf b/latex/contrib/db2latex/graphics/warning.pdf new file mode 100644 index 0000000..bc548d5 Binary files /dev/null and b/latex/contrib/db2latex/graphics/warning.pdf differ diff --git a/latex/contrib/db2latex/param.xsl b/latex/contrib/db2latex/param.xsl new file mode 100644 index 0000000..191f12d --- /dev/null +++ b/latex/contrib/db2latex/param.xsl @@ -0,0 +1,21 @@ + + + + +note +tip +warning +caution +important + + +a4paper,10pt,twoside,openright + + + + \setmainfont{URW Palladio L} + \setsansfont{FreeSans} + \setmonofont{FreeMono} + + + diff --git a/latex/contrib/example/dbsimple.sty b/latex/contrib/example/dbsimple.sty new file mode 100644 index 0000000..150f73d --- /dev/null +++ b/latex/contrib/example/dbsimple.sty @@ -0,0 +1,89 @@ +%% +%% This is a DocBook LaTeX style example +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{dbsimple}[2003/04/11 Simple DocBook Style] + +% The defined options +\DeclareOption{hyperlink}{ \def\DBKhyperlink{yes} } +\DeclareOption{nohyperlink}{ \def\DBKhyperlink{no} } + +% Default values +\ExecuteOptions{nohyperlink} + +% If defined, process the options +\ProcessOptions\relax + +% Needed packages +\usepackage{float} +\usepackage{dbk_core} + +% LaTeX commands to define +% +% #1: mapped to +% #2: mapped to +% +\def\DBKinditem#1#2{ + #2 & #1 \tabularnewline + \hline +} + +\newenvironment{DBKindtable}{ + \begin{tabular}{ |l|l| } + \hline + \emph{Collaborator} & \emph{Contribution} + \hline +}{ + \end{tabular} +} + +% +% Latex table +% +\newenvironment{DBKrevtable}{ + \begin{longtable}{ |l|l|l|l| } + \hline + Revision number & Date & Release Info & Author \tabularnewline + \hline + \endhead +}{ + \end{longtable} +} + +% +% environment skip the information +% +\newenvironment{DBKlegalnotice}{ +}{ +} + +% +% These floats must be defined to map and +% +\usepackage{float} + +\floatstyle{ruled} +\newfloat{example}{ht}{loe}[section] +\floatname{example}{Example} + +\floatstyle{plain} +\newfloat{dbequation}{ht}{loe}[section] +\floatname{dbequation}{{\scshape Equation }} + +% +% Nothing special for , , +% +\newenvironment{DBKadmonition}[2] { +}{ +} + +% +% environment +% +\newenvironment{sidebar}[1][]{ + \hspace{0mm}\newline% + \noindent\begin{Sbox}\begin{minipage}{\linewidth} +}{ + \end{minipage}\end{Sbox}\shadowbox{\TheSbox}% +} + diff --git a/latex/graphics/dblatex.eps b/latex/graphics/dblatex.eps new file mode 100644 index 0000000..3062620 --- /dev/null +++ b/latex/graphics/dblatex.eps @@ -0,0 +1,379 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: (ImageMagick) +%%Title: (dblatex.eps) +%%CreationDate: (Fri Oct 14 20:01:37 2005) +%%BoundingBox: 0 0 80 15 +%%HiResBoundingBox: 0 0 79.99 15 +%%DocumentData: Clean7Bit +%%LanguageLevel: 1 +%%Pages: 1 +%%EndComments + +%%BeginDefaults +%%EndDefaults + +%%BeginProlog +% +% Display a color image. The image is displayed in color on +% Postscript viewers or printers that support color, otherwise +% it is displayed as grayscale. +% +/DirectClassPacket +{ + % + % Get a DirectClass packet. + % + % Parameters: + % red. + % green. + % blue. + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + compression 0 eq + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/DirectClassImage +{ + % + % Display a DirectClass image. + % + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { DirectClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayDirectClassPacket } image + } ifelse +} bind def + +/GrayDirectClassPacket +{ + % + % Get a DirectClass packet; convert to grayscale. + % + % Parameters: + % red + % green + % blue + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 eq + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/GrayPseudoClassPacket +{ + % + % Get a PseudoClass packet; convert to grayscale. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 eq + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassPacket +{ + % + % Get a PseudoClass packet. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + compression 0 eq + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassImage +{ + % + % Display a PseudoClass image. + % + % Parameters: + % class: 0-PseudoClass or 1-Grayscale. + % + currentfile buffer readline pop + token pop /class exch def pop + class 0 gt + { + currentfile buffer readline pop + token pop /depth exch def pop + /grays columns 8 add depth sub depth mul 8 idiv string def + columns rows depth + [ + columns 0 0 + rows neg 0 rows + ] + { currentfile grays readhexstring pop } image + } + { + % + % Parameters: + % colors: number of colors in the colormap. + % colormap: red, green, blue color packets. + % + currentfile buffer readline pop + token pop /colors exch def pop + /colors colors 3 mul def + /colormap colors string def + currentfile colormap readhexstring pop pop + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { PseudoClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayPseudoClassPacket } image + } ifelse + } ifelse +} bind def + +/DisplayImage +{ + % + % Display a DirectClass or PseudoClass image. + % + % Parameters: + % x & y translation. + % x & y scale. + % label pointsize. + % image label. + % image columns & rows. + % class: 0-DirectClass or 1-PseudoClass. + % compression: 0-none or 1-RunlengthEncoded. + % hex color packets. + % + gsave + /buffer 512 string def + /byte 1 string def + /color_packet 3 string def + /pixels 768 string def + + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + x y translate + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + currentfile buffer readline pop + token pop /pointsize exch def pop + /Times-Roman findfont pointsize scalefont setfont + x y scale + currentfile buffer readline pop + token pop /columns exch def + token pop /rows exch def pop + currentfile buffer readline pop + token pop /class exch def pop + currentfile buffer readline pop + token pop /compression exch def pop + class 0 gt { PseudoClassImage } { DirectClassImage } ifelse + grestore +} bind def +%%EndProlog +%%Page: 1 1 +%%PageBoundingBox: 0 0 80 15 +userdict begin +DisplayImage +0 0 +79.99 14.9981 +12.000000 +80 15 +0 +0 +666666666666666666666666666666666666666666666666666666666666666666666666 +666666666666666666666666666666666666666666666666666666666666666666666666 +666666666666666666666666666666666666666666666666666666666666666666666666 +666666666666666666666666666666666666666666666666666666666666666666666666 +666666666666666666666666666666666666666666666666666666666666666666666666 +666666666666666666666666666666666666666666666666666666666666666666666666 +666666666666666666666666666666666666666666666666666666FFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFF666666666666FFFFFFFF6600FF6600FF6600FF6600FF6600FF6600 +FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600 +FF6600FF6600FF6600FF6600FF6600FFFFFF898E79898E79898E79898E79898E79898E79 +898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79 +898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79 +898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79 +898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79FFFFFF666666 +666666FFFFFFFF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600 +FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600 +FF6600FFFFFF898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79 +898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79 +898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79 +898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79 +898E79898E79898E79898E79898E79898E79FFFFFF666666666666FFFFFFFF6600FF6600 +FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600 +FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600FFFFFF898E79898E79 +898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79 +898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79 +898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79 +898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79 +898E79898E79FFFFFF666666666666FFFFFFFF6600FF6600FF6600FF6600FF6600FFFFFF +FFFFFFFFFFFFFF6600FF6600FFFFFFFFFFFFFFFFFFFF6600FF6600FFFFFFFFFFFFFFFFFF +FF6600FF6600FF6600FF6600FF6600FFFFFF898E79898E79898E79FFFFFFFFFFFFFFFFFF +898E79898E79FFFFFF898E79898E79898E79FFFFFF898E79898E79898E79898E79FFFFFF +FFFFFFFFFFFF898E79898E79FFFFFFFFFFFFFFFFFF898E79898E79FFFFFF898E79898E79 +898E79898E79FFFFFFFFFFFF898E79898E79FFFFFFFFFFFFFFFFFF898E79FFFFFFFFFFFF +FFFFFF898E79FFFFFF898E79898E79898E79FFFFFF898E79898E79898E79FFFFFF666666 +666666FFFFFFFF6600FF6600FF6600FF6600FF6600FFFFFFFF6600FF6600FFFFFFFF6600 +FFFFFFFF6600FF6600FFFFFFFF6600FFFFFFFF6600FF6600FF6600FF6600FF6600FF6600 +FF6600FFFFFF898E79898E79898E79FFFFFF898E79898E79FFFFFF898E79898E79FFFFFF +898E79FFFFFF898E79898E79898E79898E79898E79FFFFFF898E79898E79FFFFFF898E79 +FFFFFF898E79898E79FFFFFF898E79FFFFFF898E79898E79898E79FFFFFF898E79898E79 +FFFFFF898E79898E79FFFFFF898E79898E79FFFFFF898E79898E79898E79898E79FFFFFF +898E79FFFFFF898E79898E79898E79898E79FFFFFF666666666666FFFFFFFF6600FF6600 +FF6600FF6600FF6600FFFFFFFFFFFFFFFFFFFF6600FF6600FFFFFFFF6600FF6600FFFFFF +FF6600FFFFFFFFFFFFFFFFFFFF6600FF6600FF6600FF6600FF6600FFFFFF898E79898E79 +898E79FFFFFFFFFFFFFFFFFFFFFFFF898E79898E79898E79FFFFFF898E79898E79898E79 +898E79898E79898E79FFFFFF898E79898E79FFFFFF898E79FFFFFFFFFFFFFFFFFFFFFFFF +898E79FFFFFF898E79898E79898E79FFFFFFFFFFFFFFFFFFFFFFFF898E79898E79FFFFFF +898E79898E79FFFFFFFFFFFFFFFFFF898E79898E79898E79FFFFFF898E79898E79898E79 +898E79898E79FFFFFF666666666666FFFFFFFF6600FF6600FF6600FF6600FF6600FFFFFF +FF6600FF6600FF6600FF6600FFFFFFFF6600FF6600FFFFFFFF6600FFFFFFFF6600FF6600 +FF6600FF6600FF6600FF6600FF6600FFFFFF898E79898E79898E79FFFFFF898E79898E79 +FFFFFF898E79898E79898E79FFFFFF898E79898E79898E79898E79898E79898E79FFFFFF +898E79898E79FFFFFF898E79FFFFFF898E79898E79FFFFFF898E79FFFFFF898E79898E79 +898E79FFFFFF898E79898E79FFFFFF898E79898E79FFFFFF898E79898E79FFFFFF898E79 +898E79898E79898E79FFFFFF898E79FFFFFF898E79898E79898E79898E79FFFFFF666666 +666666FFFFFFFF6600FF6600FF6600FF6600FF6600FFFFFFFF6600FF6600FF6600FF6600 +FFFFFFFFFFFFFFFFFFFF6600FF6600FFFFFFFF6600FF6600FF6600FF6600FF6600FF6600 +FF6600FFFFFF898E79898E79898E79FFFFFFFFFFFFFFFFFF898E79898E79898E79898E79 +FFFFFF898E79898E79898E79898E79898E79898E79FFFFFFFFFFFFFFFFFF898E79898E79 +FFFFFFFFFFFFFFFFFF898E79898E79FFFFFFFFFFFFFFFFFF898E79FFFFFF898E79898E79 +FFFFFF898E79898E79FFFFFF898E79898E79FFFFFFFFFFFFFFFFFF898E79FFFFFF898E79 +898E79898E79FFFFFF898E79898E79898E79FFFFFF666666666666FFFFFFFF6600FF6600 +FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600 +FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600FFFFFF898E79898E79 +898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79 +898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79 +898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79 +898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79 +898E79898E79FFFFFF666666666666FFFFFFFF6600FF6600FF6600FF6600FF6600FF6600 +FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600 +FF6600FF6600FF6600FF6600FF6600FFFFFF898E79898E79898E79898E79898E79898E79 +898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79 +898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79 +898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79 +898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79FFFFFF666666 +666666FFFFFFFF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600 +FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600FF6600 +FF6600FFFFFF898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79 +898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79 +898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79 +898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79898E79 +898E79898E79898E79898E79898E79898E79FFFFFF666666666666FFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFF666666666666666666666666666666666666666666666666666666 +666666666666666666666666666666666666666666666666666666666666666666666666 +666666666666666666666666666666666666666666666666666666666666666666666666 +666666666666666666666666666666666666666666666666666666666666666666666666 +666666666666666666666666666666666666666666666666666666666666666666666666 +666666666666666666666666666666666666666666666666666666666666666666666666 +666666666666666666666666666666666666666666666666666666666666666666666666 + +end +%%PageTrailer +%%Trailer +%%EOF diff --git a/latex/graphics/dblatex.png b/latex/graphics/dblatex.png new file mode 100644 index 0000000..fc54967 Binary files /dev/null and b/latex/graphics/dblatex.png differ diff --git a/latex/graphics/warning.eps b/latex/graphics/warning.eps new file mode 100644 index 0000000..5930e52 --- /dev/null +++ b/latex/graphics/warning.eps @@ -0,0 +1,176 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: warning.eps +%%Creator: fig2dev Version 3.2.3 Patchlevel +%%CreationDate: Tue Sep 25 23:06:11 2001 +%%For: ben@localhost.localdomain () +%%BoundingBox: 0 0 160 183 +%%Magnification: 1.0000 +%%EndComments +/$F2psDict 200 dict def +$F2psDict begin +$F2psDict /mtrx matrix put +/col-1 {0 setgray} bind def +/col0 {0.000 0.000 0.000 srgb} bind def +/col1 {0.000 0.000 1.000 srgb} bind def +/col2 {0.000 1.000 0.000 srgb} bind def +/col3 {0.000 1.000 1.000 srgb} bind def +/col4 {1.000 0.000 0.000 srgb} bind def +/col5 {1.000 0.000 1.000 srgb} bind def +/col6 {1.000 1.000 0.000 srgb} bind def +/col7 {1.000 1.000 1.000 srgb} bind def +/col8 {0.000 0.000 0.560 srgb} bind def +/col9 {0.000 0.000 0.690 srgb} bind def +/col10 {0.000 0.000 0.820 srgb} bind def +/col11 {0.530 0.810 1.000 srgb} bind def +/col12 {0.000 0.560 0.000 srgb} bind def +/col13 {0.000 0.690 0.000 srgb} bind def +/col14 {0.000 0.820 0.000 srgb} bind def +/col15 {0.000 0.560 0.560 srgb} bind def +/col16 {0.000 0.690 0.690 srgb} bind def +/col17 {0.000 0.820 0.820 srgb} bind def +/col18 {0.560 0.000 0.000 srgb} bind def +/col19 {0.690 0.000 0.000 srgb} bind def +/col20 {0.820 0.000 0.000 srgb} bind def +/col21 {0.560 0.000 0.560 srgb} bind def +/col22 {0.690 0.000 0.690 srgb} bind def +/col23 {0.820 0.000 0.820 srgb} bind def +/col24 {0.500 0.190 0.000 srgb} bind def +/col25 {0.630 0.250 0.000 srgb} bind def +/col26 {0.750 0.380 0.000 srgb} bind def +/col27 {1.000 0.500 0.500 srgb} bind def +/col28 {1.000 0.630 0.630 srgb} bind def +/col29 {1.000 0.750 0.750 srgb} bind def +/col30 {1.000 0.880 0.880 srgb} bind def +/col31 {1.000 0.840 0.000 srgb} bind def +/col32 {0.000 0.000 0.475 srgb} bind def +/col33 {0.000 0.490 0.000 srgb} bind def +/col34 {0.000 0.000 0.475 srgb} bind def +/col35 {1.000 0.510 0.000 srgb} bind def +/col36 {0.000 0.490 0.000 srgb} bind def +/col37 {0.255 0.255 0.255 srgb} bind def +/col38 {0.525 0.510 0.525 srgb} bind def +/col39 {0.780 0.765 0.780 srgb} bind def +/col40 {0.906 0.890 0.906 srgb} bind def +/col41 {0.557 0.557 0.557 srgb} bind def +/col42 {0.557 0.557 0.557 srgb} bind def +/col43 {0.525 0.510 0.525 srgb} bind def +/col44 {0.780 0.765 0.780 srgb} bind def +/col45 {0.906 0.890 0.906 srgb} bind def +/col46 {0.255 0.255 0.255 srgb} bind def +/col47 {0.525 0.510 0.525 srgb} bind def +/col48 {0.780 0.765 0.780 srgb} bind def +/col49 {0.255 0.255 0.255 srgb} bind def +/col50 {0.525 0.510 0.525 srgb} bind def +/col51 {0.780 0.765 0.780 srgb} bind def +/col52 {0.906 0.890 0.906 srgb} bind def +/col53 {0.255 0.255 0.255 srgb} bind def +/col54 {0.525 0.510 0.525 srgb} bind def +/col55 {0.780 0.765 0.780 srgb} bind def +/col56 {0.906 0.890 0.906 srgb} bind def +/col57 {0.255 0.271 0.255 srgb} bind def +/col58 {0.557 0.557 0.557 srgb} bind def +/col59 {0.255 0.271 0.255 srgb} bind def +/col60 {0.557 0.557 0.557 srgb} bind def +/col61 {0.255 0.271 0.255 srgb} bind def +/col62 {0.557 0.557 0.557 srgb} bind def +/col63 {0.255 0.271 0.255 srgb} bind def +/col64 {0.557 0.557 0.557 srgb} bind def +/col65 {0.255 0.271 0.255 srgb} bind def +/col66 {0.557 0.557 0.557 srgb} bind def +/col67 {0.255 0.271 0.255 srgb} bind def +/col68 {0.557 0.557 0.557 srgb} bind def +/col69 {0.255 0.271 0.255 srgb} bind def +/col70 {0.557 0.557 0.557 srgb} bind def +/col71 {0.525 0.510 0.525 srgb} bind def +/col72 {0.780 0.765 0.780 srgb} bind def +/col73 {0.906 0.890 0.906 srgb} bind def +/col74 {0.557 0.557 0.557 srgb} bind def +/col75 {0.525 0.510 0.525 srgb} bind def +/col76 {0.780 0.765 0.780 srgb} bind def +/col77 {0.906 0.890 0.906 srgb} bind def +/col78 {0.557 0.557 0.557 srgb} bind def +/col79 {0.255 0.271 0.255 srgb} bind def +/col80 {0.780 0.765 0.780 srgb} bind def +/col81 {0.906 0.890 0.906 srgb} bind def +/col82 {0.557 0.557 0.557 srgb} bind def +/col83 {0.255 0.271 0.255 srgb} bind def +/col84 {0.557 0.557 0.557 srgb} bind def +/col85 {0.255 0.271 0.255 srgb} bind def +/col86 {0.557 0.557 0.557 srgb} bind def +/col87 {0.255 0.271 0.255 srgb} bind def + +end +save +newpath 0 183 moveto 0 0 lineto 160 0 lineto 160 183 lineto closepath clip newpath +-98.0 294.0 translate +1 -1 scale + +/cp {closepath} bind def +/ef {eofill} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth} bind def +/tr {translate} bind def +/tnt {dup dup currentrgbcolor + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} + bind def +/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul + 4 -2 roll mul srgb} bind def + /DrawEllipse { + /endangle exch def + /startangle exch def + /yrad exch def + /xrad exch def + /y exch def + /x exch def + /savematrix mtrx currentmatrix def + x y tr xrad yrad sc 0 0 1 startangle endangle arc + closepath + savematrix setmatrix + } def + +/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def +/$F2psEnd {$F2psEnteredState restore end} def + +$F2psBegin +%%Page: 1 1 +10 setmiterlimit + 0.06000 0.06000 sc +% Polyline +7.500 slw +n 1875 2100 m 4275 2100 l 4275 4875 l 1875 4875 l + cp gs col0 s gr +% Polyline +n 1650 1875 m 4050 1875 l 4050 4650 l 1650 4650 l + cp gs col7 1.00 shd ef gr gs col0 s gr +% Ellipse +n 2850 4182 168 168 0 360 DrawEllipse gs col7 0.00 shd ef gr gs col0 s gr + +% Polyline +n 2805 2250 m 2700 2250 2700 3720 105 arcto 4 {pop} repeat + 2700 3825 2895 3825 105 arcto 4 {pop} repeat + 3000 3825 3000 2355 105 arcto 4 {pop} repeat + 3000 2250 2805 2250 105 arcto 4 {pop} repeat + cp gs col7 0.00 shd ef gr gs col0 s gr +$F2psEnd +rs diff --git a/latex/graphics/warning.fig b/latex/graphics/warning.fig new file mode 100644 index 0000000..2012760 --- /dev/null +++ b/latex/graphics/warning.fig @@ -0,0 +1,72 @@ +#FIG 3.2 +Landscape +Center +Inches +Letter +100.00 +Single +-2 +1200 2 +0 32 #000079 +0 33 #007d00 +0 34 #000079 +0 35 #ff8200 +0 36 #007d00 +0 37 #414141 +0 38 #868286 +0 39 #c7c3c7 +0 40 #e7e3e7 +0 41 #8e8e8e +0 42 #8e8e8e +0 43 #868286 +0 44 #c7c3c7 +0 45 #e7e3e7 +0 46 #414141 +0 47 #868286 +0 48 #c7c3c7 +0 49 #414141 +0 50 #868286 +0 51 #c7c3c7 +0 52 #e7e3e7 +0 53 #414141 +0 54 #868286 +0 55 #c7c3c7 +0 56 #e7e3e7 +0 57 #414541 +0 58 #8e8e8e +0 59 #414541 +0 60 #8e8e8e +0 61 #414541 +0 62 #8e8e8e +0 63 #414541 +0 64 #8e8e8e +0 65 #414541 +0 66 #8e8e8e +0 67 #414541 +0 68 #8e8e8e +0 69 #414541 +0 70 #8e8e8e +0 71 #868286 +0 72 #c7c3c7 +0 73 #e7e3e7 +0 74 #8e8e8e +0 75 #868286 +0 76 #c7c3c7 +0 77 #e7e3e7 +0 78 #8e8e8e +0 79 #414541 +0 80 #c7c3c7 +0 81 #e7e3e7 +0 82 #8e8e8e +0 83 #414541 +0 84 #8e8e8e +0 85 #414541 +0 86 #8e8e8e +0 87 #414541 +1 3 0 1 0 7 50 0 0 0.000 1 0.0000 2850 4182 168 168 2850 4182 3000 4257 +2 4 0 1 0 7 50 0 0 0.000 0 0 7 0 0 5 + 3000 3825 3000 2250 2700 2250 2700 3825 3000 3825 +2 2 0 1 0 7 51 0 20 0.000 0 0 7 0 0 5 + 1650 1875 4050 1875 4050 4650 1650 4650 1650 1875 +2 2 0 1 0 7 52 0 -1 0.000 0 0 7 0 0 5 + 1875 2100 4275 2100 4275 4875 1875 4875 1875 2100 diff --git a/latex/graphics/warning.pdf b/latex/graphics/warning.pdf new file mode 100644 index 0000000..0a95682 --- /dev/null +++ b/latex/graphics/warning.pdf @@ -0,0 +1,81 @@ +%PDF-1.4 +%�쏢 +5 0 obj +<> +stream +x��R;N1 �} +����� �f�,�l�Rp}�L2�@��_^�m9o��}��o�xV��C��0��|�� �rf "��p����W��~���+}������r�<��`� +)��B"SbT�=v͔R;��Bk�b헧�^L��p�K +$���V��5N�Ϛ���?y��('Yck��E�}+>�"��Mի3�\��!�4K)�~�У�Vvfm��5~��[G#�6�y GI�7��Ɵ������)endstream +endobj +6 0 obj +252 +endobj +4 0 obj +<> +/Contents 5 0 R +>> +endobj +3 0 obj +<< /Type /Pages /Kids [ +4 0 R +] /Count 1 +>> +endobj +1 0 obj +<> +endobj +7 0 obj +<>endobj +8 0 obj +<> +endobj +9 0 obj +<>stream + + + + + +UnknownApplication + +Untitled + + + + + +endstream +endobj +2 0 obj +<>endobj +xref +0 10 +0000000000 65535 f +0000000546 00000 n +0000002049 00000 n +0000000487 00000 n +0000000356 00000 n +0000000015 00000 n +0000000337 00000 n +0000000610 00000 n +0000000651 00000 n +0000000680 00000 n +trailer +<< /Size 10 /Root 1 0 R /Info 2 0 R +/ID [<684703C51AE86EC6B5682258FF632C47><684703C51AE86EC6B5682258FF632C47>] +>> +startxref +2176 +%%EOF diff --git a/latex/misc/attachfile.sty b/latex/misc/attachfile.sty new file mode 100644 index 0000000..7f4afbe --- /dev/null +++ b/latex/misc/attachfile.sty @@ -0,0 +1,351 @@ +%% +%% This is file `attachfile.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% attachfile.dtx (with options: `package') +%% +%% This is a generated file. +%% +%% Copyright (C) 2006 Scott Pakin +%% ------------------------------------------------------- +%% +%% This package may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3b of this license or (at your option) any later +%% version. The latest version of this license is in +%% +%% http://www.latex-project.org/lppl.txt +%% +%% and version 1.3b or later is part of all distributions of +%% LaTeX version 2006/01/07 or later. +%% +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{attachfile} + [2006/03/28 v1.2a PDF 1.3+ file attachment] +\RequirePackage{ifpdf} +\ifpdf +\else + \PackageWarningNoLine{attachfile}{% + attachfile works _only_ with pdfLaTeX and _only_ in\MessageBreak + PDF-generating mode. For this run, placeholders will\MessageBreak + be substituted for all attachfile commands.} +\fi +\RequirePackage{keyval} +\RequirePackage{calc} +\RequirePackage{color} +\RequirePackageWithOptions{hyperref} +\newcommand{\atfi@acroGraph@data}{% + q 0.5 g 1.1133 0 20.7202 18.2754 re f 1 g 0 G 0 i 0.5 w 4 M + 0.25 1.6453 20.145 17.7715 re B 0 g 2.7319 4.1367 3.9571 + 13.8867 re f 8.7031 4.1367 3.9571 9.8867 re f 14.7471 4.1367 + 3.9571 11.8867 re f \atfi@color@rgb\space rg 1.689 3.0938 + 3.9571 13.8867 re f 7.6602 3.0938 3.9571 9.8867 re f 13.7041 + 3.0938 3.9571 11.8867 re f Q +} +\DeclareRobustCommand{\atfi@acroGraph}{% + \raisebox{-1.5bp}{\parbox[b][20bp]{22bp}{% + \rule{0pt}{0pt}\pdfliteral{\atfi@acroGraph@data}}% + }% +} +\newcommand{\atfi@acroPaperclip@data}{% + q 0.75 G 0 i 2.5 w 1 J 4 M 1.9619 11.7559 m 1.9619 3.3037 + 1.9619 2.5059 v 1.9619 1.707 4.0947 1.25 y 7.4141 1.25 l 9.4292 + 1.8223 9.4292 3.3066 v 9.4292 4.79 9.4292 16.8945 y 9.7852 + 18.1514 8.481 18.1514 v 7.1768 18.1514 5.1616 18.1514 y 3.8574 + 17.9209 3.8574 16.8945 v 3.8574 15.8652 3.8574 6.6172 y 4.3325 + 5.418 5.1025 5.418 v 5.8726 5.418 6.5845 5.418 y 7.6812 5.6455 + 7.6812 6.4736 v 7.6812 7.3027 7.6812 11.5264 y S 0 G 1.2495 + 12.4404 m 1.2495 3.9883 1.2495 3.1895 v 1.2495 2.3906 3.3833 + 1.9326 y 6.7026 1.9326 l 8.7178 2.5068 8.7178 3.9902 v 8.7178 + 5.4736 8.7178 17.5781 y 9.0732 18.834 7.769 18.834 v 6.4653 + 18.834 4.4497 18.834 y 3.146 18.6055 3.146 17.5781 v 3.146 + 16.5498 3.146 7.3018 y 3.6201 6.1016 4.3911 6.1016 v 5.1611 + 6.1016 5.873 6.1016 y 6.9692 6.3301 6.9692 7.1572 v 6.9692 + 7.9863 6.9692 12.21 y S \atfi@color@rgb\space RG 1 w + 1.2495 12.4404 m 1.2495 3.9883 1.2495 3.1895 v 1.2495 2.3906 + 3.3833 1.9326 y 6.7026 1.9326 l 8.7178 2.5068 8.7178 3.9902 v + 8.7178 5.4736 8.7178 17.5781 y 9.0732 18.834 7.769 18.834 v + 6.4653 18.834 4.4497 18.834 y 3.146 18.6055 3.146 17.5781 v + 3.146 16.5498 3.146 7.3018 y 3.6201 6.1016 4.3911 6.1016 v + 5.1611 6.1016 5.873 6.1016 y 6.9692 6.3301 6.9692 7.1572 v + 6.9692 7.9863 6.9692 12.21 y S Q +} +\DeclareRobustCommand{\atfi@acroPaperclip}{% + \raisebox{-1.25bp}{\parbox[b][21bp]{12bp}{% + \rule{0pt}{0pt}\pdfliteral{\atfi@acroPaperclip@data}}% + }% +} +\newcommand{\atfi@acroPushPin@data}{% + q \atfi@color@rgb\space rg 0 G 1 w 1 6 m 11 6 l 11 13 l 12 + 13 l 14 11 l 21 11 l 22 12 l 23 12 l 23 2 l 22 2 l 21 3 l 14 3 + l 12 1 l 11 1 l 11 6 l B 0.5 G 0 7 m 10 7 l 10 8 l 1 8 l S 1 G + 12 12 m 14 10 l 22 10 l 22 11 l S Q +} +\DeclareRobustCommand{\atfi@acroPushPin}{% + \raisebox{-1.25bp}{\parbox[b][14bp]{24bp}{% + \rule{0pt}{0pt}\pdfliteral{\atfi@acroPushPin@data}}% + }% +} +\newcommand{\atfi@acroTag@data}{% + q 0.5 g 10.0542 14.9873 m 24.27 14.9873 l 25.252 14.0059 l + 25.252 1.1455 l 24.1064 0 l 9.9609 0 l 6.0327 6.0088 l 6.0327 + 9.002 l 10.0542 14.9873 l 9.3994 9.376 m 8.5215 9.376 7.8096 + 8.5596 7.8096 7.5527 c 7.8096 6.5449 8.5215 5.7285 9.3994 + 5.7285 c 10.2778 5.7285 10.9897 6.5449 10.9897 7.5527 c 10.9897 + 8.5596 10.2778 9.376 9.3994 9.376 c h f + \atfi@color@rgb\space rg 0 G 0 i 0.5 w 4 M 1 j 8.5107 + 16.5313 m 22.7266 16.5313 l 23.7085 15.5488 l 23.7085 2.6895 l + 22.563 1.543 l 8.4175 1.543 l 4.4893 7.5527 l 4.4893 10.5449 l + 8.5107 16.5313 l 7.856 10.9199 m 6.978 10.9199 6.2661 10.1035 + 6.2661 9.0957 c 6.2661 8.0879 6.978 7.2715 7.856 7.2715 c + 8.7344 7.2715 9.4463 8.0879 9.4463 9.0957 c 9.4463 10.1035 + 8.7344 10.9199 7.856 10.9199 c h B 1 w 12.3291 12.2656 m + 21.1206 12.2656 l S 12.3291 9.1797 m 21.1206 9.1797 l S 12.3291 + 6.1875 m 21.1206 6.1875 l S 0 G 0.5 w 0 9.0488 m 6.2661 9.0957 + l S 1.4028 5.2148 m 1.4028 9.6094 l 1.6831 10.6387 2.4316 + 10.6387 v 3.6475 10.6387 3.5542 9.0488 y S Q +} +\DeclareRobustCommand{\atfi@acroTag}{% + \raisebox{-1.6bp}{\parbox[b][17bp]{25bp}{% + \rule{0pt}{0pt}\pdfliteral{\atfi@acroTag@data}}% + }% +} +\def\atfi@temp@string{} +\DeclareRobustCommand{\atfi@pdfstringdef}[2]{% + \pdfstringdef\atfi@temp@string{#2}% + \edef#1{\atfi@temp@string}% +} +\newcounter{atfi@embedfileobj} +\DeclareRobustCommand{\atfi@embedfile}[1]{% + \immediate\pdfobj stream attr { + /Type /EmbeddedFile + \atfi@mimetype + } file {#1}% + \setcounter{atfi@embedfileobj}{\pdflastobj}% +} +\newlength{\atfi@appearancewidth} +\newlength{\atfi@appearanceheight} +\newlength{\atfi@appearancedepth} +\newcounter{atfi@appearanceobj} +\newsavebox{\atfi@appearancebox} +\DeclareRobustCommand{\atfi@set@appearance}[1]{% + \savebox{\atfi@appearancebox}{#1}% + \settowidth{\atfi@appearancewidth}{\usebox{\atfi@appearancebox}}% + \settoheight{\atfi@appearanceheight}{\usebox{\atfi@appearancebox}}% + \settodepth{\atfi@appearancedepth}{\usebox{\atfi@appearancebox}}% + \immediate\pdfxform attr { + /Subtype /Form + } \atfi@appearancebox + \setcounter{atfi@appearanceobj}{\pdflastxform}% +} +\newcounter{atfi@flags} +\DeclareRobustCommand{\atfi@flags@to@int}{% + \setcounter{atfi@flags}{0}% + \ifatfi@print + \addtocounter{atfi@flags}{4}% + \fi% + \ifatfi@zoom + \else + \addtocounter{atfi@flags}{8}% + \fi% +} +\DeclareRobustCommand{\atfi@insert@file@annot}[1]{% + \rule{0pt}{0pt}% + \atfi@pdfstringdef\atfi@file{#1}% + \ifatfi@appearance + \def\atfi@appearance@dict{% + /AP << + /N \theatfi@appearanceobj\space 0 R + /R \theatfi@appearanceobj\space 0 R + /D \theatfi@appearanceobj\space 0 R + >>% + }% + \fi% + \pdfannot width \atfi@appearancewidth + height \atfi@appearanceheight + depth \atfi@appearancedepth { + /Subtype /FileAttachment + \atfi@icon\space + \atfi@color\space + \atfi@author\space + \atfi@date\space + \atfi@description\space + \atfi@subject\space + \atfi@appearance@dict\space + /F \theatfi@flags\space + /FS << + /Type /Filespec + /F (\atfi@file) + /EF << + /F \theatfi@embedfileobj\space 0 R + >> + >> + }% + \rule{0pt}{\atfi@appearanceheight}% + \rule[-\atfi@appearancedepth]{0pt}{\atfi@appearancedepth}% + \rule{\atfi@appearancewidth}{0pt}% +} +\def\atfi@attachfile#1#2{% + \setkeys{AtFi}{#1}% + \atfi@embedfile{#2}% + \atfi@set@appearance{\csname atfi@acro\atfi@icon@icon\endcsname}% + \atfi@flags@to@int% + \atfi@insert@file@annot{#2}% + \endgroup +} +\def\atfi@textattachfile#1#2{% + \endgroup + \atfi@textattachfile@i{#1}{#2}% +} +\def\atfi@textattachfile@i#1#2#3{% + \setkeys{AtFi}{#1}% + \atfi@embedfile{#2}% + \def\atfi@textcolor(##1 ##2 ##3)##4{% + \textcolor[rgb]{##1,##2,##3}{##4}}% + \atfi@set@appearance{% + \expandafter\atfi@textcolor\expandafter + (\atfi@color@rgb){#3\strut}}% + \atfi@flags@to@int + \atfi@insert@file@annot{#2}% + \endgroup +} +\bgroup + \lccode`\@=`\# + \lowercase{\gdef\atfi@pdf@slash{@2f}} +\egroup +\def\atfi@split@mimetype#1/#2/{% + \def\atfi@mime@type{#1}% + \def\atfi@mime@subtype{#2}% +} +\def\atfi@mimetype{} +\define@key{AtFi}{mimetype}{% + \atfi@pdfstringdef\atfi@mimetype{#1}% + \atfi@split@mimetype#1/% + \edef\atfi@mimetype{% + /Subtype /\atfi@mime@type\atfi@pdf@slash\atfi@mime@subtype + }% +} +\define@key{AtFi}{icon}{% + \def\atfi@icon{/Name /#1}% + \def\atfi@icon@icon{#1}% +} +\setkeys{AtFi}{icon=PushPin} +\define@key{AtFi}{color}{% + \def\atfi@color{/C [#1]}% + \def\atfi@color@rgb{#1}% +} +\setkeys{AtFi}{color=1 0.9255 0.7765} +\def\atfi@author{} +\define@key{AtFi}{author}[]{% + \edef\atfi@author{/T (#1)}% +} +\def\atfi@pad@ii#1{% + \ifnum#1>9 + \the#1% + \else + 0\the#1% + \fi% +} +\def\atfi@timezone{} +\define@key{AtFi}{timezone}{\def\atfi@timezone{#1}} +\edef\atfi@time{\time} +\newcounter{atfi@hours} +\setcounter{atfi@hours}{\atfi@time/60} +\newcounter{atfi@minutes} +\setcounter{atfi@minutes}{\atfi@time-\theatfi@hours*60} +\def\atfi@date{% + /M (D:\the\year% + \atfi@pad@ii\month% + \atfi@pad@ii\day% + \atfi@pad@ii\c@atfi@hours% + \atfi@pad@ii\c@atfi@minutes + 00% + \atfi@timezone)% +} +\define@key{AtFi}{date}{% + \atfi@pdfstringdef\atfi@date{#1}% + \edef\atfi@date{/M (\atfi@date)}% +} +\def\atfi@description{} +\define@key{AtFi}{description}{% + \atfi@pdfstringdef\atfi@description{#1}% + \edef\atfi@description{/Contents (\atfi@description)}% +} +\def\atfi@subject{} +\define@key{AtFi}{subject}{% + \atfi@pdfstringdef\atfi@subject{#1}% + \edef\atfi@subject{/Subj (\atfi@subject)}% +} +\newif\ifatfi@print +\atfi@printtrue +\define@key{AtFi}{print}[true]{\csname atfi@print#1\endcsname} +\newif\ifatfi@zoom +\atfi@zoomtrue +\define@key{AtFi}{zoom}[true]{\csname atfi@zoom#1\endcsname} +\newif\ifatfi@appearance +\atfi@appearancetrue +\def\atfi@appearance@dict{} +\define@key{AtFi}{appearance}[true]{\csname atfi@appearance#1\endcsname} +\DeclareRobustCommand{\attachfilesetup}[1]{\setkeys{AtFi}{#1}} +\DeclareRobustCommand{\attachfile}[1][]{% + \begingroup + \let\do\@makeother + \dospecials + \catcode`\{=1\relax + \catcode`\}=2\relax + \atfi@attachfile{#1}% +} +\DeclareRobustCommand{\textattachfile}[1][]{% + \begingroup + \begingroup + \let\do\@makeother + \dospecials + \catcode`\{=1\relax + \catcode`\}=2\relax + \atfi@textattachfile{#1}% +} +\DeclareRobustCommand{\noattachfile}[1][]{% + \begingroup + \setkeys{AtFi}{#1}% + \ifatfi@print + \csname atfi@acro\atfi@icon@icon\endcsname + \else + \setbox0=\hbox{\csname atfi@acro\atfi@icon@icon\endcsname}% + \makebox[\wd0]{}% + \fi + \endgroup +} +\DeclareRobustCommand{\notextattachfile}[2][]{% + \begingroup + \setkeys{AtFi}{#1}% + \ifatfi@print + \def\atfi@textcolor(##1 ##2 ##3)##4{% + \textcolor[rgb]{##1,##2,##3}{##4}}% + \expandafter\atfi@textcolor\expandafter + (\atfi@color@rgb){#2\strut}% + \else + \setbox0=\hbox{#2\strut}% + \makebox[\wd0]{}% + \fi + \endgroup +} +\ifpdf +\else + \def\atfi@dummy@pushpin{% + \raisebox{-1.25bp}{\parbox[b][14bp]{24bp}{}}% + } + \DeclareRobustCommand{\textattachfile}[3][]{% + \notextattachfile[#1]{#3}% + } + \DeclareRobustCommand{\noattachfile}[1][]{% + \notextattachfile[#1]{\atfi@dummy@pushpin}% + } + \DeclareRobustCommand{\attachfile}[2][]{% + \noattachfile[#1]% + } +\fi +\endinput +%% +%% End of file `attachfile.sty'. diff --git a/latex/misc/bibtopic.sty b/latex/misc/bibtopic.sty new file mode 100644 index 0000000..67744b3 --- /dev/null +++ b/latex/misc/bibtopic.sty @@ -0,0 +1,1224 @@ +%% +%% This is file `bibtopic.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% bibtopic.dtx (with options: `package') +%% +%% LaTeX package for multiple bibliographies +%% +%% Copyright (C) 1998-2000 P. Basso, S. Ulrich +%% 2001-2004 S. Ulrich +%% +%% Please send bug reports to: +%% +%% This program is free software; you can redistribute it and/or +%% modify it under the terms of the GNU General Public License +%% as published by the Free Software Foundation; either version 2 +%% of the License, or (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% +%% You should have received a copy of the GNU General Public License +%% along with this program; if not, write to the Free Software +%% Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +%% +\NeedsTeXFormat{LaTeX2e}[1996/12/01] \ProvidesPackage{bibtopic}[2002/08/22 v1.0k +Sectioned Bibliographies] +\RequirePackage{ifthen} +\newcommand\bt@tempa{} +\newcommand\bt@tempb{} +\newcommand\bt@tempc{} +\newcommand\bt@args{} +\newcommand*\bt@info{\@gobble} +\newcommand*\bt@infoNoLine{\@gobble} +\newcommand\bt@gobblethree[3]{} +\newif\ifbt@natbib +\newif\ifbt@koma@class +\newif\ifbt@brf +\newif\ifbt@after@brf +\newif\ifbt@elem +\newif\ifbt@inside@sect +\newif\ifbt@inside@unit +\newif\ifbt@found@item +\newif\ifbt@print@cited +\newif\ifbt@print@all +\newif\if@globalbiblio +\newcommand\bt@stepcnt[1]{% + \@tempcnta#1 + \advance\@tempcnta\@ne + \protected@xdef#1{\the\@tempcnta}% +} +\newcounter{btauxfile} +\def\thebtauxfile{\jobname\arabic{btauxfile}} +\newcommand\bt@unit@cnt{1} +\newcommand\bt@internal@sect@cnt{0} +\newcommand\bt@helpctr{0} +\newcommand\bt@totalctr{0} +\newread\bt@infilea +\newread\bt@infileb +\newwrite\bt@outfile + +\newif\ifbt@btunits +\DeclareOption{btunits}{% + \PackageWarningNoLine{bibtopic}{ignoring obsolete `btunits' option} +} +\newif\ifbt@fallback@thb +\DeclareOption{defaultbib}{% + \global\bt@fallback@thbtrue +} +\DeclareOption{verbose}{% + \def\bt@info#1{% + \begingroup + \def\MessageBreak{^^J(bibtopic)\@spaces\@spaces\@spaces}% + \set@display@protect + \immediate\write\@unused{% + ^^JPackage bibtopic info: #1\on@line.^^J% + }% + \endgroup + }% + \def\bt@infoNoLine#1{% + \begingroup + \def\MessageBreak{^^J(bibtopic)\@spaces\@spaces\@spaces}% + \set@display@protect + \immediate\write\@unused{% + ^^JPackage bibtopic info: #1.^^J% + }% + \endgroup + }% +} +\newif\ifbt@breakcites +\DeclareOption{breakcites}{% + \global\bt@breakcitestrue +} +\newif\ifbt@normalwarnings +\DeclareOption{normalwarnings}{% + \global\bt@normalwarningstrue +} +\newif\ifbt@printheadings +\DeclareOption{printheadings}{% + \global\bt@printheadingstrue +} +\newif\ifbt@part@cont@ctr +\DeclareOption{unitcntnoreset}{% + \global\bt@part@cont@ctrtrue +} +\newif\ifbt@sectctr@reset +\DeclareOption{sectcntreset}{% + \global\bt@sectctr@resettrue +} +\newif\ifbt@fast +\bt@fasttrue +\DeclareOption{slow}{% + \global\bt@fastfalse +} +\DeclareOption{dot}{% + \def\thebtauxfile{\jobname.\arabic{btauxfile}}% +} +\newif\ifbt@warn@override +\bt@warn@overridetrue +\newif\ifbt@override@numargs +\bt@override@numargstrue +\newif\ifbt@overridden@numargs +\DeclareOption{overridenumbers}{% + \bt@warn@overridefalse + \bt@override@numargstrue +} +\DeclareOption{dontoverridenumbers}{% + \bt@warn@overridefalse + \bt@override@numargsfalse +} +\ProcessOptions* + +\newcommand\bt@isnum[1]{% + \if!\ifnum9<1#1!\else_\fi + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi +} + +\newcommand*\bt@sect@ref@list{} +\newcommand\bt@curr@file{} +\newcommand\bt@curr@line{} +\newcommand*\bt@kv@req@list{} + +\newcommand*\bt@curr@bib@file{} +\newcommand*\bt@cited@list{} +\newcommand*\bt@warn@files{} +\newcommand*\bt@label{} +\newcommand*\bt@globalstyle{}% +\newcommand*\bt@defaultstyle{plain}% +\newcommand*\@bt@orig@citation{} +\let\@bt@orig@citation\citation +\ifthenelse{\boolean{bt@fast}}{% + \def\citation#1{% + \@for\bt@tempa:=#1\do{% + \def\@extra@b@citeb{\bt@unit@cnt}% + \global\@namedef{\bt@tempa bt@\@extra@binfo}{}% + \@bt@orig@citation{\bt@tempa}% + }% + }% +}{% + \def\citation#1{% + \@for\bt@tempa:=#1\do{% + \def\@extra@b@citeb{\bt@unit@cnt}% + \bt@add@elem{\bt@tempa}{\bt@cited@list}% + \@bt@orig@citation{\bt@tempa}% + }% + }% +} +\newcommand*\bt@citesurround{}% + +\def\bt@citesurround#1{% + \ifthenelse{\not\boolean{bt@breakcites}}{% + \hbox{#1}% + }{% + #1% + }% +} +\@ifundefined{citeform}{\let\citeform\relax}{} +\@ifundefined{citepunct}{\def\citepunct{,\penalty\@m\ }}{} +\@ifpackageloaded{backref}{% + \bt@after@brftrue +}{% + \relax +} +\newcommand\bt@citex{} +\def\bt@citex[#1]#2{% Add \@extra@b@citeb to \cite + \let\@citea\@empty + \@cite{% + \@for\@citeb:=#2\do{% + \@citea\let\@citea\citepunct + \edef\@citeb{\expandafter\@firstofone\@citeb}% + \if@filesw\immediate\write\@auxout{% + \string\citation{\@citeb}}\fi + \@ifundefined{b@\@citeb \@extra@b@citeb}{% + \mbox{\reset@font\bfseries ?}% + \@warning{Citation `\@citeb' on page \thepage\space + undefined}\G@refundefinedtrue + }{% + \bt@citesurround{\citeform{\csname b@\@citeb + \@extra@b@citeb\endcsname}}% + }% + }% + }{#1}% +} +\newcommand\bt@nocite{} +\def\bt@nocite#1{% + \@bsphack % Add \@extra@b@citeb to \nocite + \@for\@citeb:=#1\do{% + \edef\@citeb{\expandafter\@firstofone\@citeb}% + \if@filesw + \immediate\write\@auxout{% + \string\citation{\@citeb}% + }% + \fi + \@ifundefined{b@\@citeb\@extra@b@citeb}{% + \G@refundefinedtrue + \@warning{Citation `\@citeb' undefined}% + }{}% + }% + \@esphack +} + +\newcommand*\bt@setcites{% + \let\@citex\bt@citex + \let\nocite\bt@nocite +} + +\newcommand\change@bibcite{% + \let\change@bibcite\relax + \def\bibcite##1##2{% + \global\@namedef{b@##1\@extra@binfo}{##2}% + }% +} +\gdef\the@ipfilectr{} +\def\@extra@b@citeb{\the@ipfilectr} +\gdef\@extra@binfo{} % in case .aux files are left from old run. + +\newcommand\bt@saveitem{} +\newcommand*\bt@savebib{} +\newcommand*\bt@endsavebib{} +\newif\ifbt@harvard@errs + +\AtBeginDocument{% + \@ifclassloaded{scrbook}{% + \global\bt@koma@classtrue + }{% + \@ifclassloaded{scrartcl}{% + \global\bt@koma@classtrue + }{% + \@ifclassloaded{scrreprt}{% + \global\bt@koma@classtrue + }{% + \relax + }% + }% + }% + \global\let\bt@savebib\thebibliography + \global\let\bt@endsavebib\endthebibliography + \let\bt@saveitem\bibitem + \@ifpackageloaded{natbib}{% + \global\bt@natbibtrue + }{% + \def\harvarditem{\global\bt@harvard@errstrue}% + \let\harvardand\relax + \let\harvardyearleft\relax + \let\harvardyearright\relax + }% + \@ifpackageloaded{backref}{% + \ifthenelse{\not\boolean{bt@after@brf}}{% + \PackageError{% + bibtopic% + }{% + Load bibtopic after hyperref when using the `backref' + option\MessageBreak of hyperref% + }{% + Please see the section about `Compatibility with other^^J% + packages' in bibtopic.dvi for details. + }% + }{}% + \global\bt@brftrue + }{% + \relax + }% +} + +\AtEndDocument{% + \immediate\write\@auxout{% + \string\csname\space bt@set@cnt\string\endcsname{\bt@helpctr}}% + \def\citation#1{\@bt@orig@citation{#1}}% + \let\bt@kv@add\@gobbletwo + \bt@files@warnings + \ifnum\bt@helpctr=\bt@totalctr\else + \PackageWarningNoLine{% + bibtopic% + }{% + Rerun to get indentation of bibitems right% + }% + \fi +} +\newcommand*\bt@savelist{} +\newcommand*\bt@append@list[2]{% + \let\bt@savelist#2 + \protected@xdef#2{\bt@savelist\@elt{#1}}% +} +\newcommand*\bt@add@elem[2]{% + \bt@if@elem{#1}{#2}{% + \relax + }{% + \bt@append@list{#1}{#2}% + }% +} +\newcommand\bt@test@cmd{} +\newcommand*\bt@if@elem[2]{% + \let\bt@test@cmd\@secondoftwo + \let\bt@elt\@elt + \protected@edef\bt@tempc{#1}% + \def\@elt##1{% + \protected@edef\bt@tempb{##1}% + \ifx\bt@tempc\bt@tempb + \let\bt@test@cmd\@firstoftwo + \fi + }% + #2% + \let\@elt\bt@elt + \bt@test@cmd +} +\newcommand\bt@elt{} +\newcommand*\bt@mk@warning@list[1]{% + \@temptokena={}% + \let\bt@elt\@elt + \def\@elt##1{% + \@temptokena=\expandafter{\the\@temptokena ##1\MessageBreak}% + }% + #1% + \let\@elt\bt@elt +} + +\newcommand*\@orig@bibliographystyle{} +\let\@orig@bibliographystyle\bibliographystyle +\def\bibliographystyle#1{% + \gdef\bt@globalstyle{#1}% + \bt@info{Default bibliographystyle is `#1'}% + \@orig@bibliographystyle{#1}% +} +\def\bibliography{% + \PackageWarning{% + bibtopic% + }{% + Ignoring `\string\bibliography' command\MessageBreak + (not compatible with bibtopic.sty)% + }% + \@gobble +} + +\newcommand*\@bt@write@auxfile[3]{% + \bt@can@overwrite{btaux.aux}% + \bt@copy@verbatim{\thebtauxfile.aux}{btaux.aux}% + \immediate\closeout\bt@outfile + \immediate\openout\bt@outfile\thebtauxfile.aux + \ifthenelse{\boolean{bt@natbib}}{% + \immediate\write\bt@outfile{% + \@percentchar\@percentchar\space + Info from `bibtopic.sty': natbib loaded.^^J% + \string\bibstyle{#1}^^J% + \string\citation{#2}^^J% + \string\bibdata{#3}% + }% + }{% + \immediate\write\bt@outfile{% + \string\bibstyle{#1}^^J% + \string\citation{#2}^^J% + \string\bibdata{#3}% + }% + }% + \immediate\closeout\bt@outfile + \bt@if@files@differ{\thebtauxfile.aux}{btaux.aux}{% + \bt@if@elem{\thebtauxfile}{\bt@warn@files}{% + \relax + }{% + \ifthenelse{\boolean{bt@normalwarnings}}{% + \PackageWarningNoLine{% + bibtopic% + }{% + \thebtauxfile.bbl may be outdated% + }% + }{% + \bt@appendtofile{\thebtauxfile.bbl}{% + \string\csname\space + bt@warn@outdated\string\endcsname{\thebtauxfile}% + }% + }% + }% + }{}% they don't differ +} + +\newcommand*\bt@appendtofile[2]{% + \bt@can@overwrite{btbbl.aux}% + \bt@copy@verbatim{#1}{btbbl.aux}% + \immediate\closeout\bt@outfile + \bt@copy@verbatim{btbbl.aux}{#1} + \immediate\write\bt@outfile{\expandafter\string #2}% + \immediate\closeout\bt@outfile +} + +\newcommand*\bt@save@list[1]{% + \expandafter\protected@xdef\csname bt@sect% + #1\endcsname{\bt@cited@list}% +} +\newcommand\btBegThbCmd{} +\newcommand*\bt@beg@thb@hook{% + \btBegThbCmd + \global\bt@found@itemfalse + \bt@item{}% +}% +\newcommand\bt@save@cnt{0} +\newcommand*\bt@end@thb@hook{% + \endbt@item + \ifthenelse{\boolean{bt@natbib}}{% + \protected@xdef\bt@save@cnt{\theNAT@ctr}% + }{% + \protected@xdef\bt@save@cnt{\@arabic\c@enumiv}% + }% + \bt@bibitemcheck +}% +\newcommand*\bt@change@bibitem{% + \expandafter\ifx\btBegThbCmd\empty\else + \bt@info{\string\btBegThbCmd nonempty: \meaning\btBegThbCmd}% + \fi + \ifthenelse{\boolean{bt@natbib}}{% + \def\harvarditem{\endbt@item\bt@harvitem}% + }{}% + \def\bibitem{\endbt@item\bt@item}% +} +\newcommand*\bt@adjust@label[1]{% + \bt@isnum{#1}{% + \def\bt@label{\bt@totalctr}% + }{% + \def\bt@label{#1}% + }% +} +\newcommand*\bt@change@thb{% + \long\def\bt@tempa##1##2\endthebibliography{% + \def\bt@tempc{##1}% + }% + \expandafter\bt@tempa\thebibliography{}\endthebibliography + \ifthenelse{\boolean{bt@brf}}{% + \@ifundefined{BRorg@thebibliography}{% + \PackageInfo{bibtopic}{assuming backref.sty <= v1.16}% + \let\bt@brf@bbl@cmd\oldbibl + }{% + \PackageInfo{bibtopic}{assuming backref.sty >= v1.19}% + \let\bt@brf@bbl@cmd\BRorg@thebibliography + }% + \def\bt@tempb{\@starttoc}% + \ifx\bt@tempb\bt@tempc + \expandafter\bt@tempa\bt@brf@bbl@cmd{}\endthebibliography + \fi + }{}% + \def\bt@tempa{\bibfont}% + \ifx\bt@tempa\bt@tempc % + \bt@change@nat@thb + \else + \def\bt@tempa{\bibsection}% + \ifx\bt@tempa\bt@tempc + \bt@change@nat@thb + \else + \def\bt@tempa{\bib@heading}% + \ifx\bt@tempa\bt@tempc + \bt@change@KOMA@thb + \else + \def\bt@tempa{\chapter}% + \ifx\bt@tempa\bt@tempc + \bt@change@standard@thb + \else + \def\bt@tempa{\section}% + \ifx\bt@tempa\bt@tempc + \bt@change@standard@thb + \else + \ifbt@koma@class + \bt@change@KOMA@thb + \else + \ifthenelse{\boolean{bt@fallback@thb}}{% + \PackageWarning{% + bibtopic% + }{% + `defaultbib' specified; using + built-in\MessageBreak + `thebibliography' environment% + }% + \let\thebibliography\bt@dflt@bthb + \let\endthebibliography\bt@dflt@ethb + }{% + \PackageError{% + bibtopic% + }{% + Found unknown `thebibliography' environment% + }{% + You should either use a package providing + a known bibliography^^J% + environment (such as natbib), or use the + `defaultbib' package^^J% + option as a workaround; please see the + section about `Warnings^^J% + and error messages' in `bibtopic.dvi' for + details. + }% + }% + \fi + \fi + \fi + \fi + \fi + \fi +} + +\providecommand\@openbib@code{} +\newcommand\bt@dflt@bthb[1]{% + \bt@adjust@label{#1}% + \ifthenelse{\boolean{bt@printheadings}}{% + \@ifundefined{chapter}{% + \@ifundefined{section}{% + \@startsection{section}{1}{\z@}% + {-3.5ex \@plus -1ex \@minus -.2ex}% + {2.3ex \@plus.2ex}% + {\normalfont\Large\bfseries}*{\refname}% + }{% + \section*{\refname\@mkboth{\refname}{\refname}}% + }% + }{% + \chapter*{\bibname\@mkboth{\bibname}{\bibname}}% + }% + }{}% + \list{\@biblabel{\@arabic\c@enumiv}}{% + \settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \ifthenelse{\boolean{bt@sectctr@reset}}{% + \usecounter{enumiv}% + }{% + \@nmbrlisttrue + \def\@listctr{enumiv}% + }% + \let\p@enumiv\@empty + \renewcommand*\theenumiv{\@arabic\c@enumiv}% + }% + \sloppy\clubpenalty4000\widowpenalty4000% + \sfcode`\.=\@m + \bt@beg@thb@hook +}% + +\newcommand\bt@dflt@ethb{% + \bt@end@thb@hook + \def\@noitemerr{% + \@latex@warning{Empty `thebibliography' environment}% + }% + \endlist +}% + +\newcommand\bt@change@nat@thb{% + \def\thebibliography##1{% + \bt@adjust@label{##1}% + \ifthenelse{\not\boolean{bt@printheadings}}{% + \let\bibsection\relax + }{}% + \bt@savebib{\bt@label}% + \ifthenelse{\not\boolean{bt@sectctr@reset}}{% + \setcounter{NAT@ctr}{\bt@save@cnt}% + }{}% + \bt@beg@thb@hook + }% + \def\endthebibliography{% + \bt@end@thb@hook + % \bt@endsavebib %% not; define it explicitly instead: + \def\@noitemerr{% + \PackageWarning{% + bibtopic% + }{% + Empty `thebibliography' environment% + }% + }% + \endlist % \vskip-\lastskip omitted here + }% +} + +\newcommand*\bt@change@standard@thb{% + \def\thebibliography##1{% + \bt@adjust@label{##1}% + \ifthenelse{\not\boolean{bt@printheadings}}{% + \let\chapter\@gobbletwo + \let\section\@gobbletwo + }{}% + \bt@savebib{\bt@label}% + \ifthenelse{\not\boolean{bt@sectctr@reset}}{% + \setcounter{enumiv}{\bt@save@cnt}% + }{}% + \bt@beg@thb@hook + }% + \def\endthebibliography{% + \bt@end@thb@hook + \bt@endsavebib + }% +} +\newcommand*\bt@change@KOMA@thb{% + \ifthenelse{\not\boolean{bt@printheadings}}{% + \let\bib@heading\relax + }{}% + \bt@change@standard@thb +} + +\newcommand\bt@harvitem{% + \@ifnextchar[{\bt@@harvitem}{\bt@@harvitem[]}%] brace matching +} + +\newcommand*\bt@@harvitem[4][]{% + \ifthenelse{\equal{#1}{}}{% + \protected@xdef\bt@args{[#2(#3)]}% + }{% + \bt@warn@brackets{#2}#1[]\end% + \protected@xdef\bt@args{[#1(#3)#2]}% + }% + \bt@call@item{#4}% +} +\newenvironment{bt@item}{% + \@ifnextchar[{\bt@@item}{\bt@@item[]}%] brace matching +}{ + \relax +} +\newcommand*\bt@@item[2][]{% + \ifthenelse{\equal{#2}{}}{% + \def\endbt@item{\relax}% + }{% + \ifthenelse{\equal{#1}{}}{% + \gdef\bt@args{}% + }{% + \bt@isnum{#1}{% + \ifthenelse{\boolean{bt@override@numargs}}{% + \global\bt@overridden@numargstrue + \gdef\bt@args{}% + }{% + \bt@warn@brackets{#2}#1[]\end% + \protected@xdef\bt@args{[#1]}% + }% + }{% + \bt@warn@brackets{#2}#1[]\end% + \protected@xdef\bt@args{[#1]}% + }% + }% + \bt@call@item{#2}% + }% +} +\newcommand*\bt@warn@brackets{} +\def\bt@warn@brackets#1#2[#3]#4\end{% + \ifthenelse{\equal{#3}{}}{% + \relax + }{% + \PackageError{% + bibtopic% + }{% + Can't parse brackets in key `#1' properly% + }{% + You seem to have used brackets `[]' inside that key in^^J% + `\bt@curr@bib@file.bib', and bibtopic could have confused these^^J% + with the optional argument of the `\string\bibitem' command.^^J% + To avoid this, please `hide' such brackets in an extra pair^^J% + of braces, like this: `{[]}'.^^J^^J% + (Don't forget to rerun BibTeX on `\thebtauxfile' afterwards.)^^J% + If you proceed now, your bibliograpy may look somewhat garbled. + }% + }% +} + +\newcommand*\bt@boxing@hook{% + \global\let\@noitemerr\relax + \def\cite{% + \@ifstar{}{}% just gobble it + \@ifnextchar[{% brace matching ]}{ + \@citex + }{% + \@citex[]% + }% + } + \def\@citex[##1]{% + \@ifnextchar[{%]}{ + \bt@gobble@citex[##1]% + }{% + \bt@gobble@citex[##1][]% + }% + }% + \def\bt@gobble@citex[##1][##2]##3{}% + \let\citet\cite + \let\Citet\cite + \let\citep\cite + \let\Citep\cite + \let\citealt\cite + \let\Citealt\cite + \let\citealp\cite + \let\Citealp\cite + \let\citetext\cite + \let\citeauthor\cite + \let\Citeauthor\cite + \let\citeauthoryear\cite + \let\citeyearpar\cite + \let\citetalias\cite + \let\citepalias\cite + \let\jbdoitem\relax + \let\jbbibargs\bt@gobblethree +} + +\newcommand*\bt@call@item{} +\ifthenelse{\boolean{bt@fast}}{% + \def\bt@call@item#1{% + \@ifundefined{#1bt@\@extra@b@citeb}{% + \bt@print@all@or@notcited{#1}% + }{% + \bt@print@all@or@cited{#1}% + }% + } +}{% + \def\bt@call@item#1{% + \def\endbt@item{\relax}% + \bt@if@elem{#1}{\csname bt@sect\bt@unit@cnt\endcsname}{% + \bt@print@all@or@cited{#1}% + }{% + \bt@print@all@or@notcited{#1}% + }% + }% +} + +\newcommand*\bt@print@all@or@cited[1]{% + \ifthenelse{\boolean{bt@print@cited}}{% + \bt@do@print@item{#1}% + }{% + \ifthenelse{\boolean{bt@print@all}}{% + \bt@do@print@item{#1}% + }{% + \bt@dont@print@item + }% + }% +} +\newcommand*\bt@print@all@or@notcited[1]{% + \ifthenelse{\boolean{bt@print@cited}}{% + \bt@dont@print@item + }{% + \bt@do@print@item{#1}% + }% +} +\newcommand*\bt@do@print@item[1]{% + \global\bt@found@itemtrue + \bt@stepcnt\bt@helpctr + \bt@if@elem{#1}{\bt@kv@req@list}{% + \bt@add@elem{#1}{\bt@sect@ref@list}% + }{}% + \def\endbt@item{\relax}% + \expandafter\bt@saveitem\bt@args{#1}% +} + +\newbox\bt@tempboxa + +\newcommand*\bt@dont@print@item{% + \def\endbt@item{% + \end{lrbox}% + }% + \begin{lrbox}{\bt@tempboxa}% + \bt@boxing@hook +} +\newcommand\bt@copy@verbatim[2]{% + \openin\bt@infilea=#1\relax + \immediate\openout\bt@outfile=#2\relax + \immediate\write\bt@outfile{% + \@percentchar% + \@percentchar% + \@percentchar% + \space produced automatically by bibtopic.sty v1.0k% + }% + \begingroup + \let\do\@makeother \dospecials + \endlinechar\m@ne + \ifeof\bt@infilea + \bt@info{Tried to copy #1, but couldn't find it}% + \else + \loop + \read\bt@infilea to\bt@tempa + % same trick as with \if!...! + \if\ifeof\bt@infilea 0\else 1\fi 1 + \immediate\write\bt@outfile{\bt@tempa}% + \repeat + \fi + \endgroup + \closein\bt@infilea +} +\newcommand*\bt@can@overwrite[1]{% + \openin\bt@infilea=#1\relax + \bgroup + \let\do\@makeother \dospecials + \endlinechar\m@ne + \ifeof\bt@infilea + \bt@info{File `#1' doesn't exist}% + \else + \read\bt@infilea to\@tempa + \ifeof\bt@infilea + \bt@info{File `#1' is empty}% + \else + \bt@if@signatureline{\@tempa}{% + \relax + }{% + \PackageError{bibtopic}{% + file `#1' not written by bibtopic% + }{% + The file `#1' looks as if it hasn't been written + by bibtopic;^^J% + however, bibtopic would now try to overwrite this file.^^J% + (See section 3 in bibtopic.dvi for more details.)^^J% + If this file contains anything important, please^^J% + copy its contents to a safe place now.^^J^^J% + If you hit RETURN now, this file will be overwritten.^^J% + }% + }% + \fi + \fi + \egroup + \closein\bt@infilea +} + +\newcommand\bt@version{0} +\newcommand\bt@if@@signatureline{} +\newcommand\bt@if@signatureline{} +{ +\catcode`\ =12 +\catcode`\%=12 +\endlinechar\m@ne +\gdef\bt@if@signatureline#1{ +\expandafter\bt@if@@signatureline +#1%%% produced automatically by bibtopic.sty v.%%%\end +} +\gdef\bt@if@@signatureline +#1%%% produced automatically by bibtopic.sty v#2.#3%%%#4\end{ +\ifx\\#2\\ +\let\bt@tempc\@secondoftwo +\else +\def\bt@version{#2.#3} +\let\bt@tempc\@firstoftwo +\fi +\bt@tempc +} +} + +\newif\ifbt@cont +\newif\ifbt@files@diff +\newcommand\bt@line@cnt{} +\newcommand*\bt@if@files@differ[4]{% + \bt@files@difffalse + \def\bt@line@cnt{0}% + \bgroup + \let\do\@makeother + \dospecials + \endlinechar-1 + \openin\bt@infilea=#1 + \openin\bt@infileb=#2 + \bt@conttrue + \loop + \ifeof\bt@infilea + \bt@contfalse + \ifeof\bt@infileb + \else + \global\bt@files@difftrue + \fi + \else + \ifeof\bt@infileb + \bt@contfalse + \global\bt@files@difftrue + \fi + \fi + \ifbt@cont + \read\bt@infilea to\bt@tempa + \read\bt@infileb to\bt@tempb + \bt@stepcnt{\bt@line@cnt}% + \ifnum\bt@line@cnt=1 + \bt@if@signatureline{\bt@tempb}{% + \read\bt@infileb to\bt@tempb + }{}% + \fi + \ifx\bt@tempa\bt@tempb + \else + \bt@contfalse + \global\bt@files@difftrue + \fi + \repeat + \closein\bt@infilea + \closein\bt@infileb + \egroup + \ifthenelse{\boolean{bt@files@diff}}{% + #3% + }{% + #4% + }% +} + +\newcommand*\bt@set@cnt[1]{% + \gdef\bt@totalctr{#1}% +} + +\newcommand*\bt@keyval@list{} + +\newcommand*\bt@kv@add[2]{% + \protected@edef\bt@tempa{\bt@keyval@list}% + \protected@xdef\bt@keyval@list{\noexpand\@elt{#1}{#2}\bt@tempa}% +} + +\DeclareRobustCommand*\btCiteSect[1]{% + \btGetVal{#1}% + \cite{#1} (section\nobreakspace{}\ref{\btretval})% +} + +\DeclareRobustCommand*\btRef[2]{% + % get section label of #1 from \bt@keyval@list + % reference type is #2 + \ifx\bt@keyval@list\@undefined + {\bfseries{???}}% + \else + \bt@get@keyval{#1}{\bt@keyval@list}% + #2{\btretval}% + \fi +} + +\DeclareRobustCommand*\btGetVal[1]{% + \bt@get@keyval{#1}{\bt@keyval@list}% +} +\newcommand*\bt@print@keyvals[2]{% + \let\bt@elt\@elt% + \def\@elt##1{% + \protected@write\@auxout{}{% + \string\bt@kv@add{##1}{#2}% + }% + }#1% + \let\@elt\bt@elt +} +\newcommand*\bt@get@keyval[2]{% + \gdef\btretval{???}% + \bt@add@elem{#1}{\bt@kv@req@list}% + %% get value of key #1 from list #2 + \protected@edef\bt@tempa{#1}% + \bt@elemfalse + \let\bt@elt\@elt% + \def\@elt##1##2{\def\bt@tempb{##1}% + \ifx\bt@tempa\bt@tempb %##2 + \gdef\btretval{##2}% + \fi + }% + #2% + \let\@elt\bt@elt + \ifthenelse{\equal{\btretval}{???}}{% + \PackageWarning{bibtopic}{% + Key `#1' not found\MessageBreak in list of cited works% + }% + }{}% +} + +\newcommand*\bt@get@label[2]{% + \protected@edef\bt@tempa{#1}% + \let\bt@elt\@elt% + \def\@elt##1##2{\def\bt@tempb{##1}% + \ifx\bt@tempa\bt@tempb% + ##2 + \fi + }% + #2% + \let\@elt\bt@elt +} + +\newenvironment{btSect}[2][\bt@globalstyle]{% + \ifthenelse{\equal{#1}{}}{% + \PackageWarning{% + bibtopic% + }{% + No \string\bibliographystyle\space given + - \MessageBreak assuming `\bt@defaultstyle'% + }% + \def\bt@globalstyle{\bt@defaultstyle}% + }{}% + \expandafter\ifx\csname bt@sect\bt@unit@cnt% + \endcsname\relax + \expandafter\protected@xdef\csname bt@sect% + \bt@unit@cnt\endcsname{\bt@cited@list}% + \fi + \stepcounter{btauxfile}% + \bt@info{bibliographystyle is `#1'\MessageBreak + for file `\thebtauxfile .bbl'% + }% + \bt@inside@secttrue + \gdef\bt@curr@bib@file{#2}% + \gdef\bt@sect@ref@list{}% + \bt@change@thb% + \if@filesw + \@bt@write@auxfile{#1}{*}{#2}% + \fi +}{% + \relax +}% +\newenvironment{btUnit}{% + \ifthenelse{\boolean{bt@inside@unit}}{% + \PackageError{% + bibtopic% + }{% + The `btUnit' environment cannot be nested% + }{% + You cannot use a `btUnit' environment inside another^^J% + `btUnit' environment. + }% + }{}% + \global\bt@inside@unittrue + \immediate\write\@auxout{% + \string\csname\space change@bibcite\string\endcsname% + }% + \ifthenelse{\not\boolean{bt@natbib}}{% + \bt@setcites + }{}% + \ifthenelse{\not\boolean{bt@part@cont@ctr}}{% + \def\bt@save@cnt{0}% + \ifthenelse{\boolean{bt@natbib}}{% + \setcounter{NAT@ctr}{0}% + }{% + \setcounter{enumiv}{0}% for standard styles + }% + }{}% + \protected@xdef\the@ipfilectr{\bt@unit@cnt}% + \immediate\write\@auxout{\string\def\string\bt@cited@list{}^^J% + \string\gdef\string\@extra@binfo{\@extra@b@citeb}}% +}{% + \immediate\write\@auxout{\string\bt@save@list{\bt@unit@cnt}} + \bt@stepcnt\bt@unit@cnt + \gdef\the@ipfilectr{}% + \immediate\write\@auxout{% + \string\gdef\string\@extra@binfo{\@extra@b@citeb}}% + \global\bt@inside@unitfalse +} +\newcommand*\btPrintCited{% + \ifthenelse{\boolean{bt@inside@sect}}{% + \protected@edef\bt@curr@line{\the\inputlineno}% + \def\bt@curr@cmd{\string\btPrintCited}% + \bt@stepcnt\bt@internal@sect@cnt% + \bt@print@citedtrue\bt@print@allfalse + \label{Sec:\bt@internal@sect@cnt}% + \bt@change@bibitem + \bt@input@or@warn{\thebtauxfile}% + \bt@print@keyvals{\bt@sect@ref@list}{% + Sec:\bt@internal@sect@cnt + }% + }{% + \bt@sect@err{btSect}{\btPrintCited}% + }% +} +\newcommand*\btPrintNotCited{% + \ifthenelse{\boolean{bt@inside@sect}}{% + \protected@edef\bt@curr@line{\the\inputlineno}% + \def\bt@curr@cmd{\string\btPrintNotCited}% + \bt@stepcnt\bt@internal@sect@cnt + \bt@print@citedfalse\bt@print@allfalse + \label{Sec:\bt@internal@sect@cnt}% + \bt@change@bibitem + \bt@input@or@warn{\thebtauxfile}% + }{% + \bt@sect@err{btSect}{\btPrintNotCited}% + }% +} +\newcommand*\btPrintAll{% + \ifthenelse{\boolean{bt@inside@sect}}{% + \protected@edef\bt@curr@line{\the\inputlineno}% + \def\bt@curr@cmd{\string\btPrintAll}% + \bt@stepcnt\bt@internal@sect@cnt + \bt@print@citedfalse\bt@print@alltrue + \label{Sec:\bt@internal@sect@cnt}% + \bt@change@bibitem + \bt@input@or@warn{\thebtauxfile}% + \bt@print@keyvals{\bt@sect@ref@list}% + {Sec:\bt@internal@sect@cnt}% + }{% + \bt@sect@err{btSect}{\btPrintAll}% + }% +} +\newenvironment{bibtopics}[2]{% + \begin{btSect}[#1]{#2}% + \btPrintAll +}{% + \end{btSect}% +} +\newcommand\bt@bibstyle{} +\newcommand\bt@citation{} +\newcommand\bt@bibdata{} +\newenvironment{bibunit}[1][\bt@globalstyle]{% + \ifx#1\@empty + \PackageWarning{% + bibtopic% + }{% + No \string\bibliographystyle\space given + - \MessageBreak assuming `\bt@defaultstyle'% + }% + \def\bt@globalstyle{\bt@defaultstyle}% + \fi + \def\bt@bibstyle{#1}% + \def\nocite##1{\def\bt@citation{##1}}% + \def\cite##1{\def\bt@citation{##1}}% + \gdef\putbib[##1]{\gdef\bt@bibdata{##1}}% + \stepcounter{btauxfile}% +}{% + \bt@change@thb + \if@filesw + \@bt@write@auxfile{\bt@bibstyle}{\bt@citation}{\bt@bibdata}% + \fi + \bt@inside@secttrue + \btPrintAll +} +\newcommand*\bt@bibitemcheck{% + \ifthenelse{\not\boolean{bt@found@item}}{% + \PackageWarningNoLine{% + bibtopic% + }{% + No appropriate bibitems found for command\MessageBreak % + \bt@curr@cmd\space on line \bt@curr@line% + }% + }{}% +} +\newcommand*\bt@sect@err[2]{% + \PackageError{% + bibtopic% + }{% + You can't use `\string#2' outside of `#1'% + }{% + See the documentation on the `\string#2' command\MessageBreak + in `bibtopic.dvi' for details. + }% +} + +\newcommand*\bt@bibtex@warning[1]{% + \PackageWarningNoLine{% + bibtopic% + }{% + Please (re)run BibTeX on the file(s):% + \expandafter\MessageBreak#1% + and after that rerun LaTeX% + }% +} + +\newcommand*\bt@files@warnings{% + \ifthenelse{\boolean{bt@harvard@errs}}{% + \PackageError{% + bibtopic% + }{% + Your command \string\harvarditem\space was ignored% + }{% + `bibtopic' currently supports the `\string\harvarditem' + command^^J + only in connection with the `natbib' package. So either^^J% + load this package, or change the `\string\citationstyle' command + to some^^J% + non-harvard style.^^J% + If you hit RETURN now, some of your bibliographies will be empty. + }% + }{}% + \ifthenelse{\boolean{bt@overridden@numargs}}{% + \ifthenelse{\boolean{bt@warn@override}}{% + \PackageWarningNoLine{% + bibtopic% + }{% + The numerical argument in some `\string\bibitem' commands^^J% + has been ignored. Using one of the package options^^J% + `overridenumbers' or `dontoverridenumbers' will make^^J% + this warning go away.^^J% + Please see the documentation on these options^^J% + in `bibtopic.dvi' for more details. + }% + }{}% + }{}% + \ifthenelse{\equal{\bt@warn@files}{}}{% + \relax + }{% + \bt@mk@warning@list{\bt@warn@files}% + \bt@bibtex@warning{\the\@temptokena}% + \def\bt@helpctr{\bt@totalctr}% + }% +} + +\newcommand*\bt@input@or@warn[1]{% + \IfFileExists{#1.bbl}% + {% + \input#1.bbl% + }{% + \bt@if@elem{#1}{\bt@warn@files}{% + \relax + }{% + \PackageWarningNoLine{% + bibtopic% + }{% + No file #1.bbl% + }% + \ifbt@normalwarnings + \else + \bt@append@list{#1}{\bt@warn@files}% + \fi + }% + }% +}% + +\newcommand*\bt@warn@outdated[1]{% + \bt@if@elem{#1}{\bt@warn@files}{% + \relax + }{% + \bt@infoNoLine{Marking #1.bbl as outdated}% + \bt@append@list{#1}{\bt@warn@files}% + }% + \ifthenelse{\not\boolean{bt@natbib}}{% + \global\let\bt@item\relax + \global\let\endbt@item\relax + }{}% +}% +\endinput +%% +%% End of file `bibtopic.sty'. diff --git a/latex/misc/enumitem.sty b/latex/misc/enumitem.sty new file mode 100644 index 0000000..230d8f2 --- /dev/null +++ b/latex/misc/enumitem.sty @@ -0,0 +1,491 @@ +% +--------------------------------------------------+ +% | Typeset enumitem.tex to get the documentation. | +% +--------------------------------------------------+ +% +% Copyright (c) 2003-2004 by Javier Bezos. +% All Rights Reserved. +% +% This file is part of the enumitem distribution release 1.0 +% ----------------------------------------------------------- +% +% This program can be redistributed and/or modified under the terms +% of the LaTeX Project Public License Distributed from CTAN +% archives in directory macros/latex/base/lppl.txt; either +% version 1 of the License, or any later version. +% +% Notes +% ~~~~~ +% +% The tag enit@ is used through the style +% +% Release +% ~~~~~~~ + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{enumitem}[2004/07/19 v1.0 Customized lists] + +% Reponer \lableindent a 0 siempre + +\@ifundefined{define@key}{\RequirePackage{keyval}}{}% + +\newlength{\labelindent} + +% Vertical spacing + +\define@key{enumitem}{topsep}{% + \setlength{\topsep}{#1}} + +\define@key{enumitem}{itemsep}{% + \setlength{\itemsep}{#1}} + +\define@key{enumitem}{parsep}{% + \setlength{\parsep}{#1}} + +\define@key{enumitem}{partopsep}{% + \setlength{\partopsep}{#1}} + +% Horizontal spacing + +\define@key{enumitem}{itemindent}{% + \setlength{\itemindent}{#1}} + +\define@key{enumitem}{listparindent}{% + \setlength{\listparindent}{#1}} + +\define@key{enumitem}{labelwidth}{% + \setlength{\labelwidth}{#1}} + +\define@key{enumitem}{labelindent}{% + \setlength{\labelindent}{#1}} + +\define@key{enumitem}{rightmargin}{% + \setlength{\rightmargin}{#1}} + +\define@key{enumitem}{leftmargin}{% + \if*#1% + \def\enit@calcleft{% + \enit@calclabel + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \advance\leftmargin\labelindent + \advance\labelindent-\itemindent}% + \else + \setlength{\leftmargin}{#1}% + \fi} + +\define@key{enumitem}{labelsep}{% + \if*#1% + \def\enit@calcleft{% + \advance\labelindent-\itemindent + \enit@calclabel + \labelsep\leftmargin + \advance\labelsep-\labelwidth + \advance\labelsep-\labelindent}% + \else + \setlength{\labelsep}{#1}% + \fi} + +\define@key{enumitem}{widest}{% + \expandafter\def + \csname enit@widest\@enumctr\endcsname{#1}} + +\def\enit@calclabel{% + \begingroup + \enit@calcdef\@arabic\enit@arabic{0}% + \enit@calcdef\@alph\enit@alph{m}% + \enit@calcdef\@Alph\enit@Alph{M}% + \enit@calcdef\@roman\enit@roman{viii}% + \enit@calcdef\@Roman\enit@Roman{VIII}% + \settowidth\labelwidth{\@itemlabel}% + \xdef\enit@a{\labelwidth\the\labelwidth\relax}% + \endgroup + \enit@a} + +% Used below to gobble \c@ from the internal representation +% of counters. + +\def\@gobblethree#1#2#3{} + +\def\enit@calcdef#1#2#3{% + \let#2#1% + \def#1##1{% + \@ifundefined{enit@widest\expandafter\@gobblethree\string##1}% if no widest key + {#3}% + {\csname enit@widest\expandafter\@gobblethree\string##1\endcsname}}} + +% Resume and start + +\define@key{enumitem}{resume}[]{% + \enit@resume\relax} + +\define@key{enumitem}{start}[\@ne]{% + \csname c@\@listctr\endcsname#1\relax + \advance\csname c@\@listctr\endcsname\m@ne} + +% How the label is aligned + +\let\enit@alignright\@empty +\def\enit@alignleft{% + \def\makelabel##1{\rlap{##1}\hss}} + +\define@key{enumitem}{align}{% + \csname enit@align#1\endcsname} + +% Penalties + +\define@key{enumitem}{beginpenalty}{% + \@beginparpenalty#1\relax} + +\define@key{enumitem}{midpenalty}{% + \@itempenalty#1\relax} + +\define@key{enumitem}{endpenalty}{% + \@endparpenalty#1\relax} + + +% description specific keys + +\define@key{enumitem}{font}[]{% + \def\makelabel##1{\hskip\labelsep\normalfont#1##1}} + +\define@key{enumitem}{style}[normal]{% + \edef\enit@descstyle{% + \expandafter\noexpand\csname enit@#1style\endcsname}} + +\let\enit@normalstyle\@firstofone + +% Labels and refs + +\define@key{enumitem}{label}{% + \enit@normlabel{#1}% Returns \enit@a + \expandafter\let\@itemlabel\enit@a +%ie, redefine \labelenumX or \labelitemX. + \ifx\enit@ref\relax\enit@reflabel{#1}\fi} +%ie, only if there is not a previous ref= +% Normalization is done twice. Not good. + +\define@key{enumitem}{ref}{% + \enit@reflabel{#1}} + +%\expandafter\def\csname c@*\endcsname{\csname c@\@enumctr\endcsname} + +\def\enit@normlabel#1{% + \begingroup + \enit@refstar\arabic + \enit@refstar\alph + \enit@refstar\Alph + \enit@refstar\roman + \enit@refstar\Roman + \enit@refstar\value + \enit@refstar\@arabic + \enit@refstar\@alph + \enit@refstar\@Alph + \enit@refstar\@roman + \enit@refstar\@Roman + \protected@xdef\enit@a{#1}% + \endgroup} + +\def\enit@reflabel#1{% + \def\enit@ref{% + \ifnum\@enumdepth=\@ne\else % no level 0 + \advance\@enumdepth\@ne + \@namedef{p@\@enumctr}{}% Don't accumulate labels + \advance\@enumdepth\m@ne + \fi + \enit@normlabel{#1}% Returns \enit@a + \expandafter + \let\csname the\@enumctr\endcsname\enit@a}} + +\def\enit@refstar#1{% + \def#1##1{% + \if*##1\@empty + \noexpand#1{enum\romannumeral\@enumdepth}% + \else + \noexpand#1{##1}% + \fi}} + +\def\enit@setkeys#1{% + \@ifundefined{#1}{}% + {\toks@\expandafter\expandafter\expandafter + {\csname#1\endcsname}% + \edef\enit@a{% + \noexpand\setkeys{enumitem}{\the\toks@}}% + \enit@a + \ifx\enit@ref\relax\else % Not a logical place, grrr + \let\enit@saveref\enit@ref + \let\enit@ref\relax + \fi}} + +% And now, the three environments are redefined. +% First, code shared by enumerate and itemize. + +\newdimen\enit@outerparindent + +\def\enit@preset{% + \def\makelabel##1{\hss\llap{##1}}% + \let\enit@calcleft\relax + \let\enit@widest\@empty + \labelindent\z@skip + \ifnum\@listdepth=\@ne + \enit@outerparindent\parindent + \else + \parindent\enit@outerparindent + \fi + \enit@setkeys + {enit@list}% + \enit@setkeys + {enit@list\romannumeral\@listdepth}} + +\def\enit@enumerate#1{% + \ifnum \@enumdepth >\thr@@ + \@toodeep + \else + \advance\@enumdepth\@ne + \edef\@enumctr{enum\romannumeral\@enumdepth}% + \expandafter + \list + \csname label\@enumctr\endcsname + {\usecounter\@enumctr + \let\enit@ref\relax + \let\enit@saveref\relax + \enit@normlabel{\@itemlabel}% Returns \enit@a + \expandafter\let\@itemlabel\enit@a + \enit@preset + \enit@setkeys + {enit@enum}% + \enit@setkeys + {enit@\@enumctr}% + \setkeys{enumitem}{#1}% + \enit@calcleft + \ifx\enit@ref\relax + \enit@saveref + \else + \enit@ref + \fi}% + \fi} + +\def\enit@endenumerate{% + \endlist + \xdef\enit@resume{% + \csname c@\@listctr\endcsname + \the\csname c@\@listctr\endcsname}} + +\renewenvironment{enumerate}[1][] + {\enit@enumerate{#1}} + {\enit@endenumerate} + +\def\enit@itemize#1{% + \ifnum \@itemdepth >\thr@@ + \@toodeep + \else + \advance\@itemdepth\@ne + \edef\@itemitem{labelitem\romannumeral\@itemdepth}% + \expandafter + \list + \csname\@itemitem\endcsname + {\enit@preset + \enit@setkeys + {enit@item}% + \enit@setkeys + {enit@item\romannumeral\@itemdepth}% + \setkeys{enumitem}{#1}% + \enit@calcleft}% + \fi} + +\let\enit@enditemize\itemize + +\renewcommand{\itemize}[1][]{\enit@itemize{#1}} + +\renewcommand{\description}[1][]{% + \list{}% + {\labelwidth\z@ + \let\makelabel\descriptionlabel + \let\enit@descstyle\enit@normalstyle + \labelindent\z@skip + \enit@setkeys + {enit@list}% + \enit@setkeys + {enit@list\romannumeral\@listdepth}% + \enit@setkeys + {enit@desc}% + \setkeys{enumitem}{#1}% + \itemindent-\leftmargin + \advance\itemindent\labelindent + \let\enit@makelabel\makelabel + \def\makelabel##1{% + \enit@descstyle{\enit@makelabel{##1}}}}} + +% Option ignoredisplayed (see below). + +\def\enit@trivlist{% + \parsep\parskip + \csname @list\romannumeral\the\@listdepth\endcsname + \@nmbrlistfalse + \enit@setkeys + {enit@triv}% + \enit@setkeys + {enit@triv\romannumeral\@listdepth}% + \@trivlist + \labelwidth\z@ + \leftmargin\z@ + \itemindent\z@ + \let\@itemlabel\@empty + \def\makelabel##1{##1}} + +% description styles + +% the next definition is somewhat tricky because +% labels are boxed. That's fine when the label is +% just placed at the begining of a line of text, +% but when the box is placed whithout horizontal +% material, leading is killed. Therefore, +% solutions based on the LaTeX Companion are wrong. +% Here, the \everypar in \@item is overriden +% and the label is printed directly, without +% boxing it. + +\def\enit@nextlinestyle#1{% + \hskip-\itemindent % quick & dirty --what's happening? + \global\everypar{% + \@minipagefalse + \global\@newlistfalse + \if@inlabel + \global\@inlabelfalse + {\setbox\z@\lastbox + \ifvoid\z@ + \kern-\itemindent + \fi + \sbox\z@{\hskip\labelindent#1\hskip\labelsep}% + \ifdim\wd\z@>\leftmargin + {\advance\leftskip-\leftmargin + \advance\leftskip\labelindent + \hskip-\labelsep + #1% + \vskip-\parskip}% + \else + \hskip-\leftmargin\hskip-\labelsep\hskip\labelindent + \rlap{#1}% + \hskip\leftmargin\hskip\labelsep\hskip-\labelindent + \fi}% + \fi + \if@nobreak + \@nobreakfalse + \clubpenalty \@M + \else + \clubpenalty \@clubpenalty + \everypar{}% + \fi}} + +\def\enit@multilinestyle#1{% + \dimen@\leftmargin + \advance\dimen@-\labelsep + \advance\dimen@-\labelindent + \sbox\z@{% + \parbox[t]\dimen@{% + \raggedright\hskip-\labelsep#1}}% + \dp\z@\z@ + \hskip\labelsep\box\z@ + \hfil} + +\def\enit@unboxedstyle#1{% + \hskip-\itemindent + \global\everypar{% + \@minipagefalse + \global\@newlistfalse + \if@inlabel + \global\@inlabelfalse + {\setbox\z@\lastbox + \ifvoid\z@ + \kern-\itemindent + \fi% + \hskip-\leftmargin\hskip-\labelsep\hskip\labelindent + #1% + \hskip\labelsep}% + \fi + \if@nobreak + \@nobreakfalse + \clubpenalty \@M + \else + \clubpenalty \@clubpenalty + \global\everypar{}% + \fi}} + +\def\enit@samelinestyle#1{% + \hskip-\itemindent + \global\everypar{% + \@minipagefalse + \global\@newlistfalse + \if@inlabel + \global\@inlabelfalse + {\setbox\z@\lastbox + \ifvoid\z@ + \kern-\itemindent + \fi + \sbox\z@{\hskip\labelindent#1\hskip\labelsep}% + \ifdim\wd\z@>\leftmargin + \hskip-\leftmargin + \hskip-\labelsep + \hskip\labelindent + #1% + \hskip\labelsep + \else + \hskip-\leftmargin + \hskip-\labelsep + \hskip\labelindent + \rlap{#1}% + \hskip\leftmargin + \hskip\labelsep + \hskip-\labelindent + \fi}% + \fi + \if@nobreak + \@nobreakfalse + \clubpenalty \@M + \else + \clubpenalty \@clubpenalty + \everypar{}% + \fi}} + +% Formatting lists globally + +\newcommand\setenumerate[1][0]{% + \expandafter\def\csname enit@enum\romannumeral#1\endcsname} + +\newcommand\setitemize[1][0]{% + \expandafter\def\csname enit@item\romannumeral#1\endcsname} + +\def\setdescription{\def\enit@desc} + +\newcommand\setlist[1][0]{% + \expandafter\def\csname enit@list\romannumeral#1\endcsname} + +\newcommand\setdisplayed[1][0]{% + \expandafter\def\csname enit@triv\romannumeral#1\endcsname} + +% A few useful predefined keys + +\define@key{enumitem}{nolistsep}[true]{% + \partopsep=\z@skip + \topsep=\z@ plus .1pt + \itemsep=\z@skip + \parsep=\z@skip} + +\define@key{enumitem}{noitemsep}[true]{% + \itemsep=\z@skip + \parsep=\z@skip} + +\define@key{enumitem}{fullwidth}[true]{% + \leftmargin\z@ + \labelwidth\z@ + \def\makelabel##1{% + \hskip\labelsep##1}} + +% And options + +\DeclareOption{ignoredisplayed}{\let\enit@trivlist\trivlist} + +\ProcessOptions + +\let\trivlist\enit@trivlist + +\endinput diff --git a/latex/misc/lastpage.sty b/latex/misc/lastpage.sty new file mode 100644 index 0000000..5f735f0 --- /dev/null +++ b/latex/misc/lastpage.sty @@ -0,0 +1,51 @@ +%% +%% This is file `lastpage.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lastpage.dtx (with options: `package') +%% +%% IMPORTANT NOTICE: +%% This is part of a set of tools (or better yet, experiments) +%% written by Jeff Goldberg (J.Goldberg@Cranfield.ac.uk) +%% The usual disclaimers apply: +%% If it doesn't work right that's your problem. +%% It is released under the terms of the +%% General Public License Agreement (version 2) +\def\filename{lastpage} +\def\fileversion{v0.1b} +\def\filedate{1994/06/25} +\def\docdate {1994/07/20} + +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +%% +%% Allow for things like |page \thepage\ of \pageref{LastPage}| to +%% get `page 5 of 23' +\NeedsTeXFormat{LaTeX2e}[1994/06/01] +\ProvidesPackage{lastpage}[\filedate\space\fileversion\space + LaTeX2e package for refs to last page number (JPG)] +\def\lastpage@putlabel{\addtocounter{page}{-1}% + \immediate\write\@auxout{\string + \newlabel{LastPage}{{}{\thepage}}}% + \addtocounter{page}{1}} +\AtEndDocument{% + \message{AED: lastpage setting LastPage}% + \clearpage\lastpage@putlabel}% +\endinput +%% +%% End of file `lastpage.sty'. diff --git a/latex/misc/multirow2.sty b/latex/misc/multirow2.sty new file mode 100644 index 0000000..402d3bc --- /dev/null +++ b/latex/misc/multirow2.sty @@ -0,0 +1,195 @@ +%% +%% multirowii.sty V1.6 version (5-May-2004) +%% +%% Author: Jerry Leichter +%% Piet van Oostrum +%% +%% This file may be distributed under the terms of the LaTeX Project Public +%% License, as described in lppl.txt in the base LaTeX distribution. +%% Either version 1 or, at your option, any later version. +%% +%% V1.0 was distributed anonymously, based on a Usenet posting that was +%% not intended for stand-alone use. +%% V1.1 was modified by Piet van Oostrum to allow it to +%% work without bigstrut.sty. +%% V1.2 was modified by Jerry Leichter for the same goal, but using a +%% different approach which will work properly in conjunction with +%% bigstrut.sty. +%% V1.2a was modified by Piet van Oostrum to use \vskip +%% instead of \raise in positioning, avoiding making rows too high +%% when the adjustment is large. +%% V1.3 was modified by Piet van Oostrum to work properly in a p{} column +%% (\leavevmode added) +%% V1.4 was modified by Piet van Oostrum to check for the special case that +%% the width is given as an *. In this case the natural +%% width of the text argument will be used and the argument +%% is processed in LR-mode. +%% V1.5 was modified by Piet van Oostrum: Added a % after \hbox{#5}\vfill}. +%% Added \struts around #5 for better vertical positioning. +%% Additional coding for negative value of nrows. +%% V1.6 was modified by Piet van Oostrum: Replace a space by \relax after +%% \advance\@tempdima#4. +%% +% Make an entry that will span multiple rows of a table. +% +% \multirowii[pos]{nrows}[bigstruts]{width}[fixup]{text} +% +% pos specifies the vertical position of text. 'p' at the top of the box, +% 'm' in the middle (default), 'b' at the bottom. +% +% nrows is the number of rows to span. It's up to you to leave the other +% rows empty, or the stuff created by \multirowii will over-write it. +% With a positive value of nrows the spanned colomns are this row and +% (nrows-1) rows below it. With a negative value of nrows they are +% this row and (1-nrows) above it. +% +% bigstruts is mainly used if you've used bigstrut.sty. In that case it +% is the total number of uses of \bigstrut within the rows being +% spanned. Count 2 uses for each \bigstrut, 1 for each \bigstrut[x] +% where x is either t or b. The default is 0. +% +% width is the width to which the text is to be set, or * to indicate that +% the text argument's natural width is to be used. +% +% text is the actual text. If the width was set explicitly, the text will +% be set in a parbox of that width; you can use \\ to force linebreaks +% where you like. +% +% If the width was given as * the text will be set in LR mode. If you +% want a multiline entry in this case you should use a tabular or array +% in the text parameter. +% +% The text is centered vertically within the range spanned by nrows. +% +% fixup is a length used for fine tuning: The text will be raised (or +% lowered, if fixup is negative) by that length above (below) wherever +% it would otherwise have gone. +% +% For example (using both multirowii and bigstrut) +% +% \newcommand{\minitab}[2][l]{\begin{tabular}{#1}#2\end{tabular}} +% \begin{tabular}{|c|c|} +% \hline +% \multirowii{4}{1in}{Common g text} & Column g2a\\ +% & Column g2b \\ +% & Column g2c \\ +% & Column g2d \\ +% \hline +% \multirowii{3}[6]*{Common g text} & Column g2a\bigstrut\\\cline{2-2} +% & Column g2b \bigstrut\\\cline{2-2} +% & Column g2c \bigstrut\\ +% \hline +% \multirowii{4}[8]{1in}{Common g text} & Column g2a\bigstrut\\\cline{2-2} +% & Column g2b \bigstrut\\\cline{2-2} +% & Column g2c \bigstrut\\\cline{2-2} +% & Column g2d \bigstrut\\ +% \hline +% \multirowii{4}*{\minitab[c]{Common \\ g text}} & Column g2a\\ +% & Column g2b \\ +% & Column g2c \\ +% & Column g2d \\ +% \hline +% \end{tabular} +% +% If any of the spanned rows are unusually large, or if you're using +% bigstrut.sty and \bigstrut's are used assymetrically about the centerline of +% the spanned rows, the vertical centering may not come out right. Use the +% fixup argument in this case. +% +% Just before "text" is expanded, the \multirowiisetup macro is expanded to +% set up any special environment. Initially, \multirowiisetup contains just +% \raggedright. It can be redefined with \renewcommand. +% +% Bugs: It's just about impossible to deal correctly with descenders. The +% text will be set up centered, but it may then have a baseline that doesn't +% match the baseline of the stuff beside it, in particular if the stuff +% beside it has descenders and "text" does not. This may result in a small +% missalignment. About all that can be done is to do a final touchup on +% "text", using the fixup optional argument. (Hint: If you use a measure +% like .1ex, there's a reasonable chance that the fixup will still be correct +% if you change the point size.) +% +% \multirowii is mainly designed for use with table, as opposed to array, +% environments. It will not work well in an array environment since the lines +% have an extra \jot of space between them which it won't account for. Fixing +% this is difficult in general, and doesn't seem worth it. The bigstruts +% argument can be used to provide a semi-automatic fix: First set +% \bigstrutjot to .5\jot. Then simply repeat nrows as the bigstruts argument. +% This will be close, but probably not exact; you can use the fixup argument +% to refine the result. (If you do this repeatedly, you'll probably want to +% wrap these steps up in a simple macro. Note that the modified \bigstrutjot +% value will not give reasonable results if you have bigstruts and use this +% argument for its intended purpose elsewhere. In that case, you might want +% to set it locally.) +% +% If you use \multirowii with the colortbl package you have to take +% precautions if you want to color the column that has the \multirowii in it. +% colortbl works by coloring each cell separately. So if you use \multirowii +% with a positive nrows value, colortbl will first color the top cell, then +% \multirowii will typeset nrows cells starting with this cell, and later +% colortbl will color the other cells, effectively hiding the text in that +% area. This can be solved by putting the \multirowii is the last row with a +% negative nrows value. +% Example: +% +% \begin{tabular}{l>{\columncolor{yellow}}l} +% aaaa & \\ +% cccc & \\ +% dddd & \multirowii{-3}*{bbbb}\\ +% \end{tabular} +% +\def\multirowiisetup{\raggedright\vskip1pt} +\def\vfillsetup#1{% + \if#1m\let\vfillup=\vfill\let\vfilldn=\vfill\else% + \if#1p\let\vfillup=\relax\let\vfilldn=\vfill\else% + \if#1b\let\vfillup=\vfill\let\vfilldn=\relax\else% + \let\vfillup=\vfill\let\vfilldn=\vfill \fi\fi\fi} + +\def\multirowii{\@ifnextchar [{\@multirowiiv}{\vfillsetup{m}\@multirowiim}} +\def\@multirowiiv[#1]{\vfillsetup{#1}\@multirowiim} + +\def\@multirowiim#1{\relax\@ifnextchar + [{\@multirowii{#1}}{\@multirowii{#1}[0]}} +\def\@multirowii#1[#2]#3{\@ifnextchar [{\@xmultirowii{#1}[#2]{#3}}% + {\@xmultirowii{#1}[#2]{#3}[0pt]}} +\long\def\@xmultirowii#1[#2]#3[#4]#5{\@tempcnta=#1% + \@tempdima\@tempcnta\ht\@arstrutbox + \advance\@tempdima\@tempcnta\dp\@arstrutbox + \ifnum\@tempcnta<0\@tempdima=-\@tempdima\fi + \advance\@tempdima#2\bigstrutjot + \if*#3\setbox0\vtop to \@tempdima{\vfillup\multirowiisetup + \hbox{\strut#5\strut}\vfilldn}% + \ht0\z@\dp0\z@ + \else + \dimen0=#3\relax + \ifdim\dimen0<\z@ + \dimen0=-\dimen0 + \let\footnotemark\relax + \fi + \setbox0\vbox{\hsize\dimen0\@parboxrestore\multirowiisetup\strut#5\strut}% + \dimen0=\ht0 + \advance\dimen0\dp0\relax + \ifdim\dimen0>\@tempdima + \divide\dimen0\@tempcnta + \ifnum\dimen0<0% + \dimen0=-\dimen0 + \fi + \ifdim#3<\z@ + \setbox0\vbox{}% + \fi + \ht0\dimen0\dp0\z@ + \else + \ifdim#3<\z@ + \setbox0\vbox{}% + \fi + \setbox0\vtop to \@tempdima{\vfillup\unvbox0\vfilldn}% + \ht0\z@\dp0\z@ + \fi + \fi + \ifnum\@tempcnta<0\advance\@tempdima-\dp\@arstrutbox + \else\@tempdima=\ht\@arstrutbox + \ifnum#2>0 \advance\@tempdima\bigstrutjot \fi + \fi + \advance\@tempdima#4\relax\leavevmode\vtop{\vskip-\@tempdima\box0\vss}} +\@ifundefined{bigstrutjot}{\newdimen\bigstrutjot \bigstrutjot\jot}{} + diff --git a/latex/misc/passivetex/LICENSE b/latex/misc/passivetex/LICENSE new file mode 100644 index 0000000..c1ae996 --- /dev/null +++ b/latex/misc/passivetex/LICENSE @@ -0,0 +1,14 @@ +% +% Copyright 2002 Sebastian Rahtz/Oxford University +% +% +% Permission is hereby granted, free of charge, to any person obtaining +% a copy of this software and any associated documentation files (the +% ``Software''), to deal in the Software without restriction, including +% without limitation the rights to use, copy, modify, merge, publish, +% distribute, sublicense, and/or sell copies of the Software, and to +% permit persons to whom the Software is furnished to do so, subject to +% the following conditions: +% +% The above copyright notice and this permission notice shall be included +% in all copies or substantial portions of the Software. diff --git a/latex/misc/passivetex/dummyels.sty b/latex/misc/passivetex/dummyels.sty new file mode 100644 index 0000000..45b81ed --- /dev/null +++ b/latex/misc/passivetex/dummyels.sty @@ -0,0 +1,136 @@ +\ProvidesPackage{dummyels}[1999/12/06: S Rahtz; dummy Elsevier names] +% for those who don't have Elsevier fonts +\def\ElOr{\UnavailableSymbol{ElOr}} +\def\Elbcong{\UnavailableSymbol{Elbcong}} +\def\Elolarr{\UnavailableSymbol{Elolarr}} +\def\Elorarr{\UnavailableSymbol{Elorarr}} +\def\Elroang{\UnavailableSymbol{Elroang}} +\def\Elxsqcup{\UnavailableSymbol{Elxsqcup}} +\def\Elxuplus{\UnavailableSymbol{Elxuplus}} +\def\ElzAnd{\UnavailableSymbol{ElzAnd}} +\def\ElzCint{\UnavailableSymbol{ElzCint}} +\def\ElzInf{\UnavailableSymbol{ElzInf}} +\def\ElzLap{\UnavailableSymbol{ElzLap}} +\def\ElzOr{\UnavailableSymbol{ElzOr}} +\def\ElzRlarr{\UnavailableSymbol{ElzRlarr}} +\def\ElzSup{\UnavailableSymbol{ElzSup}} +\def\ElzThr{\UnavailableSymbol{ElzThr}} +\def\ElzTimes{\UnavailableSymbol{ElzTimes}} +\def\Elzbar{\UnavailableSymbol{Elzbar}} +\def\Elzbtdl{\UnavailableSymbol{Elzbtdl}} +\def\Elzcirfb{\UnavailableSymbol{Elzcirfb}} +\def\Elzcirfl{\UnavailableSymbol{Elzcirfl}} +\def\Elzcirfr{\UnavailableSymbol{Elzcirfr}} +\def\Elzclomeg{\UnavailableSymbol{Elzclomeg}} +\def\Elzcreps{\UnavailableSymbol{Elzcreps}} +\def\Elzdbnd{\UnavailableSymbol{Elzdbnd}} +\def\ElzdbndSIX{\UnavailableSymbol{ElzdbndSIX}} +\def\Elzddfnc{\UnavailableSymbol{Elzddfnc}} +\def\Elzdefas{\UnavailableSymbol{Elzdefas}} +\def\Elzdlcorn{\UnavailableSymbol{Elzdlcorn}} +\def\Elzdrcorn{\UnavailableSymbol{Elzdrcorn}} +\def\Elzdshfnc{\UnavailableSymbol{Elzdshfnc}} +\def\Elzdyogh{\UnavailableSymbol{Elzdyogh}} +\def\Elzesh{\UnavailableSymbol{Elzesh}} +\def\Elzfhr{\UnavailableSymbol{Elzfhr}} +\def\Elzggrave{\UnavailableSymbol{Elzggrave}} +\def\Elzglst{\UnavailableSymbol{Elzglst}} +\def\Elzherma{\UnavailableSymbol{Elzherma}} +\def\Elzhex{\UnavailableSymbol{Elzhex}} +\def\Elzhlmrk{\UnavailableSymbol{Elzhlmrk}} +\def\Elzht{\UnavailableSymbol{Elzht}} +\def\Elzinglst{\UnavailableSymbol{Elzinglst}} +\def\ElzinvR{\UnavailableSymbol{ElzinvR}} +\def\Elzinvv{\UnavailableSymbol{Elzinvv}} +\def\Elzinvw{\UnavailableSymbol{Elzinvw}} +\def\ElzlbdTWObd{\UnavailableSymbol{ElzlbdTWObd}} +\def\ElzlbdTWOtd{\UnavailableSymbol{ElzlbdTWOtd}} +\def\ElzlbondTHREE{\UnavailableSymbol{ElzlbondTHREE}} +\def\ElzlbondTWO{\UnavailableSymbol{ElzlbondTWO}} +\def\Elzlmrk{\UnavailableSymbol{Elzlmrk}} +\def\Elzlow{\UnavailableSymbol{Elzlow}} +\def\Elzlozfl{\UnavailableSymbol{Elzlozfl}} +\def\Elzlozfr{\UnavailableSymbol{Elzlozfr}} +\def\Elzlpargt{\UnavailableSymbol{Elzlpargt}} +\def\Elzltlmr{\UnavailableSymbol{Elzltlmr}} +\def\Elzltln{\UnavailableSymbol{Elzltln}} +\def\Elzlyogh{\UnavailableSymbol{Elzlyogh}} +\def\Elzminhat{\UnavailableSymbol{Elzminhat}} +\def\Elznesim{\UnavailableSymbol{Elznesim}} +\def\Elzopeno{\UnavailableSymbol{Elzopeno}} +\def\ElzpSlash{\UnavailableSymbol{ElzpSlash}} +\def\Elzpalh{\UnavailableSymbol{Elzpalh}} +\def\Elzpbgam{\UnavailableSymbol{Elzpbgam}} +\def\Elzpdbdbd{\UnavailableSymbol{Elzpdbdbd}} +\def\Elzpdbdtd{\UnavailableSymbol{Elzpdbdtd}} +\def\Elzpdbond{\UnavailableSymbol{Elzpdbond}} +\def\Elzpent{\UnavailableSymbol{Elzpent}} +\def\Elzpes{\UnavailableSymbol{Elzpes}} +\def\Elzpgamma{\UnavailableSymbol{Elzpgamma}} +\def\Elzpscra{\UnavailableSymbol{Elzpscra}} +\def\Elzpscrv{\UnavailableSymbol{Elzpscrv}} +\def\Elzptbdbd{\UnavailableSymbol{Elzptbdbd}} +\def\Elzptbdtd{\UnavailableSymbol{Elzptbdtd}} +\def\Elzpupsil{\UnavailableSymbol{Elzpupsil}} +\def\Elzqbnd{\UnavailableSymbol{Elzqbnd}} +\def\ElzrLarr{\UnavailableSymbol{ElzrLarr}} +\def\Elzrais{\UnavailableSymbol{Elzrais}} +\def\Elzrarrx{\UnavailableSymbol{Elzrarrx}} +\def\ElzrbdTWObd{\UnavailableSymbol{ElzrbdTWObd}} +\def\ElzrbdTWOtd{\UnavailableSymbol{ElzrbdTWOtd}} +\def\ElzrbondTHREE{\UnavailableSymbol{ElzrbondTHREE}} +\def\ElzrbondTWO{\UnavailableSymbol{ElzrbondTWO}} +\def\Elzreapos{\UnavailableSymbol{Elzreapos}} +\def\Elzreglst{\UnavailableSymbol{Elzreglst}} +\def\Elzreve{\UnavailableSymbol{Elzreve}} +\def\Elzreveps{\UnavailableSymbol{Elzreveps}} +\def\Elzrh{\UnavailableSymbol{Elzrh}} +\def\Elzrl{\UnavailableSymbol{Elzrl}} +\def\Elzrparlt{\UnavailableSymbol{Elzrparlt}} +\def\Elzrtld{\UnavailableSymbol{Elzrtld}} +\def\Elzrtll{\UnavailableSymbol{Elzrtll}} +\def\Elzrtln{\UnavailableSymbol{Elzrtln}} +\def\Elzrtlr{\UnavailableSymbol{Elzrtlr}} +\def\Elzrtls{\UnavailableSymbol{Elzrtls}} +\def\Elzrtlt{\UnavailableSymbol{Elzrtlt}} +\def\Elzrtlz{\UnavailableSymbol{Elzrtlz}} +\def\Elzrttrnr{\UnavailableSymbol{Elzrttrnr}} +\def\Elzrvbull{\UnavailableSymbol{Elzrvbull}} +\def\Elzsbbrg{\UnavailableSymbol{Elzsbbrg}} +\def\Elzsblhr{\UnavailableSymbol{Elzsblhr}} +\def\Elzsbrhr{\UnavailableSymbol{Elzsbrhr}} +\def\Elzschwa{\UnavailableSymbol{Elzschwa}} +\def\Elzsqfb{\UnavailableSymbol{Elzsqfb}} +\def\Elzsqfl{\UnavailableSymbol{Elzsqfl}} +\def\Elzsqfne{\UnavailableSymbol{Elzsqfne}} +\def\Elzsqfnw{\UnavailableSymbol{Elzsqfnw}} +\def\Elzsqfr{\UnavailableSymbol{Elzsqfr}} +\def\Elzsqfse{\UnavailableSymbol{Elzsqfse}} +\def\Elzsqfsw{\UnavailableSymbol{Elzsqfsw}} +\def\Elzsqft{\UnavailableSymbol{Elzsqft}} +\def\Elzsqshd{\UnavailableSymbol{Elzsqshd}} +\def\Elzsqspne{\UnavailableSymbol{Elzsqspne}} +\def\Elzsyllab{\UnavailableSymbol{Elzsyllab}} +\def\Elztbnd{\UnavailableSymbol{Elztbnd}} +\def\ElztbndSIX{\UnavailableSymbol{ElztbndSIX}} +\def\Elztdcol{\UnavailableSymbol{Elztdcol}} +\def\Elztesh{\UnavailableSymbol{Elztesh}} +\def\Elztfnc{\UnavailableSymbol{Elztfnc}} +\def\Elztrisla{\UnavailableSymbol{Elztrisla}} +\def\Elztrna{\UnavailableSymbol{Elztrna}} +\def\Elztrnh{\UnavailableSymbol{Elztrnh}} +\def\Elztrnm{\UnavailableSymbol{Elztrnm}} +\def\Elztrnmlr{\UnavailableSymbol{Elztrnmlr}} +\def\Elztrnr{\UnavailableSymbol{Elztrnr}} +\def\Elztrnrl{\UnavailableSymbol{Elztrnrl}} +\def\Elztrnsa{\UnavailableSymbol{Elztrnsa}} +\def\Elztrnt{\UnavailableSymbol{Elztrnt}} +\def\Elztrny{\UnavailableSymbol{Elztrny}} +\def\Elzverti{\UnavailableSymbol{Elzverti}} +\def\Elzverts{\UnavailableSymbol{Elzverts}} +\def\Elzvrecto{\UnavailableSymbol{Elzvrecto}} +\def\Elzxh{\UnavailableSymbol{Elzxh}} +\def\Elzxl{\UnavailableSymbol{Elzxl}} +\def\Elzxrat{\UnavailableSymbol{Elzxrat}} +\def\Elzyogh{\UnavailableSymbol{Elzyogh}} +\endinput diff --git a/latex/misc/passivetex/unicode.sty b/latex/misc/passivetex/unicode.sty new file mode 100644 index 0000000..6eefc74 --- /dev/null +++ b/latex/misc/passivetex/unicode.sty @@ -0,0 +1,577 @@ +% $Id$ +\ProvidesPackage{unicode}[2000/01/13 S Rahtz: load various font-related + packages for Unicode] +\let\tilde\relax +% +% Packages needed +% +\def\@ifundefined#1{% + \expandafter\ifx\csname#1\endcsname\relax + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi} + +\def\UnavailableSymbol#1{% + \ensuremath{\underline{\mbox{#1}}}% + \typeout{The Unicode package knows about symbol #1, but the font + package is not loaded}% +} + +\@ifundefined{XMLelement}{}{\def\DefineCharacter#1#2#3{\UnicodeCharacter{#1}{#3}}} +\def\DefaultfFamName{unknown} + +\IfFileExists{t3enc.def} + { + \IfFileExists{t2aenc.def} + {\RequirePackage[T3,T2A,T1]{fontenc}} + {\RequirePackage[T3,T1]{fontenc}} + \RequirePackage[noenc,safe]{tipa} + \RequirePackage{tone} + \DeclareFontSubstitution{T3}{ptm}{m}{n} + }{ + \typeout{WARNING: tipa package not loaded. some symbols will fail} + \IfFileExists{t2aenc.def} + {\RequirePackage[T2A,T1]{fontenc}} + {\RequirePackage[T1]{fontenc}} + } +\RequirePackage{amssymb}[1995/01/01] +\def\bmmax{0} +\RequirePackage{bm} +\RequirePackage{textcomp}[1998/01/16] +\RequirePackage{pifont} +\IfFileExists{wasysym.sty} + {\usepackage{wasysym}} + {\typeout{WARNING: wasysym package not loaded. some symbols will fail}} +\let\ee\relax +\IfFileExists{stmaryrd.sty} + {\usepackage{stmaryrd}} + {\typeout{WARNING: stmaryrd package not loaded. some symbols will fail}} + +\IfFileExists{elfonts.sty} + { + \usepackage{elfonts} + \def\ElsevierGlyph##1{\csname U##1\endcsname}% + \def\textpertenthousand{\Pisymbol{ppi031}{33}} + \let\overrightharpoon\undefined + \let\overleftharpoon\undefined + }{ + \typeout{WARNING: Elsevier font setup not found}% + \usepackage{dummyels}% + \let\ElsevierGlyph\UnavailableSymbol + } +% don't ask +\def\supppdf{supp-pdf} +\DeclareMathSymbol{'}{\mathord}{symbols}{"30} +% Adobe Math Pi +\IfFileExists{uppi020.fd}{% +\DeclareFontFamily{U}{ppi020}{} +\DeclareFontShape{U}{ppi020}{m}{n}{<->ppi020}{} +\DeclareFontFamily{U}{ppi021}{} +\DeclareFontShape{U}{ppi021}{m}{n}{<->ppi021}{} +\DeclareFontFamily{U}{ppi022}{} +\DeclareFontShape{U}{ppi022}{m}{n}{<->ppi022}{} +\DeclareFontFamily{U}{ppi023}{} +\DeclareFontShape{U}{ppi023}{m}{n}{<->ppi023}{} +\DeclareFontFamily{U}{ppi024}{} +\DeclareFontShape{U}{ppi024}{m}{n}{<->ppi024}{} +\DeclareFontFamily{U}{ppi025}{} +\DeclareFontShape{U}{ppi025}{m}{n}{<->ppi025}{} +\DeclareFontFamily{U}{ppi031}{} +\DeclareFontShape{U}{ppi031}{m}{n}{<->ppi031}{} +\DeclareFontFamily{T1}{mtms}{} +\DeclareFontShape{T1}{mtms}{m}{n}{<->mtms}{} +}{ +\DeclareFontFamily{U}{ppi020}{} +\DeclareFontShape{U}{ppi020}{m}{n}{<->sub*pzd/m/n}{} +\DeclareFontFamily{U}{ppi021}{} +\DeclareFontShape{U}{ppi021}{m}{n}{<->sub*pzd/m/n}{} +\DeclareFontFamily{U}{ppi022}{} +\DeclareFontShape{U}{ppi022}{m}{n}{<->sub*pzd/m/n}{} +\DeclareFontFamily{U}{ppi023}{} +\DeclareFontShape{U}{ppi023}{m}{n}{<->sub*pzd/m/n}{} +\DeclareFontFamily{U}{ppi024}{} +\DeclareFontShape{U}{ppi024}{m}{n}{<->sub*pzd/m/n}{} +\DeclareFontFamily{U}{ppi025}{} +\DeclareFontShape{U}{ppi025}{m}{n}{<->sub*pzd/m/n}{} +\DeclareFontFamily{T1}{mtms}{} +\DeclareFontShape{T1}{mtms}{m}{n}{<->sub*pzd/m/n}{} +\DeclareFontFamily{U}{ppi031}{} +\DeclareFontShape{U}{ppi031}{m}{n}{<->sub*pzd/m/n}{} +} +\let\mathlowercal\mathcal + +\@ifpackageloaded{mmasym.sty} + {% +% extra Wolfram characters +\let\DownArrowUpArrow\downarrowuparrow +\let\ReverseUpEquilibrium\revequilibrium +\let\UpEquilibrium\upequilibrium +\let\NotLessLess\nll %e2cb math3/102 146 234 +\let\NotHumpDownHump\nBumpeq %e616 math3/83 123 +\let\NotHumpEqual\RoundImplies %e84d math3/82 122 +\let\NotSquareSubset\nsqsubseteq %e604 math3/110 156 +\let\NotSquareSuperset\nsqsupseteq %e615 math3/126 176 +\let\NotEqualTilde\NotTildeEqual %e84e math3/79 117 +\let\LeftRightVector\leftrightharpoonup % f505 math4/50 62 +\let\DownLeftRightVector\leftrightharpoondown % f50b math4/53 65 +\let\RightUpDownVector\rightupdownharpoon %f510 math4/55 67 +\let\LeftUpDownVector\leftupdownharpoon %f515 math4/54 66 +} +{\typeout{WARNING: mmasym package not loaded. some symbols will fail}} + + +% +% we are going to use Lucida fonts, so do some setup +% +\@ifpackageloaded{lucidabr}{% +\def\DeclareLucidaFontShape#1#2#3#4#5#6{% + \DeclareFontShape{#1}{#2}{#3}{#4}{% + <-5.5>s*[.98]#5% + <5.5-6.5>s*[.96]#5% + <6.5-7.5>s*[.94]#5% + <7.5-8.5>s*[.92]#5% + <8.5-9.5>s*[.91]#5% + <9.5-10.5>s*[.9]#5% + <10.5-11.5>s*[.89]#5% + <11.5-13>s*[.88]#5% + <13-15.5>s*[.87]#5% + <15.5-18.5>s*[.86]#5% + <18.5-22.5>s*[.85]#5% + <22.5->s*[.84]#5% + }{#6}} +\DeclareFontFamily{U}{hlcm}{} +\DeclareLucidaFontShape{U}{hlcm}{m}{n}{hlcrm}{} +\DeclareLucidaFontShape{U}{hlcm}{b}{n}{hlcdm}{} +\DeclareLucidaFontShape{U}{hlcm}{bx}{n}{hlcdm}{} +\DeclareLucidaFontShape{U}{hlcm}{m}{it}{hlcrima}{} +\DeclareLucidaFontShape{U}{hlcm}{b}{it}{hlcdima}{} +\DeclareLucidaFontShape{U}{hlcm}{bx}{it}{hlcdima}{} +\DeclareFontEncoding{LMR}{}{} +\DeclareFontSubstitution{LMR}{hlcm}{m}{n} +\DeclareSymbolFont{lucarrows}{LMR}{hlcm}{m}{n} +\DeclareSymbolFont{lucmathupright}{OML}{hlcm}{m}{n} +\DeclareSymbolFont{lucletters}{OML}{hlcm}{m}{it} +\DeclareSymbolFont{lucsymbols}{OMS}{hlcy}{m}{n} +\SetSymbolFont{lucmathupright}{bold}{OML}{hlcm}{b}{n} +\SetSymbolFont{lucletters}{bold}{OML}{hlcm}{b}{it} +\SetSymbolFont{lucsymbols}{bold}{OMS}{hlcy}{b}{n} +}{ +\usepackage[mathscr]{eucal} +} +% +% some new macros +% +\def\Longrightarrow{\Relbar\joinrel\Rightarrow} +\DeclareRobustCommand\longrightarrow + {\relbar\joinrel\rightarrow} +\DeclareRobustCommand\longleftarrow + {\leftarrow\joinrel\relbar} +\def\Longleftarrow{\Leftarrow\joinrel\Relbar} +\def\Alpha {A} +\def\Beta {B} +\def\Epsilon {E} +\def\Zeta {Z} +\def\Eta {E} +\def\Iota {I} +\def\Kappa {K} +\def\Rho {R} +\def\Chi {C} +\def\Tau {T} +% +% funny accents and constructions +% +\newdimen\ex@ +\DeclareMathAccent{\mathring}{\mathalpha}{operators}{23} +\def\dddot#1{{\mathop{#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@ + \hbox{\normalfont ...}\vss}}}} +\def\ddddot#1{{\mathop{#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@ + \hbox{\normalfont....}\vss}}}} +\def\textfrac#1#2{\leavevmode\kern.1em +\raise.5ex\hbox{\the\scriptfont0 #1}\kern-.1em +/\kern-.15em\lower.25ex\hbox{\the\scriptfont0 #2}} +% from David Carlisle, low cedilla +\DeclareTextCommand{\cX}{T1}[1] + {{\o@lign{\relax#1\crcr\hidewidth\sh@ft{10}\char11\hidewidth}}} +% +% Cyrillic +% +% +% T2A (Cyrillic) fonts +% +\IfFileExists{t2aftm.fd} + {\def\CYR@Family@unknown{ftm}} + {\def\CYR@Family@unknown{cmr}} +\IfFileExists{t2afar.fd} + {\def\CYR@Family@Arial{far} + \def\CYR@Family@sansserif{far} + \def\CYR@Family@Helvetica{far} + \expandafter\def\csname CYR@Family@sans-serif\endcsname{far} + \expandafter\def\csname CYR@Family@iso-sanserif\endcsname{far}} + {\def\CYR@Family@Arial{cmss} + \def\CYR@Family@sansserif{cmss} + \def\CYR@Family@Helvetica{cmss} + \expandafter\def\csname CYR@Family@sans-serif\endcsname{cmss} + \expandafter\def\csname CYR@Family@iso-sanserif\endcsname{cmss}} +\IfFileExists{t2afcr.fd} + {\def\CYR@Family@Courier{fcr} + \def\CYR@Family@monospace{fcr} + \expandafter\def\csname CYR@Family@Courier New\endcsname{fcr} + \expandafter\def\csname CYR@Family@Courier-New\endcsname{fcr} + \expandafter\def\csname CYR@Family@iso-monospace\endcsname{fcr}} + {\def\CYR@Family@Courier{cmtt} + \def\CYR@Family@monospace{cmtt} + \expandafter\def\csname CYR@Family@Courier New\endcsname{cmtt} + \expandafter\def\csname CYR@Family@Courier-New\endcsname{cmtt} + \expandafter\def\csname CYR@Family@iso-monospace\endcsname{cmtt}} +\IfFileExists{t2aftm.fd} + {\def\CYR@Family@serif{ftm} + \expandafter\def\csname CYR@Family@Tiso-serif\endcsname{ftm} + \expandafter\def\csname CYR@Family@Times-Roman\endcsname{ftm} + \expandafter\def\csname CYR@Family@Times-New-Roman\endcsname{ftm} + \expandafter\def\csname CYR@Family@Times Roman\endcsname{ftm} + \expandafter\def\csname CYR@Family@Times New Roman\endcsname{ftm} + \expandafter\def\csname CYR@Family@Times-NR-MT\endcsname{ftm}} + {\def\CYR@Family@serif{cmr} + \expandafter\def\csname CYR@Family@Tiso-serif\endcsname{cmr} + \expandafter\def\csname CYR@Family@Times-Roman\endcsname{cmr} + \expandafter\def\csname CYR@Family@Times-New-Roman\endcsname{cmr} + \expandafter\def\csname CYR@Family@Times Roman\endcsname{cmr} + \expandafter\def\csname CYR@Family@Times New Roman\endcsname{cmr} + \expandafter\def\csname CYR@Family@Times-NR-MT\endcsname{cmr}} +\IfFileExists{t2afha.fd} + {\def\CYR@Family@Bookman{faq}} + {\def\CYR@Family@Bookman{cmr}} +\def\fFamName{cmr} +\long\def\CYRFamily{% +\expandafter\ifx\csname CYR@Family@\fFamName\endcsname\relax + \csname CYR@Family@\DefaultfFamName\endcsname +\else + \csname CYR@Family@\fFamName\endcsname +\fi +} +% +\long\def\cyrchar#1{{\fontfamily{\CYRFamily}\fontencoding{T2A}\selectfont#1}} +% +% Greek +% +% +% Lucida/Times math letters as a symbol font +% +\@ifpackageloaded{lucidabr}{% + \DeclareFontFamily{U}{ptmluc}{} + \DeclareFontShape{U}{ptmluc}{m}{it}{<-> ptmlucrm}{} + \DeclareFontShape{U}{ptmluc}{b}{it}{<-> ptmlucbf}{} + \DeclareFontShape{U}{ptmluc}{bx}{it}{<->ssub * ptmluc/b/it}{} + \DeclareFontShape{U}{ptmluc}{bx}{n}{<->ssub * ptmluc/b/it}{} + \DeclareFontShape{U}{ptmluc}{m}{n}{<->ssub * ptmluc/m/it}{} + \newcommand{\GkSymbol}[2]{{\fontfamily{#1}\fontencoding{U}% + \selectfont\char#2}} + \def\textGamma{\GkSymbol{hlcm}{0}} + \def\textDelta{\GkSymbol{hlcm}{1}} + \def\textTheta{\GkSymbol{hlcm}{2}} + \def\textLambda{\GkSymbol{hlcm}{3}} + \def\textXi{\GkSymbol{hlcm}{4}} + \def\textPi{\GkSymbol{hlcm}{5}} + \def\textSigma{\GkSymbol{hlcm}{6}} + \def\textUpsilon{\GkSymbol{hlcm}{7}} + \def\textPhi{\GkSymbol{hlcm}{8}} + \def\textPsi{\GkSymbol{hlcm}{9}} + \def\textOmega{\GkSymbol{hlcm}{10}} + \def\textalpha{\GkSymbol{hlcm}{11}} + \def\textbeta{\GkSymbol{hlcm}{12}} + \def\textgamma{\GkSymbol{hlcm}{13}} +\def\textdelta{\GkSymbol{hlcm}{14}} +\def\textepsilon{\GkSymbol{hlcm}{15}} +\def\textzeta{\GkSymbol{hlcm}{16}} +\def\texteta{\GkSymbol{hlcm}{17}} +\def\texttheta{\GkSymbol{hlcm}{18}} +\def\textiota{\GkSymbol{hlcm}{19}} +\def\textkappa{\GkSymbol{hlcm}{20}} +\def\textlambda{\GkSymbol{hlcm}{21}} +\def\textmu{\GkSymbol{hlcm}{22}} +\def\textnu{\GkSymbol{hlcm}{23}} +\def\textxi{\GkSymbol{hlcm}{24}} +\def\textpi{\GkSymbol{hlcm}{25}} +\def\textrho{\GkSymbol{hlcm}{26}} +\def\textsigma{\GkSymbol{hlcm}{27}} +\def\texttau{\GkSymbol{hlcm}{28}} +\def\textupsilon{\GkSymbol{hlcm}{29}} +\def\textphi{\GkSymbol{hlcm}{30}} +\def\textchi{\GkSymbol{hlcm}{31}} +\def\textpsi{\GkSymbol{hlcm}{32}} +\def\textomega{\GkSymbol{hlcm}{33}} +\def\textvarepsilon{\GkSymbol{hlcm}{34}} +\def\textvarGamma{\GkSymbol{ptmluc}{0}} +\def\textvarDelta{\GkSymbol{ptmluc}{1}} +\def\textvarTheta{\GkSymbol{ptmluc}{2}} +\def\textvarLambda{\GkSymbol{ptmluc}{3}} +\def\textvarXi{\GkSymbol{ptmluc}{4}} +\def\textvarPi{\GkSymbol{ptmluc}{5}} +\def\textvarSigma{\GkSymbol{ptmluc}{6}} +\def\textvarUpsilon{\GkSymbol{ptmluc}{7}} +\def\textvarPhi{\GkSymbol{ptmluc}{8}} +\def\textvarPsi{\GkSymbol{ptmluc}{9}} +\def\textvarOmega{\GkSymbol{ptmluc}{10}} +\def\textvarkappa{\GkSymbol{ptmluc}{155}} +\def\textvartheta{\GkSymbol{ptmluc}{35}} +\def\textvarpi{\GkSymbol{ptmluc}{36}} +\def\textvarrho{\GkSymbol{ptmluc}{37}} +\def\textvarsigma{\GkSymbol{ptmluc}{38}} +\def\textvarphi{\GkSymbol{ptmluc}{39}} +\DeclareMathSymbol\Colon{0}{lucsymbols}{147} +\DeclareMathSymbol\VDash{0}{letters}{172} +\DeclareMathSymbol\allequal{0}{lucsymbols}{159}% unicode 224C +\DeclareMathSymbol\apid{0}{lucsymbols}{158} +\DeclareMathSymbol\approxnotequal{0}{lucarrows}{24}% unicode 2246 +\DeclareMathSymbol\arrowwaveleft{0}{lucarrows}{143}% unicode 219D +\DeclareMathSymbol\arrowwaveright{0}{lucarrows}{144}% unicode 219C +\DeclareMathSymbol\blackcircle{0}{lucarrows}{1} +\DeclareMathSymbol\clwintegral{0}{lucletters}{141}% % unicode 2231 +\DeclareMathSymbol\colone{0}{lucsymbols}{205} +\DeclareMathSymbol\dblarrowupdown{0}{lucarrows}{111}% % unicode 21C5 +\DeclareMathSymbol\dlcorn{0}{lucarrows}{93} +\DeclareMathSymbol\downslopeellipsis{0}{lucarrows}{22}% unicode 22F1 +\DeclareMathSymbol\drcorn{0}{lucarrows}{94} +\DeclareMathSymbol\estimates{0}{lucsymbols}{210}% unicode 2259 +\DeclareMathSymbol\eth{\mathrel}{operators}{240} +\DeclareMathSymbol\forcesextra{0}{lucletters}{172}% % unicode 22A8 +\DeclareMathSymbol\greaterequivlnt{0}{lucsymbols}{221}% unicode 2273 +\DeclareMathSymbol\hermitconjmatrix{0}{lucsymbols}{241}% unicode 22B9 +\DeclareMathSymbol\homothetic{0}{lucsymbols}{151}% unicode 223B +\DeclareMathSymbol\image{0}{lucletters}{198}% % unicode 22B7 +\DeclareMathSymbol\lazysinv{0}{lucsymbols}{198}% unicode 223E +\DeclareMathSymbol\lessequivlnt{0}{lucsymbols}{220}% unicode 2272 +\DeclareMathSymbol\notgreaterless{0}{lucarrows}{197}% unicode 2279 +\DeclareMathSymbol\notlessgreater{0}{lucarrows}{127}% unicode 2278 +\DeclareMathSymbol\openbracketleft{0}{lucletters}{130}% % unicode 301A +\DeclareMathSymbol\openbracketright{0}{lucletters}{131}% % unicode 301B +\DeclareMathSymbol\original{0}{lucletters}{197}% % unicode 22B6 +\DeclareMathSymbol\perspcorrespond{\mathbin}{lucsymbols}{212}% % unicode 2306 +\DeclareMathSymbol\precedesnotsimilar{0}{lucarrows}{235}% unicode 22E8 +\DeclareMathSymbol\rightanglearc{0}{lucsymbols}{142}% unicode 22BE +\DeclareMathSymbol\rightangle{0}{lucsymbols}{138}% unicode 221F +\DeclareMathSymbol\starequal{0}{lucarrows}{26}% unicode 225B +\DeclareMathSymbol\surfintegral{0}{lucletters}{139}% % unicode 222F +\DeclareMathSymbol\tildetrpl{0}{lucsymbols}{158}% % unicode 224B +\DeclareMathSymbol\truestate{0}{lucletters}{214}% unicode 22A7 +\DeclareMathSymbol\ulcorn{0}{lucarrows}{91} +\DeclareMathSymbol\upalpha{\mathord}{lucmathupright}{11} +\DeclareMathSymbol\upbeta{\mathord}{lucmathupright}{12} +\DeclareMathSymbol\upchi{\mathord}{lucmathupright}{31} +\DeclareMathSymbol\updelta{\mathord}{lucmathupright}{14} +\DeclareMathSymbol\upepsilon{\mathord}{lucmathupright}{15} +\DeclareMathSymbol\upeta{\mathord}{lucmathupright}{17} +\DeclareMathSymbol\upgamma{\mathord}{lucmathupright}{13} +\DeclareMathSymbol\upiota{\mathord}{lucmathupright}{19} +\DeclareMathSymbol\upkappa{\mathord}{lucmathupright}{20} +\DeclareMathSymbol\uplambda{\mathord}{lucmathupright}{21} +\DeclareMathSymbol\upmu{\mathord}{lucmathupright}{22} +\DeclareMathSymbol\upnu{\mathord}{lucmathupright}{23} +\DeclareMathSymbol\upomega{\mathord}{lucmathupright}{33} +\DeclareMathSymbol\upphi{\mathord}{lucmathupright}{30} +\DeclareMathSymbol\uppi{\mathord}{lucmathupright}{25} +\DeclareMathSymbol\uppsi{\mathord}{lucmathupright}{32} +\DeclareMathSymbol\uprho{\mathord}{lucmathupright}{26} +\DeclareMathSymbol\upsigma{\mathord}{lucmathupright}{27} +\DeclareMathSymbol\upslopeellipsis{0}{lucarrows}{21}% unicode 22F0 +\DeclareMathSymbol\uptau{\mathord}{lucmathupright}{28} +\DeclareMathSymbol\uptheta{\mathord}{lucmathupright}{18} +\DeclareMathSymbol\upupsilon{\mathord}{lucmathupright}{29} +\DeclareMathSymbol\upvarepsilon{\mathord}{lucmathupright}{34} +\DeclareMathSymbol\upxi{\mathord}{lucmathupright}{24} +\DeclareMathSymbol\upzeta{\mathord}{lucmathupright}{16} +\DeclareMathSymbol\urcorn{0}{lucarrows}{92} +\DeclareMathSymbol\vDash{\mathrel}{lucsymbols}{238} +\DeclareMathSymbol\verymuchgreater{\mathrel}{lucletters}{223}% % unicode 22D9 +\DeclareMathSymbol\verymuchless{\mathrel}{lucletters}{222}% % unicode 22D8 +\DeclareMathSymbol\volintegral{0}{lucletters}{140}% % unicode 2230 +\DeclareMathSymbol\zutdot{0}{lucarrows}{21} +}{% +\def\textGamma{\UnavailableSymbol{textGamma}} +\def\textDelta{\UnavailableSymbol{textDelta}} +\def\textTheta{\UnavailableSymbol{textTheta}} +\def\textLambda{\UnavailableSymbol{textLambda}} +\def\textXi{\UnavailableSymbol{textXi}} +\def\textPi{\UnavailableSymbol{textPi}} +\def\textSigma{\UnavailableSymbol{textSigma}} +\def\textUpsilon{\UnavailableSymbol{textUpsilon}} +\def\textPhi{\UnavailableSymbol{textPhi}} +\def\textPsi{\UnavailableSymbol{textPsi}} +\def\textOmega{\UnavailableSymbol{textOmega}} +\def\textalpha{\UnavailableSymbol{textalpha}} +\def\textbeta{\UnavailableSymbol{textbeta}} +\def\textgamma{\UnavailableSymbol{textgamma}} +\def\textdelta{\UnavailableSymbol{textdelta}} +\def\textepsilon{\UnavailableSymbol{textepsilon}} +\def\textzeta{\UnavailableSymbol{textzeta}} +\def\texteta{\UnavailableSymbol{texteta}} +\def\texttheta{\UnavailableSymbol{texttheta}} +\def\textiota{\UnavailableSymbol{textiota}} +\def\textkappa{\UnavailableSymbol{textkappa}} +\def\textlambda{\UnavailableSymbol{textlambda}} +\def\textmu{\UnavailableSymbol{textmu}} +\def\textnu{\UnavailableSymbol{textnu}} +\def\textxi{\UnavailableSymbol{textxi}} +\def\textpi{\UnavailableSymbol{textpi}} +\def\textrho{\UnavailableSymbol{textrho}} +\def\textsigma{\UnavailableSymbol{textsigma}} +\def\texttau{\UnavailableSymbol{texttau}} +\def\textupsilon{\UnavailableSymbol{textupsilon}} +\def\textphi{\UnavailableSymbol{textphi}} +\def\textchi{\UnavailableSymbol{textchi}} +\def\textpsi{\UnavailableSymbol{textpsi}} +\def\textomega{\UnavailableSymbol{textomega}} +\def\textvarepsilon{\UnavailableSymbol{textvarepsilon}} +\def\textvarGamma{\UnavailableSymbol{textvarGamma}} +\def\textvarDelta{\UnavailableSymbol{textvarDelta}} +\def\textvarTheta{\UnavailableSymbol{textvarTheta}} +\def\textvarLambda{\UnavailableSymbol{textvarLambda}} +\def\textvarXi{\UnavailableSymbol{textvarXi}} +\def\textvarPi{\UnavailableSymbol{textvarPi}} +\def\textvarSigma{\UnavailableSymbol{textvarSigma}} +\def\textvarUpsilon{\UnavailableSymbol{textvarUpsilon}} +\def\textvarPhi{\UnavailableSymbol{textvarPhi}} +\def\textvarPsi{\UnavailableSymbol{textvarPsi}} +\def\textvarOmega{\UnavailableSymbol{textvarOmega}} +\def\textvarkappa{\UnavailableSymbol{textvarkappa}} +\def\textvartheta{\UnavailableSymbol{textvartheta}} +\def\textvarpi{\UnavailableSymbol{textvarpi}} +\def\textvarrho{\UnavailableSymbol{textvarrho}} +\def\textvarsigma{\UnavailableSymbol{textvarsigma}} +\def\textvarphi{\UnavailableSymbol{textvarphi}} +\def\Colon{\UnavailableSymbol{Colon}} +\def\VDash{\UnavailableSymbol{VDash}} +\def\allequal{\UnavailableSymbol{allequal}} +\def\apid{\UnavailableSymbol{apid}} +\def\approxnotequal{\UnavailableSymbol{approxnotequal}} +\def\arrowwaveleft{\UnavailableSymbol{arrowwaveleft}} +\def\arrowwaveright{\UnavailableSymbol{arrowwaveright}} +\def\blackcircle{\UnavailableSymbol{blackcircle}} +\def\clwintegral{\UnavailableSymbol{clwintegral}} +\def\colone{\UnavailableSymbol{colone}} +\def\dblarrowupdown{\UnavailableSymbol{dblarrowupdown}} +\def\dlcorn{\UnavailableSymbol{dlcorn}} +\def\downslopeellipsis{\UnavailableSymbol{downslopeellipsis}} +\def\drcorn{\UnavailableSymbol{drcorn}} +\def\estimates{\UnavailableSymbol{estimates}} +\def\eth{\UnavailableSymbol{eth}} +\def\forcesextra{\UnavailableSymbol{forcesextra}} +\def\greaterequivlnt{\UnavailableSymbol{greaterequivlnt}} +\def\hermitconjmatrix{\UnavailableSymbol{hermitconjmatrix}} +\def\homothetic{\UnavailableSymbol{homothetic}} +\def\image{\UnavailableSymbol{image}} +\def\lazysinv{\UnavailableSymbol{lazysinv}} +\def\lessequivlnt{\UnavailableSymbol{lessequivlnt}} +\def\notgreaterless{\UnavailableSymbol{notgreaterless}} +\def\notlessgreater{\UnavailableSymbol{notlessgreater}} +\def\openbracketleft{\UnavailableSymbol{openbracketleft}} +\def\openbracketright{\UnavailableSymbol{openbracketright}} +\def\original{\UnavailableSymbol{original}} +\def\perspcorrespond{\UnavailableSymbol{perspcorrespond}} +\def\precedesnotsimilar{\UnavailableSymbol{precedesnotsimilar}} +\def\rightangle{\UnavailableSymbol{rightangle}} +\def\rightanglearc{\UnavailableSymbol{rightanglearc}} +\def\starequal{\UnavailableSymbol{starequal}} +\def\surfintegral{\UnavailableSymbol{surfintegral}} +\def\tildetrpl{\UnavailableSymbol{tildetrpl}} +\def\truestate{\UnavailableSymbol{truestate}} +\def\ulcorn{\UnavailableSymbol{ulcorn}} +\def\upalpha{\UnavailableSymbol{upalpha}} +\def\upbeta{\UnavailableSymbol{upbeta}} +\def\upchi{\UnavailableSymbol{upchi}} +\def\updelta{\UnavailableSymbol{updelta}} +\def\upepsilon{\UnavailableSymbol{upepsilon}} +\def\upeta{\UnavailableSymbol{upeta}} +\def\upgamma{\UnavailableSymbol{upgamma}} +\def\upiota{\UnavailableSymbol{upiota}} +\def\upkappa{\UnavailableSymbol{upkappa}} +\def\uplambda{\UnavailableSymbol{uplambda}} +\def\upmu{\UnavailableSymbol{upmu}} +\def\upnu{\UnavailableSymbol{upnu}} +\def\upomega{\UnavailableSymbol{upomega}} +\def\upphi{\UnavailableSymbol{upphi}} +\def\uppi{\UnavailableSymbol{uppi}} +\def\uppsi{\UnavailableSymbol{uppsi}} +\def\uprho{\UnavailableSymbol{uprho}} +\def\upsigma{\UnavailableSymbol{upsigma}} +\def\upslopeellipsis{\UnavailableSymbol{upslopeellipsis}} +\def\uptau{\UnavailableSymbol{uptau}} +\def\uptheta{\UnavailableSymbol{uptheta}} +\def\upupsilon{\UnavailableSymbol{upupsilon}} +\def\upvarepsilon{\UnavailableSymbol{upvarepsilon}} +\def\upxi{\UnavailableSymbol{upxi}} +\def\upzeta{\UnavailableSymbol{upzeta}} +\def\urcorn{\UnavailableSymbol{urcorn}} +\def\vDash{\UnavailableSymbol{vDash}} +\def\verymuchgreater{\UnavailableSymbol{verymuchgreater}} +\def\verymuchless{\UnavailableSymbol{verymuchless}} +\def\volintegral{\UnavailableSymbol{volintegral}} +\def\zutdot{\UnavailableSymbol{zutdot}} +} + +% +% the Omega fonts +% +\DeclareFontEncoding{LECO}{}{} +\DeclareFontEncoding{LECX}{}{} +\DeclareFontEncoding{LECY}{}{} +\DeclareFontEncoding{LEGR}{}{} +\DeclareFontEncoding{LEHA}{}{} +\DeclareFontEncoding{LEIP}{}{} +\DeclareFontEncoding{LELA}{}{} +\DeclareFontEncoding{LETI}{}{} +\DeclareFontFamily{LECO}{omseco}{} +\DeclareFontFamily{LECX}{omsecx}{} +\DeclareFontFamily{LECY}{omsecy}{} +\DeclareFontFamily{LEGR}{omsegr}{} +\DeclareFontFamily{LEHA}{omseha}{} +\DeclareFontFamily{LEIP}{omseip}{} +\DeclareFontFamily{LELA}{omsela}{} +\DeclareFontFamily{LETI}{omseti}{} +\DeclareFontSubstitution{LECO}{omseco}{m}{n} +\DeclareFontSubstitution{LECX}{omsecx}{m}{n} +\DeclareFontSubstitution{LECY}{omsecy}{m}{n} +\DeclareFontSubstitution{LEGR}{omsegr}{m}{n} +\DeclareFontSubstitution{LEHA}{omseha}{m}{n} +\DeclareFontSubstitution{LEIP}{omseip}{m}{n} +\DeclareFontSubstitution{LELA}{omsela}{m}{n} +\DeclareFontSubstitution{LETI}{omseti}{m}{n} +\DeclareFontShape{LECO}{omseco}{m}{n}{<->omseco}{} +\DeclareFontShape{LECX}{omsecx}{m}{n}{<->omsecx}{} +\DeclareFontShape{LECY}{omsecy}{m}{n}{<->omsecy}{} +\DeclareFontShape{LEGR}{omsegr}{m}{n}{<->omsegr}{} +\DeclareFontShape{LEHA}{omseha}{m}{n}{<->omseha}{} +\DeclareFontShape{LEIP}{omseip}{m}{n}{<->omseip}{} +\DeclareFontShape{LELA}{omsela}{m}{n}{<->omsela}{} +\DeclareFontShape{LETI}{omseti}{m}{n}{<->omseti}{} +% other funny font setups + +\DeclareFontFamily{U}{euf}{}% +\DeclareFontShape{U}{euf}{m}{n}{<-6>eufm5<6-8>eufm7<8->eufm10}{}% +\DeclareFontShape{U}{euf}{b}{n}{<-6>eufb5<6-8>eufb7<8->eufb10}{}% + + +\endinput +F6E6 218 bbold a + +stmary 65 = 101 = E3/UE344 +stmary 66 = 102 = E3/UE343 +\expandafter\def\csname UE244\endcsname{msam/32} +\expandafter\def\csname UE232\endcsname{msam/75} +\expandafter\def\csname UE233\endcsname{msam/76} +\expandafter\def\csname UE847\endcsname{msam/95} +\expandafter\def\csname UE817\endcsname{msbm/30} +\expandafter\def\csname UE816\endcsname{msbm/31} +\expandafter\def\csname UE81C\endcsname{msbm/97} +\expandafter\def\csname UE364\endcsname{mtmi/102} +\expandafter\def\csname UE629\endcsname{mtmi/15} +\expandafter\def\csname UE256\endcsname{mtsyn/10} +\expandafter\def\csname UE254\endcsname{mtsyn/12} +\expandafter\def\csname U2661\endcsname{mtsyn/126} +\expandafter\def\csname UE809\endcsname{mtsyn/2} +\expandafter\def\csname UE36A\endcsname{mtsyn/3} +\expandafter\def\csname U220A\endcsname{mtsyn/50} +\expandafter\def\csname U220D\endcsname{mtsyn/51} +\expandafter\def\csname UE255\endcsname{mtsyn/8} + diff --git a/latex/misc/ragged2e.sty b/latex/misc/ragged2e.sty new file mode 100644 index 0000000..a6a1700 --- /dev/null +++ b/latex/misc/ragged2e.sty @@ -0,0 +1,310 @@ +%% +%% This is file `ragged2e.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% ragged2e.dtx (with options: `package') +%% +%% Copyright (C) [1996..2003] by Martin Schroeder. All rights reserved. +%% +%% This file is part of the Ragged2e package +%% ----------------------------------------- +%% +%% This program may be redistributed and/or modified under the terms +%% of the LaTeX Project Public License, either version 1.0 of this +%% license, or (at your option) any later version. +%% The latest version of this license is in +%% CTAN:macros/latex/base/lppl.txt. +%% +%% The Ragged2e package contains these files: +%% ragged2e.dtx +%% ragged2e.ins +%% +%% Martin Schroeder +%% Cruesemannallee 3 +%% 28213 Bremen +%% Germany +%% martin@oneiros.de +%% +\NeedsTeXFormat{LaTeX2e}[1996/10/24] +\ProvidesPackage{ragged2e} + [2003/03/25 v2.04 ragged2e Package (MS)] +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +%% +%% \iffalse meta-comment +%% =================================================================== +%% @LaTeX-style-file{ +%% author = {Martin Schr\"oder}, +%% version = "2.04", +%% date = "25 March 2003", +%% filename = "ragged2e.sty", +%% address = {Martin Schr\"oder +%% Cr\"usemannallee 3 +%% 28213 Bremen +%% Germany} +%% telephone = "+49-421-2239425", +%% email = "martin@oneiros.de", +%% docstring = "LaTeX package which defines new commands +%% \Centering, \RaggedLeft, \RaggedRight and +%% \justifying and new environments Center, +%% FlushLeft, FlushRight and justify, which +%% set ragged text and are easily configurable +%% to allow hyphenation. +%% Uses the everysel package. +%% " +%% } +%% =================================================================== +%% \fi +\newif\if@raggedtwoe@originalcommands +\newif\if@raggedtwoe@originalparameters +\newif\if@raggedtwoe@footmisc +\DeclareOption{OriginalCommands}{\@raggedtwoe@originalcommandstrue} +\DeclareOption{originalcommands}{\@raggedtwoe@originalcommandstrue} +\DeclareOption{NewCommands}{\@raggedtwoe@originalcommandsfalse} +\DeclareOption{newcommands}{\@raggedtwoe@originalcommandsfalse} +\DeclareOption{OriginalParameters}{\@raggedtwoe@originalparameterstrue} +\DeclareOption{originalparameters}{\@raggedtwoe@originalparameterstrue} +\DeclareOption{NewParameters}{\@raggedtwoe@originalparametersfalse} +\DeclareOption{newparameters}{\@raggedtwoe@originalparametersfalse} +\newcommand*{\@raggedtwoe@raggedrightboxes@opt}{ + \CheckCommand*{\@arrayparboxrestore}{% + \let\if@nobreak\iffalse + \let\if@noskipsec\iffalse + \let\par\@@par + \let\-\@dischyph + \let\'\@acci\let\`\@accii\let\=\@acciii + \parindent\z@ \parskip\z@skip + \everypar{}% + \linewidth\hsize + \@totalleftmargin\z@ + \leftskip\z@skip \rightskip\z@skip \@rightskip\z@skip + \parfillskip\@flushglue \lineskip\normallineskip + \baselineskip\normalbaselineskip + \sloppy}% + \renewcommand{\@arrayparboxrestore}{% + \let\if@nobreak\iffalse + \let\if@noskipsec\iffalse + \let\par\@@par + \let\-\@dischyph + \let\'\@acci\let\`\@accii\let\=\@acciii + \parskip\z@skip + \everypar{}% + \linewidth\hsize + \@totalleftmargin\z@ + \RaggedRight + \lineskip\normallineskip + \baselineskip\normalbaselineskip + \sloppy}% + \let\@raggedtwoe@raggedrightboxes@opt\relax + } +\DeclareOption{raggedrightboxes}{\@raggedtwoe@raggedrightboxes@opt} +\DeclareOption{footnotes}{% + \@raggedtwoe@footmisctrue + \PassOptionsToPackage{ragged}{footmisc}% + } +\newcommand{\@raggedtwoe@abdhook}{% + \PackageInfo{ragged2e}{ABD: executing \string\RaggedRight}% + \RaggedRight + \edef\@tocrmarg{\@tocrmarg plus 2em}% + \let\@raggedtwoe@abdhook\relax + } +\newcommand{\@raggedtwoe@document@opt}{% + \AtBeginDocument{\@raggedtwoe@abdhook}% + \@raggedtwoe@raggedrightboxes@opt + \@raggedtwoe@footmisctrue + \let\@raggedtwoe@document@opt\relax + } +\DeclareOption{document}{\@raggedtwoe@document@opt} +\DeclareOption*{% + \if@raggedtwoe@footmisc + \PassOptionsToPackage{\CurrentOption}{footmisc}% + \else + \OptionNotUsed + \fi + } +%% ^^A ----------------------------- +\ExecuteOptions{originalcommands,newparameters} +\ProcessOptions\relax +\RequirePackage{everysel} +\if@raggedtwoe@footmisc + \AtEndOfPackage{\RequirePackage{footmisc}[2002/08/28]} +\fi +\newlength{\CenteringLeftskip} +\newlength{\RaggedLeftLeftskip} +\newlength{\RaggedRightLeftskip} +\newlength{\CenteringRightskip} +\newlength{\RaggedLeftRightskip} +\newlength{\RaggedRightRightskip} +\newlength{\CenteringParfillskip} +\newlength{\RaggedLeftParfillskip} +\newlength{\RaggedRightParfillskip} +\newlength{\JustifyingParfillskip} +\newlength{\CenteringParindent} +\newlength{\RaggedLeftParindent} +\newlength{\RaggedRightParindent} +\newlength{\JustifyingParindent} +\if@raggedtwoe@originalparameters + \CenteringLeftskip\@flushglue + \RaggedLeftLeftskip\@flushglue + \RaggedRightLeftskip\z@skip + \CenteringRightskip\@flushglue + \RaggedLeftRightskip\z@skip + \RaggedRightRightskip\@flushglue + \CenteringParfillskip\z@skip + \RaggedLeftParfillskip\z@skip + \RaggedRightParfillskip\@flushglue + \CenteringParindent\z@ + \RaggedLeftParindent\z@ + \RaggedRightParindent\z@ +\else + \CenteringLeftskip\z@\@plus\tw@ em + \RaggedLeftLeftskip\z@\@plus\tw@ em + \RaggedRightLeftskip\z@skip + \CenteringRightskip\z@\@plus\tw@ em + \RaggedLeftRightskip\z@skip + \RaggedRightRightskip\z@\@plus\tw@ em + \CenteringParfillskip\z@skip + \RaggedLeftParfillskip\z@skip + \RaggedRightParfillskip\@flushglue + \CenteringParindent\z@ + \RaggedLeftParindent\z@ + \RaggedRightParindent\z@ +\fi +\JustifyingParfillskip\@flushglue +\JustifyingParindent\parindent +\newif\if@raggedtwoe@spaceskip +\newcommand{\@raggedtwoe@everyselectfont}{% + \if@raggedtwoe@spaceskip + \ifdim\fontdimen\thr@@\font=\z@\relax + \spaceskip\z@ + \else + \spaceskip\fontdimen\tw@\font + \fi + \else + \spaceskip\z@ + \fi + } +\EverySelectfont{\@raggedtwoe@everyselectfont} +\let\@raggedtwoe@savedcr\\ +\let\@raggedtwoe@saved@gnewline\@gnewline +\newcommand*{\@raggedtwoe@gnewline}[1]{% + \ifvmode + \@nolnerr + \else + \unskip + \reserved@e {\reserved@f #1}{\parskip\z@\par}% + \fi + } +\newcommand{\Centering}{% + \ifx\\\@raggedtwoe@savedcr + \let\\\@centercr + \fi + \let\@gnewline\@raggedtwoe@gnewline + \leftskip\CenteringLeftskip + \@rightskip\CenteringRightskip + \rightskip\@rightskip + \parfillskip\CenteringParfillskip + \parindent\CenteringParindent + \@raggedtwoe@spaceskiptrue + \@raggedtwoe@everyselectfont + } +\newcommand{\RaggedLeft}{% + \ifx\\\@raggedtwoe@savedcr + \let\\\@centercr + \fi + \let\@gnewline\@raggedtwoe@gnewline + \leftskip\RaggedLeftLeftskip + \@rightskip\RaggedLeftRightskip + \rightskip\@rightskip + \parfillskip\RaggedLeftParfillskip + \parindent\RaggedLeftParindent + \@raggedtwoe@spaceskiptrue + \@raggedtwoe@everyselectfont + } +\newcommand{\RaggedRight}{% + \ifx\\\@raggedtwoe@savedcr + \let\\\@centercr + \fi + \let\@gnewline\@raggedtwoe@gnewline + \leftskip\RaggedRightLeftskip + \@rightskip\RaggedRightRightskip + \rightskip\@rightskip + \parfillskip\RaggedRightParfillskip + \parindent\RaggedRightParindent + \@raggedtwoe@spaceskiptrue + \@raggedtwoe@everyselectfont + } +\newcommand{\justifying}{% + \let\\\@raggedtwoe@savedcr + \let\@gnewline\@raggedtwoe@saved@gnewline + \leftskip\z@ + \@rightskip\z@ + \rightskip\@rightskip + \parfillskip\JustifyingParfillskip + \parindent\JustifyingParindent + \@raggedtwoe@spaceskipfalse + \@raggedtwoe@everyselectfont + } +\newenvironment{Center}{% + \trivlist + \Centering\item\relax + }{% + \endtrivlist + } +\newenvironment{FlushLeft}{% + \trivlist + \RaggedRight\item\relax + }{% + \endtrivlist + } +\newenvironment{FlushRight}{% + \trivlist + \RaggedLeft\item\relax + }{% + \endtrivlist + } +\newenvironment{justify}{% + \trivlist + \justifying\item\relax + }{% + \endtrivlist + } +\if@raggedtwoe@originalcommands +\else + \let\LaTeXcentering\centering + \let\LaTeXraggedleft\raggedleft + \let\LaTeXraggedright\raggedright + \let\centering\Centering + \let\raggedleft\RaggedLeft + \let\raggedright\RaggedRight + \let\LaTeXcenter\center + \let\endLaTeXcenter\endcenter + \let\LaTeXflushleft\flushleft + \let\endLaTeXflushleft\endflushleft + \let\LaTeXflushright\flushright + \let\endLaTeXflushright\endflushright + \let\center\Center + \let\endcenter\endCenter + \let\flushleft\Flushleft + \let\endflushleft\endFlushleft + \let\flushright\FlushRight + \let\endflushright\endFlushRight +\fi +\endinput +%% +%% End of file `ragged2e.sty'. diff --git a/latex/misc/xelatex/xecyr.sty b/latex/misc/xelatex/xecyr.sty new file mode 100644 index 0000000..595e384 --- /dev/null +++ b/latex/misc/xelatex/xecyr.sty @@ -0,0 +1,321 @@ +% Modified from Evgenie Medvedev by A. Shipunov (plantago@herba.msu.ru) + +\ProvidesPackage{xecyr}% + [2008/03/08 v1.0 Definitions for Cyrillic Babel/XeLaTeX compatibility] + +\newif\if@EXT +\DeclareOption{ext}{\@EXTtrue} +\DeclareOption{noext}{\@EXTfalse} +\newif\if@MIS +\DeclareOption{mis}{\@MIStrue} +\DeclareOption{nomis}{\@MISfalse} + +\ExecuteOptions{ext,nomis} +\ProcessOptions + +\if@MIS + \RequirePackage{misccorr} + \XeTeXinputencoding "KOI8-R" +\fi + +\if@EXT + \PassOptionsToPackage{cm-default}{fontspec} + \RequirePackage{xltxtra} +\fi + +\RequirePackage{xunicode} + +%%% Cyrillic letter TeX definitions for XeTeX +% This definition set is complete for all Slavic Cyrillic +% languages (Russian, Ukrainian, Belorussian, +% Rusyn, Serbian, Macedonian and Bulgarian alphabets). +% +% It has not been confirmed as complete, but might be, for those +% non-Slavic Cyrillic languages: +% Ossetian, Khalka, Buryat, Kalmyk, Kyrgyz, Tatar, Uzbek +% Azerbaijani, Kazakh, Abkhaz, Chukchi. + +%%% Part I +%%% Cyrillic letters defined as a continuous stretch +%%% in Unicode and most common 8-bit encodings which define them: + +\DeclareUTFcharacter[\UTFencname]{x0410}{\CYRA} % А +\DeclareUTFcharacter[\UTFencname]{x0430}{\cyra} % а +\DeclareUTFcharacter[\UTFencname]{x0411}{\CYRB} % Б +\DeclareUTFcharacter[\UTFencname]{x0431}{\cyrb} % б +\DeclareUTFcharacter[\UTFencname]{x0412}{\CYRV} % В +\DeclareUTFcharacter[\UTFencname]{x0432}{\cyrv} % в +\DeclareUTFcharacter[\UTFencname]{x0413}{\CYRG} % Г +\DeclareUTFcharacter[\UTFencname]{x0433}{\cyrg} % г +\DeclareUTFcharacter[\UTFencname]{x0414}{\CYRD} % Д +\DeclareUTFcharacter[\UTFencname]{x0434}{\cyrd} % д +\DeclareUTFcharacter[\UTFencname]{x0415}{\CYRE} % Е +\DeclareUTFcharacter[\UTFencname]{x0435}{\cyre} % е +\DeclareUTFcharacter[\UTFencname]{x0416}{\CYRZH} % Ж +\DeclareUTFcharacter[\UTFencname]{x0436}{\cyrzh} % ж +\DeclareUTFcharacter[\UTFencname]{x0417}{\CYRZ} % З +\DeclareUTFcharacter[\UTFencname]{x0437}{\cyrz} % з +\DeclareUTFcharacter[\UTFencname]{x0418}{\CYRI} % И +\DeclareUTFcharacter[\UTFencname]{x0438}{\cyri} % и +\DeclareUTFcharacter[\UTFencname]{x0419}{\CYRISHRT} % Й +\DeclareUTFcharacter[\UTFencname]{x0439}{\cyrishrt} % й +\DeclareUTFcharacter[\UTFencname]{x041A}{\CYRK} % К +\DeclareUTFcharacter[\UTFencname]{x043A}{\cyrk} % к +\DeclareUTFcharacter[\UTFencname]{x041B}{\CYRL} % Л +\DeclareUTFcharacter[\UTFencname]{x043B}{\cyrl} % л +\DeclareUTFcharacter[\UTFencname]{x041C}{\CYRM} % М +\DeclareUTFcharacter[\UTFencname]{x043C}{\cyrm} % м +\DeclareUTFcharacter[\UTFencname]{x041D}{\CYRN} % Н +\DeclareUTFcharacter[\UTFencname]{x043D}{\cyrn} % н +\DeclareUTFcharacter[\UTFencname]{x041E}{\CYRO} % О +\DeclareUTFcharacter[\UTFencname]{x043E}{\cyro} % о +\DeclareUTFcharacter[\UTFencname]{x041F}{\CYRP} % П +\DeclareUTFcharacter[\UTFencname]{x043F}{\cyrp} % п +\DeclareUTFcharacter[\UTFencname]{x0420}{\CYRR} % Р +\DeclareUTFcharacter[\UTFencname]{x0440}{\cyrr} % р +\DeclareUTFcharacter[\UTFencname]{x0421}{\CYRS} % С +\DeclareUTFcharacter[\UTFencname]{x0441}{\cyrs} % с +\DeclareUTFcharacter[\UTFencname]{x0422}{\CYRT} % Т +\DeclareUTFcharacter[\UTFencname]{x0442}{\cyrt} % т +\DeclareUTFcharacter[\UTFencname]{x0423}{\CYRU} % У +\DeclareUTFcharacter[\UTFencname]{x0443}{\cyru} % у +\DeclareUTFcharacter[\UTFencname]{x0424}{\CYRF} % Ф +\DeclareUTFcharacter[\UTFencname]{x0444}{\cyrf} % ф +\DeclareUTFcharacter[\UTFencname]{x0425}{\CYRH} % Х +\DeclareUTFcharacter[\UTFencname]{x0445}{\cyrh} % х +\DeclareUTFcharacter[\UTFencname]{x0426}{\CYRC} % Ц +\DeclareUTFcharacter[\UTFencname]{x0446}{\cyrc} % ц +\DeclareUTFcharacter[\UTFencname]{x0427}{\CYRCH} % Ч +\DeclareUTFcharacter[\UTFencname]{x0447}{\cyrch} % ч +\DeclareUTFcharacter[\UTFencname]{x0428}{\CYRSH} % Ш +\DeclareUTFcharacter[\UTFencname]{x0448}{\cyrsh} % ш +\DeclareUTFcharacter[\UTFencname]{x0429}{\CYRSHCH} % Щ +\DeclareUTFcharacter[\UTFencname]{x0449}{\cyrshch} % щ +\DeclareUTFcharacter[\UTFencname]{x042A}{\CYRHRDSN} % Ъ +\DeclareUTFcharacter[\UTFencname]{x044A}{\cyrhrdsn} % ъ +\DeclareUTFcharacter[\UTFencname]{x042B}{\CYRERY} % Ы +\DeclareUTFcharacter[\UTFencname]{x044B}{\cyrery} % ы +\DeclareUTFcharacter[\UTFencname]{x042C}{\CYRSFTSN} % Ь +\DeclareUTFcharacter[\UTFencname]{x044C}{\cyrsftsn} % ь +\DeclareUTFcharacter[\UTFencname]{x042D}{\CYREREV} % Э +\DeclareUTFcharacter[\UTFencname]{x044D}{\cyrerev} % э +\DeclareUTFcharacter[\UTFencname]{x042E}{\CYRYU} % Ю +\DeclareUTFcharacter[\UTFencname]{x044E}{\cyryu} % ю +\DeclareUTFcharacter[\UTFencname]{x042F}{\CYRYA} % Я +\DeclareUTFcharacter[\UTFencname]{x044F}{\cyrya} % я + +%%% Part II +%%% Cyrillic letters not defined as continuous stretches, +%%% but available in common 8-bit cyrillic encodings, +%%% like cp1251 and iso-8859-5, sorted by languages +%%% they're used in for ease of checking: + +% Common to many languages: +\DeclareUTFcharacter[\UTFencname]{x0401}{\CYRYO} % Ё +\DeclareUTFcharacter[\UTFencname]{x0451}{\cyryo} % ё +% Belorussian-Uzbek: +\DeclareUTFcharacter[\UTFencname]{x040E}{\CYRUSHRT} % Ў +\DeclareUTFcharacter[\UTFencname]{x045E}{\cyrushrt} % ў +% Ukrainian-Rusyn: +\DeclareUTFcharacter[\UTFencname]{x0490}{\CYRGUP} % Ґ +\DeclareUTFcharacter[\UTFencname]{x0491}{\cyrgup} % ґ +\DeclareUTFcharacter[\UTFencname]{x0407}{\CYRII} % Ї +\DeclareUTFcharacter[\UTFencname]{x0457}{\cyrii} % ї +\DeclareUTFcharacter[\UTFencname]{x0404}{\CYRIE} % Є +\DeclareUTFcharacter[\UTFencname]{x0454}{\cyrie} % є +% Ukrainian-Belorussian-Rusyn-Kazakh: +\DeclareUTFcharacter[\UTFencname]{x0406}{\CYRYI} % І +\DeclareUTFcharacter[\UTFencname]{x0456}{\cyryi} % і +% Serbian-Macedonian-Azerbaijani: +\DeclareUTFcharacter[\UTFencname]{x0408}{\CYRJE} % Ј +\DeclareUTFcharacter[\UTFencname]{x0458}{\cyrje} % ј +% Serbian-Macedonian-Abkhaz: +\DeclareUTFcharacter[\UTFencname]{x040F}{\CYRDZHE} % Џ +\DeclareUTFcharacter[\UTFencname]{x045F}{\cyrdzhe} % џ +% Serbian-Macedonian: +\DeclareUTFcharacter[\UTFencname]{x0409}{\CYRLJE} % Љ +\DeclareUTFcharacter[\UTFencname]{x0459}{\cyrlje} % љ +\DeclareUTFcharacter[\UTFencname]{x040A}{\CYRNJE} % Њ +\DeclareUTFcharacter[\UTFencname]{x045A}{\cyrnje} % њ +% Serbian: +\DeclareUTFcharacter[\UTFencname]{x0402}{\CYRDJE} % Ђ +\DeclareUTFcharacter[\UTFencname]{x0452}{\cyrdje} % ђ +\DeclareUTFcharacter[\UTFencname]{x040B}{\CYRTSHE} % Ћ +\DeclareUTFcharacter[\UTFencname]{x045B}{\cyrtshe} % ћ +% Macedonian: +\DeclareUTFcharacter[\UTFencname]{x0405}{\CYRDZE} % Ѕ +\DeclareUTFcharacter[\UTFencname]{x0455}{\cyrdze} % ѕ +\DeclareUTFcharacter[\UTFencname]{x0403}{\CYRGJE} % Ѓ +\DeclareUTFcharacter[\UTFencname]{x0453}{\cyrgje} % ѓ +\DeclareUTFcharacter[\UTFencname]{x040C}{\CYRKJE} % Ќ +\DeclareUTFcharacter[\UTFencname]{x045C}{\cyrkje} % ќ + +%%% Part III +%%% Non-Slavic Cyrillic letters, waiting for their experts +%%% to be confirmed as correct. +%%% From here on, we're out of the frequently used 8-bit land +%%% and into mostly Unicode territory. + +% Azerbaijani-Abkhaz-Kalmyk-Kazakh-Tatar: +\DeclareUTFcharacter[\UTFencname]{x04D8}{\CYRSCHWA} % Ә +\DeclareUTFcharacter[\UTFencname]{x04D9}{\cyrschwa} % ә +% Azerbaijani-Kyrgyz-Buryat-Kazakh-Tatar: +\DeclareUTFcharacter[\UTFencname]{x04BA}{\CYRSHHA} % Һ +\DeclareUTFcharacter[\UTFencname]{x04BB}{\cyrshha} % һ +% Azerbaijani-Kyrgyz-Buryat-Kalmyk-Kazakh-Tatar: +\DeclareUTFcharacter[\UTFencname]{x04E8}{\CYROTLD} % Ө +\DeclareUTFcharacter[\UTFencname]{x04E9}{\cyrotld} % ө +\DeclareUTFcharacter[\UTFencname]{x04AE}{\CYRY} % Ү +\DeclareUTFcharacter[\UTFencname]{x04AF}{\cyry} % ү +% Azerbaijani-Tajik-Kazakh-Uzbek: +\DeclareUTFcharacter[\UTFencname]{x0492}{\CYRGHCRS} % Ғ +\DeclareUTFcharacter[\UTFencname]{x0493}{\cyrghcrs} % ғ +% Tajik-Abkhaz-Kazakh-Uzbek: +\DeclareUTFcharacter[\UTFencname]{x049A}{\CYRKDSC} % Қ +\DeclareUTFcharacter[\UTFencname]{x049B}{\cyrkdsc} % қ +% Tajik-Abkhaz-Uzbek: +\DeclareUTFcharacter[\UTFencname]{x04B2}{\CYRHDSC} % Ҳ +\DeclareUTFcharacter[\UTFencname]{x04B3}{\cyrhdsc} % ҳ +% Tajik-Abkhaz: +\DeclareUTFcharacter[\UTFencname]{x04B6}{\CYRCHRDSC} % Ҷ +\DeclareUTFcharacter[\UTFencname]{x04B7}{\cyrchrdsc} % ҷ +% Kalmyk-Kyrguz-Tatar: +\DeclareUTFcharacter[\UTFencname]{x04A2}{\CYRNDSC} % Ң +\DeclareUTFcharacter[\UTFencname]{x04A3}{\cyrndsc} % ң +% Kalmyk-Tatar: +\DeclareUTFcharacter[\UTFencname]{x0496}{\CYRZHDSC} % Җ +\DeclareUTFcharacter[\UTFencname]{x0497}{\cyrzhdsc} % җ +% Ossetian: +\DeclareUTFcharacter[\UTFencname]{x04D4}{\CYRAE} % Ӕ +\DeclareUTFcharacter[\UTFencname]{x04D5}{\cyrae} % ӕ +% Azerbaijani: +\DeclareUTFcharacter[\UTFencname]{x04B8}{\CYRCHVCRS} % Ҹ +\DeclareUTFcharacter[\UTFencname]{x04B9}{\cyrchvcrs} % ҹ +\DeclareUTFcharacter[\UTFencname]{x049C}{\CYRKVCRS} % Ҝ +\DeclareUTFcharacter[\UTFencname]{x049D}{\cyrkvcrs} % ҝ +% Kazakh: +\DeclareUTFcharacter[\UTFencname]{x04B0}{\CYRYHCRS} % Ұ +\DeclareUTFcharacter[\UTFencname]{x04B1}{\cyryhcrs} % ұ +% Abkhaz: +\DeclareUTFcharacter[\UTFencname]{x0494}{\CYRGHK} % Ҕ +\DeclareUTFcharacter[\UTFencname]{x0495}{\cyrghk} % ҕ +\DeclareUTFcharacter[\UTFencname]{x04E0}{\CYRABHDZE} % Ӡ +\DeclareUTFcharacter[\UTFencname]{x04E1}{\cyrabhdze} % ӡ +\DeclareUTFcharacter[\UTFencname]{x049E}{\CYRKHCRS} % Ҟ +\DeclareUTFcharacter[\UTFencname]{x049F}{\cyrkhcrs} % ҟ +\DeclareUTFcharacter[\UTFencname]{x04A6}{\CYRPHK} % Ҧ +\DeclareUTFcharacter[\UTFencname]{x04A7}{\cyrphk} % ҧ +\DeclareUTFcharacter[\UTFencname]{x04AC}{\CYRTDSC} % Ҭ +\DeclareUTFcharacter[\UTFencname]{x04AD}{\cyrtdsc} % ҭ +\DeclareUTFcharacter[\UTFencname]{x04B4}{\CYRTETSE} % Ҵ +\DeclareUTFcharacter[\UTFencname]{x04B5}{\cyrtetse} % ҵ +\DeclareUTFcharacter[\UTFencname]{x04BC}{\CYRABHCH} % Ҽ +\DeclareUTFcharacter[\UTFencname]{x04BD}{\cyrabhch} % ҽ +\DeclareUTFcharacter[\UTFencname]{x04BE}{\CYRABHCHDSC} % Ҿ +\DeclareUTFcharacter[\UTFencname]{x04BF}{\cyrabhchdsc} % ҿ +\DeclareUTFcharacter[\UTFencname]{x04A8}{\CYRABHHA} % Ҩ +\DeclareUTFcharacter[\UTFencname]{x04A9}{\cyrabhha} % ҩ +% Chukchi: +\DeclareUTFcharacter[\UTFencname]{x04C3}{\CYRKHK} % Ӄ +\DeclareUTFcharacter[\UTFencname]{x04C4}{\cyrkhk} % ӄ +\DeclareUTFcharacter[\UTFencname]{x04C7}{\CYRNHK} % Ӈ +\DeclareUTFcharacter[\UTFencname]{x04C8}{\cyrnhk} % ӈ + +%% P.S. Tajik and Chuvash, while mentioned, +%% have letters which are apparently missing and are NOT complete. + +%%% Part IV +%%% Historical letters, needed to support old orthographies. +\DeclareUTFcharacter[\UTFencname]{x0462}{\CYRYAT} % Ѣ +\DeclareUTFcharacter[\UTFencname]{x0463}{\cyryat} % ѣ +\DeclareUTFcharacter[\UTFencname]{x046A}{\CYRBYUS} % Ѫ +\DeclareUTFcharacter[\UTFencname]{x046B}{\cyrbyus} % ѫ +\DeclareUTFcharacter[\UTFencname]{x0474}{\CYRIZH} % Ѵ +\DeclareUTFcharacter[\UTFencname]{x0475}{\cyrizh} % ѵ +\DeclareUTFcharacter[\UTFencname]{x0472}{\CYRFITA} % Ѳ +\DeclareUTFcharacter[\UTFencname]{x0473}{\cyrfita} % ѳ + +%%% Part V +%%% UNRECOGNISED NON-SLAVIC CYRILLIC LETTERS +%%% Belong to languages not mentioned herein. + +\DeclareUTFcharacter[\UTFencname]{x04C0}{\CYRpalochka} % Ӏ +\DeclareUTFcharacter[\UTFencname]{x0498}{\CYRZDSC} % Ҙ +\DeclareUTFcharacter[\UTFencname]{x0499}{\cyrzdsc} % ҙ +\DeclareUTFcharacter[\UTFencname]{x04A0}{\CYRKBEAK} % Ҡ +\DeclareUTFcharacter[\UTFencname]{x04A1}{\cyrkbeak} % ҡ +\DeclareUTFcharacter[\UTFencname]{x04A4}{\CYRNG} % Ҥ +\DeclareUTFcharacter[\UTFencname]{x04A5}{\cyrng} % ҥ +\DeclareUTFcharacter[\UTFencname]{x04AA}{\CYRSDSC} % Ҫ +\DeclareUTFcharacter[\UTFencname]{x04AB}{\cyrsdsc} % ҫ +\DeclareUTFcharacter[\UTFencname]{x04CB}{\CYRCHLDSC} % Ӌ +\DeclareUTFcharacter[\UTFencname]{x04CC}{\cyrchldsc} % ӌ + +%% These are probably improperly named either in TeX or Unicode, +%% since their Unicode names and TeX names do not match. +%% TeX definitely treats them as the same symbol though. +\DeclareUTFcharacter[\UTFencname]{x04CD}{\CYRMDSC} % Ӎ +\DeclareUTFcharacter[\UTFencname]{x04CE}{\cyrmdsc} % ӎ +\DeclareUTFcharacter[\UTFencname]{x04C5}{\CYRLDSC} % Ӆ +\DeclareUTFcharacter[\UTFencname]{x04C6}{\cyrldsc} % ӆ + +%% These two letters are part of proposed Unicode for Kurdish +%% and their codepoints may or may not change upon inclusion. +\DeclareUTFcharacter[\UTFencname]{x051A}{\CYRQ} +\DeclareUTFcharacter[\UTFencname]{x051B}{\cyrq} +\DeclareUTFcharacter[\UTFencname]{x051C}{\CYRW} +\DeclareUTFcharacter[\UTFencname]{x051D}{\cyrw} + +%%% Part VII +%%% PUNCTUATION AND UNCLEAR CASES +%%% Exotic (punctuation, letters...) +%%% (this list is probably incomplete) + +% A dash - Defined in cyrillic.mtx to be emdash +% and should have been emdash all along. +\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash} + +% Exotic angle brackets. +% Might still be unprintable for you. +\DeclareUTFcharacter[\UTFencname]{x27E8}{\cyrlangle} +\DeclareUTFcharacter[\UTFencname]{x27E9}{\cyrrangle} + +% This particular association is not certain but I guess +% we'll hear about it when someone trips over it. +\DeclareUTFcharacter[\UTFencname]{x0510}{\CYREPS} +\DeclareUTFcharacter[\UTFencname]{x0511}{\cyreps} + +% Can't confirm those, but I'm positive the codepoints are correct: +\DeclareUTFcharacter[\UTFencname]{x04F6}{\CYRGDSC} +\DeclareUTFcharacter[\UTFencname]{x04F7}{\cyrgdsc} +\DeclareUTFcharacter[\UTFencname]{x04FC}{\CYRHHK} +\DeclareUTFcharacter[\UTFencname]{x04FD}{\cyrhhk} +\DeclareUTFcharacter[\UTFencname]{x0512}{\CYRLHK} +\DeclareUTFcharacter[\UTFencname]{x0513}{\cyrlhk} + +% I could not assign these in a way that would make sense, +% since I couldn't find matches in cyrillic unicode table. + +%\DeclareUTFcharacter[\UTFencname]{x????}{\CYRNLHK} +%\DeclareUTFcharacter[\UTFencname]{x????}{\cyrnlhk} +%\DeclareUTFcharacter[\UTFencname]{x????}{\CYRRDSC} +%\DeclareUTFcharacter[\UTFencname]{x????}{\cyrrdsc} + +% Oddities: +% I don't see a letter like that in Unicode cyrillic table. +% I've no idea what is it doing in a cyrillic encoding either. +%\DeclareUTFcharacter[\UTFencname]{x????}{\CYRDELTA} +%\DeclareUTFcharacter[\UTFencname]{x????}{\cyrdelta} + +% Quotes +% Ligatures << and >> are working only with the last versions of "tex-text.map" +% and "tex-text.tec" (http://scripts.sil.org/svn-view/xetex/TRUNK) +\DeclareUTFcharacter[\UTFencname]{x00AB}{\flqq} +\DeclareUTFcharacter[\UTFencname]{x00BB}{\frqq} +\DeclareUTFcharacter[\UTFencname]{x201E}{\glqq} +\DeclareUTFcharacter[\UTFencname]{x201C}{\grqq} + +% To make it (and "--- -like shortcuts) work, "xecyr" must be loaded _after_ babel. +\def\cyrdash{\hbox to.8em{--\hss--}} + +\endinput diff --git a/latex/scripts/doc.ist b/latex/scripts/doc.ist new file mode 100644 index 0000000..d8247e6 --- /dev/null +++ b/latex/scripts/doc.ist @@ -0,0 +1,35 @@ +%% +%% This is file `Letter.ist', +%% +%% The idea is from Ingo Kloeckl, Latex2e: +%% Herbert Voss 000726 +%% +%% This is a MAKEINDEX style file which should be used to +%% generate the formatted change history for use with the doc +%% package. The TeX commands used below are defined in +%% doc.sty. The commands for MAKEINDEX like `level' +%% `item_x1' are described in `` Makeindex, A General +%% Purpose, Formatter-Independent Index Processor'' by +%% Pehong Chen. +%% +headings_flag 1 % headings yes +heading_prefix "\\textbf{" % boldfont +heading_suffix "}\n" % newline +symhead_positive "\\_" +%% preamble +%% "\\begin{theindex}\n" +%% item_1 +%% "\\par\\leavevmode\\hangindent10pt\\makebox[10pt][l]{--}" +%% item_01 +%% "\\par\\leavevmode\\hangindent10pt\\makebox[10pt][l]{--}" +%% item_x1 +%% "\\par\\leavevmode\\hangindent10pt\\makebox[10pt][l]{--}" +%% item_2 +%% "\\par\\leavevmode\\hangindent20pt\\makebox[20pt][l]{-- -- }" +%% item_12 +%% "\\par\\leavevmode\\hangindent20pt\\makebox[20pt][l]{-- -- }" +%% item_x2 +%% "\\par\\leavevmode\\hangindent20pt\\makebox[20pt][l]{-- -- }" +%% +%% +%% End of file `Letter.ist'. diff --git a/latex/specs/db2latex.xml b/latex/specs/db2latex.xml new file mode 100644 index 0000000..0ec62eb --- /dev/null +++ b/latex/specs/db2latex.xml @@ -0,0 +1,13 @@ + + + + + + + ../contrib/db2latex// + + + + + + diff --git a/latex/specs/native.xml b/latex/specs/native.xml new file mode 100644 index 0000000..9814b79 --- /dev/null +++ b/latex/specs/native.xml @@ -0,0 +1,11 @@ + + + + + + + ..// + + + + diff --git a/latex/specs/simple.xml b/latex/specs/simple.xml new file mode 100644 index 0000000..493bd47 --- /dev/null +++ b/latex/specs/simple.xml @@ -0,0 +1,11 @@ + + + + + + + ..// + + + + diff --git a/latex/style/dbk_admonition.sty b/latex/style/dbk_admonition.sty new file mode 100644 index 0000000..afe4239 --- /dev/null +++ b/latex/style/dbk_admonition.sty @@ -0,0 +1,35 @@ +%% +%% Aper�u des notes/avertissements/astuces, etc. +%% + +\newlength{\admlength} +\newenvironment{DBKadmonition}[2] { + \begin{center} + \hspace{0mm}%\newline + \noindent + \setlength{\fboxsep}{5pt} + \setlength{\admlength}{\linewidth} + \addtolength{\admlength}{-4mm} + \sffamily + \begin{minipage}{\admlength} + \hrule + \vspace{2mm} + \ifthenelse{\equal{#1}{}}{ + \def\admgraph{false} + }{ + \def\admgraph{true} + \includegraphics[width=10mm]{#1}\hspace{1mm} + \addtolength{\admlength}{-11mm} + \begin{minipage}{\admlength} + } + \textbf{#2}% +}{ + \ifthenelse{\equal{\admgraph}{false}}{}{ + \end{minipage}\newline + } + \vspace{3mm} + \hrule + \end{minipage}\newline + \end{center} +} + diff --git a/latex/style/dbk_annot.sty b/latex/style/dbk_annot.sty new file mode 100644 index 0000000..41a2373 --- /dev/null +++ b/latex/style/dbk_annot.sty @@ -0,0 +1,113 @@ +%% +%% PDF Text Annotations to handle comments/remarks +%% +%% This code has been based on the following sources, where other variants can be +%% found too: +%% +%% * http://www.tug.org/pipermail/pdftex/2002-December/003330.html +%% * http://www.ce.cmu.edu/~kijoo/latex2pdf.pdf +%% * ConTeXt +%% +%% See also the Adobe PDF Reference directly for the syntax of the Annotation object: +%% +%% * http://partners.adobe.com/public/developer/en/pdf/PDFReference16.pdf +%% (section 8.4 Annotations) +%% +%% Example of use: \comment[width=5cm,symbol=Balloon,title={Note}]{...} +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{dbk_annot}[2006/11/19 v0.1 PDF Text Annotations] + +\@ifundefined{define@key}{\RequirePackage{keyval}}{}% + + +%% Default text annotation parameter values +\let\defaultPDFlocation\empty% +\let\defaultPDFopen\empty +\let\defaultPDFtitle\empty +\let\defaultPDFheight\baselineskip +\def\defaultPDFwidth{10cm} +\def\defaultPDFdepth{0cm} + +\def\commentdefault{% + \let\PDFsymbol\empty% + \let\PDFlocation\defaultPDFlocation% + \let\PDFtitle\defaultPDFtitle% + \let\PDFopen\defaultPDFopen% + \let\PDFwidth\defaultPDFwidth% + \let\PDFheight\defaultPDFheight% + \let\PDFdepth\defaultPDFdepth% +} + +%% Set values from key values +\def\commentsetsymbol#1{% +\expandafter\ifx\csname PDFsymbol#1\endcsname\relax% + \else\def\PDFsymbol{/Name \csname PDFsymbol#1\endcsname}\fi} + +\define@key{comment}{symbol}{\commentsetsymbol{#1}} +\define@key{comment}{width}{\def\PDFwidth{#1}} +\define@key{comment}{height}{\def\PDFheight{#1}} +\define@key{comment}{depth}{\def\PDFdepth{#1}} +\define@key{comment}{title}{\def\PDFtitle{/T (#1)}} +\define@key{comment}{location}{\def\PDFlocation{#1}} +\define@key{comment}{open}[true]{% +\ifthenelse{\equal{#1}{true}}% + {\def\PDFopen{/Open true}}% + {\let\PDFopen\empty}% +} + +%% Actions to do for default setting +\define@key{defcomment}{width}{\def\defaultPDFwidth{#1}} +\define@key{defcomment}{height}{\def\defaultPDFheight{#1}} +\define@key{defcomment}{depth}{\def\defaultPDFdepth{#1}} +\define@key{defcomment}{title}{\def\defaultPDFtitle{/T (#1)}} +\define@key{defcomment}{location}{\def\defaultPDFlocation{#1}} +\define@key{defcomment}{open}[true]{% +\ifthenelse{\equal{#1}{true}}% + {\def\defaultPDFopen{/Open true}}% + {\let\defaultPDFopen\empty}% +} + +%% Text annotation symbols +\def\PDFsymbolBalloon {/Comment} +\def\PDFsymbolHelp {/Help} +\def\PDFsymbolNew {/Insert} +\def\PDFsymbolKey {/Key } +\def\PDFsymbolAddition {/NewParagraph} +\def\PDFsymbolNote {/Note} +\def\PDFsymbolParagraph {/Paragraph} + +%% Global comment setup +\def\commentsetup#1{\setkeys{defcomment}{#1}} + +%% Insert a remark/comment as a text annotation +\def\comment{\@ifnextchar[\docomment{\docomment[]}} + +\def\docomment[#1]#2{% + \begingroup% + \commentdefault% + \setkeys{comment}{#1}% + \ifthenelse{\equal{\PDFlocation}{margin}}% + {\marginpar{\dodocomment{#2}}}% + {\dodocomment{#2}}% + \endgroup% +} + +\def\dodocomment#1{% + \pdfstringdef\@tempa{#1}% + \pdfannot width \PDFwidth height \PDFheight depth \PDFdepth{% + /Subtype /Text + /Contents (\@tempa) + \PDFtitle + \PDFopen + \PDFsymbol + }% + \let\@tempa\relax% +} + +%% Apply only when using pdflatex +\RequirePackage{ifpdf} +\ifpdf +\else + \def\docomment[#1]#2{} +\fi diff --git a/latex/style/dbk_biblio.sty b/latex/style/dbk_biblio.sty new file mode 100644 index 0000000..5a414a7 --- /dev/null +++ b/latex/style/dbk_biblio.sty @@ -0,0 +1,23 @@ +\usepackage{bibtopic} + +% btPrintAll redefined to not include a file + +\newenvironment{bibgroup}{% + \ifthenelse{\boolean{bt@inside@sect}}{% + \protected@edef\bt@curr@line{\the\inputlineno}% + \def\bt@curr@cmd{\string\btPrintAll}% + \bt@stepcnt\bt@internal@sect@cnt + \bt@print@citedfalse\bt@print@alltrue + \label{Sec:\bt@internal@sect@cnt}% + \bt@change@bibitem + }{% + \bt@sect@err{btSect}{\btPrintAll}% + }% +}{ + \ifthenelse{\boolean{bt@inside@sect}}{% + \bt@print@keyvals{\bt@sect@ref@list}% + {Sec:\bt@internal@sect@cnt}% + }{% + }% +} + diff --git a/latex/style/dbk_callout.sty b/latex/style/dbk_callout.sty new file mode 100644 index 0000000..296b3cc --- /dev/null +++ b/latex/style/dbk_callout.sty @@ -0,0 +1,88 @@ +\usepackage{overpic} + +%******************** +%* Graphic callouts * +%******************** + +% Where to put the in the graphic +\newdimen\picfactorx +\newdimen\picfactory +\newdimen\picx +\newdimen\picy + +% Evaluates the percent factors for x and y dimensions. The principle is that +% overpic gives a 100% for the biggest length (width or height). +% The coordonates given to \calspair being in percentage of the graphic +% dimension itself, the picfactors translate them to overpic percentages. +% +% Variables set by overpic: +% \@tempcnta = width +% \@tempcntb = height + +\def\picfactoreval{% + \ifnum\@tempcnta>\@tempcntb% + \picfactorx=1pt% + \picfactory=\@tempcntb pt% + \divide\picfactory by \@tempcnta% + \else% + \picfactory=1pt% + \picfactorx=\@tempcnta pt% + \divide\picfactorx by \@tempcntb% + \fi% +} + +\newcommand{\calspair}[3]{ + \sbox{\z@}{#3}% + \picx=#1\picfactorx% + \picy=#2\picfactory% + \put(\strip@pt\picx,\strip@pt\picy){\makebox(0,0){\usebox{\z@}}} +} + +%********************* +%* Verbatim callouts * +%********************* + +% Counters for cross-referencing callouts +\newcounter{cocnt} +\newcounter{colref} + +% How to represent the markup. +% Big thanks to Jean-C�me Charpentier for his help. +% +\newlength{\co@width} +\newlength{\co@height} +\newlength{\balldiam} +\newlength{\ballcentre} + +\def\conum#1{% + \sbox{\z@}{\color{white}\sffamily\bfseries\tiny#1}% + % Box sizes for any number with two digits + \sbox{\@ne}{\color{white}\sffamily\bfseries\tiny00}% + \settowidth{\co@width}{\usebox{\@ne}}% + \settoheight{\co@height}{\usebox{\@ne}}% + % Find out the biggest length, to define the circle diameter + \ifnum\co@width>\co@height + \setlength{\balldiam}{\co@width}% + \else + \setlength{\balldiam}{\co@height}% + \fi + \balldiam=1.45\balldiam + \ballcentre=0.5\balldiam + \setlength{\unitlength}{1pt}% In the case it has been changed + \begin{picture}(\strip@pt\balldiam,\strip@pt\balldiam) % + \put(\strip@pt\ballcentre,\strip@pt\ballcentre){\circle*{\strip@pt\balldiam}} + \put(\strip@pt\ballcentre,\strip@pt\ballcentre){\makebox(0,0){\usebox{\z@}}} + \end{picture}% +} + +% How to represent a embedded in a listing +\def\co#1{\refstepcounter{cocnt}\conum{#1}} + +% Make the text and the label to link to +\def\coref#1#2{\co{#1}\label{#2}} + +% Make only the label to link to +\def\colabel#1{\refstepcounter{cocnt}\label{#1}} + +% Make the label to link to +\def\collabel#1{\refstepcounter{colref}\label{#1}} diff --git a/latex/style/dbk_changebar.sty b/latex/style/dbk_changebar.sty new file mode 100644 index 0000000..51fe63b --- /dev/null +++ b/latex/style/dbk_changebar.sty @@ -0,0 +1,20 @@ + +% \usepackage[outerbars,traceon,leftbars]{changebar} +%\usepackage[traceon,leftbars]{changebar} +%\usepackage[outerbars,traceon]{changebar} +\usepackage[innerbars,traceon]{changebar} + +% La longueur modifi�e marche pour le Postscript et PDF, mais pas pour le DVI ! +% position pas mal en DVI : de 41.45172pt � 45.06544pt +\setlength{\changebarsep}{0.2in} +% \setlength{\changebarsep}{-0.86in} +% \setlength{\changebarsep}{-0.85in} +% \setlength{\changebarsep}{-1.2in} + +% On met la meme valeur que \oddsidemargin, pour que cela marche pour +% toutes les pages. +%\setlength{\evensidemargin}{2cm} +% \cb@trace@defpoint{\cb@topleft}{\hoffset} +% \cb@trace@defpoint{\cb@topleft}{\oddsidemargin} +% \cb@trace@defpoint{\cb@topleft}{\evensidemargin} +% \cb@trace@defpoint{\cb@topleft}{\changebarsep} diff --git a/latex/style/dbk_core.sty b/latex/style/dbk_core.sty new file mode 100644 index 0000000..f429b57 --- /dev/null +++ b/latex/style/dbk_core.sty @@ -0,0 +1,67 @@ +% +% Basic core definitions used for DocBook +% +\usepackage{graphicx} +\usepackage{ifthen} +\usepackage{subfigure} +\usepackage{enumitem} +\usepackage{footmisc} +\usepackage{appendix} + +% Workaround to avoid troubles with accents in \appendixname used as hyperref +% label: force the label prefix to 'appendix' whatever the lang is +\let\orgresetsapp=\@resets@pp +\let\orgrestoreapp=\restoreapp +\let\restoreapp\relax +\def\@resets@pp{% + \orgresetsapp + \if@pphyper + \def\Hy@chapapp{appendix}% + \fi + \orgrestoreapp +} + +% +% These parameters must be defined +% +\newcommand{\DBKreference}{} % mapped to +\newcommand{\DBKsite}{} % mapped to +\newcommand{\DBKdate}{\today} % mapped to +\newcommand{\DBKreleaseinfo}{Working Paper} % mapped to +\newcommand{\DBKedition}{} % mapped to +\newcommand{\DBKsubtitle}{} % mapped to +\newcommand{\DBKpubdate}{} % mapped to +\newcommand{\DBKcopyright}{} % mapped to +\newcommand{\DBKlegalblock}{} % mapped to stuff +\newcommand{\DBKlegaltitle}{} % idem + +% Main latex command. It will be redefined by the XSL stylesheets. +\newcommand{\DBKindexation}{} + +% Watermark command +\def\showwatermark#1{} + +% Front/main/back matter macros +\@ifundefined{frontmatter}{ \let\frontmatter\relax }{} +\@ifundefined{mainmatter}{ \let\mainmatter\relax }{} +\@ifundefined{backmatter}{ \let\backmatter\relax }{} + + +% +% Main latex command. It will be redefined by the XSL stylesheets. +% +\newcommand{\DBKrevhistory}{} + +\usepackage{dbk_fonts} +\usepackage{dbk_hyper} +\usepackage{dbk_biblio} +\usepackage{dbk_table} +\usepackage{dbk_graphic} +\usepackage{dbk_cover} +\usepackage{dbk_verbatim} +\usepackage{dbk_misc} +\usepackage{dbk_callout} +\usepackage{dbk_locale} +\usepackage{dbk_annot} +% Beware with changebar and AtEndDocument! +\usepackage{dbk_changebar} diff --git a/latex/style/dbk_cover.sty b/latex/style/dbk_cover.sty new file mode 100644 index 0000000..40f0f50 --- /dev/null +++ b/latex/style/dbk_cover.sty @@ -0,0 +1,30 @@ +%% +%% To make a cover page, put an image covering the whole page +%% +\newdimen\cover@voff +\newdimen\cover@hoff + +\def\putoncover#1{% + \newpage\thispagestyle{empty}% + \sbox{\z@}{#1}% + % Compute the top left position of the page from current location + \setlength{\cover@voff}{-\voffset-\headheight-\headsep-\topmargin-\topskip-1in}% + \setlength{\cover@hoff}{\hoffset+1in}% + \ifodd\c@page% + \advance\cover@hoff\oddsidemargin% + \else% + \advance\cover@hoff\evensidemargin% + \fi% + \setlength{\unitlength}{1pt}% In the case it has been changed + \noindent\begin{picture}(0,0)(\strip@pt\cover@hoff,\strip@pt\cover@voff) + \put(0,-\strip@pt\paperheight){% + \makebox(\strip@pt\paperwidth,\strip@pt\paperheight){\usebox{\z@}}} + \end{picture}% +} + +\def\putcovergraphic#1{% + \putoncover{\includegraphics[width=\paperwidth, + height=\paperheight, + keepaspectratio=true]{#1}}% +} + diff --git a/latex/style/dbk_fonts.sty b/latex/style/dbk_fonts.sty new file mode 100644 index 0000000..b3f82b7 --- /dev/null +++ b/latex/style/dbk_fonts.sty @@ -0,0 +1,109 @@ + +\ifxetex +% to have the \text macro +\usepackage{amstext} +% to have the align environment +\usepackage{amsmath} + +\def\sf@sfdefault{sf} +\def\sf@rmdefault{rm} +\def\sf@ttdefault{tt} + +\def\savefont{% + %\bgroup% + \expandafter\edef\expandafter\sf@series\expandafter{\f@series}% + \expandafter\edef\expandafter\sf@shape\expandafter{\f@shape}% + %\sf@series + \ifx\f@family\sfdefault + \let\sf@family\sf@sfdefault + \else\ifx\f@family\rmdefault + \let\sf@family\sf@rmdefault + \else\ifx\f@family\ttdefault + \let\sf@family\sf@ttdefault + \else + \ifthenelse{\equal{\f@family}{\ttdefault}}{ + \let\sf@family\sf@ttdefault }{ \let\sf@family\relax } + \fi\fi\fi% + %\egroup% +} +\def\restorefont{% + %\bgroup% + \def\f@series{\sf@series}% + \def\f@shape{\sf@shape}% + \ifx\sf@family\sf@sfdefault + \sffamily + \else\ifx\sf@family\sf@rmdefault + \rmfamily + \else\ifx\sf@family\sf@ttdefault + \ttfamily + \fi\fi\fi% + \selectfont% + %\egroup% +} + +\def\savefamily{% + \ifx\f@family\sfdefault + \let\sf@family\sf@sfdefault + \else\ifx\f@family\rmdefault + \let\sf@family\sf@rmdefault + \else\ifx\f@family\ttdefault + \let\sf@family\sf@ttdefault + \else + \ifthenelse{\equal{\f@family}{\ttdefault}}{ + \let\sf@family\sf@ttdefault}{\let\sf@family\relax} + \fi\fi\fi% +} +\def\loadfamily{% + \ifx\sf@family\sf@sfdefault + \sffamily + \else\ifx\sf@family\sf@rmdefault + \rmfamily + \else\ifx\sf@family\sf@ttdefault + \ttfamily + \else + \rmfamily + \fi\fi\fi% + \selectfont% +} + +% Copy the fontspec macro, but don't switch to normal font +\newcommand*\switchmainfont[2][]{% + \zf@fontspec{#1}{#2}% + \let\rmdefault\zf@family + \selectfont} +\newcommand*\switchsansfont[2][]{% + \zf@fontspec{#1}{#2}% + \let\sfdefault\zf@family + \selectfont} +\newcommand*\switchmonofont[2][]{% + \zf@fontspec{#1}{#2}% + \let\ttdefault\zf@family + \selectfont} + +\else + +% Math Support +\usepackage{mathrsfs} +\usepackage{amsmath} +\usepackage{amssymb} + +% Use PostScript fonts +% +% Since mathptmx is included the following symbols are saved to prevent +% from a clash, even if the symbols actually appear as black boxes... +% +\let\stdcoprod=\coprod +\let\stdamalg=\amalg +\let\stdjmath=\jmath +\usepackage{mathptmx} +\let\coprod=\stdcoprod +\let\amalg=\stdamalg +\let\jmath=\stdjmath +\usepackage[scaled=.90]{helvet} +\usepackage{courier} + +% More characters +\usepackage{pifont} +\usepackage{textcomp} + +\fi diff --git a/latex/style/dbk_graphic.sty b/latex/style/dbk_graphic.sty new file mode 100644 index 0000000..a884623 --- /dev/null +++ b/latex/style/dbk_graphic.sty @@ -0,0 +1,50 @@ +% +% Check if the image file (#1) exists. If so, it switches to #2, else to #3 +% It assumes that the graphics package \Gin@extensions macro is defined. +% +\long\def\imgexists#1#2#3{% + \begingroup% + \let\img@file\relax% + \filename@parse{#1}% + \ifx\filename@ext\relax% + \@for\Gin@temp:=\Gin@extensions\do{% + \ifx\img@file\relax% + \IfFileExists{#1\Gin@temp}{\def\img@file{#1}}{}% + \fi}% + \else + \IfFileExists{#1}{\def\img@file{#1}}{}% + \fi% + \ifx\img@file\relax#3\else#2\fi% + \endgroup% +} + +% +% The image keeps its natural size if lower than the max boundaries +% Now it's fully based on internal graphics macros +% +% Macros defining the maximum lengths +\def\imgmaxwidth{\textwidth} +\def\imgmaxheight{\textheight} + +% Real image sizes +\def\imgrwidth{\Gin@nat@width} +\def\imgrheight{\Gin@nat@height} +\def\imgevalsize#1{}% + +% Use the maximum possible size +\def\imgwidth{% + \ifdim\Gin@nat@width>\imgmaxwidth + \imgmaxwidth + \else + \Gin@nat@width + \fi +} + +\def\imgheight{% + \ifdim\Gin@nat@height>\imgmaxheight + \imgmaxheight + \else + \Gin@nat@height + \fi +} + diff --git a/latex/style/dbk_headfoot.sty b/latex/style/dbk_headfoot.sty new file mode 100644 index 0000000..20938b8 --- /dev/null +++ b/latex/style/dbk_headfoot.sty @@ -0,0 +1,44 @@ +% ############################################################################## +% ### Header and Footer Page +% ############################################################################## + +\pagestyle{fancyplain} +\renewcommand{\headrulewidth}{0.5pt} +\renewcommand{\footrulewidth}{0.5pt} +\renewcommand{\plainheadrulewidth}{0.5pt} +\renewcommand{\plainfootrulewidth}{0.5pt} +\setcounter{page}{1} + +\def\releasebox{% + \ifthenelse{\equal{\DBKreleaseinfo}{}}{}% + {\framebox{\textsc{\textsf{\DBKreleaseinfo}}}}% +} + +% Define front/main/back matter if not available +\@ifundefined{frontmatter}{ + \def\frontmatter{\cleardoublepage\pagenumbering{roman} + \lhead[]{\DBKtitle} + \chead[]{\releasebox} + \rhead[]{\textsf{\thepage{}}}} +}{} +\@ifundefined{mainmatter}{ + \def\mainmatter{\cleardoublepage\pagenumbering{arabic} + \lhead[]{\DBKtitle} + \chead[]{\releasebox} + \rhead[]{\textsf{\thepage{} / \getpagerefnumber{LastPage}}}} +}{} +\@ifundefined{backmatter}{ + \def\backmatter{\if@openright\cleardoublepage\else\clearpage\fi} +}{} + + +% Fancy header/footer for the first page + +\lfoot[]{\@ifundefined{DBKpublisher}{}{\DBKpublisher}} +\rfoot[]{} +\cfoot[]{} + +% Fancy header/footer for the front matter + +% Fancy header/footer for the doc body + diff --git a/latex/style/dbk_hyper.sty b/latex/style/dbk_hyper.sty new file mode 100644 index 0000000..2b4d163 --- /dev/null +++ b/latex/style/dbk_hyper.sty @@ -0,0 +1,34 @@ +% +% If hyperlink, load the hyperref package and set the \hyperlabel command needed +% by the DocBook stylesheets +% +\@ifundefined{DBKhyperlink}{ \def\DBKhyperlink{no} }{} + +\usepackage{ifpdf} + +\ifthenelse{\equal{\DBKhyperlink}{yes}}{ + \@ifundefined{hyperparam}{ + \def\hyperparam{linktocpage,colorlinks,citecolor=blue,pdfstartview=FitH} + }{} + \@ifundefined{hyperparamadd}{ + \def\hyperparamadd{} + }{} + \ifpdf + \usepackage[pdftex,plainpages=false,\hyperparam,\hyperparamadd]{hyperref} + \usepackage{bookmark} + \def\hyperlabel#1{\hypertarget{#1}{}} + \else\ifxetex + \usepackage[xetex,plainpages=false,\hyperparam,\hyperparamadd]{hyperref} + \usepackage{bookmark} + \def\hyperlabel#1{\hypertarget{#1}{}} + \else + \usepackage[dvips,plainpages=false,\hyperparam,\hyperparamadd]{hyperref} + \usepackage{bookmark} + \def\hyperlabel#1{\Hy@raisedlink{\hyper@anchorstart{#1}\hyper@anchorend}} + \fi\fi +}{ + \usepackage{hyperref} + \usepackage{bookmark} + \def\hyperlabel#1{} +} + diff --git a/latex/style/dbk_item.sty b/latex/style/dbk_item.sty new file mode 100644 index 0000000..6dbd1eb --- /dev/null +++ b/latex/style/dbk_item.sty @@ -0,0 +1,8 @@ +% +% This package can handle @continuation, @spacing, and @numeration. +% +\usepackage{enumitem} + +% No extra indentation +\setitemize{leftmargin=*} + diff --git a/latex/style/dbk_locale.sty b/latex/style/dbk_locale.sty new file mode 100644 index 0000000..04f94c3 --- /dev/null +++ b/latex/style/dbk_locale.sty @@ -0,0 +1,291 @@ +%% +%% Locale for some float labels and articleinfo/bookinfo stuff +%% + +\long\def\dolangsetup#1#2{% + \expandafter\def\csname setup@lang@#1\endcsname{#2}% +} + +\def\dosetuplang#1{% + \csname setup@lang@#1\endcsname% +} + +%% Internal interface +\long\def\langsetupdbk#1#2{ \dolangsetup{dbk@#1}{#2} } +\def\setuplocale#1{ \dosetuplang{dbk@#1} } + +%% User Babel setup hooks +\long\def\babelsetup#1#2{ \dolangsetup{bab@#1}{#2} } +\def\setupbabel#1{ \globalbabelsetup\dosetuplang{bab@#1} } + +%% Setup common to all babel languages +\def\globalbabelsetup{ + % Cannot remove those messy "x shorthands for every language (e.g. not in + % french) + % \AtBeginDocument{\shorthandoff{"}} +} + +%% Define the locale setups in docbook +\langsetupdbk{de}{ + \def\refname{Referenzen}% + \def\abstractname{Zusammenfassung}% + \def\bibname{Bibliographie}% + \def\prefacename{Vorwort}% + \def\chaptername{Kapitel}% + \def\appendixname{Anhang}% + \def\contentsname{Inhaltsverzeichnis}% + \def\listfigurename{Abbildungsverzeichnis}% + \def\listtablename{Tabellenverzeichnis}% + \def\indexname{Index}% + \def\figurename{{\scshape Abbildung }}% + \def\tablename{{\scshape Tabelle }}% + + \def\dbequationname{Gleichung} + \def\examplename{Beispiel} + \def\ondate{am} + \renewcommand{\DBKreleaseinfo}{Arbeitspapier} + \def\writtenby{VERFASST DURCH} + \def\projname{PROJEKT} + \def\titlename{TITEL} + \def\DBKrefname{REFERENZ} + \def\DBKindname{NAME} + \def\DBKindtitle{MITWIRKENDE} + \def\DBKrevtitle{VERSIONSGESCHICHTE} + \def\DBKrevdesc{BESCHREIBUNG} + \def\DBKrevnumber{NUMMER} + \def\DBKrevname{NAME} + \def\DBKrevdate{DATUM} + \def\DBKcontrib{AKTION} + \def\DBKsignature{UNTERSCHRIFT} +} +\langsetupdbk{fr}{ + \def\refname{R\'ef\'erences}% + \def\abstractname{R\'esum\'e}% + \def\bibname{Bibliographie}% + \def\prefacename{Pr\'eface}% + \def\chaptername{Chapitre}% + \def\appendixname{Annexe}% + \def\contentsname{Table des mati\`eres}% + \def\listfigurename{Liste des figures}% + \def\listtablename{Liste des tableaux}% + \def\indexname{Index}% + \def\figurename{{\scshape Figure }}% + \def\tablename{{\scshape Tableau }}% + + \def\dbequationname{\'Equation} + \def\examplename{Exemple} + \def\ondate{le} + \renewcommand{\DBKreleaseinfo}{Document de Travail} + \def\projname{PROJET} + \def\titlename{TITRE} + \def\writtenby{R\'EDIG\'E PAR} + \def\DBKrefname{R\'EFERENCE} + \def\DBKindname{NOM} + \def\DBKindtitle{INDEXATION DU DOCUMENT} + \def\DBKrevtitle{SUIVI DU DOCUMENT} + \def\DBKrevdesc{MODIFICATIONS} + \def\DBKrevnumber{INDICE} + \def\DBKrevname{NOM} + \def\DBKrevdate{DATE} + \def\DBKcontrib{ACTION} + \def\DBKsignature{SIGNATURE} +} +\langsetupdbk{nl}{ + \def\refname{Referenties}% + \def\abstractname{Samenvatting}% + \def\bibname{Bibliografie}% + \def\prefacename{Voorwoord}% + \def\chaptername{Hoofdstuk}% + \def\appendixname{Appendix}% + \def\contentsname{Inhoudstafel}% + \def\listfigurename{Lijst van figuren}% + \def\listtablename{Lijst van tabellen}% + \def\indexname{Index}% + \def\figurename{{\scshape Figuur }}% + \def\tablename{{\scshape Tabel }}% + + \def\dbequationname{Vergelijking} + \def\examplename{Voorbeeld} + \def\ondate{} + \renewcommand{\DBKreleaseinfo}{Werkdocument} + \def\writtenby{GESCHREVEN DOOR} + \def\projname{PROJECT} + \def\titlename{TITEL} + \def\DBKindname{NAAM} + \def\DBKindtitle{MEDEWERKERS} + \def\DBKrevtitle{HERZIENINGEN} + \def\DBKrevdesc{BESCHRIJVING} + \def\DBKrevnumber{NUMMER} + \def\DBKrevname{NAAM} + \def\DBKrevdate{DATUM} + \def\DBKcontrib{ACTIE} + \def\DBKsignature{Handtekening} +} +\langsetupdbk{es}{ + \def\refname{Referencia}% + \def\abstractname{Resumen}% + \def\bibname{Bibliograf\'ia}% + \def\prefacename{Prefacio}% + \def\chaptername{Cap\'itulo}% + \def\appendixname{Ap\'endice}% + \def\contentsname{\'Indice de contenido}% + \def\listfigurename{\'Indice de ilustraciones}% + \def\listtablename{\'Indice de tablas}% + \def\indexname{\'Indice de palabras clave}% + \def\figurename{{\scshape Ilustraci\'on }}% + \def\tablename{{\scshape Tabla }}% + + \def\dbequationname{Ecuaci\'on} + \def\examplename{Ejemplo} + \def\ondate{} + \renewcommand{\DBKreleaseinfo}{Documento de trabajo} + \def\writtenby{ESCRITO POR} + \def\projname{PROYECTO} + \def\titlename{T\'ITULO} + \def\DBKindname{NOMBRE} + \def\DBKindtitle{COLABORADORES} + \def\DBKrevtitle{HISTORIAL DE REVISIONES} + \def\DBKrevdesc{MODIFICACIONES} + \def\DBKrevnumber{N\'UMERO} + \def\DBKrevname{NOMBRE} + \def\DBKrevdate{FECHA} + \def\DBKcontrib{ACCI\'ON} + \def\DBKsignature{FIRMA} +} +% Last-Translator: Giuseppe Sacco +% Translation-Team: Italian translation project +% Translation-Date: 2007-07-25 +\langsetupdbk{it}{ + \def\refname{Nome}% + \def\abstractname{Introduzione}% + \def\bibname{Bibliografia}% + \def\prefacename{Prefazione}% + \def\chaptername{Capitolo}% + \def\appendixname{Appendice}% + \def\contentsname{Sommario}% + \def\listfigurename{Indice delle figure}% + \def\listtablename{Indice delle tavole}% + \def\indexname{Indice}% + \def\figurename{{\scshape Figura }}% + \def\tablename{{\scshape Tavola }}% + + \def\dbequationname{Equazione} + \def\examplename{Esempio} + \def\ondate{l\`i} + \renewcommand{\DBKreleaseinfo}{Documento di lavoro} + \def\writtenby{A CURA DI} + \def\projname{PROGETTO} + \def\titlename{TITOLO} + \def\DBKindname{NOME} + \def\DBKindtitle{COLLABORATORI} + \def\DBKrevtitle{CRONOLOGIA DELLE REVISIONI} + \def\DBKrevdesc{DESCRIZIONE} + \def\DBKrevnumber{POSIZIONE} + \def\DBKrevname{NOME} + \def\DBKrevdate{DATA} + \def\DBKcontrib{AZIONE} + \def\DBKsignature{FIRMA} +} +\langsetupdbk{en}{ + \def\examplename{Example} + \def\dbequationname{Equation} + \def\ondate{on} + \renewcommand{\DBKreleaseinfo}{Working Paper} + \def\writtenby{WRITTEN BY} + \def\projname{PROJECT} + \def\titlename{TITLE} + \def\DBKrefname{REFERENCE} + \def\DBKindname{NAME} + \def\DBKindtitle{COLLABORATORS} + \def\DBKrevtitle{REVISION HISTORY} + \def\DBKrevdesc{DESCRIPTION} + \def\DBKrevnumber{NUMBER} + \def\DBKrevname{NAME} + \def\DBKrevdate{DATE} + \def\DBKcontrib{ACTION} + \def\DBKsignature{SIGNATURE} +} +\langsetupdbk{ko}{ +% \usepackage{hfont} + \ifxetex + \newenvironment{CJK}[3][]{}{} + \else + \hypersetup{unicode} + \usepackage{CJKutf8} + \fi +} +\langsetupdbk{zh}{ + \ifxetex + \newenvironment{CJK}[3][]{}{} + \else + \hypersetup{unicode} + \usepackage{CJKutf8} + \usepackage{pinyin} + \fi +} +\langsetupdbk{ja}{ + \ifxetex + \newenvironment{CJK}[3][]{}{} + \else + \hypersetup{unicode} + \usepackage{CJKutf8} + \fi +} + +%% Define the babel setups in docbook +\babelsetup{cs}{% + % Shorthand breaks longtable stops + \AtBeginDocument{\shorthandoff{-}} +} + +\babelsetup{fr}{% + \ifxetex + % \NoAutoSpaceBeforeFDP does not seem to work when used with XeTeX + % Take into account the frenchb version in the setup (< v2.5) + \AtBeginDocument{\@ifundefined{NoAutoSpacing}{% + \shorthandoff{:;!?}}{\NoAutoSpacing}} + \fi + \NoAutoSpaceBeforeFDP + % Avoid mess between enumitem and french redefinition + \@ifundefined{ifFrenchItemizeSpacing}{}{\FrenchItemizeSpacingfalse} + % The same, for recent frenchb release (v2.3) + \@ifundefined{frenchbsetup}{}{\frenchbsetup{CompactItemize=false}} +} + +\babelsetup{es}{% + % Avoid enumitem to crash with spanish babel + \let\savees@listquot\es@listquot + \def\es@listquot{\protect\savees@listquot} + + % Remove those horrible and messy "x shorthands + \renewcommand\shorthandsspanish{} +} + +\babelsetup{de}{% + % Remove those messy "x shorthands + % \languageshorthands{none} does not work for lot/lof files + \AtBeginDocument{\shorthandoff{"}} +} + +\babelsetup{ru}{% + % XeTeX works with russian babel only if xecyr is provided + \ifxetex\usepackage{xecyr}\fi + \AtBeginDocument{\shorthandoff{"}} +} + +\babelsetup{sk}{% + % Shorthand breaks longtable stops + \AtBeginDocument{\shorthandoff{-}} +} + +\babelsetup{uk}{% + % XeTeX works with ukrainian babel only if xecyr is provided + \ifxetex\usepackage{xecyr}\fi +} + +\babelsetup{nn}{\AtBeginDocument{\shorthandoff{"}}} +\babelsetup{nb}{\AtBeginDocument{\shorthandoff{"}}} + +%% Apply default locale setup +\setuplocale{en} + diff --git a/latex/style/dbk_misc.sty b/latex/style/dbk_misc.sty new file mode 100644 index 0000000..1090e02 --- /dev/null +++ b/latex/style/dbk_misc.sty @@ -0,0 +1,162 @@ +% +% dblatex - Contains miscellaneous latex macros +% +% + +%% +%% Redefine the `float' behaviour so that it can split over pages. +%% Actually there's nothing floating anymore, but the float style is preserved. +%% The XSLT templates must be redefined to call this macro instead. +%% - #1: float name +%% - #2: caption material (including the \caption macro call) +%% +%% It assumes that floats are created with \newfloat and it +%% uses some internal macros of float.sty to emulate the same environment. +%% It is compatible with \caption redefined by caption.sty. +%% +\newenvironment{longfloat}[2]{ + \@nameuse{fst@#1}% + \def\@captype{#1}\setbox\@floatcapt=\vbox{}% + \def\@capcontent{#2} % caption material + \vspace{2\parskip}\pagebreak[3] + \@parboxrestore% + \@fs@pre\@fs@iftopcapt% + \@capcontent% + \ifvoid\@floatcapt\else\unvbox\@floatcapt\par\@fs@mid\fi% + \else\fi% +}{ + \@fs@iftopcapt\else% + \@capcontent% + \ifvoid\@floatcapt\else\par\@fs@mid\unvbox\@floatcapt\fi + \fi\par\@fs@post\vskip\z@% + \vspace{2mm} +} + + +%% +%% New listing environment based upon the fancyvrb environment. Its role +%% is to handle the specific `scale' option. +%% +%% Author: Jean-Côme Charpentier. +%% +\RequirePackage{fancyvrb} +\lstset{fancyvrb=true} + +\newbox\lstbox +\newlength{\lstwidthw} + + +%%% New listing option to scale the listing to fit the page width +\lst@Key{scale}{true}[t]{\lstKV@SetIf{#1}\lst@ifscale} + +%%% Remember the original fancyvrb macro to handle options +\let\FV@UseKeyValuesOrig\FV@UseKeyValues + +\def\code{\FV@Environment{}{lstcode}} +\def\FVB@lstcode{% + % Just dump the listing into a file, skip the options used later + \let\FV@UseKeyValues\relax + \FVB@VerbatimOut{lst.tmp}} + +\def\FVE@lstcode{% + \FVE@VerbatimOut + \let\FV@UseKeyValues\FV@UseKeyValuesOrig + % Now, apply the passed options + \expandafter\lstset\expandafter{\FV@KeyValues} + % Is there any scaling required? + \lst@ifscale + \lst@ifbreaklines + \lstwidthw=\lst@linewidth + \else + % Force the style to perform a valid fontsize scaling + \lstset{basicstyle=\ttfamily} + \begin{lrbox}{\lstbox} + \lstinputlisting{lst.tmp}% + \end{lrbox} + \settowidth{\lstwidthw}{\usebox{\lstbox}} + \fi + \ifdim\lstwidthw>\linewidth + % Compute real width with basic font to perform consistent scaling + \lst@ifbreaklines + \setlength{\lstwidthw}{\lstwidthw*% + \ratio{\lstcharwidthb}{\lstcharwidth}} + \fi + \lstset{basicstyle=\ttfamily} + \typeout{Listing width <\the\lstwidthw> scaled to fit in <\the\linewidth>} + % Compute the width ratio + \edef\r@tio{\the\numexpr \linewidth/(\lstwidthw/1000)-1}% + \begingroup + \@tempdima\f@size pt + \typeout{\the\@tempdima} + \@tempdima 0.\r@tio\@tempdima + \typeout{\the\@tempdima} + % interlignage = 1.2 x font size + \@tempdimb 1.2\@tempdima + % Redefine the fontsize to apply + \fontsize{\@tempdima}{\@tempdimb}% + % Print out the listing with this new size + \lstinputlisting[linewidth=\linewidth]{lst.tmp}% + \endgroup + \else + % The listing fits in the available width, do nothing special + \lstinputlisting{lst.tmp}% + \fi + \else + % No scaling, do as usual + \lstinputlisting{lst.tmp} + \fi + %\strut +} +\DefineVerbatimEnvironment{lstcode}{lstcode}{} + +% Redefine \lst@DeInit to disable page break after the listing +\def\lst@DeInit{% + \lst@XPrintToken + \lst@EOLUpdate + \global\advance\lst@newlines\m@ne + \lst@ifshowlines + \lst@DoNewLines + \else + \setbox\@tempboxa\vbox{\lst@DoNewLines}% + \fi + \lst@ifdisplaystyle + \par\nobreak + \removelastskip + \fi + \lsthk@ExitVars + \everypar{}% + \lsthk@DeInit + \normalbaselines + \normalcolor + \lst@MakeCaption b% + \lst@ifbox + \egroup + $% + \hss + \egroup + \vrule\@width\lst@maxwidth\@height\z@\@depth\z@ + \else + \lst@ifdisplaystyle + \@tempdima\lst@belowskip + \ifdim\@tempdima<\z@ + \par\nobreak + \vspace{-\@tempdima}% + \else + \par\penalty-50 + \vspace\lst@belowskip + \fi + \fi + \fi + \ifx\lst@multicols\@empty\else + \def\lst@next{\global\let\@checkend\@gobble + \endmulticols + \global\let\@checkend\lst@@checkend + }% + \expandafter\lst@next + \fi + \ifx\lst@float\relax\else + \expandafter\lst@endfloat + \fi + \endgroup +} %$ + diff --git a/latex/style/dbk_revision.sty b/latex/style/dbk_revision.sty new file mode 100644 index 0000000..0b61e21 --- /dev/null +++ b/latex/style/dbk_revision.sty @@ -0,0 +1,107 @@ +%% +%% Index table definitions +%% + +\usepackage{longtable} + +% Index table row +\def\DBKinditem#1#2{ + & & & & \tabularnewline + #1 & #2 & \DBKdate & & \ \tabularnewline + & & & & \tabularnewline + \hline +} + +\def\referencetitle{ + \ifthenelse{\equal{\DBKreference}{}}% + {}{\emph{\DBKrefname} :}} + +% Index table environment +\newenvironment{DBKindtable}{ +\begin{center} +\begin{tabular}{ |>{\centering}p{3cm} |>{\centering}p{3cm} |>{\centering}p{3.5cm} + |>{\centering}p{3cm} >{\centering}p{3cm} | } + \hline + \multicolumn{5}{|c|}{\textbf{\DBKindtitle}} \tabularnewline + \hline + \multicolumn{5}{c}{\ } \tabularnewline + \hline + \multicolumn{1}{|l|}{} & \multicolumn{2}{l|}{\emph{\titlename} :} + & \multicolumn{2}{l|}{\referencetitle}\tabularnewline + & \multicolumn{2}{l|}{} & \multicolumn{2}{l|}{} \tabularnewline + \multicolumn{1}{|p{3cm}|}{} & \multicolumn{2}{p{6.5cm}|}{\DBKtitle} + & \multicolumn{2}{p{3cm}|}{\DBKreference}\tabularnewline + \hline + \hline + & & & & \tabularnewline + \emph{\DBKcontrib} & \emph{\DBKindname} & \emph{\DBKrevdate} & \multicolumn{2}{c|}{\emph{\DBKsignature}} + \tabularnewline + & & & & \tabularnewline + \hline +}{ +\end{tabular} +\end{center} +} + +%% +%% Revision history table and rows +%% + +\def\DBKrevitem#1#2#3#4{ + & & & \tabularnewline + #1 & #2 & #3 & #4 \tabularnewline + & & & \tabularnewline + \hline +} + +\newenvironment{DBKrevtable}{ + \begin{center} + \savetablecounter % + \begin{longtable}{ |>{\centering}p{3cm} |>{\centering}p{3cm} |> + {\raggedright}p{6.9cm} |>{\centering}p{3cm} | } + \hline + %% Domitete + \multicolumn{4}{|c|}{\textbf{\DBKrevtitle}} \tabularnewline + \hline + + %% Table Titles + \multicolumn{4}{c}{\ } \tabularnewline + \hline + \multicolumn{1}{|c|}{\DBKrevnumber}& \multicolumn{1}{c|}{\DBKrevdate} & + \multicolumn{1}{c|}{\DBKrevdesc} & \multicolumn{1}{c|}{\DBKrevname} + \tabularnewline + \hline + \endhead +}{ + \end{longtable} + \restoretablecounter % + \end{center} +} + +%% ***************** +%% *** Domitete +%% ***************** + +% Default history table +\def\DBKrevhistory{ + \begin{DBKrevtable} + \DBKrevitem{}{}{}{} + \end{DBKrevtable} +} + +% Default credits table +\def\DBKindexation{ + \begin{DBKindtable} + \DBKinditem{\writtenby}{\DBKauthor} + \end{DBKindtable} +} + +% Whole bookinfo tables +\def\DBKdomitete{ + \begin{sffamily} + \DBKindexation + \vspace{1cm} + \DBKrevhistory + \end{sffamily} +} + diff --git a/latex/style/dbk_table.sty b/latex/style/dbk_table.sty new file mode 100644 index 0000000..c36abe7 --- /dev/null +++ b/latex/style/dbk_table.sty @@ -0,0 +1,42 @@ +%% +%% Manages the tables. +%% +%% The package is provided to: +%% - fix or workaround some bugs, +%% - define some specific dimensions, +%% - workaround annoying longtable things about table counter. + +\usepackage{longtable} +\usepackage{lscape} +\usepackage{colortbl} +\usepackage{calc} +\usepackage{hhline} + +% Multirow changed, used by newtbl +\usepackage{multirow2} + +% Temporary latex/3797 bug fix (colortbl) by Morten Hoegholm +\expandafter\renewcommand\expandafter\multicolumn + \expandafter[\expandafter3\expandafter]\expandafter{% + \multicolumn{#1}{#2}{#3}} + +% For the newtbl code +\newdimen\newtblstarfactor% +\newdimen\newtblsparewidth% +\newdimen\newtblcolwidth% +\newdimen\tablewidth% + +% Avoid table counter mess with (informal) longtable +% but leave other counters working in longtable like ordered lists +% (thanks to Yung-ching Hsiao patch) +\let\stdrefstepcounter\refstepcounter% +\def\emptyrefstepcounter#1{\begingroup% + \def\a{table}\def\b{#1}\ifx\a\b\relax\else\stdrefstepcounter{#1}\fi + \endgroup} +\def\savetablecounter{% + \let\refstepcounter\emptyrefstepcounter% +} +\def\restoretablecounter{% + \let\refstepcounter\stdrefstepcounter% +} + diff --git a/latex/style/dbk_title.sty b/latex/style/dbk_title.sty new file mode 100644 index 0000000..3912089 --- /dev/null +++ b/latex/style/dbk_title.sty @@ -0,0 +1,40 @@ +% ****************************************************************************** +% *** Cover Page +% ****************************************************************************** + +\newlength{\oldbaselineskip} + +\def\DBKcover{ +\ifthenelse{\equal{\DBKedition}{}}{\def\edhead{}}{\def\edhead{Ed. \DBKedition}} + +% interligne double +\setlength{\oldbaselineskip}{\baselineskip} +\setlength{\baselineskip}{2\oldbaselineskip} +\textsf{ +\vfill +\vspace{2.5cm} +\begin{center} + \huge{\textbf{\DBKtitle}}\\ % + \ifx\DBKsubtitle\relax\else% + \underline{\ \ \ \ \ \ \ \ \ \ \ }\\ % + \ \\ % + \huge{\textbf{\DBKsubtitle}}\\ % + \fi +\end{center} +\vfill +\setlength{\baselineskip}{\oldbaselineskip} +\hspace{1cm} +\vspace{1cm} +\begin{center} +\begin{tabular}{p{7cm} p{7cm}} +\Large{\DBKreference{} \edhead} & \\ +\end{tabular} +\end{center} +} + +% Format for the other pages +\newpage +\setlength{\baselineskip}{\oldbaselineskip} +\lfoot[]{} +} + diff --git a/latex/style/dbk_verbatim.sty b/latex/style/dbk_verbatim.sty new file mode 100644 index 0000000..8b54927 --- /dev/null +++ b/latex/style/dbk_verbatim.sty @@ -0,0 +1,68 @@ + +\usepackage{listings} +\usepackage{color} + +\definecolor{hellgelb}{rgb}{1,1,0.9} +\definecolor{colKeys}{rgb}{0,0,1} +\definecolor{colIdentifier}{rgb}{0,0,0} +\definecolor{colComments}{rgb}{1,0,0} +\definecolor{colString}{rgb}{0,0.5,0} + +% Symbol to put when line wraps +\newcommand{\wrapsign}{\hbox{\rm\ensuremath\hookleftarrow}} + +% +% Default verbatim layout used if \lstparamset not defined +% +\@ifundefined{lstparamset}{ +\lstset{% + basicstyle=\ttfamily\small, % + identifierstyle=\color{colIdentifier}, % + keywordstyle=\color{colKeys}, % + stringstyle=\color{colString}, % + commentstyle=\color{colComments}, % + tabsize=2, % + frame=single, % + framerule=0pt, % + extendedchars=true, % + showspaces=false, % + showlines=true, % + showstringspaces=false, % + numberstyle=\tiny, % + breaklines=true, % + prebreak={\space\wrapsign}, % + backgroundcolor=\color[gray]{0.95}, % + breakautoindent=true, % + captionpos=b% +} +}{ +% Call the user macro that defines the layout +\lstparamset +} + +% +% GAP language, derivated from Pascal, has more keywords to highlight +% +\lstdefinelanguage[]{GAP}[]{Pascal}{% + morekeywords={od,fi,alias}% +} + +% Lengths to compute the listing width from the number of characters +\newlength{\lstcharwidth} +\newlength{\lstcharwidthb} +\newlength{\lstframesep} +\newlength{\lstwidth} +\setlength{\lstcharwidth}{\lst@width} +%\let\lstcharwidth\lst@width +\setlength{\lstframesep}{\lst@frametextsep} + +% Setup to compute a char width +\def\lstsetup{\sbox{\z@}{\lstinline!x!}% + \settowidth{\lstcharwidth}{\usebox{\z@}}% + \sbox{\z@}{\lstinline[basicstyle=\ttfamily]!x!} + \settowidth{\lstcharwidthb}{\usebox{\z@}}} + +% Environment to render fancyvrb like listings does +\newenvironment{fvlisting}[1][] + {\lstset{fancyvrb,#1}} + {\lstset{fancyvrb=false}} diff --git a/latex/style/docbook.sty b/latex/style/docbook.sty new file mode 100644 index 0000000..ae3d618 --- /dev/null +++ b/latex/style/docbook.sty @@ -0,0 +1,327 @@ +%% +%% Default dblatex DocBook style +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{docbook}[2007/04/04 DocBook Style] + +% The defined options +\DeclareOption{hyperlink}{ \def\DBKhyperlink{yes} } +\DeclareOption{nohyperlink}{ \def\DBKhyperlink{no} } + +% Default values +\ExecuteOptions{nohyperlink} + +% If defined, process the options +\ProcessOptions\relax + +% ############################################################################## +% ### DocBook and local commands +% ############################################################################## +% Default DocBook Parameters +\newcommand{\DBKreference}{} +\newcommand{\DBKtitle}{Main Title} +\let\DBKsubtitle\relax +\newcommand{\DBKdate}{\today} +\newcommand{\DBKsite}{} +\newcommand{\DBKedition}{} +\newcommand{\DBKreleaseinfo}{Working Paper} +\newcommand{\DBKpubdate}{} +\let\DBKlegalblock\relax +\newcommand{\DBKlegaltitle}{} +\let\DBKcopyright\relax + +% Local commands +\newcommand{\DBKtoclof}{true} +\newcommand{\DBKauthor}{} + +% Adaptation... +\setcounter{secnumdepth}{4} +\setcounter{tocdepth}{4} + +\setlength\parskip{\medskipamount} +\setlength\parindent{0pt} + +% Don't want paragraph indentation in abstract +\@ifundefined{abstract}{ +\newenvironment{abstract}{ + \setlength\parskip{\medskipamount}% + \setlength\parindent{0pt}% +}{ +} +}{ +% Redefine abstract in avoid page count reset +\def\nocount#1#2{} +\let\stdsetcounter\setcounter +\let\stdabstract=\abstract +\let\endstdabstract=\endabstract +\renewenvironment{abstract}{% + \let\setcounter\nocount% + \begin{stdabstract}% + \noindent% + \setlength\parskip{\medskipamount}% + \setlength\parindent{0pt}% +}{ + \end{stdabstract} + \let\setcounter\stdsetcounter +} +} + +% We want paragraph + subparagraph headers like the others +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1ex \@plus .2ex}% + {\normalfont\normalsize\bfseries}} + +\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1ex \@plus .2ex}% + {\normalfont\normalsize\bfseries}} + +% To have title rendering changed +\usepackage[sf,bf]{titlesec} + + +% Display ``DRAFT'' as a water mark: +\usepackage{ifpdf} + +\newif\ifpdfengine +\ifpdf\pdfenginetrue +\else\ifxetex\pdfenginetrue +\fi\fi + +\ifpdfengine +\usepackage{pdfpages} +\usepackage{color} +\def\showwatermark#1{% + \AddToShipoutPicture{ + \AtTextCenter{% + \makebox(0,0)[c]{\resizebox{\textwidth}{!}{% + \rotatebox{45}{\textsf{\textbf{\color[gray]{0.8}#1}}}}}% + }} +} +\else +\def\showwatermark#1{}% +\fi + +% ############################################################################## +% ### Page Parameters if not done by geometry +% ############################################################################## +\@ifpackageloaded{geometry}{}{ +\setlength{\paperwidth}{21cm} +\setlength{\paperheight}{29.7cm} +\setlength{\hoffset}{-1in} +\setlength{\voffset}{-1in} +\setlength{\oddsidemargin}{2cm} +\setlength{\marginparsep}{0cm} +\setlength{\marginparwidth}{0cm} +\setlength{\textwidth}{18cm} +%\setlength{\topmargin}{0.5cm} +\setlength{\topmargin}{1.3cm} +%\setlength{\headsep}{2cm} +\setlength{\headsep}{1.1cm} +\setlength{\textheight}{24cm} +\setlength{\footskip}{1.5cm} +} + +% ############################################################################## +% ### Used Packages +% ############################################################################## +\makeatletter +% Postscript Graphics +\usepackage{graphicx} + +% Miscellaneous +\usepackage{calc} +\usepackage{multirow} +\usepackage{subfigure} +\usepackage{ifthen} +\usepackage{tabularx} +% Before hyperlink to have consistent links to footnotes +\usepackage{footmisc} +% To be able to have sections afters appendices +\usepackage{appendix} + +% Workaround to avoid troubles with accents in \appendixname used as hyperref +% label: force the label prefix to 'appendix' whatever the lang is +\let\orgresetsapp=\@resets@pp +\let\orgrestoreapp=\restoreapp +\let\restoreapp\relax +\def\@resets@pp{% + \orgresetsapp + \if@pphyper + \def\Hy@chapapp{appendix}% + \fi + \orgrestoreapp +} + +\usepackage{dbk_fonts} +\usepackage{dbk_hyper} + +\usepackage{fancyhdr} + +% To have fancy +\usepackage{fancyvrb} + +% ############################################################################## +% ### Some DocBook floats and environments +% ############################################################################## + +%% Inclusion of float package after hyperref to have its definitions! +\usepackage{float} + +\@ifundefined{chapter}{ + +\floatstyle{ruled} +\newfloat{example}{htb}{loe}[section] +\floatname{example}{\examplename} + +\floatstyle{plain} +\newfloat{dbequation}{htb}{lom}[section] +\floatname{dbequation}{{\scshape \dbequationname }} + +% Redefinition of tableofcontent, to have it in separate pages +\let\stdtoc=\tableofcontents +\def\tableofcontents{ \newpage \stdtoc{} \newpage} +}{ + +\floatstyle{ruled} +\newfloat{example}{htb}{loe}[chapter] +\floatname{example}{\examplename} + +\floatstyle{plain} +\newfloat{dbequation}{htb}{lom}[chapter] +\floatname{dbequation}{{\scshape \dbequationname }} +} + +% Sidebar is a boxed minipage that can contain verbatim +\newenvironment{sidebar}[1][]{ + \hspace{0mm}\newline% + \noindent\begin{Sbox}\begin{minipage}{0.95\linewidth}% + \setlength\parskip{\medskipamount}% +}{ + \end{minipage}\end{Sbox}\shadowbox{\TheSbox}% +} + + +% ############################################################################## +% ### Title and Bookinfo display +% ############################################################################## +\def\title#1{\renewcommand{\DBKtitle}{#1}} + +% Redefine author so that it can be used by the domitete +\def\author#1{\renewcommand{\DBKauthor}{#1}} + +% Redefine how to print the cover page and book infos +\def\maketitle{ + \DBKcover +% \if\DBKcopyright\@empty\else + \ifx\DBKcopyright\relax\else + \DBKcopyright \\ + \fi + \ifx\DBKlegalblock\relax\else + \DBKlegalblock + \fi + \newpage + \DBKdomitete +} + +% How to render a +\newenvironment{DBKlegalnotice}{ + \if@twocolumn + \noindent\small\textit{\DBKlegaltitle} + \/\bfseries---$\!$ + \else + \ifx\DBKlegaltitle\relax\else + \noindent\begin{center}\small\bfseries\DBKlegaltitle\end{center}% + \fi + \begin{quote}\small + \fi +}{ + \vspace{0.6em}\par\if@twocolumn\else\end{quote}\fi +} + +% ############################################################################## +% ### Index redefinition +% ############################################################################## + +% +% Index is redefined to have the section numbered. +% +\renewenvironment{theindex} +{ + \if@twocolumn + \@restonecolfalse + \else + \@restonecoltrue + \fi + \columnseprule \z@ + \columnsep 35\p@ + \pagebreak + \@ifundefined{chapter}{ + \twocolumn[\section{\indexname}]% + }{ + % To not have the number, replace makechapterhead by + % makeschapterhead + % \chapter{\indexname}{% + % \@mkboth{\MakeUppercase\indexname}% + % {\MakeUppercase\indexname} + % }% + \refstepcounter{chapter} + \twocolumn[\@makechapterhead{\indexname}]% + } + \thispagestyle{plain}\parindent\z@ + \parskip\z@ \@plus .3\p@\relax + \let\item\@idxitem +}{\if@restonecol\onecolumn\else\clearpage\fi} + +\let\stdindex=\theindex +\let\endstdindex=\endtheindex +\renewenvironment{theindex}{ + \begin{stdindex} + \@ifundefined{chapter}{}{ + % To not have the number, replace by: + % \addcontentsline{toc}{chapter}{\numberline{}\indexname} + \ifnum \c@secnumdepth >\z@ + \ifnum \value{part} >\z@ + \addcontentsline{toc}{part}{\numberline{\thechapter}\hspace{-1em}\indexname} + \else + \addcontentsline{toc}{chapter}{\numberline{\thechapter}\indexname} + \fi + \else + \addcontentsline{toc}{chapter}{\indexname} + \fi + } +}{ + \end{stdindex} +} + + +% ############################################################################## +% ### Commands and environments +% ############################################################################## +\newcommand{\draft}{\special{!userdict begin /bop-hook{gsave 200 30 translate % + 65 rotate /Times-Roman findfont 216 scalefont setfont % + 0 0 moveto 0.8 setgray (DRAFT) show grestore}def end}} + +\usepackage{refcount} +\usepackage{lastpage} + +%\usepackage{dbk_url} +\usepackage{dbk_locale} +\usepackage{dbk_title} +\usepackage{dbk_headfoot} +\usepackage{dbk_revision} +\usepackage{dbk_admonition} +\usepackage{dbk_changebar} +\usepackage{dbk_biblio} +\usepackage{dbk_table} +\usepackage{dbk_item} +\usepackage{dbk_graphic} +\usepackage{dbk_cover} +\usepackage{dbk_verbatim} +\usepackage{dbk_misc} +\usepackage{dbk_callout} +\usepackage{dbk_annot} + +\makeatother + diff --git a/lib/contrib/__init__.py b/lib/contrib/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/lib/contrib/__init__.py diff --git a/lib/contrib/debian/__init__.py b/lib/contrib/debian/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/lib/contrib/debian/__init__.py diff --git a/lib/contrib/debian/dblatex b/lib/contrib/debian/dblatex new file mode 100755 index 0000000..fbf01fb --- /dev/null +++ b/lib/contrib/debian/dblatex @@ -0,0 +1,9 @@ +#!/usr/bin/env python + +# Register the Debian error analyser +from dbtexmf.core import error +from dbtexmf.contrib.debian.errorhandler import DebianHandler +error.set_errhandler(DebianHandler()) + +from dbtexmf.dblatex import dblatex +dblatex.main('/usr/share/dblatex') diff --git a/lib/contrib/debian/errorhandler.py b/lib/contrib/debian/errorhandler.py new file mode 100644 index 0000000..4faee90 --- /dev/null +++ b/lib/contrib/debian/errorhandler.py @@ -0,0 +1,195 @@ +# +# Attempt to analyse a dblatex failure occured on a Debian platform. +# +# Author: Andreas Hoenen +# +import subprocess +import sys +import apt +import os + +from dbtexmf.core.error import ErrorHandler +from dbtexmf.core.imagedata import ImageConverter +from dbtexmf.core.dbtex import DbTexCommand + +class AptSilentProgress(apt.progress.text.OpProgress): + """ + Avoid the annoying progress messages when building the apt cache: + Reading package lists... Done + Building dependency tree + Reading state information... Done + Building data structures... Done + """ + def __init__(self, outfile=None): + pass + def done(self): + pass + def update(self, percent=None): + pass + +class DebianHandler(ErrorHandler): + def __init__(self): + ErrorHandler.__init__(self) + self.object = None + self.aptcache = None + + def signal(self, failed_object, *args, **kwargs): + self.object = failed_object + if not self.aptcache: + self.aptcache = apt.Cache(progress=AptSilentProgress()) + if (isinstance(self.object, DbTexCommand)): + error_handled = self._check_dbtexrun() + elif (isinstance(self.object, ImageConverter)): + error_handled = self._check_imagerun(*args) + else: + error_handled = False + if not error_handled: + super(DebianHandler, self).signal(failed_object, *args, **kwargs) + + def _check_dbtexrun(self): + # First, check the XML input sanity + if (self._check_input()): + return True + # Check that all the required utilities are there + if (self._check_dependencies()): + return True + # Check some alternative reasons + if (self._check_cyrillic()): + return True + return False + + def _check_imagerun(self, cmd): + """ + In case of failed image converter calls check on dependency problems. + + In Debian dblatex package dependencies on image converters are not + absolute, as image conversion is not dblatex's core functionality. + Thus the converters may be not installed. Therefore check for each one: + If it is used but missing, dump an appropriate hint. + """ + aptcache = self.aptcache + warn_msgs = [] + if ((cmd.startswith('convert') or cmd.find('&& convert') > -1) + and not aptcache['graphicsmagick-imagemagick-compat'].is_installed + and not aptcache['imagemagick'].is_installed): + warn_msgs.append('For image conversion one of Debian packages' + + ' graphicsmagick-imagemagick-compat') + warn_msgs.append('or imagemagick is needed') + if ((cmd.startswith('epstopdf') or cmd.find('&& epstopdf') > -1) + and not aptcache['ghostscript'].is_installed): + warn_msgs.append('For image conversion Debian package ghostscript' + + ' is needed') + if ((cmd.startswith('fig2dev') or cmd.find('&& fig2dev') > -1) + and not aptcache['transfig'].is_installed): + warn_msgs.append('For image conversion Debian package transfig is' + + ' needed') + if ((cmd.startswith('inkscape') or cmd.find('&& inkscape') > -1) + and not aptcache['inkscape'].is_installed): + warn_msgs.append('For image conversion Debian package inkscape is' + + ' needed') + if warn_msgs: + print >> sys.stderr, "\n" + "\n".join(warn_msgs) + "\n" + return True + else: + return False + + def _check_input(self): + """ + In case of failed processing try to validate the input. + + As invalid DocBook sometimes results in strange TeX error messages, a + hint about the failure cause may be helpful. + Post failure validation is a convenience function and thus works in + a best effort approach, that is it will silently skip any problems, + e.g. the external validation program xmllint not installed. + """ + obj = self.object.run + nulldev0 = open(os.devnull, "r") + nulldev1 = open(os.devnull, "w") + try: + rc = subprocess.Popen(['xmllint', '--noout', '--postvalid', + '--xinclude', obj.input], + stdin=nulldev0, + stderr=nulldev1, + stdout=nulldev1).wait() + except: + rc = -1 + + nulldev0.close() + nulldev1.close() + + if rc == 3 or rc == 4: + print >> sys.stderr + print >> sys.stderr, 'A possible reason for transformation', + print >> sys.stderr, 'failure is invalid DocBook' + print >> sys.stderr, '(as reported by xmllint)' + print >> sys.stderr + return True + else: + return False + + def _check_dependencies(self): + """ + In case of failed processing check on dependency problems. + + For not commonly used dblatex functionality the Debian package + dependencies are not absolute, thus the functionality may be not + installed. Therefore check for each one: + If it is used but a needed dependency is missing, dump an appropriate + hint. + """ + obj = self.object.run + aptcache = self.aptcache + warn_msgs = [] + if obj.backend == 'xetex': + for debian_pkg in 'texlive-xetex', 'lmodern': + if not aptcache[debian_pkg].is_installed: + warn_msgs.append('For xetex backend Debian package ' + + debian_pkg + ' is needed') + if obj.input_format == 'sgml': + for debian_pkg in 'docbook', 'opensp': + if not aptcache[debian_pkg].is_installed: + warn_msgs.append('For SGML documents Debian package ' + + debian_pkg + ' is needed') + if obj.runtex.texer.encoding == 'utf8': + debian_pkg = 'texlive-lang-cyrillic' + if not aptcache[debian_pkg].is_installed: + warn_msgs.append('For utf8 encoding Debian package ' + + debian_pkg + ' is needed') + if warn_msgs: + print >> sys.stderr, "\n" + "\n".join(warn_msgs) + "\n" + return True + else: + return False + + def _check_cyrillic(self): + obj = self.object.run + """ + In case of failed processing check on the "cyrillic scenario": + + Transforming cyrillic documents will fail when neither using the + XeTeX backend nor setting option latex.unicode.use + In this case a hint to XeTeX (as the preferred way) may be helpful. + Post failure validation is a convenience function and thus works in + a best effort approach, that is it will silently skip any problems. + """ + # This kind of error cannot occur with backends that natively support + # Unicode + if obj.backend == 'xetex': + return False + + try: + for log_entry in obj.runtex.texer.tex.log.get_errors(): + if (log_entry['text'] + == r'Undefined control sequence \cyrchar.'): + print >> sys.stderr + print >> sys.stderr, 'Transformation failure', + print >> sys.stderr, 'might be caused by handling a', + print >> sys.stderr, 'cyrillic document' + print >> sys.stderr, 'without the XeTeX backend' + print >> sys.stderr + return True + except: + pass + return False + diff --git a/lib/contrib/debian/installer.py b/lib/contrib/debian/installer.py new file mode 100644 index 0000000..98ac272 --- /dev/null +++ b/lib/contrib/debian/installer.py @@ -0,0 +1,73 @@ +# +# dblatex - Installer extensions for Debian +# +import os +import glob +import shutil + +class DebianInstaller: + """ + Adapt the setup tool installation to match debian specific rules. + The first step is to adpat the paths, the second step to provide the + required links. + + The known limitations: + - The dblatex script assumes the install prefix is standard + - The documentation is not installed + - The latex packages are found only when installed in standard tex dirs + """ + def __init__(self, install_object): + self.install_obj = install_object + + def adapt_paths(self): + # Add debian-specific python modules to install + self.install_obj.distribution.packages += ['dbtexmf.contrib', + 'dbtexmf.contrib.debian'] + self.install_obj.distribution.package_dir['dbtexmf.contrib'] = \ + 'lib/contrib' + + # Which latex dirs to maintain under share + texdirs = glob.glob("latex/*") + tex_share = [] + for _dir in texdirs: + if not(os.path.basename(_dir) in ("contrib", "style", "misc")): + tex_share.append(_dir) + + # Redefine the data install paths + self.install_obj.distribution.data_files = \ + [('share/dblatex/latex', tex_share), + ('share/xml/docbook/stylesheet/dblatex', ['xsl']), + ('share/texmf/tex/latex/dblatex', ['latex/contrib', + 'latex/style', + 'latex/misc']), + ('share/man/man1', ['docs/manpage/dblatex.1.gz'])] + + def finalize(self): + texdir = os.path.join(self.install_obj.install_data, + "share/texmf/tex/latex/dblatex") + + # Add the links to the debian standard paths + contrib_lnk = os.path.join(self.install_obj.install_data, + 'share/dblatex/latex/contrib') + xsl_lnk = os.path.join(self.install_obj.install_data, + 'share/dblatex/xsl') + + if not(os.path.exists(contrib_lnk)): + os.symlink("../../texmf/tex/latex/dblatex/contrib", contrib_lnk) + + if not(os.path.exists(xsl_lnk)): + os.symlink("../xml/docbook/stylesheet/dblatex/xsl", xsl_lnk) + + # Remove useless latex packages or license files + for _file in ("passivetex/LICENSE", + "attachfile.sty", + "bibtopic.sty", + "enumitem.sty", + "lastpage.sty", + "ragged2e.sty"): + os.remove("%s" % (os.path.join(texdir, "misc", _file))) + + # Overwrite the dblatex script with the debian specific one + shutil.copy("lib/contrib/debian/dblatex", + self.install_obj.install_scripts) + diff --git a/lib/contrib/which/LICENSE.txt b/lib/contrib/which/LICENSE.txt new file mode 100644 index 0000000..de85cd5 --- /dev/null +++ b/lib/contrib/which/LICENSE.txt @@ -0,0 +1,21 @@ +Copyright (c) 2002-2005 ActiveState Corp. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff --git a/lib/contrib/which/README.txt b/lib/contrib/which/README.txt new file mode 100644 index 0000000..6ece7f6 --- /dev/null +++ b/lib/contrib/which/README.txt @@ -0,0 +1,229 @@ +which.py -- a portable GNU which replacement +============================================ + +Download the latest which.py packages from here: + (source) http://trentm.com/downloads/which/1.1.0/which-1.1.0.zip + + +Home : http://trentm.com/projects/which/ +License : MIT (see LICENSE.txt) +Platforms : Windows, Linux, Mac OS X, Unix +Current Version : 1.1 +Dev Status : mature, has been heavily used in a commercial product for + over 2 years +Requirements : Python >= 2.3 (http://www.activestate.com/ActivePython/) + + +What's new? +----------- + +I have moved hosting of `which.py` from my old [Starship +pages](http://starship.python.net/~tmick/) to this site. These starter +docs have been improved a little bit. See the [Change Log](#changelog) +below for more. + +**WARNING**: If you are upgrading your `which.py` and you also use my +[process.py](../process/) module, you must upgrade `process.py` as well +because of the `_version_/__version__` change in v1.1.0. + + +Why which.py? +------------- + +`which.py` is a small GNU-which replacement. It has the following +features: + +- it is portable (Windows, Linux, Mac OS X, Un*x); +- it understands PATHEXT and "App Paths" registration on Windows + (i.e. it will find everything that `start` does from the command shell); +- it can print all matches on the PATH; +- it can note "near misses" on the PATH (e.g. files that match but may + not, say, have execute permissions); and +- it can be used as a Python module. + +I also would be happy to have this be a replacement for the `which.py` in the +Python CVS tree at `dist/src/Tools/scripts/which.py` which is +Unix-specific and not usable as a module; and perhaps for inclusion in +the stdlib. + +Please send any feedback to [Trent Mick](mailto:TrentM@ActiveState.com). + + +Install Notes +------------- + +Download the latest `which.py` source package, unzip it, and run +`python setup.py install`: + + unzip which-1.1.0.zip + cd which-1.1.0 + python setup.py install + +If your install fails then please visit [the Troubleshooting +FAQ](http://trentm.com/faq.html#troubleshooting-python-package-installation). + +`which.py` can be used both as a module and as a script. By default, +`which.py` will be installed into your Python's `site-packages` +directory so it can be used as a module. On *Windows only*, `which.py` +(and the launcher stub `which.exe`) will be installed in the Python +install dir to (hopefully) put `which` on your PATH. + +On Un*x platforms (including Linux and Mac OS X) there is often a +`which` executable already on your PATH. To use this `which` instead of +your system's on those platforms you can manually do one of the +following: + +- Copy `which.py` to `which` somewhere on your PATH ahead of the system + `which`. This can be a symlink, as well: + + ln -s /PATH/TO/site-packages/which.py /usr/local/bin/which + +- Python 2.4 users might want to use Python's new '-m' switch and setup + and alias: + + alias which='python -m which' + + or stub script like this: + + #!/bin/sh + python -m which $@ + + +Getting Started +--------------- + +Currently the best intro to using `which.py` as a module is its module +documentation. Either install `which.py` and run: + + pydoc which + +take a look at `which.py` in your editor or [here](which.py), or read +on. Most commonly you'll use the `which()` method to find an +executable: + + >>> import which + >>> which.which("perl") + '/usr/local/bin/perl' + +Or you might want to know if you have multiple versions on your path: + + >>> which.whichall("perl") + ['/usr/local/bin/perl', '/usr/bin/perl'] + +Use `verbose` to see where your executable is being found. (On Windows +this might not always be so obvious as your PATH environment variable. +There is an "App Paths" area of the registry where the `start` command +will find "registered" executables -- `which.py` mimics this.) + + >>> which.whichall("perl", verbose=True) + [('/usr/local/bin/perl', 'from PATH element 10'), + ('/usr/bin/perl', 'from PATH element 15')] + +You can restrict the searched path: + + >>> which.whichall("perl", path=["/usr/bin"]) + ['/usr/bin/perl'] + +There is a generator interface: + + >>> for perl in which.whichgen("perl"): + ... print "found a perl here:", perl + ... + found a perl here: /usr/local/bin/perl + found a perl here: /usr/bin/perl + +An exception is raised if your executable is not found: + + >>> which.which("fuzzywuzzy") + Traceback (most recent call last): + ... + which.WhichError: Could not find 'fuzzywuzzy' on the path. + >>> + +There are some other options too: + + >>> help(which.which) + ... + +Run `which --help` to see command-line usage: + + $ which --help + Show the full path of commands. + + Usage: + which [...] [...] + + Options: + -h, --help Print this help and exit. + -V, --version Print the version info and exit. + + -a, --all Print *all* matching paths. + -v, --verbose Print out how matches were located and + show near misses on stderr. + -q, --quiet Just print out matches. I.e., do not print out + near misses. + + -p , --path= + An alternative path (list of directories) may + be specified for searching. + -e , --exts= + Specify a list of extensions to consider instead + of the usual list (';'-separate list, Windows + only). + + Show the full path to the program that would be run for each given + command name, if any. Which, like GNU's which, returns the number of + failed arguments, or -1 when no was given. + + Near misses include duplicates, non-regular files and (on Un*x) + files without executable access. + + +Change Log +---------- + +### v1.1.0 +- Change version attributes and semantics. Before: had a _version_ + tuple. After: __version__ is a string, __version_info__ is a tuple. + +### v1.0.3 +- Move hosting of which.py to trentm.com. Tweaks to associated bits + (README.txt, etc.) + +### v1.0.2: +- Rename mainline handler function from _main() to main(). I can + conceive of it being called from externally. + +### v1.0.1: +- Add an optimization for Windows to allow the optional + specification of a list of exts to consider when searching the + path. + +### v1.0.0: +- Simpler interface: What was which() is now called whichgen() -- it + is a generator of matches. The simpler which() and whichall() + non-generator interfaces were added. + +### v0.8.1: +- API change: 0.8.0's API change making "verbose" output the default + was a mistake -- it breaks backward compatibility for existing + uses of which in scripts. This makes verbose, once again, optional + but NOT the default. + +### v0.8.0: +- bug fix: "App Paths" lookup had been crippled in 0.7.0. Restore that. +- feature/module API change: Now print out (and return for the module + interface) from where a match was found, e.g. "(from PATH element 3)". + The module interfaces now returns (match, from-where) tuples. +- bug fix: --path argument was broken (-p shortform was fine) + +### v0.7.0: +- bug fix: Handle "App Paths" registered executable that does not + exist. +- feature: Allow an alternate PATH to be specified via 'path' + optional argument to which.which() and via -p|--path command line + option. + +### v0.6.1: +- first public release + diff --git a/lib/contrib/which/TODO.txt b/lib/contrib/which/TODO.txt new file mode 100644 index 0000000..6df2de7 --- /dev/null +++ b/lib/contrib/which/TODO.txt @@ -0,0 +1,113 @@ +# High Priority + +- Figure out the script story on the various platforms. On Windows, look into + the launcher thing that effbot has. Unix, don't install the script my + default. They can always do "python -m which ..." with Python >= 2.4. + Suggest an alias that some folks might want to use for that. + + +# Medium Priority + +- define __all__? +- improve test suite +- test with other versions of Python +- get the PATHEXT attached extension to reflect the actual canonical + case of file matches on Windows, currently the extension from PATHEXT + is always uppercase +- What to do with Change 145624 by shanec. It is a bit of a + bastardization. Maybe allow this with a special option to allow the change + in semantics. + + > Change 145624 by shanec@shanec-ocelotl on 2005/05/24 16:51:55 + > + > make which work better on OSX + > - add support for searching /Applications and /Network/Applications + > - add support for .app bundles + > + > Affected files ... + > + > ... //depot/main/Apps/Komodo-devel/src/python-sitelib/which.py#7 edit + > + > Differences ... + > + > ==== //depot/main/Apps/Komodo-devel/src/python-sitelib/which.py#7 (text) ==== + > + > @@ -126,10 +126,11 @@ + > sys.stderr.write("duplicate: %s (%s)\n" % potential) + > return None + > else: + > - if not stat.S_ISREG(os.stat(potential[0]).st_mode): + > + darwinApp = sys.platform == 'darwin' and potential[0][-4:]=='.app' + > + if not darwinApp and not stat.S_ISREG(os.stat(potential[0]).st_mode): + > if verbose: + > sys.stderr.write("not a regular file: %s (%s)\n" % potential) + > - elif not os.access(potential[0], os.X_OK): + > + elif not darwinApp and not os.access(potential[0], os.X_OK): + > if verbose: + > sys.stderr.write("no executable access: %s (%s)\n"\ + > % potential) + > @@ -166,6 +167,9 @@ + > path = os.environ.get("PATH", "").split(os.pathsep) + > if sys.platform.startswith("win"): + > path.insert(0, os.curdir) # implied by Windows shell + > + if sys.platform == 'darwin': + > + path.insert(0, '/Network/Applications') + > + path.insert(0, '/Applications') + > else: + > usingGivenPath = 1 + > + > @@ -182,6 +186,9 @@ + > exts = ['.COM', '.EXE', '.BAT'] + > elif not isinstance(exts, list): + > raise TypeError("'exts' argument must be a list or None") + > + elif sys.platform == 'darwin': + > + if exts is None: + > + exts = ['.app'] + > else: + > if exts is not None: + > raise WhichError("'exts' argument is not supported on "\ + > @@ -202,7 +209,8 @@ + > for ext in ['']+exts: + > absName = os.path.abspath( + > os.path.normpath(os.path.join(dirName, command+ext))) + > - if os.path.isfile(absName): + > + if os.path.isfile(absName) or (sys.platform == 'darwin' and \ + > + absName[-4:]=='.app' and os.path.isdir(absName)): + > if usingGivenPath: + > fromWhere = "from given path element %d" % i + > elif not sys.platform.startswith("win"): + + Here is a start with slight improvements: + + > Index: which.py + > =================================================================== + > --- which.py (revision 270) + > +++ which.py (working copy) + > @@ -126,9 +126,18 @@ + > sys.stderr.write("duplicate: %s (%s)\n" % potential) + > return None + > else: + > - if not stat.S_ISREG(os.stat(potential[0]).st_mode): + > + st_mode = os.stat(potential[0]).st_mode + > + isMacAppBundle = sys.platform == "darwin" \ + > + and potential[0].endswith(".app") \ + > + and stat.S_ISDIR(st_mode) + > + if not isMacAppBundle and not stat.S_ISREG(st_mode): + > if verbose: + > - sys.stderr.write("not a regular file: %s (%s)\n" % potential) + > + if sys.platform == "darwin": + > + sys.stderr.write("not a regular file or .app bundle: " + > + "%s (%s)\n" % potential) + > + else: + > + sys.stderr.write("not a regular file: %s (%s)\n" + > + % potential) + > elif not os.access(potential[0], os.X_OK): + > if verbose: + > sys.stderr.write("no executable access: %s (%s)\n"\ + + +# Low Priority + +- have a version for pre-generators (i.e. Python 2.1) +- add a "logging" interface + diff --git a/lib/contrib/which/__init__.py b/lib/contrib/which/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/lib/contrib/which/__init__.py diff --git a/lib/contrib/which/which.py b/lib/contrib/which/which.py new file mode 100644 index 0000000..4d28ebd --- /dev/null +++ b/lib/contrib/which/which.py @@ -0,0 +1,335 @@ +#!/usr/bin/env python +# Copyright (c) 2002-2005 ActiveState Corp. +# See LICENSE.txt for license details. +# Author: +# Trent Mick (TrentM@ActiveState.com) +# Home: +# http://trentm.com/projects/which/ + +r"""Find the full path to commands. + +which(command, path=None, verbose=0, exts=None) + Return the full path to the first match of the given command on the + path. + +whichall(command, path=None, verbose=0, exts=None) + Return a list of full paths to all matches of the given command on + the path. + +whichgen(command, path=None, verbose=0, exts=None) + Return a generator which will yield full paths to all matches of the + given command on the path. + +By default the PATH environment variable is searched (as well as, on +Windows, the AppPaths key in the registry), but a specific 'path' list +to search may be specified as well. On Windows, the PATHEXT environment +variable is applied as appropriate. + +If "verbose" is true then a tuple of the form + (, ) +is returned for each match. The latter element is a textual description +of where the match was found. For example: + from PATH element 0 + from HKLM\SOFTWARE\...\perl.exe +""" + +_cmdlnUsage = """ + Show the full path of commands. + + Usage: + which [...] [...] + + Options: + -h, --help Print this help and exit. + -V, --version Print the version info and exit. + + -a, --all Print *all* matching paths. + -v, --verbose Print out how matches were located and + show near misses on stderr. + -q, --quiet Just print out matches. I.e., do not print out + near misses. + + -p , --path= + An alternative path (list of directories) may + be specified for searching. + -e , --exts= + Specify a list of extensions to consider instead + of the usual list (';'-separate list, Windows + only). + + Show the full path to the program that would be run for each given + command name, if any. Which, like GNU's which, returns the number of + failed arguments, or -1 when no was given. + + Near misses include duplicates, non-regular files and (on Un*x) + files without executable access. +""" + +__revision__ = "$Id$" +__version_info__ = (1, 1, 0) +__version__ = '.'.join(map(str, __version_info__)) + +import os +import sys +import getopt +import stat + + +#---- exceptions + +class WhichError(Exception): + pass + + + +#---- internal support stuff + +def _getRegisteredExecutable(exeName): + """Windows allow application paths to be registered in the registry.""" + registered = None + if sys.platform.startswith('win'): + if os.path.splitext(exeName)[1].lower() != '.exe': + exeName += '.exe' + import _winreg + try: + key = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\" +\ + exeName + value = _winreg.QueryValue(_winreg.HKEY_LOCAL_MACHINE, key) + registered = (value, "from HKLM\\"+key) + except _winreg.error: + pass + if registered and not os.path.exists(registered[0]): + registered = None + return registered + +def _samefile(fname1, fname2): + if sys.platform.startswith('win'): + return ( os.path.normpath(os.path.normcase(fname1)) ==\ + os.path.normpath(os.path.normcase(fname2)) ) + else: + return os.path.samefile(fname1, fname2) + +def _cull(potential, matches, verbose=0): + """Cull inappropriate matches. Possible reasons: + - a duplicate of a previous match + - not a disk file + - not executable (non-Windows) + If 'potential' is approved it is returned and added to 'matches'. + Otherwise, None is returned. + """ + for match in matches: # don't yield duplicates + if _samefile(potential[0], match[0]): + if verbose: + sys.stderr.write("duplicate: %s (%s)\n" % potential) + return None + else: + if not stat.S_ISREG(os.stat(potential[0]).st_mode): + if verbose: + sys.stderr.write("not a regular file: %s (%s)\n" % potential) + elif not os.access(potential[0], os.X_OK): + if verbose: + sys.stderr.write("no executable access: %s (%s)\n"\ + % potential) + else: + matches.append(potential) + return potential + + +#---- module API + +def whichgen(command, path=None, verbose=0, exts=None): + """Return a generator of full paths to the given command. + + "command" is a the name of the executable to search for. + "path" is an optional alternate path list to search. The default it + to use the PATH environment variable. + "verbose", if true, will cause a 2-tuple to be returned for each + match. The second element is a textual description of where the + match was found. + "exts" optionally allows one to specify a list of extensions to use + instead of the standard list for this system. This can + effectively be used as an optimization to, for example, avoid + stat's of "foo.vbs" when searching for "foo" and you know it is + not a VisualBasic script but ".vbs" is on PATHEXT. This option + is only supported on Windows. + + This method returns a generator which yields either full paths to + the given command or, if verbose, tuples of the form (, ). + """ + matches = [] + if path is None: + usingGivenPath = 0 + path = os.environ.get("PATH", "").split(os.pathsep) + if sys.platform.startswith("win"): + path.insert(0, os.curdir) # implied by Windows shell + else: + usingGivenPath = 1 + + # Windows has the concept of a list of extensions (PATHEXT env var). + if sys.platform.startswith("win"): + if exts is None: + exts = os.environ.get("PATHEXT", "").split(os.pathsep) + # If '.exe' is not in exts then obviously this is Win9x and + # or a bogus PATHEXT, then use a reasonable default. + for ext in exts: + if ext.lower() == ".exe": + break + else: + exts = ['.COM', '.EXE', '.BAT'] + elif not isinstance(exts, list): + raise TypeError("'exts' argument must be a list or None") + else: + if exts is not None: + raise WhichError("'exts' argument is not supported on "\ + "platform '%s'" % sys.platform) + exts = [] + + # File name cannot have path separators because PATH lookup does not + # work that way. + if os.sep in command or os.altsep and os.altsep in command: + pass + else: + for i in range(len(path)): + dirName = path[i] + # On windows the dirName *could* be quoted, drop the quotes + if sys.platform.startswith("win") and len(dirName) >= 2\ + and dirName[0] == '"' and dirName[-1] == '"': + dirName = dirName[1:-1] + for ext in ['']+exts: + absName = os.path.abspath( + os.path.normpath(os.path.join(dirName, command+ext))) + if os.path.isfile(absName): + if usingGivenPath: + fromWhere = "from given path element %d" % i + elif not sys.platform.startswith("win"): + fromWhere = "from PATH element %d" % i + elif i == 0: + fromWhere = "from current directory" + else: + fromWhere = "from PATH element %d" % (i-1) + match = _cull((absName, fromWhere), matches, verbose) + if match: + if verbose: + yield match + else: + yield match[0] + match = _getRegisteredExecutable(command) + if match is not None: + match = _cull(match, matches, verbose) + if match: + if verbose: + yield match + else: + yield match[0] + + +def which(command, path=None, verbose=0, exts=None): + """Return the full path to the first match of the given command on + the path. + + "command" is a the name of the executable to search for. + "path" is an optional alternate path list to search. The default it + to use the PATH environment variable. + "verbose", if true, will cause a 2-tuple to be returned. The second + element is a textual description of where the match was found. + "exts" optionally allows one to specify a list of extensions to use + instead of the standard list for this system. This can + effectively be used as an optimization to, for example, avoid + stat's of "foo.vbs" when searching for "foo" and you know it is + not a VisualBasic script but ".vbs" is on PATHEXT. This option + is only supported on Windows. + + If no match is found for the command, a WhichError is raised. + """ + try: + match = whichgen(command, path, verbose, exts).next() + except StopIteration: + raise WhichError("Could not find '%s' on the path." % command) + return match + + +def whichall(command, path=None, verbose=0, exts=None): + """Return a list of full paths to all matches of the given command + on the path. + + "command" is a the name of the executable to search for. + "path" is an optional alternate path list to search. The default it + to use the PATH environment variable. + "verbose", if true, will cause a 2-tuple to be returned for each + match. The second element is a textual description of where the + match was found. + "exts" optionally allows one to specify a list of extensions to use + instead of the standard list for this system. This can + effectively be used as an optimization to, for example, avoid + stat's of "foo.vbs" when searching for "foo" and you know it is + not a VisualBasic script but ".vbs" is on PATHEXT. This option + is only supported on Windows. + """ + return list( whichgen(command, path, verbose, exts) ) + + + +#---- mainline + +def main(argv): + all = 0 + verbose = 0 + altpath = None + exts = None + try: + optlist, args = getopt.getopt(argv[1:], 'haVvqp:e:', + ['help', 'all', 'version', 'verbose', 'quiet', 'path=', 'exts=']) + except getopt.GetoptError, msg: + sys.stderr.write("which: error: %s. Your invocation was: %s\n"\ + % (msg, argv)) + sys.stderr.write("Try 'which --help'.\n") + return 1 + for opt, optarg in optlist: + if opt in ('-h', '--help'): + print _cmdlnUsage + return 0 + elif opt in ('-V', '--version'): + print "which %s" % __version__ + return 0 + elif opt in ('-a', '--all'): + all = 1 + elif opt in ('-v', '--verbose'): + verbose = 1 + elif opt in ('-q', '--quiet'): + verbose = 0 + elif opt in ('-p', '--path'): + if optarg: + altpath = optarg.split(os.pathsep) + else: + altpath = [] + elif opt in ('-e', '--exts'): + if optarg: + exts = optarg.split(os.pathsep) + else: + exts = [] + + if len(args) == 0: + return -1 + + failures = 0 + for arg in args: + #print "debug: search for %r" % arg + nmatches = 0 + for match in whichgen(arg, path=altpath, verbose=verbose, exts=exts): + if verbose: + print "%s (%s)" % match + else: + print match + nmatches += 1 + if not all: + break + if not nmatches: + failures += 1 + return failures + + +if __name__ == "__main__": + sys.exit( main(sys.argv) ) + + diff --git a/lib/dbtexmf/__init__.py b/lib/dbtexmf/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/lib/dbtexmf/__init__.py diff --git a/lib/dbtexmf/core/__init__.py b/lib/dbtexmf/core/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/lib/dbtexmf/core/__init__.py diff --git a/lib/dbtexmf/core/commander.py b/lib/dbtexmf/core/commander.py new file mode 100644 index 0000000..6319200 --- /dev/null +++ b/lib/dbtexmf/core/commander.py @@ -0,0 +1,85 @@ +import os +from subprocess import Popen, PIPE + +class Command: + """Contains the needed data to run a command""" + def __init__(self, args, stdin=None, stdout=None, shell=False): + self.arguments = args + self.stdin = stdin + self.stdout = stdout + self.shell = shell + +class CommandRunner: + """ + Execute the differents registered commands in the specified order, + either independantly or as a pipe process chain if required + """ + def __init__(self, module_name="", log=None): + self.module_name = module_name + self.commands = [] + self.processes = [] + self.log = log + + def info(self, text): + if self.log: self.log.info(text) + + def set_name(self, module_name): + self.module_name = module_name + + def add_command(self, args, stdin=None, stdout=None, shell=False): + command = Command(args, stdin, stdout, shell) + self.commands.append(command) + return command + + def shcmd(self, args): + nargs = [] + for arg in args: + if len(arg.split()) > 1: arg = '"%s"' % arg + nargs.append(arg) + return " ".join(nargs) + + def run(self, kw=None): + if not(self.commands): + return + if not(kw): kw = {} + pipe_top = False + rc = 0 + for cmd in self.commands: + if rc != 0: + break + stdin, stdout = None, None + prev_pipe = None + if cmd.stdin == "PIPE": + if self.processes: + prev_pipe = self.processes[-1] + stdin = prev_pipe.stdout + else: + pipe_top = True + stdin = PIPE + if cmd.stdout == "PIPE": + stdout = PIPE + elif cmd.stdout: + stdout = open(cmd.stdout % kw, "w") + + if kw: args = [a % kw for a in cmd.arguments] + else: args = cmd.arguments + + self.info(" ".join(args)) + # Some commands work only in shell env (e.g. links), so take care + if cmd.shell: + p = Popen(self.shcmd(args), stdin=stdin, stdout=stdout, + shell=True) + else: + p = Popen(args, stdin=stdin, stdout=stdout) + self.processes.append(p) + + if stdin and prev_pipe: + # Close stdout to allow receiving SIGPIPE + prev_pipe.stdout.close() + if stdout != PIPE: + # Wait until the process is finished if not in a pipe chain + rc = p.wait() + if stdout: stdout.close() + + return rc + diff --git a/lib/dbtexmf/core/confparser.py b/lib/dbtexmf/core/confparser.py new file mode 100644 index 0000000..bf0b931 --- /dev/null +++ b/lib/dbtexmf/core/confparser.py @@ -0,0 +1,117 @@ +import os +import sys +from xml.etree.ElementTree import ParseError +from xmlparser import XmlConfig +from txtparser import TextConfig +from imagedata import ImageConverterPool, ImageConverter +from imagedata import ImageFormatPool, FormatRule +from imagedata import image_setup +from dbtexmf.xslt.xsltconf import XsltCommandPool, XsltEngine +from dbtexmf.xslt import xslt_setup + + +class ConfigFactory: + """ + Build the actual objects that configure the other modules from the XML + parsed configuration, and publish them to the related modules + """ + def __init__(self, xmlconfig): + self.xmlconfig = xmlconfig + + def publish(self): + pool = self.imagedata_converter_config() + if pool: image_setup().converter_pool.prepend_pool(pool) + pool = self.imagedata_format_config() + if pool: image_setup().format_pool.prepend_pool(pool) + pool = self.xslt_config() + if pool: xslt_setup().prepend_pool(pool) + + def imagedata_format_config(self): + rules = self.xmlconfig.get("imagedata").get("formatrule", None) + if not(rules): + return None + pool = ImageFormatPool() + for rul in rules: + fmt = FormatRule(rul.imgsrc, rul.imgdst, rul.docformat, rul.backend) + pool.add_rule(fmt) + return pool + + def imagedata_converter_config(self): + converters = self.xmlconfig.get("imagedata").get("converter", None) + if not(converters): + return None + pool = ImageConverterPool() + for cv in converters: + imc = ImageConverter(cv.imgsrc, cv.imgdst, cv.docformat, cv.backend) + for cmd in cv.commands: + imc.add_command(cmd.args, stdin=cmd.stdin, stdout=cmd.stdout, + shell=cmd.shell) + pool.add_converter(imc) + return pool + + def xslt_config(self): + engines = self.xmlconfig.get("xslt").get("engine", None) + if not(engines): + return None + pool = XsltCommandPool() + for proc in engines: + if not(proc.commands): + continue + eng = XsltEngine(param_format=proc.param_format) + for cmd in proc.commands: + eng.add_command(cmd.args, stdin=cmd.stdin, stdout=cmd.stdout, + shell=cmd.shell) + pool.add_command_run(eng) + return pool + + +class DbtexConfig: + """ + Main configuration object, in charge to parse the configuration files + and populate the setup. + """ + def __init__(self): + self.options = [] + self.paths = [] + self.style_exts = ["", ".xml", ".specs", ".conf"] + + def warn(self, text): + print >>sys.stderr, text + + def fromfile(self, filename): + try: + self.fromxmlfile(filename) + except ParseError, e: + self.warn("Text configuration files are deprecated. "\ + "Use the XML format instead") + self.fromtxtfile(filename) + except Exception, e: + raise e + + def fromxmlfile(self, filename): + xmlconfig = XmlConfig() + xmlconfig.fromfile(filename) + self.options += xmlconfig.options() + factory = ConfigFactory(xmlconfig) + factory.publish() + + def fromtxtfile(self, filename): + txtconfig = TextConfig() + txtconfig.fromfile(filename) + self.options += txtconfig.options() + + def fromstyle(self, style, paths=None): + # First, find the related config file + if not paths: + paths = self.paths + + for p in paths: + for e in self.style_exts: + file = os.path.join(p, style + e) + if os.path.isfile(file): + self.fromfile(file) + return + + # If we are here nothing found + raise ValueError("'%s': style not found" % style) + diff --git a/lib/dbtexmf/core/dbtex.py b/lib/dbtexmf/core/dbtex.py new file mode 100644 index 0000000..92b84f2 --- /dev/null +++ b/lib/dbtexmf/core/dbtex.py @@ -0,0 +1,741 @@ +# +# DbTex base class handling the compilation of a DocBook file via +# XSL Transformation and some TeX engine compilation. +# +import sys +import os +import re +import shlex +import tempfile +import shutil +import urllib +import glob +import imp +from optparse import OptionParser + +from dbtexmf.core.txtparser import texinputs_parse, texstyle_parse +from dbtexmf.core.confparser import DbtexConfig +from dbtexmf.xslt import xslt +import dbtexmf.core.logger as logger +from dbtexmf.core.error import signal_error, failed_exit, dump_stack + + +def suffix_replace(path, oldext, newext=""): + (root, ext) = os.path.splitext(path) + if ext == oldext: + return (root+newext) + else: + return (path+newext) + +def path_to_uri(path): + if os.name == 'nt': + return 'file:' + urllib.pathname2url(path).replace('|', ':', 1) + else: + return urllib.pathname2url(path) + + +class Document: + """ + Wrapper structure of the files built during the compilation per document + """ + def __init__(self, filename, binfmt="pdf"): + self.inputname = filename + self.basename = os.path.splitext(filename)[0] + self.rawfile = self.basename + ".rtex" + self.texfile = self.basename + ".tex" + self.binfile = self.basename + "." + binfmt + + def has_subext(self, ext): + return (os.path.splitext(self.basename)[1] == ext) + + def __cmp__(self, other): + """ + Comparaison method mainly to check if the document is in a list + """ + if cmp(self.rawfile, other) == 0: + return 0 + if cmp(self.texfile, other) == 0: + return 0 + if cmp(self.binfile, other) == 0: + return 0 + return -1 + + +class DbTex: + USE_MKLISTINGS = 1 + + xsl_header = \ +""" + + \n""" + + def __init__(self, base=""): + self.name = None + self.debug = 0 + self.verbose = 0 + if base: + self.set_base(base) + self.xslopts = [] + self.xslparams = [] + self.xslusers = [] + self.flags = self.USE_MKLISTINGS + self.stdindir = "" + self.inputdir = "" + self.input = "" + self.input_format = "xml" + self.outputdir = "" + self.output = "" + self.format = "pdf" + self.tmpdir = "" + self.tmpdir_user = None + self.fig_paths = [] + self.bib_paths = [] + self.bst_paths = [] + self.texinputs = [] + self.texbatch = 1 + self.texpost = "" + self.fig_format = "" + self.backend = "" + + # Temporary files + self.documents = [] + self.interms = [] + self.included = [] + self.basefile = "" + self.rawfile = "" + + # Engines to use + self.runtex = None + self.rawtex = None + self.xsltproc = None + self.sgmlxml = None + + def set_base(self, topdir): + self.topdir = os.path.realpath(topdir) + self.xslmain = os.path.join(self.topdir, "xsl", "docbook.xsl") + self.xsllist = os.path.join(self.topdir, "xsl", "common", "mklistings.xsl") + self.xslset = os.path.join(self.topdir, "xsl", "common", "mkdoclist.xsl") + self.texdir = os.path.join(self.topdir, "texstyle") + self.texlocal = "" + self.confdir = os.path.join(self.topdir, "confstyle") + + def update_texinputs(self): + sep = os.pathsep + # Get a uniform list of paths (not a list of lists) + ti = [] + for t in self.texinputs: + ti += t.split(sep) + + # Systematically put the package style in TEXINPUTS + ti_opts = ti + [self.texdir + "//"] + + # The original environment variable + texinputs = os.getenv("TEXINPUTS") or "" + ti_env = texinputs.split(sep) + + # Find where system default is in the paths + try: + syspos = ti_env.index('') + except: + # By default system has precedence (i.e. is the first one) + ti_env = [''] + ti_env + syspos = 0 + + ti_before = ti_env[:syspos] + ti_after = ti_env[syspos+1:] + + # Paths passed by options have no precedence over the system + ti_after = ti_opts + ti_after + + # Texlocal has precedence over the standard (and added) paths + if self.texlocal: + ti_before = [ self.texlocal + "//" ] + ti_before + + # Export the whole paths + texinputs = sep.join(ti_before + [''] + ti_after) + os.environ["TEXINPUTS"] = texinputs + + def set_xslt(self, xsltmod=None): + # Set the XSLT to use. Set a default XSLT if none specified. + # One can replace an already defined XSLT if explicitely required. + if not(xsltmod): + if self.xsltproc: + return + xsltmod = "xsltproc" + self.xsltproc = xslt.load(xsltmod) + + def set_backend(self): + # Set the backend to use or retrieve the default one + if self.backend: + self.runtex.set_backend(self.backend) + else: + self.backend = self.runtex.get_backend() + + def set_format(self, format): + if not(format in ("rtex", "tex", "dvi", "ps", "pdf")): + raise ValueError("unknown format '%s'" % format) + else: + self.format = format + + def unset_flags(self, what): + self.flags &= ~what + + def get_version(self): + f = file(os.path.join(self.topdir, "xsl", "version.xsl")) + versions = re.findall("]*>([^<]*)<", f.read()) + f.close() + if versions: + return versions[0].strip() + else: + return "unknown" + + def build_stylesheet(self, wrapper="custom.xsl"): + if not(self.xslparams or self.xslusers): + self.xslbuild = self.xslmain + return + + f = file(wrapper, "w") + f.write(self.xsl_header) + f.write('\n' % path_to_uri(self.xslmain)) + for xsluser in self.xslusers: + f.write('\n' % path_to_uri(xsluser)) + + # Reverse to set the latest parameter first (case of overriding) + self.xslparams.reverse() + for param in self.xslparams: + v = param.split("=", 1) + f.write('' % v[0]) + if len(v) == 2: + f.write('%s' % v[1]) + f.write('\n') + + f.write('\n') + f.close() + self.xslbuild = os.path.realpath(wrapper) + + def make_xml(self): + self.log.info("Build the XML file...") + xmlfile = self.basefile + ".xml" + self.sgmlxml.run(self.input, xmlfile) + self.input = xmlfile + + def make_listings(self): + self.listings = os.path.join(self.tmpdir, "listings.xml") + if (self.flags & self.USE_MKLISTINGS): + self.log.info("Build the listings...") + param = {"current.dir": self.inputdir} + self.xsltproc.use_catalogs = 0 + self.xsltproc.run(self.xsllist, self.input, + self.listings, opts=self.xslopts, params=param) + else: + self.log.info("No external file support") + f = file(self.listings, "w") + f.write("\n") + f.close() + + def _single_setup(self): + # If not specified the output name can be deduced from the input one: + # /path/to/input.{xml|sgml} -> /path/to/input.{tex|pdf|dvi|ps} + if not(self.output): + output = suffix_replace(self.input, "."+self.input_format, + ".%s" % self.format) + self.output = output + + self.documents.append(Document(self.basefile + \ + "." + self.input_format, + binfmt=self.format)) + + def _multiple_setup(self, doclist): + # If not specified, output the chunked books in the working dir + if not(self.outputdir): + self.log.info("No specified output dir (-O). "\ + "Use the working directory") + self.outputdir = self.cwdir + + f = open(doclist) + books = f.readlines() + f.close() + + for b in books: + d = Document(b.strip() + ".tex", binfmt=self.format) + self.documents.append(d) + + def build_doclist(self): + # The stylesheet must include the building stylesheets to have the + # actual parameter values (e.g. set.book.num) needed to give the book + # set list + self.log.info("Build the book set list...") + xslset = "doclist.xsl" + f = file(xslset, "w") + f.write(self.xsl_header) + f.write('\n' % path_to_uri(self.xslbuild)) + f.write('\n' % path_to_uri(self.xslset)) + f.write('\n') + f.close() + + doclist = os.path.join(self.tmpdir, "doclist.txt") + self.xsltproc.use_catalogs = 0 + self.xsltproc.run(xslset, self.input, doclist, opts=self.xslopts) + + # If is missing or is empty, there's no set, or only one + # book from the set is compiled + if os.path.isfile(doclist) and os.path.getsize(doclist) > 0: + self._multiple_setup(doclist) + else: + self._single_setup() + + def make_rawtex(self): + if len(self.documents) == 1: + self.rawfile = self.documents[0].rawfile + else: + self.rawfile = "output.rtex" + + param = {"listings.xml": self.listings, + "current.dir": self.inputdir} + self.xsltproc.use_catalogs = 1 + self.xsltproc.run(self.xslbuild, self.input, + self.rawfile, opts=self.xslopts, params=param) + + # Now, find the intermediate raw files + rawfiles = glob.glob("*.rtex") + for rawfile in rawfiles: + if not(rawfile in self.documents): + d = Document(rawfile, binfmt=self.format) + if d.has_subext(".input"): + self.included.append(d) + else: + self.interms.append(d) + + def make_tex(self): + self.rawtex.set_format(self.format, self.backend) + if self.fig_format: + self.rawtex.fig_format(self.fig_format) + + # By default figures are relative to the source file directory + self.rawtex.set_fig_paths([self.inputdir] + self.fig_paths) + + for d in self.documents + self.interms + self.included: + self.rawtex.parse(d.rawfile, d.texfile) + + def make_bin(self): + self.runtex.texpost = self.texpost + self.runtex.set_fig_paths([self.inputdir] + self.fig_paths) + self.runtex.set_bib_paths([self.inputdir] + self.bib_paths, + [self.inputdir] + self.bst_paths) + + # Build the intermediate files and (after) the main documents + for d in self.interms + self.documents: + self.log.info("Build %s" % d.binfile) + self.runtex.compile(d.texfile, d.binfile, self.format, + batch=self.texbatch) + # Only reinit, to not lose the produced working files + # used to track the dependencies on other documents + self.runtex.reinit() + + def compile(self): + self.set_xslt() + self.set_backend() + self.cwdir = os.getcwd() + self.tmpdir = self.tmpdir_user or tempfile.mkdtemp() + if self.input: + self.inputdir = os.path.dirname(self.input) + else: + self._stdin_write() + os.chdir(self.tmpdir) + try: + donefiles = self._compile() + if len(donefiles) == 1: + shutil.move(donefiles[0], self.output) + self.log.info("'%s' successfully built" % \ + os.path.basename(self.output)) + else: + for d in donefiles: + shutil.move(d, self.outputdir) + donefiles.sort() + self.log.info("Files successfully built in '%s':\n%s" % \ + (self.outputdir, "\n".join(donefiles))) + finally: + os.chdir(self.cwdir) + if not(self.debug): + shutil.rmtree(self.tmpdir) + else: + self.log.info("%s not removed" % self.tmpdir) + + def _stdin_write(self): + # Find out the stdin working directory + self.inputdir = self.stdindir or self.cwdir + + # Need to dump the stdin input, because of the two passes + self.input = os.path.join(self.tmpdir, "stdin.xml") + f = open(self.input, "w") + for line in sys.stdin: + f.write(line) + f.close() + + def _compile(self): + # The temporary output file + tmpout = os.path.basename(self.input) + for s in (" ", "\t"): + tmpout = tmpout.replace(s, "_") + self.basefile = suffix_replace(tmpout, "." + self.input_format) + + # Convert SGML to XML if needed + if self.input_format == "sgml": + self.make_xml() + + # Build the user XSL stylesheet if needed + self.build_stylesheet() + + # List the documents to build + self.build_doclist() + + # Refresh the TEXINPUTS + self.update_texinputs() + + # For easy debug + if self.debug and os.environ.has_key("TEXINPUTS"): + if os.name != "nt": + f = file("env_tex", "w") + f.write("TEXINPUTS=%s\nexport TEXINPUTS\n" % \ + os.environ["TEXINPUTS"]) + f.close() + else: + f = file("env_tex.bat", "w") + f.write("set TEXINPUTS=%s\n" % os.environ["TEXINPUTS"]) + f.close() + + # Build the tex file(s), and compile it(them) + self.make_listings() + self.make_rawtex() + if self.format == "rtex": + return [ d.rawfile for d in self.documents ] + + self.make_tex() + if self.format == "tex": + return [ d.texfile for d in self.documents ] + + self.make_bin() + return [ d.binfile for d in self.documents ] + + +# +# Command entry point +# +class DbTexCommand: + def __init__(self, base): + prog = os.path.splitext(os.path.basename(sys.argv[0]))[0] + usage = "%s [options] file" % prog + parser = OptionParser(usage=usage) + parser.add_option("-b", "--backend", + help="Backend driver to use. The available drivers" + " are 'pdftex' (default), 'dvips' and 'xetex'.") + parser.add_option("-B", "--no-batch", action="store_true", + help="All the tex output is printed") + parser.add_option("-c", "-S", "--config", action="append", + help="Configuration file") + parser.add_option("-C", "--changedir", + help="Standard input working directory") + parser.add_option("-d", "--debug", action="store_true", + help="Debug mode. Keep the temporary directory in " + "which %s actually works" % prog) + parser.add_option("-D", "--dump", action="store_true", + help="Dump error stack (debug purpose)") + parser.add_option("-e", "--indexstyle", + help="Index Style file to pass to makeindex") + parser.add_option("-f", "--fig-format", + help="Input figure format, used when not deduced " + "from figure extension") + parser.add_option("-F", "--input-format", + help="Input file format: sgml, xml. (default=xml)") + parser.add_option("-i", "--texinputs", action="append", + help="Path added to TEXINPUTS") + parser.add_option("-I", "--fig-path", action="append", + dest="fig_paths", metavar="FIG_PATH", + help="Additional lookup path of the figures") + parser.add_option("-l", "--bst-path", action="append", + dest="bst_paths", metavar="BST_PATH", + help="Bibliography style file path") + parser.add_option("-L", "--bib-path", action="append", + dest="bib_paths", metavar="BIB_PATH", + help="BibTeX database path") + parser.add_option("-m", "--xslt", + help="XSLT engine to use. (default=xsltproc)") + parser.add_option("-o", "--output", dest="output", + help="Output filename. " + "When not used, the input filename " + "is used, with the suffix of the output format") + parser.add_option("-O", "--output-dir", + help="Output directory for the built books." + " When not defined, the current working " + "directory is used. Option used only for " + "a document having a ") + parser.add_option("-p", "--xsl-user", action="append", + help="XSL user configuration file to use") + parser.add_option("-P", "--param", dest="xslparams", + action="append", metavar="PARAM=VALUE", + help="Set an XSL parameter value from command line") + parser.add_option("-q", "--quiet", action="store_true", + help="Less verbose, showing only error messages") + parser.add_option("-r", "--texpost", metavar="SCRIPT", + help="Script called at the very end of the tex " + "compilation. Its role is to modify the tex file " + "or one of the compilation file before the last " + "round.") + parser.add_option("-s", "--texstyle", metavar="STYFILE", + help="Latex style to apply. It can be a package name, or " + "directly a package path that must ends with " + "'.sty'") + parser.add_option("-t", "--type", dest="format", + help="Output format. Available formats:\n" + "tex, dvi, ps, pdf (default=pdf)") + parser.add_option("--dvi", action="store_true", dest="format_dvi", + help="DVI output. Equivalent to -tdvi") + parser.add_option("--pdf", action="store_true", dest="format_pdf", + help="PDF output. Equivalent to -tpdf") + parser.add_option("--ps", action="store_true", dest="format_ps", + help="PostScript output. Equivalent to -tps") + parser.add_option("-T", "--style", + help="Predefined output style") + parser.add_option("--tmpdir", + help="Temporary working directory to use (for debug only)") + parser.add_option("-v", "--version", action="store_true", + help="Print the %s version" % prog) + parser.add_option("-V", "--verbose", action="store_true", + help="Verbose mode, showing the running commands") + parser.add_option("-x", "--xslt-opts", dest="xslopts", + action="append", metavar="XSLT_OPTIONS", + help="Arguments directly passed to the XSLT engine") + parser.add_option("-X", "--no-external", action="store_true", + help="Disable the external text file support used for " + "some callout processing") + + self.parser = parser + self.base = base + self.prog = prog + # The actual engine to use is unknown + self.run = None + + def load_plugin(self, pathname): + moddir, modname = os.path.split(pathname) + try: + filemod, path, descr = imp.find_module(modname, [moddir]) + except ImportError: + try: + filemod, path, descr = imp.find_module(modname) + except ImportError: + failed_exit("Error: '%s' module not found" % modname) + mod = imp.load_module(modname, filemod, path, descr) + filemod.close() + return mod + + def run_setup(self, options): + run = self.run + + if not(options.format): + if options.format_pdf: + options.format = "pdf" + elif options.format_ps: + options.format = "ps" + elif options.format_dvi: + options.format = "dvi" + + if options.format: + try: + run.set_format(options.format) + except Exception, e: + failed_exit("Error: %s" % e) + + # Always set the XSLT (default or not) + try: + run.set_xslt(options.xslt) + except Exception, e: + failed_exit("Error: %s" % e) + + if options.xslopts: + for o in options.xslopts: + run.xslopts += shlex.split(o) + + if options.xslparams: + run.xslparams += options.xslparams + + if options.debug: + run.debug = options.debug + + if options.fig_paths: + run.fig_paths += [os.path.realpath(p) for p in options.fig_paths] + + if options.bib_paths: + run.bib_paths += [os.path.realpath(p) for p in options.bib_paths] + + if options.bst_paths: + run.bst_paths += [os.path.realpath(p) for p in options.bst_paths] + + if options.texstyle: + try: + xslparam, texpath = texstyle_parse(options.texstyle) + except Exception, e: + failed_exit("Error: %s" % e) + run.xslparams.append(xslparam) + if texpath: run.texinputs.append(texpath) + + if options.indexstyle: + run.runtex.index_style = os.path.abspath(options.indexstyle) + + if options.texinputs: + for texinputs in options.texinputs: + run.texinputs += texinputs_parse(texinputs) + + if options.fig_format: + run.fig_format = options.fig_format + + if options.input_format: + run.input_format = options.input_format + + if options.no_batch: + run.texbatch = 0 + + if options.backend: + run.backend = options.backend + + if options.xsl_user: + for xfile in options.xsl_user: + xsluser = os.path.realpath(xfile) + if not(os.path.isfile(xsluser)): + failed_exit("Error: '%s' does not exist" % options.xsl_user) + run.xslusers.append(xsluser) + + if options.texpost: + is_plugin = options.texpost.startswith("plugin:") + if is_plugin: + path = self.load_plugin(options.texpost[len("plugin:"):]) + else: + path = os.path.realpath(options.texpost) + if not(os.path.isfile(path)): + failed_exit("Error: '%s' does not exist" % options.texpost) + run.texpost = path + + if options.no_external: + run.unset_flags(run.USE_MKLISTINGS) + + if options.verbose: + run.verbose = options.verbose + + if options.quiet: + run.verbose = logger.QUIET + run.xslparams.append("output.quietly=1") + + if options.tmpdir: + if not(os.path.exists(options.tmpdir)): + try: + os.mkdir(options.tmpdir) + except Exception, e: + failed_exit("Error: %s" % e) + run.tmpdir_user = os.path.abspath(options.tmpdir) + + if options.dump: + dump_stack() + + def get_config_paths(self): + # Allows user directories where to look for configuration files + paths = [os.getcwd()] + paths.append(os.path.expanduser(os.path.join("~", "."+self.prog))) + + # Unix specific system-wide config files + if "posix" in sys.builtin_module_names: + paths.append(os.path.join("/etc", self.prog)) + + # Last but not least, the tool config dir + paths.append(self.run.confdir) + + # Optionally the paths from an environment variable + conf_paths = os.getenv("DBLATEX_CONFIG_FILES") + if not(conf_paths): + return paths + + paths += conf_paths.split(os.pathsep) + return paths + + def main(self): + (options, args) = self.parser.parse_args() + + run = self.run + parser = self.parser + + if options.version: + version = run.get_version() + print "%s version %s" % (self.prog, version) + if not(args): + sys.exit(0) + + # At least the input file is expected + if not(args): + parser.parse_args(args=["-h"]) + + # Load the specified configurations + conf = DbtexConfig() + if options.dump: + dump_stack() + + if options.style: + try: + conf.paths = self.get_config_paths() + conf.fromstyle(options.style) + except Exception, e: + failed_exit("Error: %s" % e) + + if options.config: + try: + for config in options.config: + conf.fromfile(config) + except Exception, e: + failed_exit("Error: %s" % e) + + if conf.options: + options2, args2 = parser.parse_args(conf.options) + self.run_setup(options2) + + # Now apply the command line setup + self.run_setup(options) + + # Verbose mode + run.log = logger.logger(self.prog, run.verbose) + + # Data from standard input? + if args[0] == "-": + if not(options.output): + failed_exit("Error: -o expected when input from stdin") + input = "" + if options.changedir: + run.stdindir = os.path.realpath(options.changedir) + else: + input = os.path.realpath(args[0]) + + # Output file in case of single document (main case) + if not(options.output): + output = None + else: + output = os.path.realpath(options.output) + + # Output directory in case of chunked books (from a set) + if not(options.output_dir): + outputdir = None + else: + # Check the output dir is OK + outputdir = os.path.realpath(options.output_dir) + if not(os.path.isdir(outputdir)): + failed_exit("Error: '%s' is not a directory" %\ + options.output_dir) + + run.input = input + run.output = output + run.outputdir = outputdir + + # Try to buid the file + try: + run.compile() + except Exception, e: + signal_error(self, e) + failed_exit("Error: %s" % e) + diff --git a/lib/dbtexmf/core/error.py b/lib/dbtexmf/core/error.py new file mode 100644 index 0000000..4bf44ee --- /dev/null +++ b/lib/dbtexmf/core/error.py @@ -0,0 +1,63 @@ +# +# Dblatex Error Handler wrapper providing: +# - The ErrorHandler class definition, that must be the parent of any actual +# error handler. +# - A general API. +# +import sys +import traceback + +class ErrorHandler(object): + """ + Object in charge to handle any error occured during the dblatex + transformation process. The first mandatory argument is the + that signaled the error. + """ + def __init__(self): + pass + + def signal(self, object, *args, **kwargs): + failure_track("Unexpected error occured") + + +_current_handler = None +_dump_stack = False + + +# +# Dblatex Error Handler API +# +# In a complex use of the API, a locking mechanism (thread.lock) should +# be used. The current implementation assumes that setup is done before +# any get(). +# +def get_errhandler(): + global _current_handler + # If nothing set, use a default handler that does nothing + if not(_current_handler): + _current_handler = ErrorHandler() + return _current_handler + +def set_errhandler(handler): + global _current_handler + if not(isinstance(handler, ErrorHandler)): + raise ValueError("%s is not an ErrorHandler" % handler) + _current_handler = handler + +def signal_error(*args, **kwargs): + get_errhandler().signal(*args, **kwargs) + +def failure_track(msg): + global _dump_stack + print >>sys.stderr, (msg) + if _dump_stack: + traceback.print_exc() + +def failed_exit(msg, rc=1): + failure_track(msg) + sys.exit(rc) + +def dump_stack(): + global _dump_stack + _dump_stack = True + diff --git a/lib/dbtexmf/core/imagedata.py b/lib/dbtexmf/core/imagedata.py new file mode 100644 index 0000000..ebbd5c7 --- /dev/null +++ b/lib/dbtexmf/core/imagedata.py @@ -0,0 +1,383 @@ +import sys +import os +import re +import shutil +import logging +import urllib +from dbtexmf.core.error import signal_error +from commander import CommandRunner + +class ObjectFilter: + """ + Its purpose is to select some objects from a list according to specified + criterions. It assumes that '*' applied to a criterion means 'any'. + """ + def __init__(self): + pass + + def _re_multi_or_star(self, searched): + if not(searched): + searched = r"\w*" + else: + s = searched.split() + #searched = "|".join(["(?<=[/ ])%s" % p for p in s]) + searched = "|".join(["%s" % p for p in s]) + searched += r"|\*" + return "("+searched+")" + + def select(self, object_list, **filter_criterions): + for criterion, value in filter_criterions.items(): + filter_criterions[criterion] = self._re_multi_or_star(value) + + founds = [] + for obj in object_list: + object_criterions = obj.criterions() + for criterion, re_expr in filter_criterions.items(): + data = object_criterions.get(criterion, "") + m = re.search(re_expr, data) + #print "Lookup2:", criterion, re_expr, data, not(m is None) + if not(m): break + + if m: founds.append(obj) + #print "Lookup2: found %d" % len(founds) + return founds + + +class PoolManager: + def __init__(self): + self._used_pool = None + self._pending_pools = [] + + def set_pool(self, pool): + self._used_pool = pool + for p in self._pending_pools: + pool.preprend(p) + self._pending_pools = [] + + def prepend_pool(self, pool): + if self._used_pool: + self._used_pool.prepend(pool) + else: + self._pending_pools.append(pool) + +class ImageSetup: + """ + Central imagedata setup, filled by default object configurations and + by the XML configuration + """ + def __init__(self): + self.converter_pool = PoolManager() + self.format_pool = PoolManager() + +_image_setup = ImageSetup() + +def image_setup(): + global _image_setup + return _image_setup + + +# +# Objects to convert an image format to another. Actually use the underlying +# tools. +# +class ImageConverter: + _log = logging.getLogger("dblatex") + + def __init__(self, imgsrc, imgdst="", docformat="", backend=""): + self.imgsrc = imgsrc + self.imgdst = imgdst or "*" + self.docformat = docformat or "*" + self.backend = backend or "*" + self.command = CommandRunner(log=self._log) + + def criterions(self): + return { "imgsrc": self.imgsrc, + "imgdst": self.imgdst, + "docformat": self.docformat, + "backend": self.backend } + + def add_command(self, *args, **kwargs): + self.command.add_command(*args, **kwargs) + + def convert(self, input, output, format, doexec=1): + rc = self.command.run(kw={"input": input, "output": output, + "dst": format}) + if rc != 0: signal_error(self, "") + +class ImageConverterPool: + def __init__(self): + self.converters = [] + self._filter = ObjectFilter() + + def add_converter(self, converter): + self.converters.append(converter) + + def extend(self, other): + self.converters.extend(other.converters) + + def prepend(self, other): + self.converters = other.converters + self.converters + + def get_converters(self, imgsrc="", imgdst="", docformat="", backend=""): + founds = self._filter.select(self.converters, + imgsrc=imgsrc, + imgdst=imgdst, + docformat=docformat, + backend=backend) + return founds + + +class ImageConverters(ImageConverterPool): + def __init__(self): + ImageConverterPool.__init__(self) + # Default setup + self.add_converter(GifConverter("gif")) + self.add_converter(EpsConverter("eps", "pdf")) + self.add_converter(EpsConverter("eps", "png")) + self.add_converter(FigConverter("fig", "pdf")) + self.add_converter(FigConverter("fig", "png")) + self.add_converter(SvgConverter("svg")) + + # Register as main pool + image_setup().converter_pool.set_pool(self) + + +class GifConverter(ImageConverter): + def __init__(self, imgsrc, imgdst="", docformat="", backend=""): + ImageConverter.__init__(self, imgsrc="gif bmp", imgdst="*") + self.add_command(["convert", "%(input)s", "%(output)s"]) + +class EpsConverter(ImageConverter): + def __init__(self, imgsrc, imgdst="", docformat="", backend=""): + ImageConverter.__init__(self, imgsrc="eps", imgdst=imgdst) + if imgdst == "pdf": + self.add_command(["epstopdf", "--outfile=%(output)s", "%(input)s"], + shell=True) + elif imgdst == "png": + self.add_command(["convert", "%(input)s", "%(output)s"]) + +class FigConverter(ImageConverter): + def __init__(self, imgsrc, imgdst="", docformat="", backend=""): + ImageConverter.__init__(self, imgsrc="fig", imgdst=imgdst) + self.add_command(["fig2dev", "-L", "eps", "%(input)s"], + stdout="%(output)s") + if imgdst != "eps": + self.conv_next = EpsConverter("eps", imgdst=imgdst) + else: + self.conv_next = None + + def convert(self, input, output, format): + if self.conv_next: + epsfile = "tmp_fig.eps" + else: + epsfile = output + ImageConverter.convert(self, input, epsfile, "eps") + if self.conv_next: + self.conv_next.convert(epsfile, output, format) + +class SvgConverter(ImageConverter): + def __init__(self, imgsrc, imgdst="", docformat="", backend=""): + ImageConverter.__init__(self, imgsrc="svg", imgdst=imgdst) + self.add_command(["inkscape", "-z", "-D", "--export-%(dst)s=%(output)s", + "%(input)s"]) + + +class FormatRule: + def __init__(self, imgsrc="", imgdst="", docformat="", backend=""): + self.imgsrc = imgsrc or "*" + self.imgdst = imgdst or "*" + self.docformat = docformat or "*" + self.backend = backend or "*" + + def criterions(self): + return { "imgsrc": self.imgsrc, + "imgdst": self.imgdst, + "docformat": self.docformat, + "backend": self.backend } + +class ImageFormatPool: + def __init__(self): + self.rules = [] + self._filter = ObjectFilter() + + def add_rule(self, rule): + self.rules.append(rule) + + def prepend(self, other): + self.rules = other.rules + self.rules + + def output_format(self, imgsrc="", docformat="", backend=""): + founds = self._filter.select(self.rules, + imgsrc=imgsrc, + docformat=docformat, + backend=backend) + if founds: + return founds[0].imgdst + else: + return "" + +class ImageFormatRuleset(ImageFormatPool): + def __init__(self): + ImageFormatPool.__init__(self) + # There can be a mismatch between PDF-1.4 images and PDF-1.3 + # document produced by XeTeX + self.add_rule(FormatRule(docformat="pdf", backend="xetex", + imgdst="png")) + self.add_rule(FormatRule(docformat="pdf", imgdst="pdf")) + self.add_rule(FormatRule(docformat="dvi", imgdst="eps")) + self.add_rule(FormatRule(docformat="ps", imgdst="eps")) + + # Register as main pool + image_setup().format_pool.set_pool(self) + +# +# The Imagedata class handles all the image transformation +# process, from the discovery of the actual image involved to +# the conversion process. +# +class Imagedata: + def __init__(self): + self.paths = [] + self.input_format = "png" + self.output_format = "pdf" + self.docformat = "pdf" + self.backend = "" + self.rules = ImageFormatRuleset() + self.converters = ImageConverters() + self.converted = {} + self.log = logging.getLogger("dblatex") + self.output_encoding = "" + + def set_encoding(self, output_encoding): + self.output_encoding = output_encoding + + def set_format(self, docformat, backend): + self.docformat = docformat + self.backend = backend + self.output_format = self.rules.output_format(docformat=docformat, + backend=backend) + + def convert(self, fig): + # Translate the URL to an actual local path + fig = urllib.url2pathname(fig) + + # Always use '/' in path: work even on windows and is required by tex + if os.path.sep != '/': fig = fig.replace(os.path.sep, '/') + + # First, scan the available formats + (realfig, ext) = self.scanformat(fig) + + # No real file found, give up + if not(realfig): + self.log.warning("Image '%s' not found" % fig) + return fig + + # Check if this image has been already converted + if self.converted.has_key(realfig): + self.log.info("Image '%s' already converted as %s" % \ + (fig, self.converted[realfig])) + return self.converted[realfig] + + # No format found, take the default one + if not(ext): + ext = self.input_format + + # Natively supported format? + if (ext == self.output_format): + return self._safe_file(fig, realfig, ext) + + # Try to convert + count = len(self.converted) + newfig = "fig%d.%s" % (count, self.output_format) + + conv = self.converters.get_converters(imgsrc=ext, + imgdst=self.output_format, + backend=self.backend) + if not(conv): + self.log.debug("Cannot convert '%s' to %s" % (fig, + self.output_format)) + # Unknown conversion to do, or nothing to do + return self._safe_file(fig, realfig, ext) + else: + # Take the first converter that does the trick + conv = conv[0] + + # Convert the image and put it in the cache + conv.log = self.log + conv.convert(realfig, newfig, self.output_format) + self.converted[realfig] = newfig + return newfig + + def _safe_file(self, fig, realfig, ext): + """ + Copy the file in the working directory if its path contains characters + unsupported by latex, like spaces. + """ + # Encode to expected output format. If encoding is OK and + # supported by tex, just return the encoded path + newfig = self._path_encode(fig) + if newfig and newfig.find(" ") == -1: + return newfig + + # Added to the converted list + count = len(self.converted) + newfig = "figcopy%d.%s" % (count, ext) + self.converted[realfig] = newfig + + # Do the copy + shutil.copyfile(realfig, newfig) + return newfig + + def _path_encode(self, fig): + # Actually, only ASCII characters are sure to match filesystem encoding + # so let's be conservative + if self.output_encoding == "utf8": + return fig + try: + newfig = fig.decode("utf8").encode("ascii") + except: + newfig = "" + return newfig + + def scanformat(self, fig): + (root, ext) = os.path.splitext(fig) + + if (ext): + realfig = self.find(fig) + return (realfig, ext[1:]) + + # Lookup for the best suited available figure + if (self.output_format == "pdf"): + formats = ("png", "pdf", "jpg", "eps", "gif", "fig", "svg") + else: + formats = ("eps", "fig", "pdf", "png", "svg") + + for format in formats: + realfig = self.find("%s.%s" % (fig, format)) + if realfig: + self.log.info("Found %s for '%s'" % (format, fig)) + break + + # Maybe a figure with no extension + if not(realfig): + realfig = self.find(fig) + format = "" + + return (realfig, format) + + def find(self, fig): + # First, the obvious absolute path case + if os.path.isabs(fig): + if os.path.isfile(fig): + return fig + else: + return None + + # Then, look for the file in known paths + for path in self.paths: + realfig = os.path.join(path, fig) + if os.path.isfile(realfig): + return realfig + + return None + diff --git a/lib/dbtexmf/core/logger.py b/lib/dbtexmf/core/logger.py new file mode 100644 index 0000000..c1f3584 --- /dev/null +++ b/lib/dbtexmf/core/logger.py @@ -0,0 +1,21 @@ +import logging + +VERBOSE = 1 +NORMAL = 0 +LESS_VERBOSE = -1 +QUIET = -2 + +def logger(logname, level): + loglevels = { QUIET: logging.ERROR-1, + LESS_VERBOSE: logging.WARNING-1, + NORMAL: logging.INFO-1, + VERBOSE: logging.DEBUG-1 } + + log = logging.getLogger(logname) + log.setLevel(loglevels[level]) + console = logging.StreamHandler() + format = logging.Formatter("%(message)s") + console.setFormatter(format) + log.addHandler(console) + return log + diff --git a/lib/dbtexmf/core/sgmlent.txt b/lib/dbtexmf/core/sgmlent.txt new file mode 100644 index 0000000..f9671e2 --- /dev/null +++ b/lib/dbtexmf/core/sgmlent.txt @@ -0,0 +1,1041 @@ +# Author: John Cowan +# Date: 25 July 1997 +# +# The following table maps SGML character entities from various +# public sets (namely, ISOamsa, ISOamsb, ISOamsc, ISOamsn, ISOamso, +# ISOamsr, ISObox, ISOcyr1, ISOcyr2, ISOdia, ISOgrk1, ISOgrk2, +# ISOgrk3, ISOgrk4, ISOlat1, ISOlat2, ISOnum, ISOpub, ISOtech, +# HTMLspecial, HTMLsymbol) to corresponding Unicode characters. +# +# The table has four tab-separated columns: +# Column 1: SGML character entity name +# Column 2: SGML public entity set +# Column 3: Unicode 2.0 character code +# Column 4: Unicode 2.0 character name (UPPER CASE) +# Entries which don't have Unicode equivalents have "0x????" +# in Column 3 and a lower case description (from the public entity +# set DTD) in Column 4. The mapping is not reversible, because many +# distinctions are unified away in Unicode, particularly between +# mathematical symbols. +# +# The table is sorted case-blind by SGML character entity name. +# +# The contents of this table are drawn from various sources, and +# are in the public domain. +# +Aacgr ISOgrk2 0x0386 # GREEK CAPITAL LETTER ALPHA WITH TONOS +aacgr ISOgrk2 0x03AC # GREEK SMALL LETTER ALPHA WITH TONOS +Aacute ISOlat1 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE +aacute ISOlat1 0x00E1 # LATIN SMALL LETTER A WITH ACUTE +Abreve ISOlat2 0x0102 # LATIN CAPITAL LETTER A WITH BREVE +abreve ISOlat2 0x0103 # LATIN SMALL LETTER A WITH BREVE +Acirc ISOlat1 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX +acirc ISOlat1 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX +acute ISOdia 0x00B4 # ACUTE ACCENT +Acy ISOcyr1 0x0410 # CYRILLIC CAPITAL LETTER A +acy ISOcyr1 0x0430 # CYRILLIC SMALL LETTER A +AElig ISOlat1 0x00C6 # LATIN CAPITAL LETTER AE +aelig ISOlat1 0x00E6 # LATIN SMALL LETTER AE +Agr ISOgrk1 0x0391 # GREEK CAPITAL LETTER ALPHA +agr ISOgrk1 0x03B1 # GREEK SMALL LETTER ALPHA +Agrave ISOlat1 0x00C0 # LATIN CAPITAL LETTER A WITH GRAVE +agrave ISOlat1 0x00E0 # LATIN SMALL LETTER A WITH GRAVE +alefsym HTMLsymbol 0x2135 # ALEF SYMBOL +aleph ISOtech 0x2135 # ALEF SYMBOL +Alpha HTMLsymbol 0x0391 # GREEK CAPITAL LETTER ALPHA +alpha ISOgrk3 0x03B1 # GREEK SMALL LETTER ALPHA +Amacr ISOlat2 0x0100 # LATIN CAPITAL LETTER A WITH MACRON +amacr ISOlat2 0x0101 # LATIN SMALL LETTER A WITH MACRON +amalg ISOamsb 0x2210 # N-ARY COPRODUCT +amp ISOnum 0x0026 # AMPERSAND +and ISOtech 0x2227 # LOGICAL AND +ang ISOamso 0x2220 # ANGLE +ang90 ISOtech 0x221F # RIGHT ANGLE +angmsd ISOamso 0x2221 # MEASURED ANGLE +angsph ISOtech 0x2222 # SPHERICAL ANGLE +angst ISOtech 0x212B # ANGSTROM SIGN +Aogon ISOlat2 0x0104 # LATIN CAPITAL LETTER A WITH OGONEK +aogon ISOlat2 0x0105 # LATIN SMALL LETTER A WITH OGONEK +ap ISOtech 0x2248 # ALMOST EQUAL TO +ape ISOamsr 0x224A # ALMOST EQUAL OR EQUAL TO +apos ISOnum 0x02BC # MODIFIER LETTER APOSTROPHE +Aring ISOlat1 0x00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE +aring ISOlat1 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE +ast ISOnum 0x002A # ASTERISK +asymp ISOamsr 0x2248 # ALMOST EQUAL TO +Atilde ISOlat1 0x00C3 # LATIN CAPITAL LETTER A WITH TILDE +atilde ISOlat1 0x00E3 # LATIN SMALL LETTER A WITH TILDE +Auml ISOlat1 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS +auml ISOlat1 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS +b.alpha ISOgrk4 0x03B1 # GREEK SMALL LETTER ALPHA +barwed ISOamsb 0x22BC # NAND +Barwed ISOamsb 0x2306 # PERSPECTIVE +b.beta ISOgrk4 0x03B2 # GREEK SMALL LETTER BETA +b.chi ISOgrk4 0x03C7 # GREEK SMALL LETTER CHI +bcong ISOamsr 0x224C # ALL EQUAL TO +Bcy ISOcyr1 0x0411 # CYRILLIC CAPITAL LETTER BE +bcy ISOcyr1 0x0431 # CYRILLIC SMALL LETTER BE +b.Delta ISOgrk4 0x0394 # GREEK CAPITAL LETTER DELTA +b.delta ISOgrk4 0x03B4 # GREEK SMALL LETTER DELTA +bdquo HTMLspecial 0x201E # DOUBLE LOW-9 QUOTATION MARK +becaus ISOtech 0x2235 # BECAUSE +bepsi ISOamsr 0x220D # SMALL CONTAINS AS MEMBER +b.epsi ISOgrk4 0x03B5 # GREEK SMALL LETTER EPSILON +b.epsis ISOgrk4 0x03B5 # GREEK SMALL LETTER EPSILON +b.epsiv ISOgrk4 0x03B5 # GREEK SMALL LETTER EPSILON +bernou ISOtech 0x212C # SCRIPT CAPITAL B +Beta HTMLsymbol 0x0392 # GREEK CAPITAL LETTER BETA +beta ISOgrk3 0x03B2 # GREEK SMALL LETTER BETA +b.eta ISOgrk4 0x03B7 # GREEK SMALL LETTER ETA +beth ISOamso 0x2136 # BET SYMBOL +b.Gamma ISOgrk4 0x0393 # GREEK CAPITAL LETTER GAMMA +b.gamma ISOgrk4 0x03B3 # GREEK SMALL LETTER GAMMA +b.gammad ISOgrk4 0x03DC # GREEK LETTER DIGAMMA +Bgr ISOgrk1 0x0392 # GREEK CAPITAL LETTER BETA +bgr ISOgrk1 0x03B2 # GREEK SMALL LETTER BETA +b.iota ISOgrk4 0x03B9 # GREEK SMALL LETTER IOTA +b.kappa ISOgrk4 0x03BA # GREEK SMALL LETTER KAPPA +b.kappav ISOgrk4 0x03F0 # GREEK KAPPA SYMBOL +b.Lambda ISOgrk4 0x039B # GREEK CAPITAL LETTER LAMDA +b.lambda ISOgrk4 0x03BB # GREEK SMALL LETTER LAMDA +blank ISOpub 0x2423 # OPEN BOX +blk12 ISOpub 0x2592 # MEDIUM SHADE +blk14 ISOpub 0x2591 # LIGHT SHADE +blk34 ISOpub 0x2593 # DARK SHADE +block ISOpub 0x2588 # FULL BLOCK +b.mu ISOgrk4 0x03BC # GREEK SMALL LETTER MU +b.nu ISOgrk4 0x03BD # GREEK SMALL LETTER NU +b.Omega ISOgrk4 0x03A9 # GREEK CAPITAL LETTER OMEGA +b.omega ISOgrk4 0x03CE # GREEK SMALL LETTER OMEGA WITH TONOS +bottom ISOtech 0x22A5 # UP TACK +bowtie ISOamsr 0x22C8 # BOWTIE +boxdl ISObox 0x2510 # BOX DRAWINGS LIGHT DOWN AND LEFT +boxdL ISObox 0x2555 # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE +boxDl ISObox 0x2556 # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE +boxDL ISObox 0x2557 # BOX DRAWINGS DOUBLE DOWN AND LEFT +boxdr ISObox 0x250C # BOX DRAWINGS LIGHT DOWN AND RIGHT +boxdR ISObox 0x2552 # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE +boxDr ISObox 0x2553 # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE +boxDR ISObox 0x2554 # BOX DRAWINGS DOUBLE DOWN AND RIGHT +boxh ISObox 0x2500 # BOX DRAWINGS LIGHT HORIZONTAL +boxH ISObox 0x2550 # BOX DRAWINGS DOUBLE HORIZONTAL +boxhd ISObox 0x252C # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL +boxHd ISObox 0x2564 # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE +boxhD ISObox 0x2565 # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE +boxHD ISObox 0x2566 # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL +boxhu ISObox 0x2534 # BOX DRAWINGS LIGHT UP AND HORIZONTAL +boxHu ISObox 0x2567 # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE +boxhU ISObox 0x2568 # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE +boxHU ISObox 0x2569 # BOX DRAWINGS DOUBLE UP AND HORIZONTAL +boxul ISObox 0x2518 # BOX DRAWINGS LIGHT UP AND LEFT +boxuL ISObox 0x255B # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE +boxUl ISObox 0x255C # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE +boxUL ISObox 0x255D # BOX DRAWINGS DOUBLE UP AND LEFT +boxur ISObox 0x2514 # BOX DRAWINGS LIGHT UP AND RIGHT +boxuR ISObox 0x2558 # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE +boxUr ISObox 0x2559 # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE +boxUR ISObox 0x255A # BOX DRAWINGS DOUBLE UP AND RIGHT +boxv ISObox 0x2502 # BOX DRAWINGS LIGHT VERTICAL +boxV ISObox 0x2551 # BOX DRAWINGS DOUBLE VERTICAL +boxvh ISObox 0x253C # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL +boxvH ISObox 0x256A # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE +boxVh ISObox 0x256B # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE +boxVH ISObox 0x256C # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL +boxvl ISObox 0x2524 # BOX DRAWINGS LIGHT VERTICAL AND LEFT +boxvL ISObox 0x2561 # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE +boxVl ISObox 0x2562 # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE +boxVL ISObox 0x2563 # BOX DRAWINGS DOUBLE VERTICAL AND LEFT +boxvr ISObox 0x251C # BOX DRAWINGS LIGHT VERTICAL AND RIGHT +boxvR ISObox 0x255E # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE +boxVr ISObox 0x255F # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE +boxVR ISObox 0x2560 # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT +b.Phi ISOgrk4 0x03A6 # GREEK CAPITAL LETTER PHI +b.phis ISOgrk4 0x03C6 # GREEK SMALL LETTER PHI +b.phiv ISOgrk4 0x03D5 # GREEK PHI SYMBOL +b.Pi ISOgrk4 0x03A0 # GREEK CAPITAL LETTER PI +b.pi ISOgrk4 0x03C0 # GREEK SMALL LETTER PI +b.piv ISOgrk4 0x03D6 # GREEK PI SYMBOL +bprime ISOamso 0x2035 # REVERSED PRIME +b.Psi ISOgrk4 0x03A8 # GREEK CAPITAL LETTER PSI +b.psi ISOgrk4 0x03C8 # GREEK SMALL LETTER PSI +breve ISOdia 0x02D8 # BREVE +b.rho ISOgrk4 0x03C1 # GREEK SMALL LETTER RHO +b.rhov ISOgrk4 0x03F1 # GREEK RHO SYMBOL +brvbar ISOnum 0x00A6 # BROKEN BAR +b.Sigma ISOgrk4 0x03A3 # GREEK CAPITAL LETTER SIGMA +b.sigma ISOgrk4 0x03C3 # GREEK SMALL LETTER SIGMA +b.sigmav ISOgrk4 0x03C2 # GREEK SMALL LETTER FINAL SIGMA +bsim ISOamsr 0x223D # REVERSED TILDE +bsime ISOamsr 0x22CD # REVERSED TILDE EQUALS +bsol ISOnum 0x005C # REVERSE SOLIDUS +b.tau ISOgrk4 0x03C4 # GREEK SMALL LETTER TAU +b.Theta ISOgrk4 0x0398 # GREEK CAPITAL LETTER THETA +b.thetas ISOgrk4 0x03B8 # GREEK SMALL LETTER THETA +b.thetav ISOgrk4 0x03D1 # GREEK THETA SYMBOL +bull ISOpub 0x2022 # BULLET +bump ISOamsr 0x224E # GEOMETRICALLY EQUIVALENT TO +bumpe ISOamsr 0x224F # DIFFERENCE BETWEEN +b.Upsi ISOgrk4 0x03A5 # GREEK CAPITAL LETTER UPSILON +b.upsi ISOgrk4 0x03C5 # GREEK SMALL LETTER UPSILON +b.Xi ISOgrk4 0x039E # GREEK CAPITAL LETTER XI +b.xi ISOgrk4 0x03BE # GREEK SMALL LETTER XI +b.zeta ISOgrk4 0x03B6 # GREEK SMALL LETTER ZETA +Cacute ISOlat2 0x0106 # LATIN CAPITAL LETTER C WITH ACUTE +cacute ISOlat2 0x0107 # LATIN SMALL LETTER C WITH ACUTE +Cap ISOamsb 0x22D2 # DOUBLE INTERSECTION +cap ISOtech 0x2229 # INTERSECTION +caret ISOpub 0x2041 # CARET INSERTION POINT +caron ISOdia 0x02C7 # CARON +Ccaron ISOlat2 0x010C # LATIN CAPITAL LETTER C WITH CARON +ccaron ISOlat2 0x010D # LATIN SMALL LETTER C WITH CARON +Ccedil ISOlat1 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA +ccedil ISOlat1 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA +Ccirc ISOlat2 0x0108 # LATIN CAPITAL LETTER C WITH CIRCUMFLEX +ccirc ISOlat2 0x0109 # LATIN SMALL LETTER C WITH CIRCUMFLEX +Cdot ISOlat2 0x010A # LATIN CAPITAL LETTER C WITH DOT ABOVE +cdot ISOlat2 0x010B # LATIN SMALL LETTER C WITH DOT ABOVE +cedil ISOdia 0x00B8 # CEDILLA +cent ISOnum 0x00A2 # CENT SIGN +CHcy ISOcyr1 0x0427 # CYRILLIC CAPITAL LETTER CHE +chcy ISOcyr1 0x0447 # CYRILLIC SMALL LETTER CHE +check ISOpub 0x2713 # CHECK MARK +Chi HTMLsymbol 0x03A7 # GREEK CAPITAL LETTER CHI +chi ISOgrk3 0x03C7 # GREEK SMALL LETTER CHI +cir ISOpub 0x25CB # WHITE CIRCLE +circ ISOdia 0x02C6 # MODIFIER LETTER CIRCUMFLEX ACCENT +cire ISOamsr 0x2257 # RING EQUAL TO +clubs ISOpub 0x2663 # BLACK CLUB SUIT +colon ISOnum 0x003A # COLON +colone ISOamsr 0x2254 # COLON EQUALS +comma ISOnum 0x002C # COMMA +commat ISOnum 0x0040 # COMMERCIAL AT +comp ISOamso 0x2201 # COMPLEMENT +compfn ISOtech 0x2218 # RING OPERATOR +cong ISOtech 0x2245 # APPROXIMATELY EQUAL TO +conint ISOtech 0x222E # CONTOUR INTEGRAL +coprod ISOamsb 0x2210 # N-ARY COPRODUCT +copy ISOnum 0x00A9 # COPYRIGHT SIGN +copysr ISOpub 0x2117 # SOUND RECORDING COPYRIGHT +crarr HTMLsymbol 0x21B5 # DOWNWARDS ARROW WITH CORNER LEFTWARDS +cross ISOpub 0x2717 # BALLOT X +cuepr ISOamsr 0x22DE # EQUAL TO OR PRECEDES +cuesc ISOamsr 0x22DF # EQUAL TO OR SUCCEEDS +cularr ISOamsa 0x21B6 # ANTICLOCKWISE TOP SEMICIRCLE ARROW +Cup ISOamsb 0x22D3 # DOUBLE UNION +cup ISOtech 0x222A # UNION +cupre ISOamsr 0x227C # PRECEDES OR EQUAL TO +curarr ISOamsa 0x21B7 # CLOCKWISE TOP SEMICIRCLE ARROW +curren ISOnum 0x00A4 # CURRENCY SIGN +cuvee ISOamsb 0x22CE # CURLY LOGICAL OR +cuwed ISOamsb 0x22CF # CURLY LOGICAL AND +dagger ISOpub 0x2020 # DAGGER +Dagger ISOpub 0x2021 # DOUBLE DAGGER +daleth ISOamso 0x2138 # DALET SYMBOL +dArr ISOamsa 0x21D3 # DOWNWARDS DOUBLE ARROW +darr ISOnum 0x2193 # DOWNWARDS ARROW +darr2 ISOamsa 0x21CA # DOWNWARDS PAIRED ARROWS +dash ISOpub 0x2010 # HYPHEN +dashv ISOamsr 0x22A3 # LEFT TACK +dblac ISOdia 0x02DD # DOUBLE ACUTE ACCENT +Dcaron ISOlat2 0x010E # LATIN CAPITAL LETTER D WITH CARON +dcaron ISOlat2 0x010F # LATIN SMALL LETTER D WITH CARON +Dcy ISOcyr1 0x0414 # CYRILLIC CAPITAL LETTER DE +dcy ISOcyr1 0x0434 # CYRILLIC SMALL LETTER DE +deg ISOnum 0x00B0 # DEGREE SIGN +Delta ISOgrk3 0x0394 # GREEK CAPITAL LETTER DELTA +delta ISOgrk3 0x03B4 # GREEK SMALL LETTER DELTA +Dgr ISOgrk1 0x0394 # GREEK CAPITAL LETTER DELTA +dgr ISOgrk1 0x03B4 # GREEK SMALL LETTER DELTA +dharl ISOamsa 0x21C3 # DOWNWARDS HARPOON WITH BARB LEFTWARDS +dharr ISOamsa 0x21C2 # DOWNWARDS HARPOON WITH BARB RIGHTWARDS +diam ISOamsb 0x22C4 # DIAMOND OPERATOR +diams ISOpub 0x2666 # BLACK DIAMOND SUIT +die ISOdia 0x00A8 # DIAERESIS +divide ISOnum 0x00F7 # DIVISION SIGN +divonx ISOamsb 0x22C7 # DIVISION TIMES +DJcy ISOcyr2 0x0402 # CYRILLIC CAPITAL LETTER DJE +djcy ISOcyr2 0x0452 # CYRILLIC SMALL LETTER DJE +dlarr ISOamsa 0x2199 # SOUTH WEST ARROW +dlcorn ISOamsc 0x231E # BOTTOM LEFT CORNER +dlcrop ISOpub 0x230D # BOTTOM LEFT CROP +dollar ISOnum 0x0024 # DOLLAR SIGN +dot ISOdia 0x02D9 # DOT ABOVE +Dot ISOtech 0x00A8 # DIAERESIS +DotDot ISOtech 0x20DC # COMBINING FOUR DOTS ABOVE +drarr ISOamsa 0x2198 # SOUTH EAST ARROW +drcorn ISOamsc 0x231F # BOTTOM RIGHT CORNER +drcrop ISOpub 0x230C # BOTTOM RIGHT CROP +DScy ISOcyr2 0x0405 # CYRILLIC CAPITAL LETTER DZE +dscy ISOcyr2 0x0455 # CYRILLIC SMALL LETTER DZE +Dstrok ISOlat2 0x0110 # LATIN CAPITAL LETTER D WITH STROKE +dstrok ISOlat2 0x0111 # LATIN SMALL LETTER D WITH STROKE +dtri ISOpub 0x25BF # WHITE DOWN-POINTING SMALL TRIANGLE +dtrif ISOpub 0x25BE # BLACK DOWN-POINTING SMALL TRIANGLE +DZcy ISOcyr2 0x040F # CYRILLIC CAPITAL LETTER DZHE +dzcy ISOcyr2 0x045F # CYRILLIC SMALL LETTER DZHE +Eacgr ISOgrk2 0x0388 # GREEK CAPITAL LETTER EPSILON WITH TONOS +eacgr ISOgrk2 0x03AD # GREEK SMALL LETTER EPSILON WITH TONOS +Eacute ISOlat1 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE +eacute ISOlat1 0x00E9 # LATIN SMALL LETTER E WITH ACUTE +Ecaron ISOlat2 0x011A # LATIN CAPITAL LETTER E WITH CARON +ecaron ISOlat2 0x011B # LATIN SMALL LETTER E WITH CARON +ecir ISOamsr 0x2256 # RING IN EQUAL TO +Ecirc ISOlat1 0x00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX +ecirc ISOlat1 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX +ecolon ISOamsr 0x2255 # EQUALS COLON +Ecy ISOcyr1 0x042D # CYRILLIC CAPITAL LETTER E +ecy ISOcyr1 0x044D # CYRILLIC SMALL LETTER E +eDot ISOamsr 0x2251 # GEOMETRICALLY EQUAL TO +Edot ISOlat2 0x0116 # LATIN CAPITAL LETTER E WITH DOT ABOVE +edot ISOlat2 0x0117 # LATIN SMALL LETTER E WITH DOT ABOVE +EEacgr ISOgrk2 0x0389 # GREEK CAPITAL LETTER ETA WITH TONOS +eeacgr ISOgrk2 0x03AE # GREEK SMALL LETTER ETA WITH TONOS +EEgr ISOgrk1 0x0397 # GREEK CAPITAL LETTER ETA +eegr ISOgrk1 0x03B7 # GREEK SMALL LETTER ETA +efDot ISOamsr 0x2252 # APPROXIMATELY EQUAL TO OR THE IMAGE OF +Egr ISOgrk1 0x0395 # GREEK CAPITAL LETTER EPSILON +egr ISOgrk1 0x03B5 # GREEK SMALL LETTER EPSILON +Egrave ISOlat1 0x00C8 # LATIN CAPITAL LETTER E WITH GRAVE +egrave ISOlat1 0x00E8 # LATIN SMALL LETTER E WITH GRAVE +egs ISOamsr 0x22DD # EQUAL TO OR GREATER-THAN +ell ISOamso 0x2113 # SCRIPT SMALL L +els ISOamsr 0x22DC # EQUAL TO OR LESS-THAN +Emacr ISOlat2 0x0112 # LATIN CAPITAL LETTER E WITH MACRON +emacr ISOlat2 0x0113 # LATIN SMALL LETTER E WITH MACRON +empty ISOamso 0x2205 # EMPTY SET +emsp ISOpub 0x2003 # EM SPACE +emsp13 ISOpub 0x2004 # THREE-PER-EM SPACE +emsp14 ISOpub 0x2005 # FOUR-PER-EM SPACE +ENG ISOlat2 0x014A # LATIN CAPITAL LETTER ENG +eng ISOlat2 0x014B # LATIN SMALL LETTER ENG +ensp ISOpub 0x2002 # EN SPACE +Eogon ISOlat2 0x0118 # LATIN CAPITAL LETTER E WITH OGONEK +eogon ISOlat2 0x0119 # LATIN SMALL LETTER E WITH OGONEK +epsi ISOgrk3 0x03B5 # GREEK SMALL LETTER EPSILON +Epsilon HTMLsymbol 0x0395 # GREEK CAPITAL LETTER EPSILON +epsilon HTMLsymbol 0x03B5 # GREEK SMALL LETTER EPSILON +epsis ISOgrk3 0x220A # SMALL ELEMENT OF +epsiv ISOgrk3 0x???? # variant epsilon +equals ISOnum 0x003D # EQUALS SIGN +equiv ISOtech 0x2261 # IDENTICAL TO +erDot ISOamsr 0x2253 # IMAGE OF OR APPROXIMATELY EQUAL TO +esdot ISOamsr 0x2250 # APPROACHES THE LIMIT +Eta HTMLsymbol 0x0397 # GREEK CAPITAL LETTER ETA +eta ISOgrk3 0x03B7 # GREEK SMALL LETTER ETA +ETH ISOlat1 0x00D0 # LATIN CAPITAL LETTER ETH +eth ISOlat1 0x00F0 # LATIN SMALL LETTER ETH +Euml ISOlat1 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS +euml ISOlat1 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS +excl ISOnum 0x0021 # EXCLAMATION MARK +exist ISOtech 0x2203 # THERE EXISTS +Fcy ISOcyr1 0x0424 # CYRILLIC CAPITAL LETTER EF +fcy ISOcyr1 0x0444 # CYRILLIC SMALL LETTER EF +female ISOpub 0x2640 # FEMALE SIGN +ffilig ISOpub 0xFB03 # LATIN SMALL LIGATURE FFI +fflig ISOpub 0xFB00 # LATIN SMALL LIGATURE FF +ffllig ISOpub 0xFB04 # LATIN SMALL LIGATURE FFL +filig ISOpub 0xFB01 # LATIN SMALL LIGATURE FI +fjlig ISOpub 0x???? # fj ligature +flat ISOpub 0x266D # MUSIC FLAT SIGN +fllig ISOpub 0xFB02 # LATIN SMALL LIGATURE FL +fnof ISOtech 0x0192 # LATIN SMALL LETTER F WITH HOOK +forall ISOtech 0x2200 # FOR ALL +fork ISOamsr 0x22D4 # PITCHFORK +frac12 ISOnum 0x00BD # VULGAR FRACTION ONE HALF +frac13 ISOpub 0x2153 # VULGAR FRACTION ONE THIRD +frac14 ISOnum 0x00BC # VULGAR FRACTION ONE QUARTER +frac15 ISOpub 0x2155 # VULGAR FRACTION ONE FIFTH +frac16 ISOpub 0x2159 # VULGAR FRACTION ONE SIXTH +frac18 ISOnum 0x215B # VULGAR FRACTION ONE EIGHTH +frac23 ISOpub 0x2154 # VULGAR FRACTION TWO THIRDS +frac25 ISOpub 0x2156 # VULGAR FRACTION TWO FIFTHS +frac34 ISOnum 0x00BE # VULGAR FRACTION THREE QUARTERS +frac35 ISOpub 0x2157 # VULGAR FRACTION THREE FIFTHS +frac38 ISOnum 0x215C # VULGAR FRACTION THREE EIGHTHS +frac45 ISOpub 0x2158 # VULGAR FRACTION FOUR FIFTHS +frac56 ISOpub 0x215A # VULGAR FRACTION FIVE SIXTHS +frac58 ISOnum 0x215D # VULGAR FRACTION FIVE EIGHTHS +frac78 ISOnum 0x215E # VULGAR FRACTION SEVEN EIGHTHS +frasl HTMLsymbol 0x2044 # FRACTION SLASH +frown ISOamsr 0x2322 # FROWN +gacute ISOlat2 0x01F5 # LATIN SMALL LETTER G WITH ACUTE +Gamma ISOgrk3 0x0393 # GREEK CAPITAL LETTER GAMMA +gamma ISOgrk3 0x03B3 # GREEK SMALL LETTER GAMMA +gammad ISOgrk3 0x03DC # GREEK LETTER DIGAMMA +gap ISOamsr 0x???? # greater-than, approximately equal to +Gbreve ISOlat2 0x011E # LATIN CAPITAL LETTER G WITH BREVE +gbreve ISOlat2 0x011F # LATIN SMALL LETTER G WITH BREVE +Gcedil ISOlat2 0x0122 # LATIN CAPITAL LETTER G WITH CEDILLA +gcedil ISOlat2 0x0123 # LATIN SMALL LETTER G WITH CEDILLA +Gcirc ISOlat2 0x011C # LATIN CAPITAL LETTER G WITH CIRCUMFLEX +gcirc ISOlat2 0x011D # LATIN SMALL LETTER G WITH CIRCUMFLEX +Gcy ISOcyr1 0x0413 # CYRILLIC CAPITAL LETTER GHE +gcy ISOcyr1 0x0433 # CYRILLIC SMALL LETTER GHE +Gdot ISOlat2 0x0120 # LATIN CAPITAL LETTER G WITH DOT ABOVE +gdot ISOlat2 0x0121 # LATIN SMALL LETTER G WITH DOT ABOVE +gE ISOamsr 0x2267 # GREATER-THAN OVER EQUAL TO +ge ISOtech 0x2265 # GREATER-THAN OR EQUAL TO +gEl ISOamsr 0x???? # greater-than, double equals, less-than +gel ISOamsr 0x22DB # GREATER-THAN EQUAL TO OR LESS-THAN +ges ISOamsr 0x2265 # GREATER-THAN OR EQUAL TO +Gg ISOamsr 0x22D9 # VERY MUCH GREATER-THAN +Ggr ISOgrk1 0x0393 # GREEK CAPITAL LETTER GAMMA +ggr ISOgrk1 0x03B3 # GREEK SMALL LETTER GAMMA +gimel ISOamso 0x2137 # GIMEL SYMBOL +GJcy ISOcyr2 0x0403 # CYRILLIC CAPITAL LETTER GJE +gjcy ISOcyr2 0x0453 # CYRILLIC SMALL LETTER GJE +gl ISOamsr 0x2277 # GREATER-THAN OR LESS-THAN +gnap ISOamsn 0x???? # greater-than, not approximately equal to +gne ISOamsn 0x2269 # GREATER-THAN BUT NOT EQUAL TO +gnE ISOamsn 0x2269 # GREATER-THAN BUT NOT EQUAL TO +gnsim ISOamsn 0x22E7 # GREATER-THAN BUT NOT EQUIVALENT TO +grave ISOdia 0x0060 # GRAVE ACCENT +gsdot ISOamsr 0x22D7 # GREATER-THAN WITH DOT +gsim ISOamsr 0x2273 # GREATER-THAN OR EQUIVALENT TO +Gt ISOamsr 0x226B # MUCH GREATER-THAN +gt ISOnum 0x003E # GREATER-THAN SIGN +gvnE ISOamsn 0x2269 # GREATER-THAN BUT NOT EQUAL TO +hairsp ISOpub 0x200A # HAIR SPACE +half ISOnum 0x00BD # VULGAR FRACTION ONE HALF +hamilt ISOtech 0x210B # SCRIPT CAPITAL H +HARDcy ISOcyr1 0x042A # CYRILLIC CAPITAL LETTER HARD SIGN +hardcy ISOcyr1 0x044A # CYRILLIC SMALL LETTER HARD SIGN +harr ISOamsa 0x2194 # LEFT RIGHT ARROW +hArr ISOamsa 0x21D4 # LEFT RIGHT DOUBLE ARROW +harrw ISOamsa 0x21AD # LEFT RIGHT WAVE ARROW +Hcirc ISOlat2 0x0124 # LATIN CAPITAL LETTER H WITH CIRCUMFLEX +hcirc ISOlat2 0x0125 # LATIN SMALL LETTER H WITH CIRCUMFLEX +hearts ISOpub 0x2665 # BLACK HEART SUIT +hellip ISOpub 0x2026 # HORIZONTAL ELLIPSIS +horbar ISOnum 0x2015 # HORIZONTAL BAR +Hstrok ISOlat2 0x0126 # LATIN CAPITAL LETTER H WITH STROKE +hstrok ISOlat2 0x0127 # LATIN SMALL LETTER H WITH STROKE +hybull ISOpub 0x2043 # HYPHEN BULLET +hyphen ISOnum 0x002D # HYPHEN-MINUS +Iacgr ISOgrk2 0x038A # GREEK CAPITAL LETTER IOTA WITH TONOS +iacgr ISOgrk2 0x03AF # GREEK SMALL LETTER IOTA WITH TONOS +Iacute ISOlat1 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE +iacute ISOlat1 0x00ED # LATIN SMALL LETTER I WITH ACUTE +Icirc ISOlat1 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX +icirc ISOlat1 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX +Icy ISOcyr1 0x0418 # CYRILLIC CAPITAL LETTER I +icy ISOcyr1 0x0438 # CYRILLIC SMALL LETTER I +idiagr ISOgrk2 0x0390 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS +Idigr ISOgrk2 0x03AA # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA +idigr ISOgrk2 0x03CA # GREEK SMALL LETTER IOTA WITH DIALYTIKA +Idot ISOlat2 0x0130 # LATIN CAPITAL LETTER I WITH DOT ABOVE +IEcy ISOcyr1 0x0415 # CYRILLIC CAPITAL LETTER IE +iecy ISOcyr1 0x0435 # CYRILLIC SMALL LETTER IE +iexcl ISOnum 0x00A1 # INVERTED EXCLAMATION MARK +iff ISOtech 0x21D4 # LEFT RIGHT DOUBLE ARROW +Igr ISOgrk1 0x0399 # GREEK CAPITAL LETTER IOTA +igr ISOgrk1 0x03B9 # GREEK SMALL LETTER IOTA +Igrave ISOlat1 0x00CC # LATIN CAPITAL LETTER I WITH GRAVE +igrave ISOlat1 0x00EC # LATIN SMALL LETTER I WITH GRAVE +IJlig ISOlat2 0x0132 # LATIN CAPITAL LIGATURE IJ +ijlig ISOlat2 0x0133 # LATIN SMALL LIGATURE IJ +Imacr ISOlat2 0x012A # LATIN CAPITAL LETTER I WITH MACRON +imacr ISOlat2 0x012B # LATIN SMALL LETTER I WITH MACRON +image ISOamso 0x2111 # BLACK-LETTER CAPITAL I +incare ISOpub 0x2105 # CARE OF +infin ISOtech 0x221E # INFINITY +inodot ISOamso 0x0131 # LATIN SMALL LETTER DOTLESS I +inodot ISOlat2 0x0131 # LATIN SMALL LETTER DOTLESS I +int ISOtech 0x222B # INTEGRAL +intcal ISOamsb 0x22BA # INTERCALATE +IOcy ISOcyr1 0x0401 # CYRILLIC CAPITAL LETTER IO +iocy ISOcyr1 0x0451 # CYRILLIC SMALL LETTER IO +Iogon ISOlat2 0x012E # LATIN CAPITAL LETTER I WITH OGONEK +iogon ISOlat2 0x012F # LATIN SMALL LETTER I WITH OGONEK +Iota HTMLsymbol 0x0399 # GREEK CAPITAL LETTER IOTA +iota ISOgrk3 0x03B9 # GREEK SMALL LETTER IOTA +iquest ISOnum 0x00BF # INVERTED QUESTION MARK +isin ISOtech 0x2208 # ELEMENT OF +Itilde ISOlat2 0x0128 # LATIN CAPITAL LETTER I WITH TILDE +itilde ISOlat2 0x0129 # LATIN SMALL LETTER I WITH TILDE +Iukcy ISOcyr2 0x0406 # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I +iukcy ISOcyr2 0x0456 # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I +Iuml ISOlat1 0x00CF # LATIN CAPITAL LETTER I WITH DIAERESIS +iuml ISOlat1 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS +Jcirc ISOlat2 0x0134 # LATIN CAPITAL LETTER J WITH CIRCUMFLEX +jcirc ISOlat2 0x0135 # LATIN SMALL LETTER J WITH CIRCUMFLEX +Jcy ISOcyr1 0x0419 # CYRILLIC CAPITAL LETTER SHORT I +jcy ISOcyr1 0x0439 # CYRILLIC SMALL LETTER SHORT I +jnodot ISOamso 0x???? # latin small letter dotless j +Jsercy ISOcyr2 0x0408 # CYRILLIC CAPITAL LETTER JE +jsercy ISOcyr2 0x0458 # CYRILLIC SMALL LETTER JE +Jukcy ISOcyr2 0x0404 # CYRILLIC CAPITAL LETTER UKRAINIAN IE +jukcy ISOcyr2 0x0454 # CYRILLIC SMALL LETTER UKRAINIAN IE +Kappa HTMLsymbol 0x039A # GREEK CAPITAL LETTER KAPPA +kappa ISOgrk3 0x03BA # GREEK SMALL LETTER KAPPA +kappav ISOgrk3 0x03F0 # GREEK KAPPA SYMBOL +Kcedil ISOlat2 0x0136 # LATIN CAPITAL LETTER K WITH CEDILLA +kcedil ISOlat2 0x0137 # LATIN SMALL LETTER K WITH CEDILLA +Kcy ISOcyr1 0x041A # CYRILLIC CAPITAL LETTER KA +kcy ISOcyr1 0x043A # CYRILLIC SMALL LETTER KA +Kgr ISOgrk1 0x039A # GREEK CAPITAL LETTER KAPPA +kgr ISOgrk1 0x03BA # GREEK SMALL LETTER KAPPA +kgreen ISOlat2 0x0138 # LATIN SMALL LETTER KRA +KHcy ISOcyr1 0x0425 # CYRILLIC CAPITAL LETTER HA +khcy ISOcyr1 0x0445 # CYRILLIC SMALL LETTER HA +KHgr ISOgrk1 0x03A7 # GREEK CAPITAL LETTER CHI +khgr ISOgrk1 0x03C7 # GREEK SMALL LETTER CHI +KJcy ISOcyr2 0x040C # CYRILLIC CAPITAL LETTER KJE +kjcy ISOcyr2 0x045C # CYRILLIC SMALL LETTER KJE +lAarr ISOamsa 0x21DA # LEFTWARDS TRIPLE ARROW +Lacute ISOlat2 0x0139 # LATIN CAPITAL LETTER L WITH ACUTE +lacute ISOlat2 0x013A # LATIN SMALL LETTER L WITH ACUTE +lagran ISOtech 0x2112 # SCRIPT CAPITAL L +Lambda ISOgrk3 0x039B # GREEK CAPITAL LETTER LAMDA +lambda ISOgrk3 0x03BB # GREEK SMALL LETTER LAMDA +lang ISOtech 0x2329 # LEFT-POINTING ANGLE BRACKET +lap ISOamsr 0x???? # less-than, approximately equal to +laquo ISOnum 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +Larr ISOamsa 0x219E # LEFTWARDS TWO HEADED ARROW +larr ISOnum 0x2190 # LEFTWARDS ARROW +lArr ISOtech 0x21D0 # LEFTWARDS DOUBLE ARROW +larr2 ISOamsa 0x21C7 # LEFTWARDS PAIRED ARROWS +larrhk ISOamsa 0x21A9 # LEFTWARDS ARROW WITH HOOK +larrlp ISOamsa 0x21AB # LEFTWARDS ARROW WITH LOOP +larrtl ISOamsa 0x21A2 # LEFTWARDS ARROW WITH TAIL +Lcaron ISOlat2 0x013D # LATIN CAPITAL LETTER L WITH CARON +lcaron ISOlat2 0x013E # LATIN SMALL LETTER L WITH CARON +Lcedil ISOlat2 0x013B # LATIN CAPITAL LETTER L WITH CEDILLA +lcedil ISOlat2 0x013C # LATIN SMALL LETTER L WITH CEDILLA +lceil ISOamsc 0x2308 # LEFT CEILING +lcub ISOnum 0x007B # LEFT CURLY BRACKET +Lcy ISOcyr1 0x041B # CYRILLIC CAPITAL LETTER EL +lcy ISOcyr1 0x043B # CYRILLIC SMALL LETTER EL +ldot ISOamsr 0x22D6 # LESS-THAN WITH DOT +ldquo ISOnum 0x201C # LEFT DOUBLE QUOTATION MARK +ldquor ISOpub 0x201E # DOUBLE LOW-9 QUOTATION MARK +lE ISOamsr 0x2266 # LESS-THAN OVER EQUAL TO +le ISOtech 0x2264 # LESS-THAN OR EQUAL TO +lEg ISOamsr 0x???? # less-than, double equals, greater-than +leg ISOamsr 0x22DA # LESS-THAN EQUAL TO OR GREATER-THAN +les ISOamsr 0x2264 # LESS-THAN OR EQUAL TO +lfloor ISOamsc 0x230A # LEFT FLOOR +lg ISOamsr 0x2276 # LESS-THAN OR GREATER-THAN +Lgr ISOgrk1 0x039B # GREEK CAPITAL LETTER LAMDA +lgr ISOgrk1 0x03BB # GREEK SMALL LETTER LAMDA +lhard ISOamsa 0x21BD # LEFTWARDS HARPOON WITH BARB DOWNWARDS +lharu ISOamsa 0x21BC # LEFTWARDS HARPOON WITH BARB UPWARDS +lhblk ISOpub 0x2584 # LOWER HALF BLOCK +LJcy ISOcyr2 0x0409 # CYRILLIC CAPITAL LETTER LJE +ljcy ISOcyr2 0x0459 # CYRILLIC SMALL LETTER LJE +Ll ISOamsr 0x22D8 # VERY MUCH LESS-THAN +Lmidot ISOlat2 0x013F # LATIN CAPITAL LETTER L WITH MIDDLE DOT +lmidot ISOlat2 0x0140 # LATIN SMALL LETTER L WITH MIDDLE DOT +lnap ISOamsn 0x???? # less-than, not approximately equal to +lnE ISOamsn 0x2268 # LESS-THAN BUT NOT EQUAL TO +lne ISOamsn 0x2268 # LESS-THAN BUT NOT EQUAL TO +lnsim ISOamsn 0x22E6 # LESS-THAN BUT NOT EQUIVALENT TO +lowast ISOtech 0x2217 # ASTERISK OPERATOR +lowbar ISOnum 0x005F # LOW LINE +loz ISOpub 0x25CA # LOZENGE +loz ISOpub 0x2727 # WHITE FOUR POINTED STAR +lozf ISOpub 0x2726 # BLACK FOUR POINTED STAR +lpar ISOnum 0x0028 # LEFT PARENTHESIS +lpargt ISOamsc 0x???? # left parenthesis, greater-than +lrarr2 ISOamsa 0x21C6 # LEFTWARDS ARROW OVER RIGHTWARDS ARROW +lrhar2 ISOamsa 0x21CB # LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON +lrm HTMLspecial 0x200E # LEFT-TO-RIGHT MARK +lsaquo HTMLspecial 0x2039 # SINGLE LEFT-POINTING ANGLE QUOTATION MARK +lsh ISOamsa 0x21B0 # UPWARDS ARROW WITH TIP LEFTWARDS +lsim ISOamsr 0x2272 # LESS-THAN OR EQUIVALENT TO +lsqb ISOnum 0x005B # LEFT SQUARE BRACKET +lsquo ISOnum 0x2018 # LEFT SINGLE QUOTATION MARK +lsquor ISOpub 0x201A # SINGLE LOW-9 QUOTATION MARK +Lstrok ISOlat2 0x0141 # LATIN CAPITAL LETTER L WITH STROKE +lstrok ISOlat2 0x0142 # LATIN SMALL LETTER L WITH STROKE +Lt ISOamsr 0x226A # MUCH LESS-THAN +lt ISOnum 0x003C # LESS-THAN SIGN +lthree ISOamsb 0x22CB # LEFT SEMIDIRECT PRODUCT +ltimes ISOamsb 0x22C9 # LEFT NORMAL FACTOR SEMIDIRECT PRODUCT +ltri ISOpub 0x25C3 # WHITE LEFT-POINTING SMALL TRIANGLE +ltrie ISOamsr 0x22B4 # NORMAL SUBGROUP OF OR EQUAL TO +ltrif ISOpub 0x25C2 # BLACK LEFT-POINTING SMALL TRIANGLE +lvnE ISOamsn 0x2268 # LESS-THAN BUT NOT EQUAL TO +macr ISOdia 0x00AF # MACRON +male ISOpub 0x2642 # MALE SIGN +malt ISOpub 0x2720 # MALTESE CROSS +map ISOamsa 0x21A6 # RIGHTWARDS ARROW FROM BAR +marker ISOpub 0x25AE # BLACK VERTICAL RECTANGLE +Mcy ISOcyr1 0x041C # CYRILLIC CAPITAL LETTER EM +mcy ISOcyr1 0x043C # CYRILLIC SMALL LETTER EM +mdash ISOpub 0x2014 # EM DASH +Mgr ISOgrk1 0x039C # GREEK CAPITAL LETTER MU +mgr ISOgrk1 0x03BC # GREEK SMALL LETTER MU +micro ISOnum 0x00B5 # MICRO SIGN +mid ISOamsr 0x2223 # DIVIDES +middot ISOnum 0x00B7 # MIDDLE DOT +minus ISOtech 0x2212 # MINUS SIGN +minusb ISOamsb 0x229F # SQUARED MINUS +mldr ISOpub 0x2026 # HORIZONTAL ELLIPSIS +mnplus ISOtech 0x2213 # MINUS-OR-PLUS SIGN +models ISOamsr 0x22A7 # MODELS +Mu HTMLsymbol 0x039C # GREEK CAPITAL LETTER MU +mu ISOgrk3 0x03BC # GREEK SMALL LETTER MU +mumap ISOamsa 0x22B8 # MULTIMAP +nabla ISOtech 0x2207 # NABLA +Nacute ISOlat2 0x0143 # LATIN CAPITAL LETTER N WITH ACUTE +nacute ISOlat2 0x0144 # LATIN SMALL LETTER N WITH ACUTE +nap ISOamsn 0x2249 # NOT ALMOST EQUAL TO +napos ISOlat2 0x0149 # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE +natur ISOpub 0x266E # MUSIC NATURAL SIGN +nbsp ISOnum 0x00A0 # NO-BREAK SPACE +Ncaron ISOlat2 0x0147 # LATIN CAPITAL LETTER N WITH CARON +ncaron ISOlat2 0x0148 # LATIN SMALL LETTER N WITH CARON +Ncedil ISOlat2 0x0145 # LATIN CAPITAL LETTER N WITH CEDILLA +ncedil ISOlat2 0x0146 # LATIN SMALL LETTER N WITH CEDILLA +ncong ISOamsn 0x2247 # NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO +Ncy ISOcyr1 0x041D # CYRILLIC CAPITAL LETTER EN +ncy ISOcyr1 0x043D # CYRILLIC SMALL LETTER EN +ndash ISOpub 0x2013 # EN DASH +ne ISOtech 0x2260 # NOT EQUAL TO +nearr ISOamsa 0x2197 # NORTH EAST ARROW +nequiv ISOamsn 0x2262 # NOT IDENTICAL TO +nexist ISOamso 0x2204 # THERE DOES NOT EXIST +ngE ISOamsn 0x???? # not greater-than, double equals +nge ISOamsn 0x2271 # NEITHER GREATER-THAN NOR EQUAL TO +nges ISOamsn 0x2271 # NEITHER GREATER-THAN NOR EQUAL TO +Ngr ISOgrk1 0x039D # GREEK CAPITAL LETTER NU +ngr ISOgrk1 0x03BD # GREEK SMALL LETTER NU +ngt ISOamsn 0x226F # NOT GREATER-THAN +nharr ISOamsa 0x21AE # LEFT RIGHT ARROW WITH STROKE +nhArr ISOamsa 0x21CE # LEFT RIGHT DOUBLE ARROW WITH STROKE +ni ISOtech 0x220B # CONTAINS AS MEMBER +NJcy ISOcyr2 0x040A # CYRILLIC CAPITAL LETTER NJE +njcy ISOcyr2 0x045A # CYRILLIC SMALL LETTER NJE +nlarr ISOamsa 0x219A # LEFTWARDS ARROW WITH STROKE +nlArr ISOamsa 0x21CD # LEFTWARDS DOUBLE ARROW WITH STROKE +nldr ISOpub 0x2025 # TWO DOT LEADER +nlE ISOamsn 0x???? # not less-than, double equals +nle ISOamsn 0x2270 # NEITHER LESS-THAN NOR EQUAL TO +nles ISOamsn 0x2270 # NEITHER LESS-THAN NOR EQUAL TO +nlt ISOamsn 0x226E # NOT LESS-THAN +nltri ISOamsn 0x22EA # NOT NORMAL SUBGROUP OF +nltrie ISOamsn 0x22EC # NOT NORMAL SUBGROUP OF OR EQUAL TO +nmid ISOamsn 0x2224 # DOES NOT DIVIDE +not ISOnum 0x00AC # NOT SIGN +notin ISOtech 0x2209 # NOT AN ELEMENT OF +npar ISOamsn 0x2226 # NOT PARALLEL TO +npr ISOamsn 0x2280 # DOES NOT PRECEDE +npre ISOamsn 0x22E0 # DOES NOT PRECEDE OR EQUAL +nrarr ISOamsa 0x219B # RIGHTWARDS ARROW WITH STROKE +nrArr ISOamsa 0x21CF # RIGHTWARDS DOUBLE ARROW WITH STROKE +nrtri ISOamsn 0x22EB # DOES NOT CONTAIN AS NORMAL SUBGROUP +nrtrie ISOamsn 0x22ED # DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL +nsc ISOamsn 0x2281 # DOES NOT SUCCEED +nsce ISOamsn 0x22E1 # DOES NOT SUCCEED OR EQUAL +nsim ISOamsn 0x2241 # NOT TILDE +nsime ISOamsn 0x2244 # NOT ASYMPTOTICALLY EQUAL TO +nsmid ISOamsn 0x???? # nshortmid +nspar ISOamsn 0x2226 # NOT PARALLEL TO +nsub ISOamsn 0x2284 # NOT A SUBSET OF +nsubE ISOamsn 0x2288 # NEITHER A SUBSET OF NOR EQUAL TO +nsube ISOamsn 0x2288 # NEITHER A SUBSET OF NOR EQUAL TO +nsup ISOamsn 0x2285 # NOT A SUPERSET OF +nsupE ISOamsn 0x2289 # NEITHER A SUPERSET OF NOR EQUAL TO +nsupe ISOamsn 0x2289 # NEITHER A SUPERSET OF NOR EQUAL TO +Ntilde ISOlat1 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE +ntilde ISOlat1 0x00F1 # LATIN SMALL LETTER N WITH TILDE +Nu HTMLsymbol 0x039D # GREEK CAPITAL LETTER NU +nu ISOgrk3 0x03BD # GREEK SMALL LETTER NU +num ISOnum 0x0023 # NUMBER SIGN +numero ISOcyr1 0x2116 # NUMERO SIGN +numsp ISOpub 0x2007 # FIGURE SPACE +nvdash ISOamsn 0x22AC # DOES NOT PROVE +nvDash ISOamsn 0x22AD # NOT TRUE +nVdash ISOamsn 0x22AE # DOES NOT FORCE +nVDash ISOamsn 0x22AF # NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT +TURNSTILE +nwarr ISOamsa 0x2196 # NORTH WEST ARROW +Oacgr ISOgrk2 0x038C # GREEK CAPITAL LETTER OMICRON WITH TONOS +oacgr ISOgrk2 0x03CC # GREEK SMALL LETTER OMICRON WITH TONOS +Oacute ISOlat1 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE +oacute ISOlat1 0x00F3 # LATIN SMALL LETTER O WITH ACUTE +oast ISOamsb 0x229B # CIRCLED ASTERISK OPERATOR +ocir ISOamsb 0x229A # CIRCLED RING OPERATOR +Ocirc ISOlat1 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX +ocirc ISOlat1 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX +Ocy ISOcyr1 0x041E # CYRILLIC CAPITAL LETTER O +ocy ISOcyr1 0x043E # CYRILLIC SMALL LETTER O +odash ISOamsb 0x229D # CIRCLED DASH +Odblac ISOlat2 0x0150 # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE +odblac ISOlat2 0x0151 # LATIN SMALL LETTER O WITH DOUBLE ACUTE +odot ISOamsb 0x2299 # CIRCLED DOT OPERATOR +OElig ISOlat2 0x0152 # LATIN CAPITAL LIGATURE OE +oelig ISOlat2 0x0153 # LATIN SMALL LIGATURE OE +ogon ISOdia 0x02DB # OGONEK +Ogr ISOgrk1 0x039F # GREEK CAPITAL LETTER OMICRON +ogr ISOgrk1 0x03BF # GREEK SMALL LETTER OMICRON +Ograve ISOlat1 0x00D2 # LATIN CAPITAL LETTER O WITH GRAVE +ograve ISOlat1 0x00F2 # LATIN SMALL LETTER O WITH GRAVE +OHacgr ISOgrk2 0x038F # GREEK CAPITAL LETTER OMEGA WITH TONOS +ohacgr ISOgrk2 0x03CE # GREEK SMALL LETTER OMEGA WITH TONOS +OHgr ISOgrk1 0x03A9 # GREEK CAPITAL LETTER OMEGA +ohgr ISOgrk1 0x03C9 # GREEK SMALL LETTER OMEGA +ohm ISOnum 0x2126 # OHM SIGN +olarr ISOamsa 0x21BA # ANTICLOCKWISE OPEN CIRCLE ARROW +oline HTMLsymbol 0x203E # OVERLINE +Omacr ISOlat2 0x014C # LATIN CAPITAL LETTER O WITH MACRON +omacr ISOlat2 0x014D # LATIN SMALL LETTER O WITH MACRON +Omega ISOgrk3 0x03A9 # GREEK CAPITAL LETTER OMEGA +omega ISOgrk3 0x03C9 # GREEK SMALL LETTER OMEGA +Omicron HTMLsymbol 0x039F # GREEK CAPITAL LETTER OMICRON +omicron HTMLsymbol 0x03BF # GREEK SMALL LETTER OMICRON +ominus ISOamsb 0x2296 # CIRCLED MINUS +oplus ISOamsb 0x2295 # CIRCLED PLUS +or ISOtech 0x2228 # LOGICAL OR +orarr ISOamsa 0x21BB # CLOCKWISE OPEN CIRCLE ARROW +order ISOtech 0x2134 # SCRIPT SMALL O +ordf ISOnum 0x00AA # FEMININE ORDINAL INDICATOR +ordm ISOnum 0x00BA # MASCULINE ORDINAL INDICATOR +oS ISOamso 0x24C8 # CIRCLED LATIN CAPITAL LETTER S +Oslash ISOlat1 0x00D8 # LATIN CAPITAL LETTER O WITH STROKE +oslash ISOlat1 0x00F8 # LATIN SMALL LETTER O WITH STROKE +osol ISOamsb 0x2298 # CIRCLED DIVISION SLASH +Otilde ISOlat1 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE +otilde ISOlat1 0x00F5 # LATIN SMALL LETTER O WITH TILDE +otimes ISOamsb 0x2297 # CIRCLED TIMES +Ouml ISOlat1 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS +ouml ISOlat1 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS +par ISOtech 0x2225 # PARALLEL TO +para ISOnum 0x00B6 # PILCROW SIGN +part ISOtech 0x2202 # PARTIAL DIFFERENTIAL +Pcy ISOcyr1 0x041F # CYRILLIC CAPITAL LETTER PE +pcy ISOcyr1 0x043F # CYRILLIC SMALL LETTER PE +percnt ISOnum 0x0025 # PERCENT SIGN +period ISOnum 0x002E # FULL STOP +permil ISOtech 0x2030 # PER MILLE SIGN +perp ISOtech 0x22A5 # UP TACK +Pgr ISOgrk1 0x03A0 # GREEK CAPITAL LETTER PI +pgr ISOgrk1 0x03C0 # GREEK SMALL LETTER PI +PHgr ISOgrk1 0x03A6 # GREEK CAPITAL LETTER PHI +phgr ISOgrk1 0x03C6 # GREEK SMALL LETTER PHI +phi HTMLsymbol 0x03C6 # GREEK SMALL LETTER PHI +Phi ISOgrk3 0x03A6 # GREEK CAPITAL LETTER PHI +phis ISOgrk3 0x03C6 # GREEK SMALL LETTER PHI +phiv ISOgrk3 0x03D5 # GREEK PHI SYMBOL +phmmat ISOtech 0x2133 # SCRIPT CAPITAL M +phone ISOpub 0x260E # BLACK TELEPHONE +Pi ISOgrk3 0x03A0 # GREEK CAPITAL LETTER PI +pi ISOgrk3 0x03C0 # GREEK SMALL LETTER PI +piv ISOgrk3 0x03D6 # GREEK PI SYMBOL +planck ISOamso 0x210F # PLANCK CONSTANT OVER TWO PI +plus ISOnum 0x002B # PLUS SIGN +plusb ISOamsb 0x229E # SQUARED PLUS +plusdo ISOamsb 0x2214 # DOT PLUS +plusmn ISOnum 0x00B1 # PLUS-MINUS SIGN +pound ISOnum 0x00A3 # POUND SIGN +pr ISOamsr 0x227A # PRECEDES +prap ISOamsr 0x???? # precedes, approximately equal to +pre ISOamsr 0x227C # PRECEDES OR EQUAL TO +prime ISOtech 0x2032 # PRIME +Prime ISOtech 0x2033 # DOUBLE PRIME +prnap ISOamsn 0x???? # precedes, not approximately equal to +prnE ISOamsn 0x???? # precedes, not double equal +prnsim ISOamsn 0x22E8 # PRECEDES BUT NOT EQUIVALENT TO +prod ISOamsb 0x220F # N-ARY PRODUCT +prop ISOtech 0x221D # PROPORTIONAL TO +prsim ISOamsr 0x227E # PRECEDES OR EQUIVALENT TO +PSgr ISOgrk1 0x03A8 # GREEK CAPITAL LETTER PSI +psgr ISOgrk1 0x03C8 # GREEK SMALL LETTER PSI +Psi ISOgrk3 0x03A8 # GREEK CAPITAL LETTER PSI +psi ISOgrk3 0x03C8 # GREEK SMALL LETTER PSI +puncsp ISOpub 0x2008 # PUNCTUATION SPACE +quest ISOnum 0x003F # QUESTION MARK +quot ISOnum 0x0022 # QUOTATION MARK +rAarr ISOamsa 0x21DB # RIGHTWARDS TRIPLE ARROW +Racute ISOlat2 0x0154 # LATIN CAPITAL LETTER R WITH ACUTE +racute ISOlat2 0x0155 # LATIN SMALL LETTER R WITH ACUTE +radic ISOtech 0x221A # SQUARE ROOT +rang ISOtech 0x232A # RIGHT-POINTING ANGLE BRACKET +raquo ISOnum 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +Rarr ISOamsa 0x21A0 # RIGHTWARDS TWO HEADED ARROW +rarr ISOnum 0x2192 # RIGHTWARDS ARROW +rArr ISOtech 0x21D2 # RIGHTWARDS DOUBLE ARROW +rarr2 ISOamsa 0x21C9 # RIGHTWARDS PAIRED ARROWS +rarrhk ISOamsa 0x21AA # RIGHTWARDS ARROW WITH HOOK +rarrlp ISOamsa 0x21AC # RIGHTWARDS ARROW WITH LOOP +rarrtl ISOamsa 0x21A3 # RIGHTWARDS ARROW WITH TAIL +rarrw ISOamsa 0x219D # RIGHTWARDS WAVE ARROW +Rcaron ISOlat2 0x0158 # LATIN CAPITAL LETTER R WITH CARON +rcaron ISOlat2 0x0159 # LATIN SMALL LETTER R WITH CARON +Rcedil ISOlat2 0x0156 # LATIN CAPITAL LETTER R WITH CEDILLA +rcedil ISOlat2 0x0157 # LATIN SMALL LETTER R WITH CEDILLA +rceil ISOamsc 0x2309 # RIGHT CEILING +rcub ISOnum 0x007D # RIGHT CURLY BRACKET +Rcy ISOcyr1 0x0420 # CYRILLIC CAPITAL LETTER ER +rcy ISOcyr1 0x0440 # CYRILLIC SMALL LETTER ER +rdquo ISOnum 0x201D # RIGHT DOUBLE QUOTATION MARK +rdquor ISOpub 0x201C # LEFT DOUBLE QUOTATION MARK +real ISOamso 0x211C # BLACK-LETTER CAPITAL R +rect ISOpub 0x25AD # WHITE RECTANGLE +reg ISOnum 0x00AE # REGISTERED SIGN +rfloor ISOamsc 0x230B # RIGHT FLOOR +Rgr ISOgrk1 0x03A1 # GREEK CAPITAL LETTER RHO +rgr ISOgrk1 0x03C1 # GREEK SMALL LETTER RHO +rhard ISOamsa 0x21C1 # RIGHTWARDS HARPOON WITH BARB DOWNWARDS +rharu ISOamsa 0x21C0 # RIGHTWARDS HARPOON WITH BARB UPWARDS +Rho HTMLsymbol 0x03A1 # GREEK CAPITAL LETTER RHO +rho ISOgrk3 0x03C1 # GREEK SMALL LETTER RHO +rhov ISOgrk3 0x03F1 # GREEK RHO SYMBOL +ring ISOdia 0x02DA # RING ABOVE +rlarr2 ISOamsa 0x21C4 # RIGHTWARDS ARROW OVER LEFTWARDS ARROW +rlhar2 ISOamsa 0x21CC # RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON +rlm HTMLspecial 0x200F # RIGHT-TO-LEFT MARK +rpar ISOnum 0x0029 # RIGHT PARENTHESIS +rpargt ISOamsc 0x???? # right parenthesis, greater-than +rsaquo HTMLspecial 0x203A # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK +rsh ISOamsa 0x21B1 # UPWARDS ARROW WITH TIP RIGHTWARDS +rsqb ISOnum 0x005D # RIGHT SQUARE BRACKET +rsquo ISOnum 0x2019 # RIGHT SINGLE QUOTATION MARK +rsquor ISOpub 0x2018 # LEFT SINGLE QUOTATION MARK +rthree ISOamsb 0x22CC # RIGHT SEMIDIRECT PRODUCT +rtimes ISOamsb 0x22CA # RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT +rtri ISOpub 0x25B9 # WHITE RIGHT-POINTING SMALL TRIANGLE +rtrie ISOamsr 0x22B5 # CONTAINS AS NORMAL SUBGROUP OR EQUAL TO +rtrif ISOpub 0x25B8 # BLACK RIGHT-POINTING SMALL TRIANGLE +rx ISOpub 0x211E # PRESCRIPTION TAKE +Sacute ISOlat2 0x015A # LATIN CAPITAL LETTER S WITH ACUTE +sacute ISOlat2 0x015B # LATIN SMALL LETTER S WITH ACUTE +samalg ISOamsr 0x2210 # N-ARY COPRODUCT +sbquo HTMLspecial 0x201A # SINGLE LOW-9 QUOTATION MARK +sbsol ISOamso 0x005C # REVERSE SOLIDUS +sc ISOamsr 0x227B # SUCCEEDS +scap ISOamsr 0x???? # succeeds, approximately equal to +Scaron ISOlat2 0x0160 # LATIN CAPITAL LETTER S WITH CARON +scaron ISOlat2 0x0161 # LATIN SMALL LETTER S WITH CARON +sccue ISOamsr 0x227D # SUCCEEDS OR EQUAL TO +sce ISOamsr 0x227D # SUCCEEDS OR EQUAL TO +Scedil ISOlat2 0x015E # LATIN CAPITAL LETTER S WITH CEDILLA +scedil ISOlat2 0x015F # LATIN SMALL LETTER S WITH CEDILLA +Scirc ISOlat2 0x015C # LATIN CAPITAL LETTER S WITH CIRCUMFLEX +scirc ISOlat2 0x015D # LATIN SMALL LETTER S WITH CIRCUMFLEX +scnap ISOamsn 0x???? # succeeds, not approximately equal to +scnE ISOamsn 0x???? # succeeds, not double equals +scnsim ISOamsn 0x22E9 # SUCCEEDS BUT NOT EQUIVALENT TO +scsim ISOamsr 0x227F # SUCCEEDS OR EQUIVALENT TO +Scy ISOcyr1 0x0421 # CYRILLIC CAPITAL LETTER ES +scy ISOcyr1 0x0441 # CYRILLIC SMALL LETTER ES +sdot ISOamsb 0x22C5 # DOT OPERATOR +sdotb ISOamsb 0x22A1 # SQUARED DOT OPERATOR +sect ISOnum 0x00A7 # SECTION SIGN +semi ISOnum 0x003B # SEMICOLON +setmn ISOamsb 0x2216 # SET MINUS +sext ISOpub 0x2736 # SIX POINTED BLACK STAR +sfgr ISOgrk1 0x03C2 # GREEK SMALL LETTER FINAL SIGMA +sfrown ISOamsr 0x2322 # FROWN +Sgr ISOgrk1 0x03A3 # GREEK CAPITAL LETTER SIGMA +sgr ISOgrk1 0x03C3 # GREEK SMALL LETTER SIGMA +sharp ISOpub 0x266F # MUSIC SHARP SIGN +SHCHcy ISOcyr1 0x0429 # CYRILLIC CAPITAL LETTER SHCHA +shchcy ISOcyr1 0x0449 # CYRILLIC SMALL LETTER SHCHA +SHcy ISOcyr1 0x0428 # CYRILLIC CAPITAL LETTER SHA +shcy ISOcyr1 0x0448 # CYRILLIC SMALL LETTER SHA +shy ISOnum 0x00AD # SOFT HYPHEN +Sigma ISOgrk3 0x03A3 # GREEK CAPITAL LETTER SIGMA +sigma ISOgrk3 0x03C3 # GREEK SMALL LETTER SIGMA +sigmaf HTMLsymbol 0x03C2 # GREEK SMALL LETTER FINAL SIGMA +sigmav ISOgrk3 0x03C2 # GREEK SMALL LETTER FINAL SIGMA +sim ISOtech 0x223C # TILDE OPERATOR +sime ISOtech 0x2243 # ASYMPTOTICALLY EQUAL TO +smid ISOamsr 0x???? # shortmid +smile ISOamsr 0x2323 # SMILE +SOFTcy ISOcyr1 0x042C # CYRILLIC CAPITAL LETTER SOFT SIGN +softcy ISOcyr1 0x044C # CYRILLIC SMALL LETTER SOFT SIGN +sol ISOnum 0x002F # SOLIDUS +spades ISOpub 0x2660 # BLACK SPADE SUIT +spar ISOamsr 0x2225 # PARALLEL TO +sqcap ISOamsb 0x2293 # SQUARE CAP +sqcup ISOamsb 0x2294 # SQUARE CUP +sqsub ISOamsr 0x228F # SQUARE IMAGE OF +sqsube ISOamsr 0x2291 # SQUARE IMAGE OF OR EQUAL TO +sqsup ISOamsr 0x2290 # SQUARE ORIGINAL OF +sqsupe ISOamsr 0x2292 # SQUARE ORIGINAL OF OR EQUAL TO +squ ISOpub 0x25A1 # WHITE SQUARE +square ISOtech 0x25A1 # WHITE SQUARE +squf ISOpub 0x25AA # BLACK SMALL SQUARE +ssetmn ISOamsb 0x2216 # SET MINUS +ssmile ISOamsr 0x2323 # SMILE +sstarf ISOamsb 0x22C6 # STAR OPERATOR +star ISOpub 0x2606 # WHITE STAR +starf ISOpub 0x2605 # BLACK STAR +Sub ISOamsr 0x22D0 # DOUBLE SUBSET +sub ISOtech 0x2282 # SUBSET OF +subE ISOamsr 0x2286 # SUBSET OF OR EQUAL TO +sube ISOtech 0x2286 # SUBSET OF OR EQUAL TO +subnE ISOamsn 0x228A # SUBSET OF WITH NOT EQUAL TO +subne ISOamsn 0x228A # SUBSET OF WITH NOT EQUAL TO +sum ISOamsb 0x2211 # N-ARY SUMMATION +sung ISOnum 0x266A # EIGHTH NOTE +Sup ISOamsr 0x22D1 # DOUBLE SUPERSET +sup ISOtech 0x2283 # SUPERSET OF +sup1 ISOnum 0x00B9 # SUPERSCRIPT ONE +sup2 ISOnum 0x00B2 # SUPERSCRIPT TWO +sup3 ISOnum 0x00B3 # SUPERSCRIPT THREE +supE ISOamsr 0x2287 # SUPERSET OF OR EQUAL TO +supe ISOtech 0x2287 # SUPERSET OF OR EQUAL TO +supnE ISOamsn 0x228B # SUPERSET OF WITH NOT EQUAL TO +supne ISOamsn 0x228B # SUPERSET OF WITH NOT EQUAL TO +szlig ISOlat1 0x00DF # LATIN SMALL LETTER SHARP S +target ISOpub 0x2316 # POSITION INDICATOR +Tau HTMLsymbol 0x03A4 # GREEK CAPITAL LETTER TAU +tau ISOgrk3 0x03C4 # GREEK SMALL LETTER TAU +Tcaron ISOlat2 0x0164 # LATIN CAPITAL LETTER T WITH CARON +tcaron ISOlat2 0x0165 # LATIN SMALL LETTER T WITH CARON +Tcedil ISOlat2 0x0162 # LATIN CAPITAL LETTER T WITH CEDILLA +tcedil ISOlat2 0x0163 # LATIN SMALL LETTER T WITH CEDILLA +Tcy ISOcyr1 0x0422 # CYRILLIC CAPITAL LETTER TE +tcy ISOcyr1 0x0442 # CYRILLIC SMALL LETTER TE +tdot ISOtech 0x20DB # COMBINING THREE DOTS ABOVE +telrec ISOpub 0x2315 # TELEPHONE RECORDER +Tgr ISOgrk1 0x03A4 # GREEK CAPITAL LETTER TAU +tgr ISOgrk1 0x03C4 # GREEK SMALL LETTER TAU +there4 ISOtech 0x2234 # THEREFORE +theta HTMLsymbol 0x03B8 # GREEK SMALL LETTER THETA +Theta ISOgrk3 0x0398 # GREEK CAPITAL LETTER THETA +thetas ISOgrk3 0x03B8 # GREEK SMALL LETTER THETA +thetasym HTMLsymbol 0x03D1 # GREEK THETA SYMBOL +thetav ISOgrk3 0x03D1 # GREEK THETA SYMBOL +THgr ISOgrk1 0x0398 # GREEK CAPITAL LETTER THETA +thgr ISOgrk1 0x03B8 # GREEK SMALL LETTER THETA +thinsp ISOpub 0x2009 # THIN SPACE +thkap ISOamsr 0x2248 # ALMOST EQUAL TO +thksim ISOamsr 0x223C # TILDE OPERATOR +THORN ISOlat1 0x00DE # LATIN CAPITAL LETTER THORN +thorn ISOlat1 0x00FE # LATIN SMALL LETTER THORN +tilde ISOdia 0x02DC # SMALL TILDE +times ISOnum 0x00D7 # MULTIPLICATION SIGN +timesb ISOamsb 0x22A0 # SQUARED TIMES +top ISOamsb 0x22A4 # DOWN TACK +tprime ISOtech 0x2034 # TRIPLE PRIME +trade ISOnum 0x2122 # TRADE MARK SIGN +trie ISOamsr 0x225C # DELTA EQUAL TO +TScy ISOcyr1 0x0426 # CYRILLIC CAPITAL LETTER TSE +tscy ISOcyr1 0x0446 # CYRILLIC SMALL LETTER TSE +TSHcy ISOcyr2 0x040B # CYRILLIC CAPITAL LETTER TSHE +tshcy ISOcyr2 0x045B # CYRILLIC SMALL LETTER TSHE +Tstrok ISOlat2 0x0166 # LATIN CAPITAL LETTER T WITH STROKE +tstrok ISOlat2 0x0167 # LATIN SMALL LETTER T WITH STROKE +twixt ISOamsr 0x226C # BETWEEN +Uacgr ISOgrk2 0x038E # GREEK CAPITAL LETTER UPSILON WITH TONOS +uacgr ISOgrk2 0x03CD # GREEK SMALL LETTER UPSILON WITH TONOS +Uacute ISOlat1 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE +uacute ISOlat1 0x00FA # LATIN SMALL LETTER U WITH ACUTE +uArr ISOamsa 0x21D1 # UPWARDS DOUBLE ARROW +uarr ISOnum 0x2191 # UPWARDS ARROW +uarr2 ISOamsa 0x21C8 # UPWARDS PAIRED ARROWS +Ubrcy ISOcyr2 0x040E # CYRILLIC CAPITAL LETTER SHORT U +ubrcy ISOcyr2 0x045E # CYRILLIC SMALL LETTER SHORT U +Ubreve ISOlat2 0x016C # LATIN CAPITAL LETTER U WITH BREVE +ubreve ISOlat2 0x016D # LATIN SMALL LETTER U WITH BREVE +Ucirc ISOlat1 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX +ucirc ISOlat1 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX +Ucy ISOcyr1 0x0423 # CYRILLIC CAPITAL LETTER U +ucy ISOcyr1 0x0443 # CYRILLIC SMALL LETTER U +Udblac ISOlat2 0x0170 # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE +udblac ISOlat2 0x0171 # LATIN SMALL LETTER U WITH DOUBLE ACUTE +udiagr ISOgrk2 0x03B0 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND +TONOS +Udigr ISOgrk2 0x03AB # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA +udigr ISOgrk2 0x03CB # GREEK SMALL LETTER UPSILON WITH DIALYTIKA +Ugr ISOgrk1 0x03A5 # GREEK CAPITAL LETTER UPSILON +ugr ISOgrk1 0x03C5 # GREEK SMALL LETTER UPSILON +Ugrave ISOlat1 0x00D9 # LATIN CAPITAL LETTER U WITH GRAVE +ugrave ISOlat1 0x00F9 # LATIN SMALL LETTER U WITH GRAVE +uharl ISOamsa 0x21BF # UPWARDS HARPOON WITH BARB LEFTWARDS +uharr ISOamsa 0x21BE # UPWARDS HARPOON WITH BARB RIGHTWARDS +uhblk ISOpub 0x2580 # UPPER HALF BLOCK +ulcorn ISOamsc 0x231C # TOP LEFT CORNER +ulcrop ISOpub 0x230F # TOP LEFT CROP +Umacr ISOlat2 0x016A # LATIN CAPITAL LETTER U WITH MACRON +umacr ISOlat2 0x016B # LATIN SMALL LETTER U WITH MACRON +uml ISOdia 0x00A8 # DIAERESIS +Uogon ISOlat2 0x0172 # LATIN CAPITAL LETTER U WITH OGONEK +uogon ISOlat2 0x0173 # LATIN SMALL LETTER U WITH OGONEK +uplus ISOamsb 0x228E # MULTISET UNION +Upsi ISOgrk3 0x03A5 # GREEK CAPITAL LETTER UPSILON +upsi ISOgrk3 0x03C5 # GREEK SMALL LETTER UPSILON +upsih HTMLsymbol 0x03D2 # GREEK UPSILON WITH HOOK SYMBOL +Upsilon HTMLsymbol 0x03A5 # GREEK CAPITAL LETTER UPSILON +upsilon HTMLsymbol 0x03C5 # GREEK SMALL LETTER UPSILON +urcorn ISOamsc 0x231D # TOP RIGHT CORNER +urcrop ISOpub 0x230E # TOP RIGHT CROP +Uring ISOlat2 0x016E # LATIN CAPITAL LETTER U WITH RING ABOVE +uring ISOlat2 0x016F # LATIN SMALL LETTER U WITH RING ABOVE +Utilde ISOlat2 0x0168 # LATIN CAPITAL LETTER U WITH TILDE +utilde ISOlat2 0x0169 # LATIN SMALL LETTER U WITH TILDE +utri ISOpub 0x25B5 # WHITE UP-POINTING SMALL TRIANGLE +utrif ISOpub 0x25B4 # BLACK UP-POINTING SMALL TRIANGLE +Uuml ISOlat1 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS +uuml ISOlat1 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS +varr ISOamsa 0x2195 # UP DOWN ARROW +vArr ISOamsa 0x21D5 # UP DOWN DOUBLE ARROW +Vcy ISOcyr1 0x0412 # CYRILLIC CAPITAL LETTER VE +vcy ISOcyr1 0x0432 # CYRILLIC SMALL LETTER VE +vdash ISOamsr 0x22A2 # RIGHT TACK +vDash ISOamsr 0x22A8 # TRUE +Vdash ISOamsr 0x22A9 # FORCES +veebar ISOamsr 0x22BB # XOR +vellip ISOpub 0x22EE # VERTICAL ELLIPSIS +verbar ISOnum 0x007C # VERTICAL LINE +Verbar ISOtech 0x2016 # DOUBLE VERTICAL LINE +vltri ISOamsr 0x22B2 # NORMAL SUBGROUP OF +vprime ISOamso 0x2032 # PRIME +vprop ISOamsr 0x221D # PROPORTIONAL TO +vrtri ISOamsr 0x22B3 # CONTAINS AS NORMAL SUBGROUP +vsubnE ISOamsn 0x228A # SUBSET OF WITH NOT EQUAL TO +vsubne ISOamsn 0x228A # SUBSET OF WITH NOT EQUAL TO +vsupne ISOamsn 0x228B # SUPERSET OF WITH NOT EQUAL TO +vsupnE ISOamsn 0x228B # SUPERSET OF WITH NOT EQUAL TO +Vvdash ISOamsr 0x22AA # TRIPLE VERTICAL BAR RIGHT TURNSTILE +Wcirc ISOlat2 0x0174 # LATIN CAPITAL LETTER W WITH CIRCUMFLEX +wcirc ISOlat2 0x0175 # LATIN SMALL LETTER W WITH CIRCUMFLEX +wedgeq ISOtech 0x2259 # ESTIMATES +weierp ISOamso 0x2118 # SCRIPT CAPITAL P +wreath ISOamsb 0x2240 # WREATH PRODUCT +xcirc ISOamsb 0x25CB # WHITE CIRCLE +xdtri ISOamsb 0x25BD # WHITE DOWN-POINTING TRIANGLE +Xgr ISOgrk1 0x039E # GREEK CAPITAL LETTER XI +xgr ISOgrk1 0x03BE # GREEK SMALL LETTER XI +xhArr ISOamsa 0x2194 # LEFT RIGHT ARROW +xharr ISOamsa 0x2194 # LEFT RIGHT ARROW +Xi ISOgrk3 0x039E # GREEK CAPITAL LETTER XI +xi ISOgrk3 0x03BE # GREEK SMALL LETTER XI +xlArr ISOamsa 0x21D0 # LEFTWARDS DOUBLE ARROW +xrArr ISOamsa 0x21D2 # RIGHTWARDS DOUBLE ARROW +xutri ISOamsb 0x25B3 # WHITE UP-POINTING TRIANGLE +Yacute ISOlat1 0x00DD # LATIN CAPITAL LETTER Y WITH ACUTE +yacute ISOlat1 0x00FD # LATIN SMALL LETTER Y WITH ACUTE +YAcy ISOcyr1 0x042F # CYRILLIC CAPITAL LETTER YA +yacy ISOcyr1 0x044F # CYRILLIC SMALL LETTER YA +Ycirc ISOlat2 0x0176 # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX +ycirc ISOlat2 0x0177 # LATIN SMALL LETTER Y WITH CIRCUMFLEX +Ycy ISOcyr1 0x042B # CYRILLIC CAPITAL LETTER YERU +ycy ISOcyr1 0x044B # CYRILLIC SMALL LETTER YERU +yen ISOnum 0x00A5 # YEN SIGN +YIcy ISOcyr2 0x0407 # CYRILLIC CAPITAL LETTER YI +yicy ISOcyr2 0x0457 # CYRILLIC SMALL LETTER YI +YUcy ISOcyr1 0x042E # CYRILLIC CAPITAL LETTER YU +yucy ISOcyr1 0x044E # CYRILLIC SMALL LETTER YU +yuml ISOlat1 0x00FF # LATIN SMALL LETTER Y WITH DIAERESIS +Yuml ISOlat2 0x0178 # LATIN CAPITAL LETTER Y WITH DIAERESIS +Zacute ISOlat2 0x0179 # LATIN CAPITAL LETTER Z WITH ACUTE +zacute ISOlat2 0x017A # LATIN SMALL LETTER Z WITH ACUTE +Zcaron ISOlat2 0x017D # LATIN CAPITAL LETTER Z WITH CARON +zcaron ISOlat2 0x017E # LATIN SMALL LETTER Z WITH CARON +Zcy ISOcyr1 0x0417 # CYRILLIC CAPITAL LETTER ZE +zcy ISOcyr1 0x0437 # CYRILLIC SMALL LETTER ZE +Zdot ISOlat2 0x017B # LATIN CAPITAL LETTER Z WITH DOT ABOVE +zdot ISOlat2 0x017C # LATIN SMALL LETTER Z WITH DOT ABOVE +Zeta HTMLsymbol 0x0396 # GREEK CAPITAL LETTER ZETA +zeta ISOgrk3 0x03B6 # GREEK SMALL LETTER ZETA +Zgr ISOgrk1 0x0396 # GREEK CAPITAL LETTER ZETA +zgr ISOgrk1 0x03B6 # GREEK SMALL LETTER ZETA +ZHcy ISOcyr1 0x0416 # CYRILLIC CAPITAL LETTER ZHE +zhcy ISOcyr1 0x0436 # CYRILLIC SMALL LETTER ZHE +zwj HTMLspecial 0x200D # ZERO WIDTH JOINER +zwnj HTMLspecial 0x200C # ZERO WIDTH NON-JOINER diff --git a/lib/dbtexmf/core/sgmlxml.py b/lib/dbtexmf/core/sgmlxml.py new file mode 100644 index 0000000..30e6b84 --- /dev/null +++ b/lib/dbtexmf/core/sgmlxml.py @@ -0,0 +1,88 @@ +# +# Basic class handling osx() call. It tries to replace the entities by +# the equivalent unicode characters. +# +import os +import sys +import re +import logging +from subprocess import call + +class Osx: + def __init__(self): + self.opts = ["-xlower", + "-xno-nl-in-tag", + "-xempty", + "-xno-expand-internal", + "-xid"] # To have id() working without a DTD + self.log = logging.getLogger("dblatex") + + def replace_entities(self, entfile, mapfile, outfile=None): + # Find out the SDATA entities to replace + re_ent = re.compile('') + f = open(entfile) + lines = f.readlines() + f.close() + + # Trivial case where no entities to map + if not(lines): + return + + ents = [] + for line in lines: + ents += re_ent.findall(line) + self.log.debug("Entities to map: %s" % ents) + + # Now, get their Unicode mapping + entpat = "^(%s)\s+[^\s]+\s+0(x[^\s]+)" % "|".join([x for x, y in ents]) + re_map = re.compile(entpat) + entmap = [] + f = open(mapfile) + for line in f: + entmap += re_map.findall(line.split("#")[0]) + f.close() + self.log.debug("Entity map: %s" % entmap) + + # Replace the entity definitions by their Unicode equivalent + entdict = {} + for ent, uval in entmap: + entdict[ent] = \ + (re.compile('' % ent), + '' % (ent, uval)) + + nlines = [] + for line in lines: + mapped = [] + for ent in entdict: + reg, rep = entdict[ent] + line, n = reg.subn(rep, line) + if n: + mapped.append(ent) + nlines.append(line) + for ent in mapped: + del entdict[ent] + + if not(outfile): outfile = entfile + f = open(outfile, "w") + f.writelines(nlines) + f.close() + + def run(self, sgmlfile, xmlfile): + errfile = "errors.osx" + f = open(xmlfile, "w") + rc = call(["osx"] + self.opts + ["-f", errfile, sgmlfile], stdout=f) + f.close() + if rc != 0: + i = 0 + f = open(errfile) + for line in f: + sys.stderr.write(line) + i += 1 + if i == 10: break + f.close() + raise OSError("osx failed") + + # Now, replace the SDATA entities + sgmlmap = os.path.join(os.path.dirname(__file__), "sgmlent.txt") + self.replace_entities("intEntities.dtf", sgmlmap) + diff --git a/lib/dbtexmf/core/txtparser.py b/lib/dbtexmf/core/txtparser.py new file mode 100644 index 0000000..709d877 --- /dev/null +++ b/lib/dbtexmf/core/txtparser.py @@ -0,0 +1,107 @@ +# +# DbTex configuration parser. Maybe we could use or extend ConfigParser. +# +import os +import re + +# +# Functions used by the config parsers and by the dbtex command parser +# +def texinputs_parse(strpath, basedir=None): + """ + Transform the TEXINPUTS string to absolute normalized paths, + but keep intact the '//' suffix if any. The absolute paths are + computed from current one or from when specified. + """ + paths = [] + for p in strpath.split(os.pathsep): + if not(os.path.isabs(p)): + if not(basedir): + d = os.path.realpath(p) + else: + d = os.path.normpath(os.path.join(basedir, p)) + else: + d = os.path.normpath(p) + if p.endswith("//"): + d += "//" + paths.append(d) + return paths + +def texstyle_parse(texstyle): + sty = os.path.basename(texstyle) + dir = os.path.dirname(texstyle) + if sty.endswith(".sty"): + path = os.path.realpath(dir) + sty = sty[:-4] + if not(os.path.isfile(texstyle)): + raise ValueError("Latex style '%s' not found" % texstyle) + elif (dir): + raise ValueError("Invalid latex style path: missing .sty") + else: + path = "" + return ("latex.style=%s" % sty, path) + + + +class OptMap: + def __init__(self, option): + self.option = option + + def format(self, dir, value): + return ["%s=%s" % (self.option, value)] + +class PathMap(OptMap): + def format(self, dir, value): + if not(os.path.isabs(value)): + value = os.path.normpath(os.path.join(dir, value)) + return OptMap.format(self, dir, value) + +class TexMap(OptMap): + def format(self, dir, value): + paths = texinputs_parse(value, basedir=dir) + return OptMap.format(self, dir, ":".join(paths)) + +class NoneMap(OptMap): + def format(self, dir, value): + return value.split() + + +class TextConfig: + conf_mapping = { + 'TexInputs' : TexMap('--texinputs'), + #'PdfInputs' : OptMap('--pdfinputs'), + 'TexPost' : PathMap('--texpost'), + 'FigPath' : PathMap('--fig-path'), + 'XslParam' : PathMap('--xsl-user'), + 'TexStyle' : OptMap('--texstyle'), + 'Options' : NoneMap('') + } + + def __init__(self): + self._options = [] + self.reparam = re.compile("^\s*([^:=\s]+)\s*:\s*(.*)") + + def options(self): + return self._options + + def fromfile(self, file): + dir = os.path.dirname(os.path.realpath(file)) + f = open(file) + + for line in f: + # Remove the comment + line = line.split("#")[0] + m = self.reparam.match(line) + if not(m): + continue + key = m.group(1) + value = m.group(2).strip() + if not self.conf_mapping.has_key(key): + continue + o = self.conf_mapping[key] + + # The paths can be relative to the config file + self._options += o.format(dir, value) + + f.close() + diff --git a/lib/dbtexmf/core/xmlparser.py b/lib/dbtexmf/core/xmlparser.py new file mode 100644 index 0000000..501b7f7 --- /dev/null +++ b/lib/dbtexmf/core/xmlparser.py @@ -0,0 +1,325 @@ +import os +import re +import xml.etree.ElementTree as ET +from txtparser import texinputs_parse + +class BaseOption: + def __init__(self, config, optname): + self.config = config + self.optname = optname + self._value = None + + def optvalue(self): + return self._value + + def get(self, what, default=None): + return None + + def options(self): + value = self.optvalue() + if self.optname and value: + return ["%s=%s" % (self.optname, value)] + else: + return [] + + def fromnode(self, xmlnode): + self._value = xmlnode.text + + def modules(self): + return {} + +class CommandConfig: + def __init__(self, config, type="command"): + self.config = config + self.type = type + self.args = [] + self.stdin = None + self.stdout = None + self.shell = False + + def options(self): + return self.args + + def modules(self): + return {} + + def fromnode(self, xmlnode): + self.stdin = xmlnode.get("input") + self.stdout = xmlnode.get("output") + self.shell = xmlnode.get("shell") + args = (xmlnode.text or "").split() + for arg in xmlnode: + if arg.text: args.append(arg.text) + args.extend((arg.tail or "").split()) + self.args = args + +class TexStyle(BaseOption): + def __init__(self, config, optname): + BaseOption.__init__(self, config, optname) + self.filepath = "" + + def optvalue(self): + return self.filepath + + def fromnode(self, xmlnode): + self.filepath = xmlnode.get("fileref") or xmlnode.get("use") + +class TexPath(BaseOption): + def __init__(self, config, optname): + BaseOption.__init__(self, config, optname) + self.paths = [] + + def optvalue(self): + return os.pathsep.join(self.paths) + + def fromnode(self, xmlnode): + if not(xmlnode.text): return + self.paths = texinputs_parse(xmlnode.text, self.config.basedir) + +class FilePath(BaseOption): + def __init__(self, config, optname): + BaseOption.__init__(self, config, optname) + self.filepath = "" + + def optvalue(self): + return self.filepath + + def fromnode(self, xmlnode): + filepath = xmlnode.get("fileref") + if not(filepath): + return + if not(os.path.isabs(filepath)): + filepath = os.path.normpath(os.path.join(self.config.basedir, + filepath)) + self.filepath = filepath + + +class ModuleConfig(BaseOption): + def __init__(self, config, optname): + BaseOption.__init__(self, config, optname) + self.commands = [] + self.extra_args = None + self.module_name = "" + self.module_file = "" + + def optvalue(self): + return self.module_name or self.module_file + + def modules(self): + if self.module_name: + return {self.module_name: self} + else: + return {} + + def fromnode(self, xmlnode): + ns = { "x": self.config.xmlns } + self._handle_location(xmlnode) + xmlopts = xmlnode.find("x:options", ns) + xmlcmds = xmlnode.find("x:command", ns) + xmlchain = xmlnode.find("x:commandchain", ns) + if not(xmlchain is None): + xmlcmds = xmlchain.findall("x:command", ns) + for cmd in xmlcmds: + args = CommandConfig(self.config) + args.fromnode(cmd) + self.commands.append(args) + elif not(xmlcmds is None): + args = CommandConfig(self.config) + args.fromnode(xmlcmds) + self.commands.append(args) + elif not(xmlopts is None): + # FIXME + self.extra_args = CommandConfig(self.config, type="option") + self.extra_args.fromnode(xmlopts) + + def _handle_location(self, xmlnode): + self.module_name = xmlnode.get("use") + self.module_file = xmlnode.get("fileref") + if not(self.module_name) and self.module_file: + p = FilePath(self.config, "") + p.fromnode(xmlnode) + self.module_file = p.filepath + +class ImageConverterConfig(ModuleConfig): + def __init__(self, config, optname): + ModuleConfig.__init__(self, config, optname) + + def __repr__(self): + return self.module_name + + def fromnode(self, xmlnode): + self.imgsrc = xmlnode.get("src") + self.imgdst = xmlnode.get("dst") + self.docformat = xmlnode.get("docformat") or "*" + self.backend = xmlnode.get("backend") or "*" + ModuleConfig.fromnode(self, xmlnode) + name = "%s/%s/%s/%s" % (self.imgsrc, self.imgdst, + self.docformat, self.backend) + self.module_name = name + +class ImageFormatConfig(BaseOption): + def __init__(self, config, optname): + BaseOption.__init__(self, config, optname) + self.imgsrc = "" + self.imgdst = "" + self.docformat = "" + self.backend = "" + + def fromnode(self, xmlnode): + self.imgsrc = xmlnode.get("src") + self.imgdst = xmlnode.get("dst") + self.docformat = xmlnode.get("docformat") or "*" + self.backend = xmlnode.get("backend") or "*" + +class XsltEngineConfig(ModuleConfig): + def __init__(self, config, optname): + ModuleConfig.__init__(self, config, optname) + + def __repr__(self): + return self.module_name + + def fromnode(self, xmlnode): + self.param_format = xmlnode.get("param-format") + ModuleConfig.fromnode(self, xmlnode) + if not(self.module_name or self.module_file): + self.module_name = "xsltconf" + +class XmlConfigGroup: + node_parsers = {} + + def __init__(self, config): + self.config = config + self.tagname = "" + self.infos = {} + + def get(self, tag, default=""): + if default == "": default = BaseOption(self, "") + return self.infos.get(tag, default) + + def _register(self, xmlnode, info): + tag = self.strip_ns(xmlnode.tag) + taglist = self.infos.get(tag, []) + taglist.append(info) + self.infos[tag] = taglist + + def strip_ns(self, tag): + return self.config.strip_ns(tag) + + def options(self): + opts = [] + for parsers in self.infos.values(): + for parser in parsers: + opts.extend(parser.options()) + return opts + + def modules(self): + mods = {} + for parsers in self.infos.values(): + for parser in parsers: + mods.update(parser.modules()) + return mods + + def fromnode(self, xmlnode): + self.tagname = xmlnode.tag + for child in xmlnode: + found = self.node_parsers.get(self.strip_ns(child.tag)) + if found: + optname, parser_cls = found + parser = parser_cls(self.config, optname) + parser.fromnode(child) + self._register(child, parser) + +class LatexConfig(XmlConfigGroup): + node_parsers = { + "texinputs": ("--texinputs", TexPath), + "bibinputs": ("--bib-path", TexPath), + "bstinputs": ("--bst-path", TexPath), + "texstyle": ("--texstyle", TexStyle), + "indexstyle": ("--indexstyle", FilePath), + "backend": ("--backend", ModuleConfig), + "texpost": ("--texpost", ModuleConfig) + } + +class XsltConfig(XmlConfigGroup): + node_parsers = { + "stylesheet": ("--xsl-user", FilePath), + "engine": ("--xslt", XsltEngineConfig) + } + +class ImageConfig(XmlConfigGroup): + node_parsers = { + "figpath": ("--fig-path", FilePath), + "figformat": ("--fig-format", BaseOption), + "converter": ("", ImageConverterConfig), + "formatrule": ("", ImageFormatConfig) + } + + +class XmlConfig: + """ + Parses an XML configuration file and stores its data in + configuration objects. + """ + node_parsers = { + "latex": LatexConfig, + "xslt": XsltConfig, + "imagedata": ImageConfig, + "options": CommandConfig + } + xmlns = "http://dblatex.sourceforge.net/config" + root_tag = "config" + + def __init__(self): + self.basedir = "" + self.infos = {} + + def _register(self, xmlnode, info): + self.infos[self.strip_ns(xmlnode.tag)] = info + + def get(self, tag, default=""): + if default == "": default = BaseOption(self, "") + return self.infos.get(tag, default) + + def options(self): + opts = [] + for parser in self.infos.values(): + opts.extend(parser.options()) + return opts + + def modules(self): + mods = {} + for parser in self.infos.values(): + mods.update(parser.modules()) + return mods + + def strip_ns(self, tag): + return tag.replace("{%s}" % self.xmlns, "", 1) + + def fromfile(self, filename): + self.basedir = os.path.dirname(os.path.realpath(filename)) + + document = ET.parse(filename) + root = document.getroot() + self._check_root(root.tag) + for child in root: + parser_cls = self.node_parsers.get(self.strip_ns(child.tag)) + if parser_cls: + parser = parser_cls(self) + parser.fromnode(child) + self._register(child, parser) + + def _check_root(self, root): + xmlns, tag = self._split_xmlns(root) + if tag != self.root_tag: + raise ValueError("Expect the XML config root element being '%s'" % \ + self.root_tag) + if xmlns and xmlns != self.xmlns: + raise ValueError("Invalid XML config xmlns: '%s'" % xmlns) + + def _split_xmlns(self, tag): + m = re.match("{([^}]+)}(.*)", tag) + if m: + return m.group(1), m.group(2) + else: + return "", tag + diff --git a/lib/dbtexmf/dblatex/__init__.py b/lib/dbtexmf/dblatex/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/lib/dbtexmf/dblatex/__init__.py diff --git a/lib/dbtexmf/dblatex/dblatex.py b/lib/dbtexmf/dblatex/dblatex.py new file mode 100644 index 0000000..0e9ae71 --- /dev/null +++ b/lib/dbtexmf/dblatex/dblatex.py @@ -0,0 +1,46 @@ +# +# DbLatex main class handling the compilation of a DocBook file via +# XSL Transformation and LaTeX compilation. +# +import os + +from dbtexmf.core.sgmlxml import Osx +from dbtexmf.core.dbtex import DbTex, DbTexCommand + +from rawtex import RawLatex +from runtex import RunLatex + + +class DbLatex(DbTex): + + def __init__(self, base=""): + DbTex.__init__(self, base=base) + self.name = "dblatex" + + # Engines to use + self.runtex = RunLatex() + self.runtex.index_style = os.path.join(self.topdir, + "latex", "scripts", "doc.ist") + self.rawtex = RawLatex() + self.sgmlxml = Osx() + + def set_base(self, topdir): + DbTex.set_base(self, topdir) + self.xslmain = os.path.join(self.topdir, "xsl", "latex_book_fast.xsl") + self.xsllist = os.path.join(self.topdir, + "xsl", "common", "mklistings.xsl") + self.texdir = os.path.join(self.topdir, "latex") + self.texlocal = os.path.join(self.topdir, "latex", "style") + self.confdir = os.path.join(self.topdir, "latex", "specs") + + +# +# Command entry point +# +def main(base=""): + command = DbTexCommand(base) + command.run = DbLatex(base=base) + command.main() + +if __name__ == "__main__": + main() diff --git a/lib/dbtexmf/dblatex/grubber/__init__.py b/lib/dbtexmf/dblatex/grubber/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/lib/dbtexmf/dblatex/grubber/__init__.py diff --git a/lib/dbtexmf/dblatex/grubber/bibtex.py b/lib/dbtexmf/dblatex/grubber/bibtex.py new file mode 100644 index 0000000..7615cfc --- /dev/null +++ b/lib/dbtexmf/dblatex/grubber/bibtex.py @@ -0,0 +1,415 @@ +# This file is part of Rubber and thus covered by the GPL +# (c) Emmanuel Beffara, 2002--2006 +""" +BibTeX support for Rubber + +This module is a special one: it is triggered by the macros \\bibliography and +\\bibliographystyle and not as a package, so the main system knows about it. +The module provides the following commands: + + path = adds to the search path for databases + stylepath = adds to the search path for styles +""" + +# Stop python 2.2 from calling "yield" statements syntax errors. +from __future__ import generators + +import os, sys +from os.path import * +import re, string +import subprocess + +#from grubber import _ +#from grubber import * +from msg import _, msg +from plugins import TexModule + +re_bibdata = re.compile(r"\\bibdata{(?P.*)}") +re_citation = re.compile(r"\\citation{(?P.*)}") +re_undef = re.compile("LaTeX Warning: Citation `(?P.*)' .*undefined.*") + +# The regular expression that identifies errors in BibTeX log files is heavily +# heuristic. The remark is that all error messages end with a text of the form +# "---line xxx of file yyy" or "---while reading file zzz". The actual error +# is either the text before the dashes or the text on the previous line. + +re_error = re.compile( + "---(line (?P[0-9]+) of|while reading) file (?P.*)") + +class BibTex(TexModule): + """ + This class is the module that handles BibTeX in Rubber. It provides the + funcionality required when compiling documents as well as material to + parse blg files for diagnostics. + """ + def __init__ (self, doc, dict, base=None): + """ + Initialize the state of the module and register appropriate functions + in the main process. The extra arugment 'base' can be used to specify + the base name of the aux file, it defaults to the document name. + """ + self.doc = doc + self.env = doc.env + + if not(base): + self.base = doc.src_base + else: + self.base = base + + self.bblfile = self.base + ".bbl" + self.blgfile = self.base + ".blg" + self.auxfile = self.base + ".aux" + +# cwd = self.env.vars["cwd"] +# cwd = "" +# self.bib_path = [cwd] +# if doc.src_path != cwd: +# self.bib_path.append(doc.src_path) +# self.bst_path = [cwd] + self.bib_path = [] + self.bst_path = [] + + self.undef_cites = None + self.used_cites = None + self.style = None + self.set_style("plain") + self.db = {} + self.sorted = 1 + self.run_needed = 0 + + # + # The following method are used to specify the various datafiles that + # BibTeX uses. + # + + def do_path (self, path): + self.bib_path.append(self.doc.abspath(path)) + + def do_stylepath (self, path): + self.bst_path.append(self.doc.abspath(path)) + + def do_sorted (self, mode): + self.sorted = mode in ("true", "yes", "1") + + def add_db (self, name): + """ + Register a bibliography database file. + """ + for dir in self.bib_path: + bib = join(dir, name + ".bib") + if exists(bib): + self.db[name] = bib + self.doc.sources[bib] = DependLeaf(self.env, bib) + self.doc.not_included.append(bib) + return + + def set_style (self, style): + """ + Define the bibliography style used. This method is called when + \\bibliographystyle is found. If the style file is found in the + current directory, it is considered a dependency. + """ + if self.style: + old_bst = self.style + ".bst" + if exists(old_bst) and self.doc.sources.has_key(old_bst): + del self.doc.sources[old_bst] + + self.style = style + for dir in self.bst_path: + new_bst = join(dir, style + ".bst") + if exists(new_bst): + self.bst_file = new_bst + self.doc.sources[new_bst] = DependLeaf(self.env, new_bst) + return + self.bst_file = None + + # + # The following methods are responsible of detecting when running BibTeX + # is needed and actually running it. + # + + def pre_compile (self): + """ + Run BibTeX if needed before the first compilation. This function also + checks if BibTeX has been run by someone else, and in this case it + tells the system that it should recompile the document. + """ + if exists(self.doc.auxfile): + self.used_cites, self.prev_dbs = self.parse_aux() + else: + self.prev_dbs = None + if self.doc.log.lines: + self.undef_cites = self.list_undefs() + + self.run_needed = self.first_run_needed() + if self.doc.must_compile: + # If a LaTeX compilation is going to happen, it is not necessary + # to bother with BibTeX yet. + return 0 + if self.run_needed: + return self.run() + + if (exists(self.bblfile) and + getmtime(self.bblfile) > getmtime(self.doc.logfile)): + self.doc.must_compile = 1 + return 0 + + def first_run_needed (self): + """ + The condition is only on the database files' modification dates, but + it would be more clever to check if the results have changed. + BibTeXing is also needed when the last run of BibTeX failed, and in + the very particular case when the style has changed since last + compilation. + """ + if not exists(self.auxfile): + return 0 + if not exists(self.blgfile): + return 1 + + dtime = getmtime(self.blgfile) + for db in self.db.values(): + if getmtime(db) > dtime: + msg.log(_("bibliography database %s was modified") % db, + pkg="bibtex") + return 1 + + blg = open(self.blgfile) + for line in blg.readlines(): + if re_error.search(line): + blg.close() + msg.log(_("last BibTeXing failed"), pkg="bibtex") + return 1 + blg.close() + + if self.style_changed(): + return 1 + if self.bst_file and getmtime(self.bst_file) > dtime: + msg.log(_("the bibliography style file was modified"), pkg="bibtex") + return 1 + return 0 + + def parse_aux (self): + """ + Parse the aux files and return the list of all defined citations and + the list of databases used. + """ + last = 0 + cites = {} + dbs = [] + auxfiles = [self.doc.auxfile] + if self.auxfile != self.doc.auxfile: + auxfiles.append(self.auxfile) + + for auxname in auxfiles: + aux = open(auxname) + for line in aux: + m = re_citation.match(line) + if m: + cite = m.group("cite") + if not cites.has_key(cite): + last = last + 1 + cites[cite] = last + continue + m = re_bibdata.match(line) + if m: + dbs.extend(m.group("data").split(",")) + aux.close() + dbs.sort() + + if self.sorted: + list = cites.keys() + list.sort() + return list, dbs + else: + list = [(n,c) for (c,n) in cites.items()] + list.sort() + return [c for (n,c) in list], dbs + + def list_undefs (self): + """ + Return the list of all undefined citations. + """ + cites = {} + for line in self.doc.log.lines: + match = re_undef.match(line) + if match: + cites[match.group("cite")] = None + list = cites.keys() + list.sort() + return list + + def post_compile (self): + """ + This method runs BibTeX if needed to solve undefined citations. If it + was run, then force a new LaTeX compilation. + """ + if not self.bibtex_needed(): + msg.log(_("no BibTeXing needed"), pkg="bibtex") + return 0 + return self.run() + + def run (self): + """ + This method actually runs BibTeX with the appropriate environment + variables set. + """ + msg.progress(_("running BibTeX on %s") % self.base) + doc = {} + if len(self.bib_path) != 1: + os.environ["BIBINPUTS"] = string.join(self.bib_path + + [os.getenv("BIBINPUTS", "")], ":") + if len(self.bst_path) != 1: + os.environ["BSTINPUTS"] = string.join(self.bst_path + + [os.getenv("BSTINPUTS", "")], ":") + rc = subprocess.call(["bibtex", self.base], stdout=msg.stdout) + if rc != 0: + msg.error(_("There were errors making the bibliography.")) + return 1 + self.run_needed = 0 + self.doc.must_compile = 1 + return 0 + + def bibtex_needed (self): + """ + Return true if BibTeX must be run. + """ + if self.run_needed: + return 1 + msg.log(_("checking if BibTeX must be run..."), pkg="bibtex") + + newcites, dbs = self.parse_aux() + + # If there was a list of used citations, we check if it has + # changed. If it has, we have to rerun. + + if self.prev_dbs is not None and self.prev_dbs != dbs: + msg.log(_("the set of databases changed"), pkg="bibtex") + self.prev_dbs = dbs + self.used_cites = newcites + self.undef_cites = self.list_undefs() + return 1 + self.prev_dbs = dbs + + # If there was a list of used citations, we check if it has + # changed. If it has, we have to rerun. + + if self.used_cites and newcites != self.used_cites: + msg.log(_("the list of citations changed"), pkg="bibtex") + self.used_cites = newcites + self.undef_cites = self.list_undefs() + return 1 + self.used_cites = newcites + + # If there was a list of undefined citations, we check if it has + # changed. If it has and it is not empty, we have to rerun. + + if self.undef_cites: + new = self.list_undefs() + if new == []: + msg.log(_("no more undefined citations"), pkg="bibtex") + self.undef_cites = new + else: + for cite in new: + if cite in self.undef_cites: + continue + msg.log(_("there are new undefined citations"), pkg="bibtex") + self.undef_cites = new + return 1 + msg.log(_("there is no new undefined citation"), pkg="bibtex") + self.undef_cites = new + return 0 + else: + self.undef_cites = self.list_undefs() + + # At this point we don't know if undefined citations changed. If + # BibTeX has not been run before (i.e. there is no log file) we know + # that it has to be run now. + + if not exists(self.blgfile): + msg.log(_("no BibTeX log file"), pkg="bibtex") + return 1 + + # Here, BibTeX has been run before but we don't know if undefined + # citations changed. + + if self.undef_cites == []: + msg.log(_("no undefined citations"), pkg="bibtex") + return 0 + + if getmtime(self.blgfile) < getmtime(self.doc.logfile): + msg.log(_("BibTeX's log is older than the main log"), pkg="bibtex") + return 1 + + return 0 + + def clean (self): + self.doc.remove_suffixes([".bbl", ".blg"]) + + # + # The following method extract information from BibTeX log files. + # + + def style_changed (self): + """ + Read the log file if it exists and check if the style used is the one + specified in the source. This supposes that the style is mentioned on + a line with the form 'The style file: foo.bst'. + """ + if not exists(self.blgfile): + return 0 + log = open(self.blgfile) + line = log.readline() + while line != "": + if line.startswith("The style file: "): + if line.rstrip()[16:-4] != self.style: + msg.log(_("the bibliography style was changed"), pkg="bibtex") + log.close() + return 1 + line = log.readline() + log.close() + return 0 + + def get_errors (self): + """ + Read the log file, identify error messages and report them. + """ + if not exists(self.blgfile): + return + log = open(self.blgfile) + last_line = "" + for line in log: + m = re_error.search(line) + if m: + # TODO: it would be possible to report the offending code. + if m.start() == 0: + text = string.strip(last_line) + else: + text = string.strip(line[:m.start()]) + line = m.group("line") + if line: line = int(line) + d = { + "pkg": "bibtex", + "kind": "error", + "text": text + } + d.update( m.groupdict() ) + + # BibTeX does not report the path of the database in its log. + + file = d["file"] + if file[-4:] == ".bib": + file = file[:-4] + if self.db.has_key(file): + d["file"] = self.db[file] + elif self.db.has_key(file + ".bib"): + d["file"] = self.db[file + ".bib"] + yield d + last_line = line + log.close() + + +class Module(BibTex): + """ + Module to load to handle a bibtex + """ diff --git a/lib/dbtexmf/dblatex/grubber/bibtopic.py b/lib/dbtexmf/dblatex/grubber/bibtopic.py new file mode 100644 index 0000000..4c1ef9f --- /dev/null +++ b/lib/dbtexmf/dblatex/grubber/bibtopic.py @@ -0,0 +1,66 @@ + +from plugins import TexModule +from bibtex import BibTex + + +class BibSect(BibTex): + def __init__(self, doc, bibaux, bibfiles, bibstyle): + self.bibfiles = bibfiles.split(",") + self.bibstyle = bibstyle + self.bibaux = bibaux + BibTex.__init__(self, doc, {}, bibaux) + for bib in self.bibfiles: + self.add_db(bib) + if self.bibstyle: + self.set_style(self.bibstyle) + +class BibNull(BibSect): + """ + Null biblio section having no bibfile + """ + def __init__(self, doc, bibaux): + pass + + def pre_compile(self): + return 0 + + def post_compile(self): + return 0 + + +class Bibtopic(TexModule): + def __init__(self, doc, dict): + self.doc = doc + self.btsects = [] + doc.parser.add_hook("begin{btSect}", self.add_sect) + + # If loaded from a sect, register this sect too + if dict["name"] == "begin{btSect}": + self.add_sect(dict) + + def add_sect(self, dict): + bibaux = "%s%d" % (self.doc.src_base, len(self.btsects) + 1) + if dict["arg"]: + btsect = BibSect(self.doc, bibaux, dict["arg"], dict["opt"]) + else: + btsect = BibNull(self.doc, bibaux) + self.btsects.append(btsect) + + def pre_compile(self): + rc = 0 + for bib in self.btsects: + rc += bib.pre_compile() + return rc + + def post_compile(self): + rc = 0 + for bib in self.btsects: + rc += bib.post_compile() + return rc + + +class Module(Bibtopic): + """ + Module to load to handle bibtopic + """ + diff --git a/lib/dbtexmf/dblatex/grubber/dvips.py b/lib/dbtexmf/dblatex/grubber/dvips.py new file mode 100644 index 0000000..83bafa7 --- /dev/null +++ b/lib/dbtexmf/dblatex/grubber/dvips.py @@ -0,0 +1,62 @@ +# This file is part of Rubber and thus covered by the GPL +# (c) Emmanuel Beffara, 2002--2006 +""" +PostScript generation through dvips with Rubber. + +This module has specific support for Omega: when the name of the main compiler +is "Omega" (instead of "TeX" for instance), then "odvips" is used instead of +"dvips". +""" + +import sys +import os +from os.path import * +import subprocess + +from msg import _ , msg +from plugins import TexModule +from maker import Depend + +class Dep (Depend): + def __init__ (self, doc, target, source, node): + self.doc = doc + self.env = doc.env + self.source = source + self.target = target + Depend.__init__(self, doc.env, prods=[target], sources={source: node}) + self.options = [] + if self.doc.engine == "Omega": + self.cmdexec = "odvips" + else: + self.cmdexec = "dvips" + self.options.append("-R0") + + def run (self): + cmd = [self.cmdexec] + msg.progress(_("running %s on %s") % (cmd[0], self.source)) + for opt in self.doc.paper.split(): + cmd.extend(["-t", opt]) + cmd.extend(self.options + ["-o", self.target, self.source]) + msg.debug(" ".join(cmd)) + rc = subprocess.call(cmd, stdout=msg.stdout) + if rc != 0: + msg.error(_("%s failed on %s") % (cmd[0], self.source)) + return 1 + return 0 + +class Module (TexModule): + def __init__ (self, doc, dict): + self.doc = doc + lastdep = doc.env.dep_last() + dvi = lastdep.prods[0] + root, ext = os.path.splitext(dvi) + if ext != ".dvi": + msg.error(_("I can't use dvips when not producing a DVI")) + sys.exit(2) + ps = root + ".ps" + self.dep = Dep(doc, ps, dvi, lastdep) + doc.env.dep_append(self.dep) + + def do_options (self, *args): + self.dep.options.extend(args) + diff --git a/lib/dbtexmf/dblatex/grubber/index.py b/lib/dbtexmf/dblatex/grubber/index.py new file mode 100644 index 0000000..2194b02 --- /dev/null +++ b/lib/dbtexmf/dblatex/grubber/index.py @@ -0,0 +1,568 @@ +# This file is part of Rubber and thus covered by the GPL +# (c) Emmanuel Beffara, 2004--2006 +""" +Indexing support with package 'index'. + +This module handles the processing of the document's indices using a tool like +makeindex or xindy. It stores an MD5 sum of the source (.idx) file between two +runs, in order to detect modifications. + +The following directives are provided to specify options for makeindex: + + tool = + Choose which indexing tool should be used. Currently this can be either + "makeindex" (by default) or "xindy". + + language = + Choose the language used for sorting the index (xindy only). + + modules ... = + Specify which modules xindy should use for the index. + + order = + Modify the ordering to be used (makeindex only, supported by xindy with + warnings). The argument must be a space separated list of: + - standard = use default ordering (no options, this is the default) + - german = use German ordering (option "-g") + - letter = use letter instead of word ordering (option "-l") + + path = + Add the specified directory to the search path for styles. + + style = + Use the specified style file. + +They all accept an optional argument first, enclosed in parentheses as in +"index.path (foo,bar) here/", to specify which index they apply to. Without +this argument, they apply to all indices declared at the point where they +occur. +""" + +import os +from os.path import * +import re, string +import subprocess +import xml.dom.minidom + +from subprocess import Popen, PIPE +from msg import _, msg +from plugins import TexModule +from util import md5_file + + +class Xindy: + """ + Xindy command wrapper + """ + def __init__(self, doc, idxfile, target, transcript="", + opts=None, modules=None, + index_lang="", style=""): + self.doc = doc + self.idxfile = idxfile + self.target = target + self.transcript = transcript + self.opts = opts or [] + self.modules = modules or [] + self.index_lang = index_lang + self.path_var = "XINDY_SEARCHPATH" + mapfile = os.path.join(os.path.dirname(__file__), "xindylang.xml") + self.languages = self.map_languages(mapfile) + self._re_hyperindex = re.compile(r"hyperindexformat{\\(.*?)}}{", + re.M|re.DOTALL) + self.invalid_index_ranges = [] + + def map_languages(self, mapfile): + languages = {} + dom_document = xml.dom.minidom.parse(mapfile) + for dom_fontspec in dom_document.getElementsByTagName('map'): + lang = dom_fontspec.getAttribute('lang') + xindylang = dom_fontspec.getAttribute('xindylang') + if xindylang: + languages[lang] = xindylang + dom_document.unlink() + return languages + + def command(self): + cmd = [] + if self.doc.program == "xelatex": + # If raw index is in UTF-8 the texindy command cannot be used + cmd.extend(["xindy", "-M", "texindy", "-C", self.doc.encoding]) + # To behave even more like texindy + cmd.extend(["-q", "-M", "page-ranges"]) + else: + # Call texindy to handle LICR encoded raw index + # Equivalent to xindy arguments (beware of module order): + # "xindy", "-M", "tex/inputenc/latin", + # "-M", "texindy", "-C", "latin", + # "-I", "latex" + cmd.extend(["texindy"]) + + # Specific output files? + if self.target: + cmd.extend(["-o", self.target]) + if self.transcript: + cmd.extend(["-t", self.transcript]) + + # Find out which language to use + if self.index_lang: + lang = self.index_lang + elif self.doc.lang: + lang = self.languages.get(self.doc.lang) + if not(lang): + msg.warn(_("xindy: lang '%s' not found" % \ + self.doc.lang), pkg="index") + else: + msg.log(_("xindy: lang '%s' mapped to '%s'" % \ + (self.doc.lang, lang)), pkg="index") + else: + lang = None + + if lang: + cmd.extend(["-L", lang]) + + for mod in self.modules: + cmd.extend(["-M", mod]) + + if self.opts: + cmd.extend(self.opts) + + cmd.append(self.idxfile) + return cmd + + def _find_index_encoding(self, logname): + # Texindy produces latin-* indexes. Try to find out which one from + # the modules loaded by the script (language dependent) + re_lang = re.compile("loading module \"lang/.*/(latin[^.-]*)") + logfile = open(logname) + encoding = "" + for line in logfile: + m = re_lang.search(line) + if m: + encoding = m.group(1) + break + + logfile.close() + return encoding + + def _index_is_unicode(self): + f = file(self.target, "r") + is_unicode = True + for line in f: + try: + line.decode("utf8") + except: + is_unicode = False + break + f.close() + return is_unicode + + def _sanitize_idxfile(self): + # + # Remove the 'hyperindexformat' of the new hyperref that makes a mess + # with Xindy. If not, the following error is raised by Xindy: + # "WARNING: unknown cross-reference-class `hyperindexformat'! (ignored)" + # + f = file(self.idxfile, "r") + data = f.read() + f.close() + data, nsub = self._re_hyperindex.subn(r"\1}{", data) + if not(nsub): + return + msg.debug("Remove %d unsupported 'hyperindexformat' calls" % nsub) + f = file(self.idxfile, "w") + f.write(data) + f.close() + + def _fix_invalid_ranges(self): + if not(self.invalid_index_ranges): return + f = open(self.idxfile) + lines = f.readlines() + f.close() + + # Track the lines with the wrong index ranges + for i, line in enumerate(lines): + for entry in self.invalid_index_ranges: + if entry.index_key in line: + entry.add_line(i, line) + + # Summary of the lines to remove in order to fix the ranges + skip_lines = [] + for entry in self.invalid_index_ranges: + skip_lines.extend(entry.skip_lines) + entry.reinit() + if not(skip_lines): return + + # Remove the lines starting from the end to always have valid line num + msg.debug("xindy: lines to remove from %s to fix ranges: %s" %\ + (self.idxfile, skip_lines)) + skip_lines.sort() + skip_lines.reverse() + for line_num in skip_lines: + del lines[line_num] + f = open(self.idxfile, "w") + f.writelines(lines) + f.close() + + def _detect_invalid_ranges(self, data): + # Look for warnings like this: + # + # WARNING: Found a :close-range in the index that wasn't opened before! + # Location-reference is 76 in keyword (Statute of Anne (1710)) + # I'll continue and ignore this. + # + # Do it only once on the first run to find wrong indexes. + if (self.invalid_index_ranges): return + blocks = re.split("(WARNING:|ERROR:)", data, re.M) + check_next_block = False + for block in blocks: + if "WARNING" in block: + check_next_block = True + elif check_next_block: + m = re.search("Found.*?-range .*"\ + "Location-reference is \d+ in keyword \((.*)\)", + block, re.M|re.DOTALL) + if m: self.invalid_index_ranges.append(Indexentry(m.group(1))) + check_next_block = False + + def run(self): + self._sanitize_idxfile() + self._fix_invalid_ranges() + cmd = self.command() + msg.debug(" ".join(cmd)) + + # Collect the script output, and errors + logname = join(dirname(self.target), "xindy.log") + logfile = open(logname, "w") + p = Popen(cmd, stdout=logfile, stderr=PIPE) + errdata = p.communicate()[1] + rc = p.wait() + if msg.stdout: + msg.stdout.write(errdata) + else: + msg.warn(_(errdata.strip())) + logfile.close() + if (rc != 0): + msg.error(_("could not make index %s") % self.target) + return 1 + + self._detect_invalid_ranges(errdata) + + # Now convert the built index to UTF-8 if required + if cmd[0] == "texindy" and self.doc.encoding == "utf8": + if not(self._index_is_unicode()): + encoding = self._find_index_encoding(logname) + tmpindex = join(dirname(self.target), "new.ind") + cmd = ["iconv", "-f", encoding, "-t", "utf8", + "-o", tmpindex, self.target] + msg.debug(" ".join(cmd)) + rc = subprocess.call(cmd) + if rc == 0: os.rename(tmpindex, self.target) + + return rc + +class Indexentry: + """ + Index entry wrapper from idxfile. Its role is to detect range anomalies + """ + _re_entry = re.compile("\indexentry{(.*)\|([\(\)]?).*}{(\d+)}", re.DOTALL) + + def __init__(self, index_key): + self.index_key = index_key + self.skip_lines = [] + self.last_range_page = 0 + self.last_range_line = -1 + self.last_range_open = False + + def reinit(self): + self.__init__(self.index_key) + + def add_line(self, line_num, indexentry): + m = self._re_entry.search(indexentry) + if not(m): + return + index_key = m.group(1).split("!")[-1] + if index_key != self.index_key: + return + range_state = m.group(2) + page = int(m.group(3)) + + #print "Found %s at %d" % (index_key, page) + if range_state == "(": + # If a starting range overlap the previous range remove + # this intermediate useless range close/open + if page <= self.last_range_page: + self.skip_lines += [self.last_range_line, line_num] + self.last_range_page = page + self.last_range_line = line_num + self.last_range_open = True + elif range_state == ")": + self.last_range_page = page + self.last_range_line = line_num + self.last_range_open = False + elif range_state == "": + # If a single indexentry is within a range, skip it + if self.last_range_open == True: + self.skip_lines += [line_num] + + +class Makeindex: + """ + Makeindex command wrapper + """ + def __init__(self, doc, idxfile, target, transcript="", + opts=None, modules=None, + index_lang="", style=""): + self.doc = doc + self.idxfile = idxfile + self.target = target + self.transcript = transcript + self.opts = opts or [] + self.path_var = "INDEXSTYLE" + self.style = style + + def command(self): + cmd = ["makeindex", "-o", self.target] + self.opts + if self.transcript: + cmd.extend(["-t", self.transcript]) + if self.style: + cmd.extend(["-s", self.style]) + cmd.append(self.idxfile) + return cmd + + def _index_is_unicode(self): + f = file(self.target, "r") + is_unicode = True + for line in f: + try: + line.decode("utf8") + except: + is_unicode = False + break + f.close() + return is_unicode + + def run(self): + cmd = self.command() + msg.debug(" ".join(cmd)) + + # Makeindex outputs everything to stderr, even progress messages + rc = subprocess.call(cmd, stderr=msg.stdout) + if (rc != 0): + msg.error(_("could not make index %s") % self.target) + return 1 + + # Beware with UTF-8 encoding, makeindex with headings can be messy + # because it puts in the headings the first 8bits char of the words + # under the heading which can be an invalid character in UTF-8 + if (self.style and self.doc.encoding == "utf8"): + if not(self._index_is_unicode()): + # Retry without style to avoid headings + msg.warn(_("makeindex on UTF8 failed. Retry...")) + self.style = "" + return self.run() + + return rc + + +class Index(TexModule): + """ + This class represents a single index. + """ + def __init__ (self, doc, source, target, transcript): + """ + Initialize the index, by specifying the source file (generated by + LaTeX), the target file (the output of makeindex) and the transcript + (e.g. .ilg) file. Transcript is used by glosstex.py. + """ + self.paranoid = True + self.doc = doc + self.pbase = doc.src_base + self.source = doc.src_base + "." + source + self.target = doc.src_base + "." + target + self.transcript = doc.src_base + "." + transcript + + # In paranoid mode, can output only in current working dir + if self.paranoid and (os.path.dirname(self.target) == os.getcwd()): + self.target = os.path.basename(self.target) + self.transcript = os.path.basename(self.transcript) + + if os.path.exists(self.source): + self.md5 = md5_file(self.source) + else: + self.md5 = None + + self.tool = "makeindex" + self.tool_obj = None + self.lang = None # only for xindy + self.modules = [] # only for xindy + self.opts = [] + self.path = [] + self.style = None # only for makeindex + + + def do_language (self, lang): + self.lang = lang + + def do_modules (self, *args): + self.modules.extend(args) + + def do_order (self, *args): + for opt in args: + if opt == "standard": self.opts = [] + elif opt == "german": self.opts.append("-g") + elif opt == "letter": self.opts.append("-l") + else: msg.warn( + _("unknown option '%s' for 'makeidx.order'") % opt) + + def do_path (self, path): + self.path.append(self.doc.abspath(path)) + + def do_style (self, style): + self.style = style + + def do_tool (self, tool): + if tool not in ("makeindex", "xindy"): + msg.error(_("unknown indexing tool '%s'") % tool) + self.tool = tool + + + def post_compile (self): + """ + Run the indexer tool + """ + if not os.path.exists(self.source): + msg.log(_("strange, there is no %s") % self.source, pkg="index") + return 0 + if not self.run_needed(): + return 0 + + msg.progress(_("processing index %s") % self.source) + + if not(self.tool_obj): + if self.tool == "makeindex": + index_cls = Makeindex + elif self.tool == "xindy": + index_cls = Xindy + + self.tool_obj = index_cls(self.doc, + self.source, + self.target, + transcript=self.transcript, + opts=self.opts, + modules=self.modules, + index_lang=self.lang, + style=self.style) + + rc = self.tool_obj.run() + if rc != 0: + return rc + + self.doc.must_compile = 1 + return 0 + + def run_needed (self): + """ + Check if makeindex has to be run. This is the case either if the + target file does not exist or if the source file has changed. + """ + if os.path.getsize(self.source) == 0: + msg.log(_("the index file %s is empty") % self.source, pkg="index") + return 0 + new = md5_file(self.source) + if not os.path.exists(self.target): + self.md5 = new + return 1 + if not self.md5: + self.md5 = new + msg.log(_("the index file %s is new") % self.source, pkg="index") + return 1 + if self.md5 == new: + msg.log(_("the index %s did not change") % self.source, pkg="index") + return 0 + self.md5 = new + msg.log(_("the index %s has changed") % self.source, pkg="index") + return 1 + + def clean (self): + """ + Remove all generated files related to the index. + """ + for file in self.source, self.target, self.transcript: + if exists(file): + msg.log(_("removing %s") % file, pkg="index") + os.unlink(file) + +re_newindex = re.compile(" *{(?P[^{}]*)} *{(?P[^{}]*)}") +re_optarg = re.compile("\((?P[^()]*)\) *") + +class Module (TexModule): + def __init__ (self, doc, dict): + """ + Initialize the module with no index. + """ + self.doc = doc + self.indices = {} + self.defaults = [] + self.commands = {} + doc.parser.add_hook("makeindex", self.makeindex) + doc.parser.add_hook("newindex", self.newindex) + + def register (self, name, idx, ind, ilg): + """ + Register a new index. + """ + index = self.indices[name] = Index(self.doc, idx, ind, ilg) + for cmd in self.defaults: + index.command(*cmd) + if self.commands.has_key(name): + for cmd in self.commands[name]: + index.command(*cmd) + + def makeindex (self, dict): + """ + Register the standard index. + """ + self.register("default", "idx", "ind", "ilg") + + def newindex (self, dict): + """ + Register a new index. + """ + m = re_newindex.match(dict["line"]) + if not m: + return + index = dict["arg"] + d = m.groupdict() + self.register(index, d["idx"], d["ind"], "ilg") + msg.log(_("index %s registered") % index, pkg="index") + + def command (self, cmd, args): + indices = self.indices + names = None + if len(args) > 0: + m = re_optarg.match(args[0]) + if m: + names = m.group("list").split(",") + args = args[1:] + if names is None: + self.defaults.append([cmd, args]) + names = indices.keys() + for index in names: + if indices.has_key(index): + indices[index].command(cmd, args[1:]) + elif self.commands.has_key(index): + self.commands[index].append([cmd, args]) + else: + self.commands[index] = [[cmd, args]] + + def post_compile (self): + for index in self.indices.values(): + if index.post_compile(): + return 1 + return 0 + + def clean (self): + for index in self.indices.values(): + index.clean() + return 0 + diff --git a/lib/dbtexmf/dblatex/grubber/latex.py b/lib/dbtexmf/dblatex/grubber/latex.py new file mode 100644 index 0000000..1708cd9 --- /dev/null +++ b/lib/dbtexmf/dblatex/grubber/latex.py @@ -0,0 +1,279 @@ +# This file is part of Rubber and thus covered by the GPL +# (c) Emmanuel Beffara, 2002--2006 +""" +LaTeX document building system for Rubber. + +This module contains all the code in Rubber that actually does the job of +building a LaTeX document from start to finish. +""" +import os +import sys +import time +import subprocess + +from msg import _, msg +from util import Watcher +from logparser import LogParser +from texparser import TexParser +from plugins import Modules +from maker import Depend + + +class Latex(Depend): + def __init__(self, maker): + Depend.__init__(self, maker) + self.logfile = None + self.auxfile = None + self.srcfile = None + self.srcbase = None + self.outfile = None + self.program = "latex" + self.engine = "TeX" + self.paper = "" + self.prods = [] + self.must_compile = 0 + self.something_done = 0 + self.failed_module = None + self.watcher = Watcher() + self.log = LogParser() + self.modules = Modules(self) + self.parser = TexParser(self) + self.date = None + # Is the final output expected? + self.draft_only = False + self.draft_support = False + self.batch = 1 + self.opts = [] + + def reinit(self): + # Restart with a clean module set, parser and logger + self.__init__(self.env) + + def set_source(self, input): + self.srcfile = os.path.realpath(input) + self.srcbase = os.path.splitext(self.srcfile)[0] + self.src_base = self.srcbase + self.logfile = self.srcbase + ".log" + self.auxfile = self.srcbase + ".aux" + self.set_format("dvi") + + def set_format(self, format): + self.outfile = self.srcbase + "." + format + self.prods = [self.outfile] + + def compile_needed (self): + """ + Returns true if a first compilation is needed. This method supposes + that no compilation was done (by the script) yet. + """ + if self.must_compile: + return 1 + msg.log(_("checking if compiling is necessary...")) + if not self.draft_support and not os.path.exists(self.outfile): + msg.debug(_("the output file doesn't exist")) + return 1 + if not os.path.exists(self.logfile): + msg.debug(_("the log file does not exist")) + return 1 + if (not self.draft_support and + (os.path.getmtime(self.outfile) < os.path.getmtime(self.srcfile))): + msg.debug(_("the source is younger than the output file")) + return 1 + if self.log.read(self.logfile): + msg.debug(_("the log file is not produced by TeX")) + return 1 + return self.recompile_needed() + + def recompile_needed (self): + """ + Returns true if another compilation is needed. This method is used + when a compilation has already been done. + """ + changed = self.watcher.update() + if self.must_compile: + return 1 + if self.log.errors(): + msg.debug(_("last compilation failed")) + return 1 +# if self.deps_modified(os.path.getmtime(self.outfile)): +# msg.debug(_("dependencies were modified")) +# return 1 + if changed and (len(changed) > 1 or changed[0] != self.auxfile): + msg.debug(_("the %s file has changed") % changed[0]) + return 1 + if self.log.run_needed(): + msg.debug(_("LaTeX asks to run again")) + if (not(changed)): + msg.debug(_("but the aux files are unchanged")) + return 0 + return 1 + if changed: + msg.debug(_("the %s file has changed but no re-run required?") \ + % changed[0]) + if self.program == "xelatex": + msg.debug(_("force recompilation (XeTeX engine)")) + return 1 + + msg.debug(_("no new compilation is needed")) + return 0 + + def prepare(self, exclude_mods=None): + """ + Prepare the compilation by parsing the source file. The parsing + loads all the necessary modules required by the packages used, etc. + """ + f = open(self.srcfile) + self.parser.parse(f, exclude_mods=exclude_mods) + f.close() + + def force_run(self): + self.run(force=1) + + def run(self, force=0): + """ + Run the building process until the last compilation, or stop on error. + This method supposes that the inputs were parsed to register packages + and that the LaTeX source is ready. If the second (optional) argument + is true, then at least one compilation is done. As specified by the + class Depend, the method returns 0 on success and 1 on failure. + """ + if self.pre_compile(force): + return 1 + + # If an error occurs after this point, it will be while LaTeXing. + self.failed_dep = self + self.failed_module = None + + if self.batch: + self.opts.append("-interaction=batchmode") + + need_compile = force or self.compile_needed() + while need_compile: + if self.compile(): return 1 + if self.post_compile(): return 1 + need_compile = self.recompile_needed() + + # Finally there was no error. + self.failed_dep = None + + if self.last_compile(): + return 1 + + if self.something_done: + self.date = int(time.time()) + return 0 + + def pre_compile(self, force): + """ + Prepare the source for compilation using package-specific functions. + This function must return true on failure. This function sets + `must_compile' to 1 if we already know that a compilation is needed, + because it may avoid some unnecessary preprocessing (e.g. BibTeXing). + """ + # Watch for the changes of these working files + for ext in ("aux", "toc", "lot", "lof"): + self.watcher.watch(self.srcbase + "." + ext) + + msg.log(_("building additional files...")) + for mod in self.modules.objects.values(): + if mod.pre_compile(): + self.failed_module = mod + return 1 + return 0 + + def post_compile(self): + """ + Run the package-specific operations that are to be performed after + each compilation of the main source. Returns true on failure. + """ + msg.log(_("running post-compilation scripts...")) + + for mod in self.modules.objects.values(): + if mod.post_compile(): + self.failed_module = mod + return 1 + return 0 + + def last_compile(self): + """ + Run the module-specific operations that are to be performed after + the last compilation of the main source. Returns true on failure. + """ + msg.log(_("running last-compilation scripts...")) + + for mod in self.modules.objects.values(): + if mod.last_compile(): + self.failed_module = mod + return 1 + return 0 + + def compile(self): + self.must_compile = 0 + cmd = [self.program] + self.opts + [os.path.basename(self.srcfile)] + msg.log(" ".join(cmd)) + rc = subprocess.call(cmd, stdout=msg.stdout) + if rc != 0: + msg.error(_("%s failed") % self.program) + # Whatever the result is, read the log file + if self.log.read(self.logfile): + msg.error(_("Could not run %s.") % self.program) + return 1 + if self.log.errors(): + return 1 + return rc + + def clean(self): + """ + Remove all files that are produced by compilation. + """ + self.remove_suffixes([".log", ".aux", ".toc", ".lof", ".lot", + ".out", ".glo", ".cb"]) + + msg.log(_("cleaning additional files...")) + # for dep in self.sources.values(): + # dep.clean() + + for mod in self.modules.objects.values(): + mod.clean() + + def remove_suffixes (self, list): + """ + Remove all files derived from the main source with one of the + specified suffixes. + """ + for suffix in list: + file = self.src_base + suffix + if os.path.exists(file): + msg.log(_("removing %s") % file) + os.unlink(file) + + def get_errors (self): + if not(self.failed_module): + return self.log.get_errors() + else: + return self.failed_module.get_errors() + + def print_misschars(self): + """ + Sort the characters not handled by the selected font, + and print them as a warning. + """ + missed_chars = [] + for c in self.log.get_misschars(): + missed_chars.append((c["uchar"], c["font"])) + # Strip redundant missed chars + missed_chars = list(set(missed_chars)) + missed_chars.sort() + for m in missed_chars: + # The log file is encoded in UTF8 (xetex) or in latin1 (pdftex) + try: + uchar = m[0].decode("utf8") + except: + uchar = m[0].decode("latin1") + # Check we have a real char (e.g. not something like '^^a3') + if len(uchar) == 1: + msg.warn("Character U+%X (%s) not in font '%s'" % \ + (ord(uchar), m[0], m[1])) + else: + msg.warn("Character '%s' not in font '%s'" % (m[0], m[1])) + diff --git a/lib/dbtexmf/dblatex/grubber/logparser.py b/lib/dbtexmf/dblatex/grubber/logparser.py new file mode 100644 index 0000000..d7a00b9 --- /dev/null +++ b/lib/dbtexmf/dblatex/grubber/logparser.py @@ -0,0 +1,374 @@ +# This file is part of Rubber and thus covered by the GPL +# (c) Emmanuel Beffara, 2002--2006 +""" +LaTeX document building system for Rubber. + +This module defines the class that parses the LaTeX log files. +""" +from __future__ import generators + +import re + +from msg import _, msg + +class LogParser: + """ + This class performs all the extraction of information from the log file. + For efficiency, the instances contain the whole file as a list of strings + so that it can be read several times with no disk access. + """ + + re_loghead = re.compile("This is [0-9a-zA-Z-]*(TeX|Omega)") + re_rerun = re.compile( + "(LaTeX|Package longtable|Package bibtopic) Warning:.*Rerun") + re_rerun2 = re.compile("\(Changebar\).*Rerun") + re_file = re.compile("(\\((?P[^ \n\t(){}]*)|\\))") + re_badbox = re.compile(r"(Ov|Und)erfull \\[hv]box ") + re_line = re.compile(r"(l\.(?P[0-9]+)( (?P.*))?$|<\*>)") + re_cseq = re.compile(r".*(?P\\[^ ]*) ?$") + re_page = re.compile("\[(?P[0-9]+)\]") + re_atline = re.compile( + "( detected| in paragraph)? at lines? (?P[0-9]*)(--(?P[0-9]*))?") + re_reference = re.compile("LaTeX Warning: Reference `(?P.*)' \ + on page (?P[0-9]*) undefined on input line (?P[0-9]*)\\.$") + re_label = re.compile("LaTeX Warning: (?PLabel .*)$") + re_warning = re.compile( + "(LaTeX|Package)( (?P.*))? Warning: (?P.*)$") + re_online = re.compile("(; reported)? on input line (?P[0-9]*)") + re_ignored = re.compile("; all text was ignored after line (?P[0-9]*).$") + re_misschar = re.compile("Missing character: There is no (?P[^ ]*) in font (?P.*)!") + + #-- Initialization {{{2 + + def __init__ (self): + self.lines = [] + + def read (self, name): + """ + Read the specified log file, checking that it was produced by the + right compiler. Returns true if the log file is invalid or does not + exist. + """ + self.lines = [] + try: + file = open(name) + except IOError: + return 2 + line = file.readline() + if not line: + file.close() + return 1 + if not self.re_loghead.match(line): + file.close() + return 1 + self.lines = file.readlines() + file.close() + return 0 + + #-- Process information {{{2 + + def errors (self): + """ + Returns true if there was an error during the compilation. + """ + skipping = 0 + for line in self.lines: + if line.strip() == "": + skipping = 0 + continue + if skipping: + continue + m = self.re_badbox.match(line) + if m: + skipping = 1 + continue + if line[0] == "!": + # We check for the substring "pdfTeX warning" because pdfTeX + # sometimes issues warnings (like undefined references) in the + # form of errors... + + if line.find("pdfTeX warning") == -1: + return 1 + return 0 + + def run_needed (self): + """ + Returns true if LaTeX indicated that another compilation is needed. + """ + for line in self.lines: + if self.re_rerun.match(line): + return 1 + if self.re_rerun2.match(line): + return 1 + return 0 + + #-- Information extraction {{{2 + + def continued (self, line): + """ + Check if a line in the log is continued on the next line. This is + needed because TeX breaks messages at 79 characters per line. We make + this into a method because the test is slightly different in Metapost. + """ + return len(line) == 79 + + def parse (self, errors=0, boxes=0, refs=0, warnings=0, misschars=0): + """ + Parse the log file for relevant information. The named arguments are + booleans that indicate which information should be extracted: + - errors: all errors + - boxes: bad boxes + - refs: warnings about references + - warnings: all other warnings + The function returns a generator. Each generated item is a dictionary + that contains (some of) the following entries: + - kind: the kind of information ("error", "box", "ref", "warning") + - text: the text of the error or warning + - code: the piece of code that caused an error + - file, line, last, pkg: as used by Message.format_pos. + """ + if not self.lines: + return + last_file = None + pos = [last_file] + page = 1 + parsing = 0 # 1 if we are parsing an error's text + skipping = 0 # 1 if we are skipping text until an empty line + something = 0 # 1 if some error was found + prefix = None # the prefix for warning messages from packages + accu = "" # accumulated text from the previous line + for line in self.lines: + line = line[:-1] # remove the line feed + + # TeX breaks messages at 79 characters, just to make parsing + # trickier... + + if self.continued(line): + accu += line + continue + line = accu + line + accu = "" + + # Text that should be skipped (from bad box messages) + + if prefix is None and line == "": + skipping = 0 + continue + + if skipping: + continue + + # Errors (including aborted compilation) + + if parsing: + if error == "Undefined control sequence.": + # This is a special case in order to report which control + # sequence is undefined. + m = self.re_cseq.match(line) + if m: + error = "Undefined control sequence %s." % m.group("seq") + m = self.re_line.match(line) + if m: + parsing = 0 + skipping = 1 + pdfTeX = error.find("pdfTeX warning") != -1 + if (pdfTeX and warnings) or (errors and not pdfTeX): + if pdfTeX: + d = { + "kind": "warning", + "pkg": "pdfTeX", + "text": error[error.find(":")+2:] + } + else: + d = { + "kind": "error", + "text": error + } + d.update( m.groupdict() ) + m = self.re_ignored.search(error) + if m: + d["file"] = last_file + if d.has_key("code"): + del d["code"] + d.update( m.groupdict() ) + elif pos[-1] is None: + d["file"] = last_file + else: + d["file"] = pos[-1] + yield d + elif line[0] == "!": + error = line[2:] + elif line[0:3] == "***": + parsing = 0 + skipping = 1 + if errors: + yield { + "kind": "abort", + "text": error, + "why" : line[4:], + "file": last_file + } + elif line[0:15] == "Type X to quit ": + parsing = 0 + skipping = 0 + if errors: + yield { + "kind": "error", + "text": error, + "file": pos[-1] + } + continue + + if len(line) > 0 and line[0] == "!": + error = line[2:] + parsing = 1 + continue + + if line == "Runaway argument?": + error = line + parsing = 1 + continue + + # Long warnings + + if prefix is not None: + if line[:len(prefix)] == prefix: + text.append(line[len(prefix):].strip()) + else: + text = " ".join(text) + m = self.re_online.search(text) + if m: + info["line"] = m.group("line") + text = text[:m.start()] + text[m.end():] + if warnings: + info["text"] = text + d = { "kind": "warning" } + d.update( info ) + yield d + prefix = None + continue + + # Undefined references + + m = self.re_reference.match(line) + if m: + if refs: + d = { + "kind": "warning", + "text": _("Reference `%s' undefined.") % m.group("ref"), + "file": pos[-1] + } + d.update( m.groupdict() ) + yield d + continue + + m = self.re_label.match(line) + if m: + if refs: + d = { + "kind": "warning", + "file": pos[-1] + } + d.update( m.groupdict() ) + yield d + continue + + # Other warnings + + if line.find("Warning") != -1: + m = self.re_warning.match(line) + if m: + info = m.groupdict() + info["file"] = pos[-1] + info["page"] = page + if info["pkg"] is None: + del info["pkg"] + prefix = "" + else: + prefix = ("(%s)" % info["pkg"]) + prefix = prefix.ljust(m.start("text")) + text = [info["text"]] + continue + + # Bad box messages + + m = self.re_badbox.match(line) + if m: + if boxes: + mpos = { "file": pos[-1], "page": page } + m = self.re_atline.search(line) + if m: + md = m.groupdict() + for key in "line", "last": + if md[key]: mpos[key] = md[key] + line = line[:m.start()] + d = { + "kind": "warning", + "text": line + } + d.update( mpos ) + yield d + skipping = 1 + continue + + # Missing characters in a font + if misschars: + m = self.re_misschar.match(line) + if m: + d = { + "kind": "warning", + "uchar": m.group("uchar"), + "font": m.group("font"), + } + yield d + continue + + # If there is no message, track source names and page numbers. + + last_file = self.update_file(line, pos, last_file) + page = self.update_page(line, page) + + def get_errors (self): + return self.parse(errors=1) + def get_boxes (self): + return self.parse(boxes=1) + def get_references (self): + return self.parse(refs=1) + def get_warnings (self): + return self.parse(warnings=1) + def get_misschars (self): + return self.parse(misschars=1) + + def update_file (self, line, stack, last): + """ + Parse the given line of log file for file openings and closings and + update the list `stack'. Newly opened files are at the end, therefore + stack[1] is the main source while stack[-1] is the current one. The + first element, stack[0], contains the value None for errors that may + happen outside the source. Return the last file from which text was + read (the new stack top, or the one before the last closing + parenthesis). + """ + m = self.re_file.search(line) + while m: + if line[m.start()] == '(': + last = m.group("file") + stack.append(last) + else: + last = stack[-1] + del stack[-1] + line = line[m.end():] + m = self.re_file.search(line) + return last + + def update_page (self, line, before): + """ + Parse the given line and return the number of the page that is being + built after that line, assuming the current page before the line was + `before'. + """ + ms = self.re_page.findall(line) + if ms == []: + return before + return int(ms[-1]) + 1 + diff --git a/lib/dbtexmf/dblatex/grubber/makeidx.py b/lib/dbtexmf/dblatex/grubber/makeidx.py new file mode 100644 index 0000000..d4c5f18 --- /dev/null +++ b/lib/dbtexmf/dblatex/grubber/makeidx.py @@ -0,0 +1,34 @@ +# This file is part of Rubber and thus covered by the GPL +# (c) Emmanuel Beffara, 2002--2006 +""" +Indexing support with package 'makeidx'. + +This module handles the processing of the document's index using makeindex. +It stores an MD5 sum of the .idx file between two runs, in order to detect +modifications. + +The following directives are provided to specify options for makeindex: + + order = + Modify the ordering to be used. The argument must be a space separated + list of: + - standard = use default ordering (no options, this is the default) + - german = use German ordering (option "-g") + - letter = use letter instead of word ordering (option "-l") + + path = + Add the specified directory to the search path for styles. + + style = + Use the specified style file. +""" +import sys + +from index import Index + +class Module (Index): + def __init__ (self, doc, dict): + """ + Initialize the module, checking if there is already an index. + """ + Index.__init__(self, doc, "idx", "ind", "ilg") diff --git a/lib/dbtexmf/dblatex/grubber/maker.py b/lib/dbtexmf/dblatex/grubber/maker.py new file mode 100644 index 0000000..14408f8 --- /dev/null +++ b/lib/dbtexmf/dblatex/grubber/maker.py @@ -0,0 +1,249 @@ +# This file is part of Rubber and thus covered by the GPL +# (c) Emmanuel Beffara, 2002--2006 +""" +This module contains all the classes used to manage the building +dependencies. +""" +import os +import time +import subprocess + +from msg import _, msg + +class Depend (object): #{{{2 + """ + This is a base class to represent file dependencies. It provides the base + functionality of date checking and recursive making, supposing the + existence of a method `run()' in the object. This method is supposed to + rebuild the files of this node, returning zero on success and something + else on failure. + """ + def __init__ (self, env, prods=None, sources={}, loc={}): + """ + Initialize the object for a given set of output files and a given set + of sources. The argument `prods' is a list of file names, and the + argument `sources' is a dictionary that associates file names with + dependency nodes. The optional argument `loc' is a dictionary that + describes where in the sources this dependency was created. + """ + self.env = env + if prods: + self.prods = prods + else: + self.prods = [] + self.set_date() + self.sources = sources + self.making = 0 + self.failed_dep = None + self.loc = loc + + def set_date (self): + """ + Define the date of the last build of this node as that of the most + recent file among the products. If some product does not exist or + there are ne products, the date is set to None. + """ + if self.prods == []: + # This is a special case used in rubber.Environment + self.date = None + else: + try: + # We set the node's date to that of the most recently modified + # product file, assuming all other files were up to date then + # (though not necessarily modified). + self.date = max(map(os.path.getmtime, self.prods)) + except OSError: + # If some product file does not exist, set the last + # modification date to None. + self.date = None + + def should_make (self): + """ + Check the dependencies. Return true if this node has to be recompiled, + i.e. if some dependency is modified. Nothing recursive is done here. + """ + if not self.date: + return 1 + for src in self.sources.values(): + if src.date > self.date: + return 1 + return 0 + + def make (self, force=0): + """ + Make the destination file. This recursively makes all dependencies, + then compiles the target if dependencies were modified. The semantics + of the return value is the following: + - 0 means that the process failed somewhere (in this node or in one of + its dependencies) + - 1 means that nothing had to be done + - 2 means that something was recompiled (therefore nodes that depend + on this one have to be remade) + """ + if self.making: + print "FIXME: cyclic make" + return 1 + self.making = 1 + + # Make the sources + self.failed_dep = None + must_make = force + for src in self.sources.values(): + ret = src.make() + if ret == 0: + self.making = 0 + self.failed_dep = src.failed_dep + return 0 + if ret == 2: + must_make = 1 + + # Make this node if necessary + + if must_make or self.should_make(): + if force: + ret = self.force_run() + else: + ret = self.run() + if ret: + self.making = 0 + self.failed_dep = self + return 0 + + # Here we must take the integer part of the value returned by + # time.time() because the modification times for files, returned + # by os.path.getmtime(), is an integer. Keeping the fractional + # part could lead to errors in time comparison with the main log + # file when the compilation of the document is shorter than one + # second... + + self.date = int(time.time()) + self.making = 0 + return 2 + self.making = 0 + return 1 + + def force_run (self): + """ + This method is called instead of 'run' when rebuilding this node was + forced. By default it is equivalent to 'run'. + """ + return self.run() + + def failed (self): + """ + Return a reference to the node that caused the failure of the last + call to "make". If there was no failure, return None. + """ + return self.failed_dep + + def get_errors (self): + """ + Report the errors that caused the failure of the last call to run. + """ + if None: + yield None + + def clean (self): + """ + Remove the files produced by this rule and recursively clean all + dependencies. + """ + for file in self.prods: + if os.path.exists(file): + msg.log(_("removing %s") % file) + os.unlink(file) + for src in self.sources.values(): + src.clean() + self.date = None + + def reinit (self): + """ + Reinitializing depends on actual dependency leaf + """ + pass + + def leaves (self): + """ + Return a list of all source files that are required by this node and + cannot be built, i.e. the leaves of the dependency tree. + """ + if self.sources == {}: + return self.prods + ret = [] + for dep in self.sources.values(): + ret.extend(dep.leaves()) + return ret + + +class DependLeaf (Depend): #{{{2 + """ + This class specializes Depend for leaf nodes, i.e. source files with no + dependencies. + """ + def __init__ (self, env, *dest, **args): + """ + Initialize the node. The arguments of this method are the file + names, since one single node may contain several files. + """ + Depend.__init__(self, env, prods=list(dest), **args) + + def run (self): + # FIXME + if len(self.prods) == 1: + msg.error(_("%r does not exist") % self.prods[0], **self.loc) + else: + msg.error(_("one of %r does not exist") % self.prods, **self.loc) + return 1 + + def clean (self): + pass + + +class DependShell (Depend): #{{{2 + """ + This class specializes Depend for generating files using shell commands. + """ + def __init__ (self, env, cmd, **args): + Depend.__init__(self, env, **args) + self.cmd = cmd + + def run (self): + msg.progress(_("running %s") % self.cmd[0]) + rc = subprocess.call(self.cmd, stdout=msg.stdout) + if rc != 0: + msg.error(_("execution of %s failed") % self.cmd[0]) + return 1 + return 0 + + +class Maker: + """ + Very simple builder environment. Much simpler than the original rubber + Environment. + """ + def __init__(self): + self.dep_nodes = [] + + def dep_last(self): + if not(self.dep_nodes): + return None + else: + return self.dep_nodes[-1] + + def dep_append(self, dep): + self.dep_nodes.append(dep) + + def make(self, force=0): + if not(self.dep_nodes): + return 0 + # Just ask the last one to compile + rc = self.dep_nodes[-1].make(force=force) + if (rc == 0): + return -1 + else: + return 0 + + def reinit(self): + # Forget the old dependency nodes + self.__init__() + diff --git a/lib/dbtexmf/dblatex/grubber/msg.py b/lib/dbtexmf/dblatex/grubber/msg.py new file mode 100644 index 0000000..4ebb38f --- /dev/null +++ b/lib/dbtexmf/dblatex/grubber/msg.py @@ -0,0 +1,147 @@ +# This file is part of Rubber and thus covered by the GPL +# (c) Emmanuel Beffara, 2002--2006 +""" +This module defines the messages diplay class, and creates the application-wide +msg object. +""" +import os, os.path +import sys +import logging + +def _(txt): return txt + +class Message (object): + """ + All messages in the program are output using the `msg' object in the + main package. This class defines the interface for this object. + """ + def __init__ (self, level=1, write=None): + """ + Initialize the object with the specified verbosity level and an + optional writing function. If no such function is specified, no + message will be output until the 'write' field is changed. + """ + self.level = level + self.write = self.write_stdout + if write: + self.write = write + self.short = 0 + self.path = "" + self.cwd = "./" + self.pos = [] + self._log = logging.getLogger("dblatex") + level = self._log.getEffectiveLevel() + if level >= logging.WARNING: + self.stdout = open(os.devnull, "w") + else: + self.stdout = None + + def write_stdout(self, text, level=0): + print text + def write_stderr(self, text, level=0): + print >>sys.stderr, text + + def push_pos (self, pos): + self.pos.append(pos) + def pop_pos (self): + del self.pos[-1] + + def __call__ (self, level, text): + """ + This is the low level printing function, it receives a line of text + with an associated verbosity level, so that output can be filtered + depending on command-line options. + """ + if self.write and level <= self.level: + self.write(text, level=level) + + def display (self, kind, text, **info): + """ + Print an error or warning message. The argument 'kind' indicates the + kind of message, among "error", "warning", "abort", the argument + 'text' is the main text of the message, the other arguments provide + additional information, including the location of the error. + """ + if kind == "error": + if text[0:13] == "LaTeX Error: ": + text = text[13:] + self._log.error(self.format_pos(info, text)) + if info.has_key("code") and info["code"] and not self.short: + self._log.error(self.format_pos(info, + _("leading text: ") + info["code"])) + + elif kind == "abort": + if self.short: + msg = _("compilation aborted ") + info["why"] + else: + msg = _("compilation aborted: %s %s") % (text, info["why"]) + self._log.error(self.format_pos(info, msg)) + +# elif kind == "warning": +# self._log.warning(self.format_pos(info, text)) + + def error (self, text, **info): + self.display(kind="error", text=text, **info) + def warn (self, what, **where): + self._log.warning(self.format_pos(where, what)) + def progress (self, what, **where): + self._log.info(self.format_pos(where, what + "...")) + def info (self, what, **where): + self._log.info(self.format_pos(where, what)) + def log (self, what, **where): + self._log.debug(self.format_pos(where, what)) + def debug (self, what, **where): + self._log.debug(self.format_pos(where, what)) + + def format_pos (self, where, text): + """ + Format the given text into a proper error message, with file and line + information in the standard format. Position information is taken from + the dictionary given as first argument. + """ + if len(self.pos) > 0: + if where is None or not where.has_key("file"): + where = self.pos[-1] + elif where is None or where == {}: + return text + + if where.has_key("file") and where["file"] is not None: + pos = self.simplify(where["file"]) + if where.has_key("line") and where["line"]: + pos = "%s:%d" % (pos, int(where["line"])) + if where.has_key("last"): + if where["last"] != where["line"]: + pos = "%s-%d" % (pos, int(where["last"])) + pos = pos + ": " + else: + pos = "" + if where.has_key("page"): + text = "%s (page %d)" % (text, int(where["page"])) + if where.has_key("pkg"): + text = "[%s] %s" % (where["pkg"], text) + return pos + text + + def simplify (self, name): + """ + Simplify an path name by removing the current directory if the + specified path is in a subdirectory. + """ + path = os.path.normpath(os.path.join(self.path, name)) + if path[:len(self.cwd)] == self.cwd: + return path[len(self.cwd):] + return path + + def display_all (self, generator, writer=None): + if writer: + write = self.write + self.write = writer + something = 0 + for msg in generator: + self.display(**msg) + something = 1 + if writer: + self.write = write + return something + +msg = Message() + diff --git a/lib/dbtexmf/dblatex/grubber/pdftex.py b/lib/dbtexmf/dblatex/grubber/pdftex.py new file mode 100644 index 0000000..b10b2e2 --- /dev/null +++ b/lib/dbtexmf/dblatex/grubber/pdftex.py @@ -0,0 +1,81 @@ +# This file is part of Rubber and thus covered by the GPL +# (c) Emmanuel Beffara, 2002--2006 +""" +pdfLaTeX support for Rubber. + +When this module loaded with the otion 'dvi', the document is compiled to DVI +using pdfTeX. + +The module optimizes the pdflatex calls by setting -draftmode and apply a last +call to build the final PDF output. +""" +import os +import re +import subprocess +from subprocess import Popen, PIPE + +from msg import _, msg +from plugins import TexModule + + +class Module (TexModule): + def __init__ (self, doc, dict): + self.doc = doc + doc.program = "pdflatex" + doc.engine = "pdfTeX" + # FIXME: how to handle opt=dvi with file.tex passed? + # FIXME: can we add commands after the file? + doc.set_format("pdf") + + # Check the version to know if -draftmode is supported + if (self._draft_is_supported()): + self.doc.draft_support = True + else: + self.doc.draft_support = False + #self.draft_support = False + + def _draft_is_supported(self): + # FIXME: find a clean method to pass these options + opts = os.getenv("DBLATEX_PDFTEX_OPTIONS", "") + if not("-draftmode" in opts): + return False + return (self._get_version() == "1.40") + + def pre_compile(self): + if not(self.doc.draft_support): + return + + # Add -draftmode to prevent intermediate pdf output + self.doc.opts.append("-draftmode") + + def last_compile(self): + # If pdftex has no ability to work in draftmode, or if no final PDF + # is required, do nothing + if not(self.doc.draft_support) or self.doc.draft_only: + return + + # Remove the -draftmode to have the PDF output, and compile again + self.doc.opts.remove("-draftmode") + rc = self.doc.compile() + return rc + + def _get_version(self): + """ + Parse something like: + + pdfTeX using libpoppler 3.141592-1.40.3-2.2 (Web2C 7.5.6) + kpathsea version 3.5.6 + Copyright 2007 Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX). + Kpathsea is copyright 2007 Karl Berry and Olaf Weber. + ... + and return '1.40' + """ + # Grab the major version number + p = Popen("pdflatex -version", shell=True, stdout=PIPE) + data = p.communicate()[0] + m = re.search("pdfTeX.*3.14[^-]*-(\d*.\d*)", data, re.M) + if not(m): + return "" + else: + return m.group(1) + diff --git a/lib/dbtexmf/dblatex/grubber/plugins.py b/lib/dbtexmf/dblatex/grubber/plugins.py new file mode 100644 index 0000000..f72bd13 --- /dev/null +++ b/lib/dbtexmf/dblatex/grubber/plugins.py @@ -0,0 +1,228 @@ +# This file is part of Rubber and thus covered by the GPL +# (c) Emmanuel Beffara, 2002--2006 +""" +Mechanisms to dynamically load extra modules to help the LaTeX compilation. +All the modules must be derived from the TexModule class. +""" +import imp + +from os.path import * +from msg import _, msg + +import sys + +class TexModule (object): + """ + This is the base class for modules. Each module should define a class + named 'Module' that derives from this one. The default implementation + provides all required methods with no effects. + """ + def __init__ (self, env, dict): + """ + The constructor receives two arguments: 'env' is the compiling + environment, 'dict' is a dictionary that describes the command that + caused the module to load. + """ + + def pre_compile (self): + """ + This method is called before the first LaTeX compilation. It is + supposed to build any file that LaTeX would require to compile the + document correctly. The method must return true on failure. + """ + return 0 + + def post_compile (self): + """ + This method is called after each LaTeX compilation. It is supposed to + process the compilation results and possibly request a new + compilation. The method must return true on failure. + """ + return 0 + + def last_compile (self): + """ + This method is called after the last LaTeX compilation. + It is supposed to terminate the compilation for its specific needs. + The method must return true on failure. + """ + return 0 + + def clean (self): + """ + This method is called when cleaning the compiled files. It is supposed + to remove all the files that this modules generates. + """ + + def command (self, cmd, args): + """ + This is called when a directive for the module is found in the source. + The method can raise 'AttributeError' when the directive does not + exist and 'TypeError' if the syntax is wrong. By default, when called + with argument "foo" it calls the method "do_foo" if it exists, and + fails otherwise. + """ + getattr(self, "do_" + cmd)(*args) + + def get_errors (self): + """ + This is called if something has failed during an operation performed + by this module. The method returns a generator with items of the same + form as in LaTeXDep.get_errors. + """ + if None: + yield None + + +class Plugins (object): + """ + This class gathers operations related to the management of external Python + modules. Modules are requested through the `register' method, and + they are searched for first in the current directory, then in the + (possibly) specified Python package (using Python's path). + """ + def __init__ (self, path=None): + """ + Initialize the module set, possibly setting a path name in which + modules will be searched for. + """ + self.modules = {} + if not path: + self.path = [dirname(__file__)] + sys.path.append(self.path[0]) + else: + self.path = path + + def __getitem__ (self, name): + """ + Return the module object of the given name. + """ + return self.modules[name] + + def register (self, name): + """ + Attempt to register a module with the specified name. If an + appropriate module is found, load it and store it in the object's + dictionary. Return 0 if no module was found, 1 if a module was found + and loaded, and 2 if the module was found but already loaded. + """ + if self.modules.has_key(name): + return 2 + try: + file, path, descr = imp.find_module(name, [""]) + except ImportError: + if not self.path: + return 0 + try: + file, path, descr = imp.find_module(name, self.path) + except ImportError: + return 0 + module = imp.load_module(name, file, path, descr) + file.close() + self.modules[name] = module + return 1 + + def clear(self): + """ + Empty the module table, unregistering every module registered. No + modules are unloaded, however, but this has no other effect than + speeding the registration if the modules are loaded again. + """ + self.modules.clear() + + +class Modules (Plugins): + """ + This class gathers all operations related to the management of modules. + The modules are searched for first in the current directory, then as + scripts in the 'modules' directory in the program's data directort, then + as a Python module in the package `rubber.latex'. + """ + def __init__ (self, env): + #Plugins.__init__(self, rubber.rules.latex.__path__) + Plugins.__init__(self) + self.env = env + self.objects = {} + self.commands = {} + + def __getitem__ (self, name): + """ + Return the module object of the given name. + """ + return self.objects[name] + + def has_key (self, name): + """ + Check if a given module is loaded. + """ + return self.objects.has_key(name) + + def register (self, name, dict={}): + """ + Attempt to register a package with the specified name. If a module is + found, create an object from the module's class called `Module', + passing it the environment and `dict' as arguments, and execute all + delayed commands for this module. The dictionary describes the + command that caused the registration. + """ + if self.has_key(name): + msg.debug(_("module %s already registered") % name) + return 2 + + # First look for a script + + moddir = "" + mod = None + for path in "", join(moddir, "modules"): + file = join(path, name + ".rub") + if exists(file): + mod = ScriptModule(self.env, file) + msg.log(_("script module %s registered") % name) + break + + # Then look for a Python module + + if not mod: + if Plugins.register(self, name) == 0: + msg.debug(_("no support found for %s") % name) + return 0 + mod = self.modules[name].Module(self.env, dict) + msg.log(_("built-in module %s registered") % name) + + # Run any delayed commands. + + if self.commands.has_key(name): + for (cmd, args, vars) in self.commands[name]: + msg.push_pos(vars) + try: + mod.command(cmd, args) + except AttributeError: + msg.warn(_("unknown directive '%s.%s'") % (name, cmd)) + except TypeError: + msg.warn(_("wrong syntax for '%s.%s'") % (name, cmd)) + msg.pop_pos() + del self.commands[name] + + self.objects[name] = mod + return 1 + + def clear (self): + """ + Unregister all modules. + """ + Plugins.clear(self) + self.objects = {} + self.commands = {} + + def command (self, mod, cmd, args): + """ + Send a command to a particular module. If this module is not loaded, + store the command so that it will be sent when the module is register. + """ + if self.objects.has_key(mod): + self.objects[mod].command(cmd, args) + else: + if not self.commands.has_key(mod): + self.commands[mod] = [] + self.commands[mod].append((cmd, args, self.env.vars.copy())) + diff --git a/lib/dbtexmf/dblatex/grubber/ps2pdf.py b/lib/dbtexmf/dblatex/grubber/ps2pdf.py new file mode 100644 index 0000000..d7e1f33 --- /dev/null +++ b/lib/dbtexmf/dblatex/grubber/ps2pdf.py @@ -0,0 +1,30 @@ +# This file is part of Rubber and thus covered by the GPL +# (c) Emmanuel Beffara, 2004--2006 +""" +PostScript to PDF conversion using GhostScript. +""" + +import sys +import os + +from msg import _, msg +from maker import DependShell +from plugins import TexModule + + +class Module (TexModule): + def __init__ (self, doc, dict): + env = doc.env + ps = env.dep_last().prods[0] + root, ext = os.path.splitext(ps) + if ext != ".ps": + msg.error(_("I can't use ps2pdf when not producing a PS")) + sys.exit(2) + pdf = root + ".pdf" + cmd = ["ps2pdf"] + for opt in doc.paper.split(): + cmd.append("-sPAPERSIZE=" + opt) + cmd.extend([ps, pdf]) + dep = DependShell(env, cmd, prods=[pdf], sources={ ps: env.dep_last() }) + env.dep_append(dep) + diff --git a/lib/dbtexmf/dblatex/grubber/texbuilder.py b/lib/dbtexmf/dblatex/grubber/texbuilder.py new file mode 100644 index 0000000..bcb02ba --- /dev/null +++ b/lib/dbtexmf/dblatex/grubber/texbuilder.py @@ -0,0 +1,134 @@ +# This file is part of Rubber and thus covered by the GPL +# (c) Emmanuel Beffara, 2002--2006 +""" +LaTeX document building system for Grubber. + +This module is specific to Grubber and provides a class that encapsulates some +of the rubber internals. +""" +import subprocess +import os +import shlex +from msg import _, msg +from maker import Maker +from latex import Latex + + +class IndexBuilder: + """ + Index configuration data to set the index tool maker to use + """ + def __init__(self): + self.style = "" + self.tool = "" + self.lang = "" + +class LatexBuilder: + """ + Main (g)rubber wrapper hiding all the internals and compiling the + required tex file. + """ + def __init__(self): + # The actual workers + self.maker = Maker() + self.tex = Latex(self.maker) + self.maker.dep_append(self.tex) + + # What to do + self.backend = "pdftex" + self.format = "pdf" + self.index_style = "" + self.batch = 1 + self.encoding = "latin-1" + self.texpost = "" + self.options = "" + self.lang = "" + self.index = IndexBuilder() + + def set_format(self, format): + # Just record it + self.format = format + + def set_backend(self, backend): + self.backend = backend + +# def set_index_style(self, index_style): +# self.index_style = index_style + + def _texpost_call(self, source, msg): + if isinstance(self.texpost, str): + # Expect an external script + cmd = [self.texpost, source] + msg.log(" ".join(cmd)) + rc = subprocess.call(cmd, stdout=msg.stdout) + else: + # Expect a loaded python module + rc = self.texpost.main(source, msg.stdout) + return rc + + def compile(self, source): + self.tex.batch = self.batch + self.tex.encoding = self.encoding + self.tex.lang = self.lang + self.tex.set_source(source) + if self.options: + self.tex.opts += shlex.split(self.options) + + # Load the modules needed to produce the expected output format + if (self.format == "pdf"): + if (self.backend == "pdftex"): + self.tex.modules.register("pdftex") + elif (self.backend == "xetex"): + self.tex.modules.register("xetex") + else: + self.tex.modules.register("dvips") + self.tex.modules.register("ps2pdf") + elif (self.format == "ps"): + self.tex.modules.register("dvips") + + # Now load other the modules required to compile this file + self.tex.prepare() + + # Set the index configuration + if self.tex.modules.has_key("makeidx"): + idx = self.tex.modules["makeidx"] + if self.index.style: idx.do_style(self.index.style) + if self.index.tool: idx.do_tool(self.index.tool) + if self.index.lang: idx.do_language(self.index.lang) + + # Let's go... + rc = self.maker.make() + if rc != 0: + raise OSError("%s compilation failed" % self.tex.program) + + # Post process script to call? + if not(self.texpost): + return + + os.environ["LATEX"] = self.tex.program + rc = self._texpost_call(source, msg) + if rc == 1: + return + if rc != 0: + raise OSError("%s texpost failed" % self.texpost) + + rc = self.maker.make(force=1) + if rc != 0: + raise OSError("%s post compilation failed" % self.tex.program) + + def clean(self): + self.tex.clean() + self.reinit() + + def reinit(self): + self.tex.reinit() + self.maker.reinit() + self.maker.dep_append(self.tex) + + def print_errors(self): + msg.display_all(self.tex.get_errors(), writer=msg.write_stderr) + + def print_misschars(self): + # Show the characters not handled by fonts + self.tex.print_misschars() + diff --git a/lib/dbtexmf/dblatex/grubber/texparser.py b/lib/dbtexmf/dblatex/grubber/texparser.py new file mode 100644 index 0000000..ace0a10 --- /dev/null +++ b/lib/dbtexmf/dblatex/grubber/texparser.py @@ -0,0 +1,125 @@ +# This file is part of Rubber and thus covered by the GPL +# (c) Emmanuel Beffara, 2002--2006 +""" +LaTeX document building system for Rubber. + +This module defines the class that parses the input LaTeX to load the expected +modules. +""" +import re + +class TexParser: + re_input = re.compile("\\\\input +(?P[^{} \n\\\\]+)") + re_comment = re.compile(r"(?P([^\\%]|\\%|\\)*)(%.*)?") + + def __init__(self, doc): + self.doc = doc + self.comment_mark = "%" + self.exclude_mods = [] + self.hooks = { + "usepackage" : self.h_usepackage, + "begin{btSect}": self.h_bibtopic, + } + self.update_rehooks() + + def update_rehooks(self): + """ + Update the regular expression used to match macro calls using the keys + in the `hook' dictionary. We don't match all control sequences for + obvious efficiency reasons. + """ + # Make a "foo|bar\*stub" list + hooklist = [x.replace("*", "\\*") for x in self.hooks] + + pattern = "\\\\(?P%s)\*?"\ + " *(\\[(?P[^\\]]*)\\])?"\ + " *({(?P[^{}]*)}|(?=[^A-Za-z]))" + + self.rehooks = re.compile(pattern % "|".join(hooklist)) + + def add_hook(self, name, fun): + """ + Register a given function to be called (with no arguments) when a + given macro is found. + """ + self.hooks[name] = fun + self.update_rehooks() + + def parse(self, fd, exclude_mods=None): + """ + Process a LaTeX source. The file must be open, it is read to the end + calling the handlers for the macro calls. This recursively processes + the included sources. + + If the optional argument 'dump' is not None, then it is considered as + a stream on which all text not matched as a macro is written. + """ + self.exclude_mods = exclude_mods or [] + self.lineno = 0 + for line in fd: + self.parse_line(line) + + def parse_line(self, line, dump=None): + self.lineno += 1 + + # Remove comments + line = self.re_comment.match(line).group("line") + + match = self.rehooks.search(line) + while match: + dict = match.groupdict() + name = dict["name"] + + # The case of \input is handled specifically, because of the + # TeX syntax with no braces + + if name == "input" and not dict["arg"]: + match2 = self.re_input.search(line) + if match2: + match = match2 + dict = match.groupdict() + + if dump: dump.write(line[:match.start()]) + dict["match"] = line[match.start():match.end()] + dict["line"] = line[match.end():] + #dict["pos"] = { 'file': self.vars["file"], 'line': self.lineno } + dict["pos"] = { 'file': "file", 'line': self.lineno } + dict["dump"] = dump + +# if self.env.caching: +# self.cache_list.append(("hook", name, dict)) + + self.hooks[name](dict) + line = dict["line"] + match = self.rehooks.search(line) + + if dump: dump.write(line) + + def h_usepackage(self, dict): + """ + Called when a \\usepackage macro is found. If there is a package in the + directory of the source file, then it is treated as an include file + unless there is a supporting module in the current directory, + otherwise it is treated as a package. + """ + if not dict["arg"]: return + for name in dict["arg"].split(","): + name = name.strip() +# file = self.env.find_file(name + ".sty") +# if file and not exists(name + ".py"): +# self.process(file) +# else: + if (name in self.exclude_mods): + continue + self.doc.modules.register(name, dict) + + def h_bibtopic(self, dict): + """ + Called when a \\btSect macro is found. It can also be loaded by a + usepackage of bibtopic. Note that once loaded the btSect hook will be + preempted by the bibtopic module hook. + """ + if ("bibtopic" in self.exclude_mods): + return + self.doc.modules.register("bibtopic", dict) + diff --git a/lib/dbtexmf/dblatex/grubber/util.py b/lib/dbtexmf/dblatex/grubber/util.py new file mode 100644 index 0000000..fa3bda6 --- /dev/null +++ b/lib/dbtexmf/dblatex/grubber/util.py @@ -0,0 +1,57 @@ +# This file is part of Rubber and thus covered by the GPL +# (c) Emmanuel Beffara, 2002--2006 +""" +This module contains utility functions and classes used by the main system and +by the modules for various tasks. +""" + +try: + import hashlib +except ImportError: + # Fallback for python 2.4: + import md5 as hashlib +import os +from msg import _, msg + + +def md5_file(fname): + """ + Compute the MD5 sum of a given file. + """ + m = hashlib.md5() + file = open(fname) + for line in file.readlines(): + m.update(line) + file.close() + return m.digest() + + +class Watcher: + """ + Watch for any changes of the files to survey, by checking the file MD5 sums. + """ + def __init__(self): + self.files = {} + + def watch(self, file): + if os.path.exists(file): + self.files[file] = md5_file(file) + else: + self.files[file] = None + + def update(self): + """ + Update the MD5 sums of all files watched, and return the name of one + of the files that changed, or None of they didn't change. + """ + changed = [] + for file in self.files.keys(): + if os.path.exists(file): + new = md5_file(file) + if self.files[file] != new: + msg.debug(_("%s MD5 checksum changed") % \ + os.path.basename(file)) + changed.append(file) + self.files[file] = new + return changed + diff --git a/lib/dbtexmf/dblatex/grubber/xetex.py b/lib/dbtexmf/dblatex/grubber/xetex.py new file mode 100644 index 0000000..f39a941 --- /dev/null +++ b/lib/dbtexmf/dblatex/grubber/xetex.py @@ -0,0 +1,13 @@ +""" +XeTeX support for Rubber. +""" + +from plugins import TexModule + +class Module (TexModule): + def __init__ (self, doc, dict): + doc.program = "xelatex" + doc.engine = "dvipdfmx" + doc.encoding = "utf8" + doc.set_format("pdf") + diff --git a/lib/dbtexmf/dblatex/grubber/xindylang.xml b/lib/dbtexmf/dblatex/grubber/xindylang.xml new file mode 100644 index 0000000..17c35b0 --- /dev/null +++ b/lib/dbtexmf/dblatex/grubber/xindylang.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/dbtexmf/dblatex/grubber/xr-hyper.py b/lib/dbtexmf/dblatex/grubber/xr-hyper.py new file mode 100644 index 0000000..d7bee5c --- /dev/null +++ b/lib/dbtexmf/dblatex/grubber/xr-hyper.py @@ -0,0 +1,57 @@ +# This file is part of Rubber and thus covered by the GPL +# (c) Emmanuel Beffara, 2002--2006 +""" +Dependency analysis for the xr package. + +The xr package allows one to put references in one document to other +(external) LaTeX documents. It works by reading the external document's .aux +file, so this support package registers these files as dependencies. +""" +import os + +from msg import _, msg +from plugins import TexModule +from latex import Latex + +class Module(TexModule): + def __init__ (self, doc, dict): + # is the main Latex() document to compile + # is the maker engine + self.doc = doc + self.env = doc.env + + # remember the engine used to build the main latex document + self.texmodules = [] + for m in ("pdftex", "xetex"): + if doc.modules.has_key(m): + self.texmodules.append(m) + + # want to track each external document whose .aux is required + doc.parser.add_hook("externaldocument", self.externaldocument) + + def externaldocument (self, dict): + # .aux document needed to cross-ref with xr + auxfile = dict["arg"] + ".aux" + texfile = dict["arg"] + ".tex" + + # Ignore the dependency if no tex source found + if not(os.path.isfile(texfile)): + msg.log(_("file %s is required by xr package but not found")\ + % texfile, pkg="xr") + return + + # Ask to compile the related .tex file to have the .aux + texdep = Latex(self.env) + texdep.set_source(texfile) + texdep.batch = self.doc.batch + texdep.encoding = self.doc.encoding + texdep.draft_only = True # Final output not required here + for m in self.texmodules: + texdep.modules.register(m) + # Load other modules from source, except xr to avoid loops + texdep.prepare(exclude_mods=["xr-hyper"]) + + # Add the .aux as an expected input for compiling the doc + self.doc.sources[auxfile] = texdep + msg.log(_( + "dependency %s added for external references") % auxfile, pkg="xr") diff --git a/lib/dbtexmf/dblatex/rawparse.py b/lib/dbtexmf/dblatex/rawparse.py new file mode 100644 index 0000000..a06a61d --- /dev/null +++ b/lib/dbtexmf/dblatex/rawparse.py @@ -0,0 +1,89 @@ +import re + +from texcodec import LatexCodec, TexCodec +from texhyphen import BasicHyphenator, UrlHyphenator + + +def utf8(u): + return u.encode("utf8") + +class RawKey: + def __init__(self, key, incr): + self.key = key + self.depth = incr + self.pos = -1 + self.len = len(key) + +class RawLatexParser: + def __init__(self, + key_in=utf8(u"\u0370t"), key_out=utf8(u"\u0371t"), + codec=None, output_encoding="latin-1"): + self.key_in = RawKey(key_in, 1) + self.key_out = RawKey(key_out, -1) + self.depth = 0 + self.hyphenate = 0 + self.codec = codec or LatexCodec(output_encoding=output_encoding) + #self.hyphenator = BasicHyphenator(codec=self.codec) + self.hyphenator = UrlHyphenator(codec=self.codec) + + # hyphenation patterns + self.hypon = re.compile(utf8(u"\u0370h")) + self.hypof = re.compile(utf8(u"\u0371h")) + + def parse(self, line): + lout = "" + while (line): + self.key_in.pos = line.find(self.key_in.key) + self.key_out.pos = line.find(self.key_out.key) + + if (self.key_out.pos == -1 or + (self.key_in.pos >= 0 and + (self.key_in.pos < self.key_out.pos))): + key = self.key_in + else: + key = self.key_out + + if key.pos != -1: + text = line[:key.pos] + line = line[key.pos + key.len:] + else: + text = line + line = "" + + if (text): + if self.depth > 0: + lout += self.translate(text) + else: + text, hon = self.hypon.subn("", text) + text, hof = self.hypof.subn("", text) + self.hyphenate += (hon - hof) + lout += text + + if key.pos != -1: + self.depth += key.depth + + return lout + + def translate(self, text): + # Now hyphenate if needed + if self.hyphenate: + text = self.hyphenator.hyphenate(text) + else: + text = self.codec.decode(text) + text = self.codec.encode(text) + return text + + +class RawUtfParser(RawLatexParser): + "Just encode from UTF-8 without latex escaping" + + def __init__(self, codec=None, output_encoding="latin-1"): + texcodec = codec or TexCodec(output_encoding=output_encoding) + RawLatexParser.__init__(self, utf8(u"\u0370u"), utf8(u"\u0371u"), + texcodec) + + def translate(self, text): + # Currently no hyphenation stuff, just encode + text = self.codec.decode(text) + return self.codec.encode(text) + diff --git a/lib/dbtexmf/dblatex/rawtex.py b/lib/dbtexmf/dblatex/rawtex.py new file mode 100644 index 0000000..cc70d25 --- /dev/null +++ b/lib/dbtexmf/dblatex/rawtex.py @@ -0,0 +1,109 @@ +# +# Dblatex parser. Its role is to: +# - encode the raw tex file to the expected output encoding, taking care about +# the special characters to escape, +# - convert the document images to the appropriate format if needed +# +import sys +import os +import re + +from rawparse import RawLatexParser, RawUtfParser +from rawverb import VerbParser +from xetex.codec import XetexCodec +from dbtexmf.core.imagedata import * + + +class RawLatex: + "Main latex file parser" + def __init__(self): + self.figre = \ + re.compile(r"(\\includegraphics[\[]?|"\ + r"\\begin{overpic}|"\ + r"\\imgexits)[^{]*{([^}]*)}") + self.image = Imagedata() + self.parsers = [] + self.format = None + self.backend = None + + def set_fig_paths(self, paths): + self.image.paths = paths + + def set_parsers(self, input, output_encoding=""): + codec = None + if self.backend == "xetex": + output_encoding = "utf8" + codec = XetexCodec() + elif not(output_encoding): + f = file(input) + params = {} + started = 0 + for line in f: + if not(started): + if line.startswith("%%"): started = 1 + continue + if line.startswith("%%"): + break + p = line.split() + params[p[1]] = p[2] + output_encoding = params.get("latex.encoding", "latin-1") + + self.parsers = [VerbParser(output_encoding=output_encoding), + RawLatexParser(codec=codec, + output_encoding=output_encoding), + RawUtfParser(output_encoding=output_encoding)] + self.image.set_encoding(output_encoding or "latin-1") + + def set_format(self, format, backend=None): + # Adjust the actual format from backend + if (format == "pdf" and backend == "dvips"): + format = "ps" + self.format = format + self.backend = backend + self.image.set_format(format, backend) + + def fig_format(self, format): + # TODO: consistency check? + self.image.input_format = format + + def parse(self, input, output): + self.set_parsers(input) + f = file(input) + o = file(output, "w") + for line in f: + if self.format: + line = self.figconvert(line) + for p in self.parsers: + line = p.parse(line) + if not(line): + break + if line: + o.write(line) + o.close() + f.close() + + def figconvert(self, line): + # Is there one or more images included here + mlist = self.figre.findall(line) + if not(mlist): + return line + + # Try to convert each found image + for m in mlist: + fig = m[1] + newfig = self.image.convert(fig) + + # If something done, replace the figure in the tex file + if newfig != fig: + line = re.sub(r"{%s}" % fig, r"{%s}" % newfig, line) + + return line + + +def main(): + c = RawLatex() + c.set_fig_paths([os.getcwd()]) + c.parse(sys.argv[1], sys.argv[2]) + +if __name__ == "__main__": + main() diff --git a/lib/dbtexmf/dblatex/rawverb.py b/lib/dbtexmf/dblatex/rawverb.py new file mode 100644 index 0000000..36b30cf --- /dev/null +++ b/lib/dbtexmf/dblatex/rawverb.py @@ -0,0 +1,163 @@ +# +# The role of the verbatim parser is to encode properly from UTF-8 verbatim +# text to valid latin-1 text. Two goals must be met: +# +# - Just encode the characters, but don't escape latex characters like in normal +# text. This is why a dedicated latex encoder is used. +# - When the characters are translated to macros, escape the whole sequence +# to allow tex execute the macro embedded in verbatim text. +# - When the escape sequence is required, update the listing environment options +# if necessary. +# +import re + +from texcodec import TexCodec +from texcodec import tex_handler_counter +from rawparse import RawUtfParser + + +class VerbCodec(TexCodec): + def __init__(self, pre, post, errors="verbtex", + input_encoding="utf8", output_encoding="latin-1"): + self.pre = pre + self.post = post + self.output_encoding = output_encoding + TexCodec.__init__(self, input_encoding, output_encoding, + errors=errors, pre=pre, post=post) + + def decode(self, text): + global tex_handler_counter + ntext = TexCodec.decode(self, text) + if self.output_encoding != "utf8": + return ntext + + # Funnily listings cannot handle unicode characters greater than 255. + # The loop just escapes them by wrapping with
 and  and
+        # emulates the corresponding encoding exception
+        text = ""
+        n = tex_handler_counter[self._errors]
+        for c in ntext:
+            if ord(c) > 255:
+                c = self.pre + c + self.post
+                n += 1
+            text += c
+        tex_handler_counter[self._errors] = n
+        return text
+
+
+class VerbParser:
+    def __init__(self, output_encoding="latin-1"):
+        # The listing environment can be different from 'lstlisting'
+        # but the rule is that it must begin with 'lst'
+        self.start_re = re.compile(r"\\begin{lst[^}]*}")
+        self.stop_re = re.compile(r"\\end{lst[^}]*}")
+        self.esc_re = re.compile(r"escapeinside={([^}]*)}{([^}]*)}")
+        self.block = ""
+        self.encoding = output_encoding
+        self.default_esc_start = "<:"
+        self.default_esc_stop = ":>"
+        self.default_codec = VerbCodec(self.default_esc_start,
+                                       self.default_esc_stop,
+                                       output_encoding=output_encoding)
+
+    def parse(self, line):
+        if not(self.block):
+            m = self.start_re.search(line)
+            if not(m):
+                return line
+            else:
+                return self.parse_begin(line, m)
+        else:
+            m = self.stop_re.search(line)
+            if not(m):
+                return self.block_grow(line)
+            else:
+                return self.parse_end(line, m)
+
+    def parse_begin(self, line, m):
+        preblock = line[:m.start()]
+        self.command = line[m.start():m.end()]
+        line = line[m.end():]
+        # By default, no escape sequence defined yet
+        self.esc_start = ""
+        self.esc_stop = ""
+        self.options = ""
+
+        # If there are some options, look for escape specs
+        if line[0] == "[":
+            e = line.find("]")+1
+            self.options = line[:e]
+            line = line[e:]
+            m = self.esc_re.search(self.options)
+            if m:
+                self.esc_start = m.group(1)
+                self.esc_stop = m.group(2)
+
+        self.block_grow(line)
+        return preblock
+
+    def parse_end(self, line, m):
+        self.block_grow(line[:m.start()])
+
+        # The block is complete, find out the codec with escape sequence
+        c = self.get_codec()
+        c.clear_errors()
+
+        # Now, parse/encode the block
+        p = RawUtfParser(codec=c)
+        text = p.parse(self.block)
+
+        # Add the escape option if necessary
+        if not(self.esc_start) and c.get_errors() != 0:
+            escopt = "escapeinside={%s}{%s}" % (c.pre, c.post)
+            if self.options:
+                if self.options[-2] != ",":
+                    escopt = "," + escopt
+                self.options = self.options[:-1] + escopt + "]"
+            else:
+                self.options = "[" + escopt + "]"
+
+        block = self.command + self.options + text + line[m.start():]
+        self.block = ""
+        return block
+
+    def block_grow(self, line):
+        self.block += line
+        return ""
+
+    def get_codec(self):
+        # Something already specified
+        if (self.esc_start):
+            if self.esc_start != self.default_esc_start:
+                return VerbCodec(self.esc_start, self.esc_stop,
+                                 "verbtex" + self.esc_start,
+                                 output_encoding=self.encoding)
+            else:
+                return self.default_codec
+
+        # Find the starting escape sequence that does not occur in verbatim text
+        s = self.default_esc_start
+        iter = 0
+        i = self.block.find(s)
+        while (i != -1):
+            s = "<" + str(iter) + ":"
+            i = self.block.find(s)
+            iter += 1
+
+        # By luck the default is enough
+        if (s == self.default_esc_start):
+            return self.default_codec
+
+        return VerbCodec(s, self.default_esc_stop, "verbtex" + s,
+                         output_encoding=self.encoding)
+
+
+if __name__ == "__main__":
+    import sys
+    v = VerbParser()
+    f = open(sys.argv[1])
+    for line in f:
+        text = v.parse(line)
+        if text:
+            sys.stdout.write(text)
+
diff --git a/lib/dbtexmf/dblatex/runtex.py b/lib/dbtexmf/dblatex/runtex.py
new file mode 100644
index 0000000..c89e43d
--- /dev/null
+++ b/lib/dbtexmf/dblatex/runtex.py
@@ -0,0 +1,136 @@
+#
+# Basic module compiling a file with LaTeX
+#
+import os
+import re
+import shutil
+
+from grubber.texbuilder import LatexBuilder
+
+
+class RunLatex:
+    def __init__(self):
+        self.fig_paths = []
+        self.index_style = ""
+        self.backend = "pdftex"
+        self.texpost = ""
+        self.texer = LatexBuilder()
+
+    def set_fig_paths(self, paths):
+        # Assume the paths are already absolute
+        if not(paths):
+            return
+
+        # Use TEXINPUTS to handle paths containing spaces
+        paths_blank = []
+        paths_input = []
+        for p in paths:
+            if p.find(" ") != -1:
+                paths_blank.append(p + "//")
+            else:
+                paths_input.append(p)
+
+        if paths_blank:
+            texinputs = os.pathsep.join(paths_blank)
+            os.environ["TEXINPUTS"] = os.getenv("TEXINPUTS") + os.pathsep + \
+                                      texinputs
+
+        paths = paths_input
+
+        # Unixify the paths when under Windows
+        if os.sep != "/":
+            paths = [p.replace(os.sep, "/") for p in paths]
+
+        # Protect from tilde active char (maybe others?)
+        self.fig_paths = [p.replace("~", r"\string~") for p in paths]
+
+    def set_bib_paths(self, bibpaths, bstpaths=None):
+        # Just set BIBINPUTS and/or BSTINPUTS
+        if bibpaths:
+            os.environ["BIBINPUTS"] = os.pathsep.join(bibpaths +
+                                                   [os.getenv("BIBINPUTS", "")])
+        if bstpaths:
+            os.environ["BSTINPUTS"] = os.pathsep.join(bstpaths +
+                                                   [os.getenv("BSTINPUTS", "")])
+
+    def set_backend(self, backend):
+        if not(backend in ("dvips", "pdftex", "xetex")):
+            raise ValueError("'%s': invalid backend" % backend)
+        self.backend = backend
+
+    def get_backend(self):
+        return self.backend
+
+    def _clear_params(self):
+        self._param_started = 0
+        self._param_ended = 0
+        self._params = {}
+
+    def _set_params(self, line):
+        # FIXME
+        if self._param_ended:
+            return
+        if not(self._param_started):
+            if line.startswith("%%"): self._param_started = 1
+            return
+        if line.startswith("%%"):
+            self._param_ended = 1
+            return
+        # Expected format is: '%%  \n'
+        p = line.split(" ", 2)
+        self._params[p[1]] = p[2].strip()
+
+    def compile(self, texfile, binfile, format, batch=1):
+        root = os.path.splitext(texfile)[0]
+        tmptex = root + "_tmp" + ".tex"
+        texout = root + "." + format
+
+        # The temporary file contains the extra paths
+        f = file(tmptex, "w")
+        if self.fig_paths:
+            paths = "{" + "//}{".join(self.fig_paths) + "//}"
+            f.write("\\makeatletter\n")
+            f.write("\\def\\input@path{%s}\n" % paths)
+            f.write("\\makeatother\n")
+
+        # Copy the original file and collect parameters embedded in the tex file
+        self._clear_params()
+        input = file(texfile)
+        for line in input:
+            self._set_params(line)
+            f.write(line)
+        f.close()
+        input.close()
+
+        # Replace the original file with the new one
+        shutil.move(tmptex, texfile)
+
+        # Build the output file
+        try:
+            self.texer.batch = batch
+            self.texer.texpost = self.texpost
+            self.texer.encoding = self._params.get("latex.encoding", "latin-1")
+            self.texer.options = self._params.get("latex.engine.options")
+            self.texer.lang = self._params.get("document.language")
+            self.texer.set_format(format)
+            self.texer.set_backend(self.backend)
+            if self.index_style:
+                self.texer.index.style = self.index_style
+            self.texer.index.tool = self._params.get("latex.index.tool")
+            self.texer.index.lang = self._params.get("latex.index.language")
+            self.texer.compile(texfile)
+            self.texer.print_misschars()
+        except:
+            # On error, dump the log errors and raise again
+            self.texer.print_errors()
+            raise
+
+        if texout != binfile:
+            shutil.move(texout, binfile)
+
+    def clean(self):
+        self.texer.clean()
+
+    def reinit(self):
+        self.texer.reinit()
+ 
diff --git a/lib/dbtexmf/dblatex/texcodec.py b/lib/dbtexmf/dblatex/texcodec.py
new file mode 100644
index 0000000..3dfab6b
--- /dev/null
+++ b/lib/dbtexmf/dblatex/texcodec.py
@@ -0,0 +1,140 @@
+#
+# The Latex Codec handles the encoding from UFT-8 text to latin1
+# latex compatible text.
+#
+import re
+import codecs
+import unient
+
+# Dictionnary of the handlers installed
+tex_handler_installed = {}
+tex_handler_counter = {}
+
+def latex_char_replace(exc, pre, post, name):
+    global tex_handler_counter
+    if not isinstance(exc, UnicodeEncodeError):
+        raise TypeError("don't know how to handle %r" % exc)
+    l = []
+    n = tex_handler_counter[name]
+    for c in exc.object[exc.start:exc.end]:
+        if pre: l.append(pre)
+        try:
+            l.append(unient.unicode_map[ord(c)])
+        except KeyError:
+            print "Missing character &#x%x;" % ord(c)
+            l.append(u"\&\#x%x;" % ord(c))
+        if post: l.append(post)
+        n = n + 1
+    tex_handler_counter[name] = n
+    return (u"".join(l), exc.end)
+
+
+class TexCodec:
+    # This mapping for characters < 256 seems enough for latin1 output
+    charmap = {
+              "\xa0": r"~",
+              # "\xa2": r"\textcent{}",
+              # "\xa4": r"\textcurrency{}",
+              "\xa5": r"$\yen$",
+              # "\xa6": r"\textbrokenbar{}",
+              "\xac": r"\ensuremath{\lnot}",
+              # "\xad": r"", # FIXME: bug around soft hyphen...
+              "\xb0": r"\textdegree{}",
+              "\xb1": r"\ensuremath{\pm}",
+              "\xb2": r"$^2$",
+              "\xb3": r"$^3$",
+              "\xb5": r"$\mathrm{\mu}$",
+              "\xb9": r"$^1$",
+              "\xd7": r"$\times$",
+              "\xf7": r"$\div$"
+              }
+
+    def __init__(self, input_encoding="utf8", output_encoding="latin-1",
+                 errors="latexcharreplace", pre="", post=""):
+        self._errors = errors
+        self._decode = codecs.getdecoder(input_encoding)
+        self._encode = codecs.getencoder(output_encoding)
+
+        # No different output encoding expected?
+        if input_encoding == output_encoding:
+            self.charmap = {}
+            return
+
+        if not(tex_handler_installed.has_key(self._errors)):
+            f = self.build_error_func(pre, post, errors)
+            codecs.register_error(self._errors, f)
+            tex_handler_installed[self._errors] = f
+            self.clear_errors()
+
+    def clear_errors(self):
+        tex_handler_counter[self._errors] = 0
+
+    def get_errors(self):
+        return tex_handler_counter[self._errors]
+
+    def build_error_func(self, pre="", post="", errors="charrep"):
+        return lambda exc: latex_char_replace(exc, pre, post, errors)
+
+    def decode(self, text):
+        return self._decode(text)[0]
+
+    def encode(self, text):
+        text = self._encode(text, self._errors)[0]
+        for c, v in self.charmap.items():
+            text = text.replace(c, v)
+        return text
+ 
+
+class LatexCodec(TexCodec):
+    def __init__(self, input_encoding="utf8", output_encoding="latin-1"):
+        TexCodec.__init__(self, input_encoding, output_encoding)
+
+        self.texres = (
+            # Kind of normalize
+            (re.compile("^[\s\n]*$"), r" "),
+            # TeX escapes (the order is important)
+            (re.compile(r"([{}%_^$&#])"), r"\\\1"),
+            # '<' and '>' in the list to avoid french quotation mark symptoms
+            (re.compile(r"([-^<>])"), r"\1{}"),
+            # backtick (`) must not be confused with ‘
+            (re.compile(r"`"), r"\\`{}"),
+            # tilde (~) must not be confused with  
+            (re.compile(r"~"), r"\\textasciitilde{}"))
+
+    def _texescape(self, text):
+        for r, s in self.texres:
+            text = r.sub(s, text)
+        return text
+
+    def encode(self, text):
+        # Preliminary backslash substitution
+        text = text.replace("\\", r"\textbackslash")
+
+        # Basic TeX escape
+        text = self._texescape(text)
+
+        # Encode UTF-8 -> Latin-1 + latex specific
+        text = self._encode(text, self._errors)[0]
+
+        # Special Character Mapping
+        for c, v in self.charmap.items():
+            text = text.replace(c, v)
+
+        # Things are done, complete with {}
+        text = text.replace(r"\textbackslash", r"\textbackslash{}")
+        return text
+
+
+def main():
+    import sys
+    c = LatexCodec()
+    f = open(sys.argv[1])
+    text = ""
+    for line in f:
+        text += c.encode(c.decode(line))
+        if text:
+            sys.stdout.write(text)
+
+
+if __name__ == "__main__":
+    main()
diff --git a/lib/dbtexmf/dblatex/texhyphen.py b/lib/dbtexmf/dblatex/texhyphen.py
new file mode 100644
index 0000000..ab3545b
--- /dev/null
+++ b/lib/dbtexmf/dblatex/texhyphen.py
@@ -0,0 +1,100 @@
+#
+# dblatex - Hyphenation classes to provide smart hyphenation of path like
+# strings
+#
+import re
+
+class Hyphenator:
+    def __init__(self, codec=None):
+        pass
+    
+    def hyphenate(self, text):
+        return text
+
+
+class BasicHyphenator(Hyphenator):
+    """
+    Hyphenates basically by putting an hyphenation point between each character.
+    """
+    def __init__(self, codec=None):
+        self.codec = codec
+        self.hyphenchar = "\-"
+
+    def hyphenate(self, text):
+        if self.codec: text = self.codec.decode(text)
+        ntext = "\1".join(list(text))
+        if self.codec: ntext = self.codec.encode(ntext)
+        ntext = re.sub("\1? \1?", " ", ntext)
+        ntext = ntext.replace("\1", self.hyphenchar)
+        return ntext
+
+
+class UrlHyphenator(Hyphenator):
+    """
+    Hyphenates  so that cutting is easier on URL separators.
+    The hyphen chars are expected to be void to prevent from spurious
+    characters in displayed filenames or URLs.
+
+    The pathname words can be cut only after the  first characters
+    and before the  characters to avoid a cut just after one or two
+    chars.
+
+    Tip: the inter-chars can be defined with macros \HO and \HL, to be shorter
+    like:
+
+    \def\HL{\penalty9999} (h_char="\HL")
+    \def\HO{\penalty5000} (h_sep="\HO")
+
+    By default these shortcuts are not used to avoid some macro declaration in
+    existing latex styles.
+    """
+    def __init__(self, codec=None,
+                 h_sep="\penalty0 ", h_char="\penalty5000 ",
+                 h_start=3, h_stop=3):
+        self.codec = codec
+        self.seps = r":/\@=?#;-."
+        self.h_sep = h_sep
+        self.h_char = h_char
+        self.h_start = (h_start-1)
+        self.h_stop = (h_stop-1)
+
+    def _translate(self, text):
+        if self.codec:
+            return self.codec.encode(text)
+        else:
+            return text
+
+    def hyphenate(self, text):
+        if self.codec: text = self.codec.decode(text)
+
+        vtext = []
+        p = "([%s])" % re.escape(self.seps)
+        words = re.split(p, text)
+        for w in words:
+            if not(w):
+                continue
+            if w in self.seps:
+                vtext.append(self._translate(w) + self.h_sep)
+            else:
+                hword = w[self.h_start:-self.h_stop]
+                if len(hword) < 2:
+                    vtext.append(self._translate(w))
+                else:
+                    nw = w[:self.h_start]
+                    nw += "\1".join(list(hword))
+                    nw += w[-self.h_stop:]
+                    nw = self._translate(nw)
+                    nw = re.sub("\1? \1?", " ", nw)
+                    nw = nw.replace("\1", self.h_char)
+                    vtext.append(nw)
+
+        ntext = "".join(vtext)
+        return ntext
+
+
+if __name__ == "__main__":
+    url = "http://www.fg/foobar fun#fght/fkkkf.tz?id=123"
+    h1 = BasicHyphenator()
+    h2 = UrlHyphenator()
+    print h1.hyphenate(url)
+    print h2.hyphenate(url)
diff --git a/lib/dbtexmf/dblatex/unient.py b/lib/dbtexmf/dblatex/unient.py
new file mode 100644
index 0000000..25d8c87
--- /dev/null
+++ b/lib/dbtexmf/dblatex/unient.py
@@ -0,0 +1,1032 @@
+#
+# Unicode Mapping generated by uni2python.xsl
+#
+unicode_map = {
+0x00100: r"\={A}", # LATIN CAPITAL LETTER A WITH MACRON
+0x00101: r"\={a}", # LATIN SMALL LETTER A WITH MACRON
+0x00102: r"\u{A}", # LATIN CAPITAL LETTER A WITH BREVE
+0x00103: r"\u{a}", # LATIN SMALL LETTER A WITH BREVE
+0x00104: r"\k{A}", # LATIN CAPITAL LETTER A WITH OGONEK
+0x00105: r"\k{a}", # LATIN SMALL LETTER A WITH OGONEK
+0x00106: r"\'{C}", # LATIN CAPITAL LETTER C WITH ACUTE
+0x00107: r"\'{c}", # LATIN SMALL LETTER C WITH ACUTE
+0x00108: r"\^{C}", # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+0x00109: r"\^{c}", # LATIN SMALL LETTER C WITH CIRCUMFLEX
+0x0010A: r"\.{C}", # LATIN CAPITAL LETTER C WITH DOT ABOVE
+0x0010B: r"\.{c}", # LATIN SMALL LETTER C WITH DOT ABOVE
+0x0010C: r"\v{C}", # LATIN CAPITAL LETTER C WITH CARON
+0x0010D: r"\v{c}", # LATIN SMALL LETTER C WITH CARON
+0x0010E: r"\v{D}", # LATIN CAPITAL LETTER D WITH CARON
+0x0010F: r"\v{d}", # LATIN SMALL LETTER D WITH CARON
+0x00110: r"\DJ{}", # LATIN CAPITAL LETTER D WITH STROKE
+0x00111: r"\dj{}", # LATIN SMALL LETTER D WITH STROKE
+0x00112: r"\={E}", # LATIN CAPITAL LETTER E WITH MACRON
+0x00113: r"\={e}", # LATIN SMALL LETTER E WITH MACRON
+0x00114: r"\u{E}", # LATIN CAPITAL LETTER E WITH BREVE
+0x00115: r"\u{e}", # LATIN SMALL LETTER E WITH BREVE
+0x00116: r"\.{E}", # LATIN CAPITAL LETTER E WITH DOT ABOVE
+0x00117: r"\.{e}", # LATIN SMALL LETTER E WITH DOT ABOVE
+0x00118: r"\k{E}", # LATIN CAPITAL LETTER E WITH OGONEK
+0x00119: r"\k{e}", # LATIN SMALL LETTER E WITH OGONEK
+0x0011A: r"\v{E}", # LATIN CAPITAL LETTER E WITH CARON
+0x0011B: r"\v{e}", # LATIN SMALL LETTER E WITH CARON
+0x0011C: r"\^{G}", # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+0x0011D: r"\^{g}", # LATIN SMALL LETTER G WITH CIRCUMFLEX
+0x0011E: r"\u{G}", # LATIN CAPITAL LETTER G WITH BREVE
+0x0011F: r"\u{g}", # LATIN SMALL LETTER G WITH BREVE
+0x00120: r"\.{G}", # LATIN CAPITAL LETTER G WITH DOT ABOVE
+0x00121: r"\.{g}", # LATIN SMALL LETTER G WITH DOT ABOVE
+0x00122: r"\c{G}", # LATIN CAPITAL LETTER G WITH CEDILLA
+0x00123: r"\c{g}", # LATIN SMALL LETTER G WITH CEDILLA
+0x00124: r"\^{H}", # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+0x00125: r"\^{h}", # LATIN SMALL LETTER H WITH CIRCUMFLEX
+0x00126: r"{\fontencoding{LELA}\selectfont\char40}", # LATIN CAPITAL LETTER H WITH STROKE
+0x00128: r"\~{I}", # LATIN CAPITAL LETTER I WITH TILDE
+0x00129: r"\~{\i}", # LATIN SMALL LETTER I WITH TILDE
+0x0012A: r"\={I}", # LATIN CAPITAL LETTER I WITH MACRON
+0x0012B: r"\={\i}", # LATIN SMALL LETTER I WITH MACRON
+0x0012C: r"\u{I}", # LATIN CAPITAL LETTER I WITH BREVE
+0x0012D: r"\u{\i}", # LATIN SMALL LETTER I WITH BREVE
+0x0012E: r"\k{I}", # LATIN CAPITAL LETTER I WITH OGONEK
+0x0012F: r"\k{i}", # LATIN SMALL LETTER I WITH OGONEK
+0x00130: r"\.{I}", # LATIN CAPITAL LETTER I WITH DOT ABOVE
+0x00131: r"\i{}", # LATIN SMALL LETTER DOTLESS I
+0x00132: r"IJ", # LATIN CAPITAL LIGATURE IJ
+0x00133: r"ij", # LATIN SMALL LIGATURE IJ
+0x00134: r"\^{J}", # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+0x00135: r"\^{\j}", # LATIN SMALL LETTER J WITH CIRCUMFLEX
+0x00136: r"\c{K}", # LATIN CAPITAL LETTER K WITH CEDILLA
+0x00137: r"\c{k}", # LATIN SMALL LETTER K WITH CEDILLA
+0x00138: r"{\fontencoding{LELA}\selectfont\char91}", # LATIN SMALL LETTER KRA
+0x00139: r"\'{L}", # LATIN CAPITAL LETTER L WITH ACUTE
+0x0013A: r"\'{l}", # LATIN SMALL LETTER L WITH ACUTE
+0x0013B: r"\c{L}", # LATIN CAPITAL LETTER L WITH CEDILLA
+0x0013C: r"\c{l}", # LATIN SMALL LETTER L WITH CEDILLA
+0x0013D: r"\v{L}", # LATIN CAPITAL LETTER L WITH CARON
+0x0013E: r"\v{l}", # LATIN SMALL LETTER L WITH CARON
+0x0013F: r"{\fontencoding{LELA}\selectfont\char201}", # LATIN CAPITAL LETTER L WITH MIDDLE DOT
+0x00140: r"{\fontencoding{LELA}\selectfont\char202}", # LATIN SMALL LETTER L WITH MIDDLE DOT
+0x00141: r"\L{}", # LATIN CAPITAL LETTER L WITH STROKE
+0x00142: r"\l{}", # LATIN SMALL LETTER L WITH STROKE
+0x00143: r"\'{N}", # LATIN CAPITAL LETTER N WITH ACUTE
+0x00144: r"\'{n}", # LATIN SMALL LETTER N WITH ACUTE
+0x00145: r"\c{N}", # LATIN CAPITAL LETTER N WITH CEDILLA
+0x00146: r"\c{n}", # LATIN SMALL LETTER N WITH CEDILLA
+0x00147: r"\v{N}", # LATIN CAPITAL LETTER N WITH CARON
+0x00148: r"\v{n}", # LATIN SMALL LETTER N WITH CARON
+0x00149: r"'n", # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
+0x0014A: r"\NG{}", # LATIN CAPITAL LETTER ENG
+0x0014B: r"\ng{}", # LATIN SMALL LETTER ENG
+0x0014C: r"\={O}", # LATIN CAPITAL LETTER O WITH MACRON
+0x0014D: r"\={o}", # LATIN SMALL LETTER O WITH MACRON
+0x0014E: r"\u{O}", # LATIN CAPITAL LETTER O WITH BREVE
+0x0014F: r"\u{o}", # LATIN SMALL LETTER O WITH BREVE
+0x00150: r"\H{O}", # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0x00151: r"\H{o}", # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0x00152: r"\OE{}", # LATIN CAPITAL LIGATURE OE
+0x00153: r"\oe{}", # LATIN SMALL LIGATURE OE
+0x00154: r"\'{R}", # LATIN CAPITAL LETTER R WITH ACUTE
+0x00155: r"\'{r}", # LATIN SMALL LETTER R WITH ACUTE
+0x00156: r"\c{R}", # LATIN CAPITAL LETTER R WITH CEDILLA
+0x00157: r"\c{r}", # LATIN SMALL LETTER R WITH CEDILLA
+0x00158: r"\v{R}", # LATIN CAPITAL LETTER R WITH CARON
+0x00159: r"\v{r}", # LATIN SMALL LETTER R WITH CARON
+0x0015A: r"\'{S}", # LATIN CAPITAL LETTER S WITH ACUTE
+0x0015B: r"\'{s}", # LATIN SMALL LETTER S WITH ACUTE
+0x0015C: r"\^{S}", # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+0x0015D: r"\^{s}", # LATIN SMALL LETTER S WITH CIRCUMFLEX
+0x0015E: r"\c{S}", # LATIN CAPITAL LETTER S WITH CEDILLA
+0x0015F: r"\c{s}", # LATIN SMALL LETTER S WITH CEDILLA
+0x00160: r"\v{S}", # LATIN CAPITAL LETTER S WITH CARON
+0x00161: r"\v{s}", # LATIN SMALL LETTER S WITH CARON
+0x00162: r"\c{T}", # LATIN CAPITAL LETTER T WITH CEDILLA
+0x00163: r"\c{t}", # LATIN SMALL LETTER T WITH CEDILLA
+0x00164: r"\v{T}", # LATIN CAPITAL LETTER T WITH CARON
+0x00165: r"\v{t}", # LATIN SMALL LETTER T WITH CARON
+0x00166: r"{\fontencoding{LELA}\selectfont\char47}", # LATIN CAPITAL LETTER T WITH STROKE
+0x00167: r"{\fontencoding{LELA}\selectfont\char63}", # LATIN SMALL LETTER T WITH STROKE
+0x00168: r"\~{U}", # LATIN CAPITAL LETTER U WITH TILDE
+0x00169: r"\~{u}", # LATIN SMALL LETTER U WITH TILDE
+0x0016A: r"\={U}", # LATIN CAPITAL LETTER U WITH MACRON
+0x0016B: r"\={u}", # LATIN SMALL LETTER U WITH MACRON
+0x0016C: r"\u{U}", # LATIN CAPITAL LETTER U WITH BREVE
+0x0016D: r"\u{u}", # LATIN SMALL LETTER U WITH BREVE
+0x0016E: r"\r{U}", # LATIN CAPITAL LETTER U WITH RING ABOVE
+0x0016F: r"\r{u}", # LATIN SMALL LETTER U WITH RING ABOVE
+0x00170: r"\H{U}", # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0x00171: r"\H{u}", # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0x00172: r"\k{U}", # LATIN CAPITAL LETTER U WITH OGONEK
+0x00173: r"\k{u}", # LATIN SMALL LETTER U WITH OGONEK
+0x00174: r"\^{W}", # LATIN CAPITAL LETTER W WITH CIRCUMFLEX
+0x00175: r"\^{w}", # LATIN SMALL LETTER W WITH CIRCUMFLEX
+0x00176: r"\^{Y}", # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
+0x00177: r"\^{y}", # LATIN SMALL LETTER Y WITH CIRCUMFLEX
+0x00178: r'\"{Y}', # LATIN CAPITAL LETTER Y WITH DIAERESIS
+0x00179: r"\'{Z}", # LATIN CAPITAL LETTER Z WITH ACUTE
+0x0017A: r"\'{z}", # LATIN SMALL LETTER Z WITH ACUTE
+0x0017B: r"\.{Z}", # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+0x0017C: r"\.{z}", # LATIN SMALL LETTER Z WITH DOT ABOVE
+0x0017D: r"\v{Z}", # LATIN CAPITAL LETTER Z WITH CARON
+0x0017E: r"\v{z}", # LATIN SMALL LETTER Z WITH CARON
+0x00195: r"\texthvlig{}", # LATIN SMALL LETTER HV
+0x0019E: r"\textnrleg{}", # LATIN SMALL LETTER N WITH LONG RIGHT LEG
+0x001C2: r"\textdoublepipe{}", # LATIN LETTER ALVEOLAR CLICK
+0x001F5: r"\'{g}", # LATIN SMALL LETTER G WITH ACUTE
+0x00259: r"\ensuremath{\Elzschwa}", # LATIN SMALL LETTER SCHWA
+0x00261: r"g", # LATIN SMALL LETTER SCRIPT G
+0x00278: r"\textphi{}", # LATIN SMALL LETTER PHI
+0x0029E: r"\textturnk{}", # LATIN SMALL LETTER TURNED K
+0x002A4: r"\textdyoghlig{}", # LATIN SMALL LETTER DEZH DIGRAPH
+0x0025B: r"\textvarepsilon{}", # LATIN SMALL LETTER OPEN E
+0x002BC: r"'", # MODIFIER LETTER APOSTROPHE
+0x002C7: r"\textasciicaron{}", # CARON
+0x002C8: r"\ensuremath{\Elzverts}", # MODIFIER LETTER VERTICAL LINE
+0x002D8: r"\textasciibreve{}", # BREVE
+0x002D9: r"\textperiodcentered{}", # DOT ABOVE
+0x002DA: r"\r{}", # RING ABOVE
+0x002DB: r"\k{}", # OGONEK
+0x002DC: r"\texttildelow{}", # SMALL TILDE
+0x002DD: r"\H{}", # DOUBLE ACUTE ACCENT
+0x002E5: r"\tone{55}", # MODIFIER LETTER EXTRA-HIGH TONE BAR
+0x002E6: r"\tone{44}", # MODIFIER LETTER HIGH TONE BAR
+0x002E7: r"\tone{33}", # MODIFIER LETTER MID TONE BAR
+0x002E8: r"\tone{22}", # MODIFIER LETTER LOW TONE BAR
+0x002E9: r"\tone{11}", # MODIFIER LETTER EXTRA-LOW TONE BAR
+0x00300: r"\`", # COMBINING GRAVE ACCENT
+0x00301: r"\'", # COMBINING ACUTE ACCENT
+0x00302: r"\^", # COMBINING CIRCUMFLEX ACCENT
+0x00303: r"\~", # COMBINING TILDE
+0x00304: r"\=", # COMBINING MACRON
+0x00306: r"\u", # COMBINING BREVE
+0x00307: r"\.", # COMBINING DOT ABOVE
+0x00308: r'\"', # COMBINING DIAERESIS
+0x0030A: r"\r", # COMBINING RING ABOVE
+0x0030B: r"\H", # COMBINING DOUBLE ACUTE ACCENT
+0x0030C: r"\v", # COMBINING CARON
+0x0030F: r"\cyrchar\C", # COMBINING DOUBLE GRAVE ACCENT
+0x00327: r"\c", # COMBINING CEDILLA
+0x00386: r"\'{A}", # GREEK CAPITAL LETTER ALPHA WITH TONOS
+0x00388: r"\'{E}", # GREEK CAPITAL LETTER EPSILON WITH TONOS
+0x00389: r"\'{H}", # GREEK CAPITAL LETTER ETA WITH TONOS
+0x0038A: r"\'{}{I}", # GREEK CAPITAL LETTER IOTA WITH TONOS
+0x0038C: r"\'{}O", # GREEK CAPITAL LETTER OMICRON WITH TONOS
+0x00391: r"{A}", # GREEK CAPITAL LETTER ALPHA
+0x00392: r"{B}", # GREEK CAPITAL LETTER BETA
+0x00393: r"\ensuremath{\Gamma}", # GREEK CAPITAL LETTER GAMMA
+0x00394: r"\ensuremath{\Delta}", # GREEK CAPITAL LETTER DELTA
+0x00395: r"{E}", # GREEK CAPITAL LETTER EPSILON
+0x00396: r"{Z}", # GREEK CAPITAL LETTER ZETA
+0x00397: r"{H}", # GREEK CAPITAL LETTER ETA
+0x00398: r"\ensuremath{\Theta}", # GREEK CAPITAL LETTER THETA
+0x00399: r"{I}", # GREEK CAPITAL LETTER IOTA
+0x0039A: r"{K}", # GREEK CAPITAL LETTER KAPPA
+0x0039B: r"\ensuremath{\Lambda}", # GREEK CAPITAL LETTER LAMDA
+0x0039C: r"{M}", # GREEK CAPITAL LETTER MU
+0x0039D: r"{N}", # GREEK CAPITAL LETTER NU
+0x0039E: r"\ensuremath{\Xi}", # GREEK CAPITAL LETTER XI
+0x0039F: r"{O}", # GREEK CAPITAL LETTER OMICRON
+0x003A0: r"\ensuremath{\Pi}", # GREEK CAPITAL LETTER PI
+0x003A1: r"{P}", # GREEK CAPITAL LETTER RHO
+0x003A3: r"\ensuremath{\Sigma}", # GREEK CAPITAL LETTER SIGMA
+0x003A4: r"{T}", # GREEK CAPITAL LETTER TAU
+0x003A5: r"\ensuremath{\Upsilon}", # GREEK CAPITAL LETTER UPSILON
+0x003A6: r"\ensuremath{\Phi}", # GREEK CAPITAL LETTER PHI
+0x003A7: r"{X}", # GREEK CAPITAL LETTER CHI
+0x003A8: r"\ensuremath{\Psi}", # GREEK CAPITAL LETTER PSI
+0x003A9: r"\ensuremath{\Omega}", # GREEK CAPITAL LETTER OMEGA
+0x003AC: r"\'{\ensuremath{\alpha}}", # GREEK SMALL LETTER ALPHA WITH TONOS
+0x003AD: r"\ensuremath{\acute{\epsilon}}", # GREEK SMALL LETTER EPSILON WITH TONOS
+0x003AE: r"\ensuremath{\acute{\eta}}", # GREEK SMALL LETTER ETA WITH TONOS
+0x003AF: r"\ensuremath{\acute{\iota}}", # GREEK SMALL LETTER IOTA WITH TONOS
+0x003B0: r"\ensuremath{\acute{\ddot{\upsilon}}}", # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+0x003B1: r"\ensuremath{\alpha}", # GREEK SMALL LETTER ALPHA
+0x003B2: r"\ensuremath{\beta}", # GREEK SMALL LETTER BETA
+0x003B3: r"\ensuremath{\gamma}", # GREEK SMALL LETTER GAMMA
+0x003B4: r"\ensuremath{\delta}", # GREEK SMALL LETTER DELTA
+0x003B5: r"\ensuremath{\epsilon}", # GREEK SMALL LETTER EPSILON
+0x003B6: r"\ensuremath{\zeta}", # GREEK SMALL LETTER ZETA
+0x003B7: r"\ensuremath{\eta}", # GREEK SMALL LETTER ETA
+0x003B8: r"\ensuremath{\theta}", # GREEK SMALL LETTER THETA
+0x003B9: r"\ensuremath{\iota}", # GREEK SMALL LETTER IOTA
+0x003BA: r"\ensuremath{\kappa}", # GREEK SMALL LETTER KAPPA
+0x003BB: r"\ensuremath{\lambda}", # GREEK SMALL LETTER LAMDA
+0x003BC: r"\ensuremath{\mu}", # GREEK SMALL LETTER MU
+0x003BD: r"\ensuremath{\nu}", # GREEK SMALL LETTER NU
+0x003BE: r"\ensuremath{\xi}", # GREEK SMALL LETTER XI
+0x003BF: r"\ensuremath{o}", # GREEK SMALL LETTER OMICRON
+0x003C0: r"\ensuremath{\pi}", # GREEK SMALL LETTER PI
+0x003C1: r"\ensuremath{\rho}", # GREEK SMALL LETTER RHO
+0x003C3: r"\ensuremath{\sigma}", # GREEK SMALL LETTER SIGMA
+0x003C4: r"\ensuremath{\tau}", # GREEK SMALL LETTER TAU
+0x003C5: r"\ensuremath{\upsilon}", # GREEK SMALL LETTER UPSILON
+0x003C6: r"\ensuremath{\varphi}", # GREEK SMALL LETTER PHI
+0x003C7: r"\ensuremath{\chi}", # GREEK SMALL LETTER CHI
+0x003C8: r"\ensuremath{\psi}", # GREEK SMALL LETTER PSI
+0x003C9: r"\ensuremath{\omega}", # GREEK SMALL LETTER OMEGA
+0x003CA: r"\ensuremath{\ddot{\iota}}", # GREEK SMALL LETTER IOTA WITH DIALYTIKA
+0x003CB: r"\ensuremath{\ddot{\upsilon}}", # GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+0x003CC: r"\'{o}", # GREEK SMALL LETTER OMICRON WITH TONOS
+0x003D1: r"\textvartheta{}", # GREEK THETA SYMBOL
+0x003D5: r"\ensuremath{\phi}", # GREEK PHI SYMBOL
+0x003D6: r"\ensuremath{\pi}", # GREEK PI SYMBOL
+0x00401: r"\cyrchar\CYRYO{}", # CYRILLIC CAPITAL LETTER IO
+0x00402: r"\cyrchar\CYRDJE{}", # CYRILLIC CAPITAL LETTER DJE
+0x00403: r"\cyrchar{\'\CYRG}", # CYRILLIC CAPITAL LETTER GJE
+0x00404: r"\cyrchar\CYRIE{}", # CYRILLIC CAPITAL LETTER UKRAINIAN IE
+0x00405: r"\cyrchar\CYRDZE{}", # CYRILLIC CAPITAL LETTER DZE
+0x00406: r"\cyrchar\CYRII{}", # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+0x00407: r"\cyrchar\CYRYI{}", # CYRILLIC CAPITAL LETTER YI
+0x00408: r"\cyrchar\CYRJE{}", # CYRILLIC CAPITAL LETTER JE
+0x00409: r"\cyrchar\CYRLJE{}", # CYRILLIC CAPITAL LETTER LJE
+0x0040A: r"\cyrchar\CYRNJE{}", # CYRILLIC CAPITAL LETTER NJE
+0x0040B: r"\cyrchar\CYRTSHE{}", # CYRILLIC CAPITAL LETTER TSHE
+0x0040C: r"\cyrchar{\'\CYRK}", # CYRILLIC CAPITAL LETTER KJE
+0x0040E: r"\cyrchar\CYRUSHRT{}", # CYRILLIC CAPITAL LETTER SHORT U
+0x0040F: r"\cyrchar\CYRDZHE{}", # CYRILLIC CAPITAL LETTER DZHE
+0x00410: r"\cyrchar\CYRA{}", # CYRILLIC CAPITAL LETTER A
+0x00411: r"\cyrchar\CYRB{}", # CYRILLIC CAPITAL LETTER BE
+0x00412: r"\cyrchar\CYRV{}", # CYRILLIC CAPITAL LETTER VE
+0x00413: r"\cyrchar\CYRG{}", # CYRILLIC CAPITAL LETTER GHE
+0x00414: r"\cyrchar\CYRD{}", # CYRILLIC CAPITAL LETTER DE
+0x00415: r"\cyrchar\CYRE{}", # CYRILLIC CAPITAL LETTER IE
+0x00416: r"\cyrchar\CYRZH{}", # CYRILLIC CAPITAL LETTER ZHE
+0x00417: r"\cyrchar\CYRZ{}", # CYRILLIC CAPITAL LETTER ZE
+0x00418: r"\cyrchar\CYRI{}", # CYRILLIC CAPITAL LETTER I
+0x00419: r"\cyrchar\CYRISHRT{}", # CYRILLIC CAPITAL LETTER SHORT I
+0x0041A: r"\cyrchar\CYRK{}", # CYRILLIC CAPITAL LETTER KA
+0x0041B: r"\cyrchar\CYRL{}", # CYRILLIC CAPITAL LETTER EL
+0x0041C: r"\cyrchar\CYRM{}", # CYRILLIC CAPITAL LETTER EM
+0x0041D: r"\cyrchar\CYRN{}", # CYRILLIC CAPITAL LETTER EN
+0x0041E: r"\cyrchar\CYRO{}", # CYRILLIC CAPITAL LETTER O
+0x0041F: r"\cyrchar\CYRP{}", # CYRILLIC CAPITAL LETTER PE
+0x00420: r"\cyrchar\CYRR{}", # CYRILLIC CAPITAL LETTER ER
+0x00421: r"\cyrchar\CYRS{}", # CYRILLIC CAPITAL LETTER ES
+0x00422: r"\cyrchar\CYRT{}", # CYRILLIC CAPITAL LETTER TE
+0x00423: r"\cyrchar\CYRU{}", # CYRILLIC CAPITAL LETTER U
+0x00424: r"\cyrchar\CYRF{}", # CYRILLIC CAPITAL LETTER EF
+0x00425: r"\cyrchar\CYRH{}", # CYRILLIC CAPITAL LETTER HA
+0x00426: r"\cyrchar\CYRC{}", # CYRILLIC CAPITAL LETTER TSE
+0x00427: r"\cyrchar\CYRCH{}", # CYRILLIC CAPITAL LETTER CHE
+0x00428: r"\cyrchar\CYRSH{}", # CYRILLIC CAPITAL LETTER SHA
+0x00429: r"\cyrchar\CYRSHCH{}", # CYRILLIC CAPITAL LETTER SHCHA
+0x0042A: r"\cyrchar\CYRHRDSN{}", # CYRILLIC CAPITAL LETTER HARD SIGN
+0x0042B: r"\cyrchar\CYRERY{}", # CYRILLIC CAPITAL LETTER YERU
+0x0042C: r"\cyrchar\CYRSFTSN{}", # CYRILLIC CAPITAL LETTER SOFT SIGN
+0x0042D: r"\cyrchar\CYREREV{}", # CYRILLIC CAPITAL LETTER E
+0x0042E: r"\cyrchar\CYRYU{}", # CYRILLIC CAPITAL LETTER YU
+0x0042F: r"\cyrchar\CYRYA{}", # CYRILLIC CAPITAL LETTER YA
+0x00430: r"\cyrchar\cyra{}", # CYRILLIC SMALL LETTER A
+0x00431: r"\cyrchar\cyrb{}", # CYRILLIC SMALL LETTER BE
+0x00432: r"\cyrchar\cyrv{}", # CYRILLIC SMALL LETTER VE
+0x00433: r"\cyrchar\cyrg{}", # CYRILLIC SMALL LETTER GHE
+0x00434: r"\cyrchar\cyrd{}", # CYRILLIC SMALL LETTER DE
+0x00435: r"\cyrchar\cyre{}", # CYRILLIC SMALL LETTER IE
+0x00436: r"\cyrchar\cyrzh{}", # CYRILLIC SMALL LETTER ZHE
+0x00437: r"\cyrchar\cyrz{}", # CYRILLIC SMALL LETTER ZE
+0x00438: r"\cyrchar\cyri{}", # CYRILLIC SMALL LETTER I
+0x00439: r"\cyrchar\cyrishrt{}", # CYRILLIC SMALL LETTER SHORT I
+0x0043A: r"\cyrchar\cyrk{}", # CYRILLIC SMALL LETTER KA
+0x0043B: r"\cyrchar\cyrl{}", # CYRILLIC SMALL LETTER EL
+0x0043C: r"\cyrchar\cyrm{}", # CYRILLIC SMALL LETTER EM
+0x0043D: r"\cyrchar\cyrn{}", # CYRILLIC SMALL LETTER EN
+0x0043E: r"\cyrchar\cyro{}", # CYRILLIC SMALL LETTER O
+0x0043F: r"\cyrchar\cyrp{}", # CYRILLIC SMALL LETTER PE
+0x00440: r"\cyrchar\cyrr{}", # CYRILLIC SMALL LETTER ER
+0x00441: r"\cyrchar\cyrs{}", # CYRILLIC SMALL LETTER ES
+0x00442: r"\cyrchar\cyrt{}", # CYRILLIC SMALL LETTER TE
+0x00443: r"\cyrchar\cyru{}", # CYRILLIC SMALL LETTER U
+0x00444: r"\cyrchar\cyrf{}", # CYRILLIC SMALL LETTER EF
+0x00445: r"\cyrchar\cyrh{}", # CYRILLIC SMALL LETTER HA
+0x00446: r"\cyrchar\cyrc{}", # CYRILLIC SMALL LETTER TSE
+0x00447: r"\cyrchar\cyrch{}", # CYRILLIC SMALL LETTER CHE
+0x00448: r"\cyrchar\cyrsh{}", # CYRILLIC SMALL LETTER SHA
+0x00449: r"\cyrchar\cyrshch{}", # CYRILLIC SMALL LETTER SHCHA
+0x0044A: r"\cyrchar\cyrhrdsn{}", # CYRILLIC SMALL LETTER HARD SIGN
+0x0044B: r"\cyrchar\cyrery{}", # CYRILLIC SMALL LETTER YERU
+0x0044C: r"\cyrchar\cyrsftsn{}", # CYRILLIC SMALL LETTER SOFT SIGN
+0x0044D: r"\cyrchar\cyrerev{}", # CYRILLIC SMALL LETTER E
+0x0044E: r"\cyrchar\cyryu{}", # CYRILLIC SMALL LETTER YU
+0x0044F: r"\cyrchar\cyrya{}", # CYRILLIC SMALL LETTER YA
+0x00451: r"\cyrchar\cyryo{}", # CYRILLIC SMALL LETTER IO
+0x00452: r"\cyrchar\cyrdje{}", # CYRILLIC SMALL LETTER DJE
+0x00453: r"\cyrchar{\'\cyrg}", # CYRILLIC SMALL LETTER GJE
+0x00454: r"\cyrchar\cyrie{}", # CYRILLIC SMALL LETTER UKRAINIAN IE
+0x00455: r"\cyrchar\cyrdze{}", # CYRILLIC SMALL LETTER DZE
+0x00456: r"\cyrchar\cyrii{}", # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+0x00457: r"\cyrchar\cyryi{}", # CYRILLIC SMALL LETTER YI
+0x00458: r"\cyrchar\cyrje{}", # CYRILLIC SMALL LETTER JE
+0x00459: r"\cyrchar\cyrlje{}", # CYRILLIC SMALL LETTER LJE
+0x0045A: r"\cyrchar\cyrnje{}", # CYRILLIC SMALL LETTER NJE
+0x0045B: r"\cyrchar\cyrtshe{}", # CYRILLIC SMALL LETTER TSHE
+0x0045C: r"\cyrchar{\'\cyrk}", # CYRILLIC SMALL LETTER KJE
+0x0045E: r"\cyrchar\cyrushrt{}", # CYRILLIC SMALL LETTER SHORT U
+0x0045F: r"\cyrchar\cyrdzhe{}", # CYRILLIC SMALL LETTER DZHE
+0x00460: r"\cyrchar\CYROMEGA{}", # CYRILLIC CAPITAL LETTER OMEGA
+0x00461: r"\cyrchar\cyromega{}", # CYRILLIC SMALL LETTER OMEGA
+0x00462: r"\cyrchar\CYRYAT{}", # CYRILLIC CAPITAL LETTER YAT
+0x00464: r"\cyrchar\CYRIOTE{}", # CYRILLIC CAPITAL LETTER IOTIFIED E
+0x00465: r"\cyrchar\cyriote{}", # CYRILLIC SMALL LETTER IOTIFIED E
+0x00466: r"\cyrchar\CYRLYUS{}", # CYRILLIC CAPITAL LETTER LITTLE YUS
+0x00467: r"\cyrchar\cyrlyus{}", # CYRILLIC SMALL LETTER LITTLE YUS
+0x00468: r"\cyrchar\CYRIOTLYUS{}", # CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS
+0x00469: r"\cyrchar\cyriotlyus{}", # CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS
+0x0046A: r"\cyrchar\CYRBYUS{}", # CYRILLIC CAPITAL LETTER BIG YUS
+0x0046C: r"\cyrchar\CYRIOTBYUS{}", # CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS
+0x0046D: r"\cyrchar\cyriotbyus{}", # CYRILLIC SMALL LETTER IOTIFIED BIG YUS
+0x0046E: r"\cyrchar\CYRKSI{}", # CYRILLIC CAPITAL LETTER KSI
+0x0046F: r"\cyrchar\cyrksi{}", # CYRILLIC SMALL LETTER KSI
+0x00470: r"\cyrchar\CYRPSI{}", # CYRILLIC CAPITAL LETTER PSI
+0x00471: r"\cyrchar\cyrpsi{}", # CYRILLIC SMALL LETTER PSI
+0x00472: r"\cyrchar\CYRFITA{}", # CYRILLIC CAPITAL LETTER FITA
+0x00474: r"\cyrchar\CYRIZH{}", # CYRILLIC CAPITAL LETTER IZHITSA
+0x00478: r"\cyrchar\CYRUK{}", # CYRILLIC CAPITAL LETTER UK
+0x00479: r"\cyrchar\cyruk{}", # CYRILLIC SMALL LETTER UK
+0x0047A: r"\cyrchar\CYROMEGARND{}", # CYRILLIC CAPITAL LETTER ROUND OMEGA
+0x0047B: r"\cyrchar\cyromegarnd{}", # CYRILLIC SMALL LETTER ROUND OMEGA
+0x0047C: r"\cyrchar\CYROMEGATITLO{}", # CYRILLIC CAPITAL LETTER OMEGA WITH TITLO
+0x0047D: r"\cyrchar\cyromegatitlo{}", # CYRILLIC SMALL LETTER OMEGA WITH TITLO
+0x0047E: r"\cyrchar\CYROT{}", # CYRILLIC CAPITAL LETTER OT
+0x0047F: r"\cyrchar\cyrot{}", # CYRILLIC SMALL LETTER OT
+0x00480: r"\cyrchar\CYRKOPPA{}", # CYRILLIC CAPITAL LETTER KOPPA
+0x00481: r"\cyrchar\cyrkoppa{}", # CYRILLIC SMALL LETTER KOPPA
+0x00482: r"\cyrchar\cyrthousands{}", # CYRILLIC THOUSANDS SIGN
+0x00488: r"\cyrchar\cyrhundredthousands{}", # COMBINING CYRILLIC HUNDRED THOUSANDS SIGN
+0x00489: r"\cyrchar\cyrmillions{}", # COMBINING CYRILLIC MILLIONS SIGN
+0x0048C: r"\cyrchar\CYRSEMISFTSN{}", # CYRILLIC CAPITAL LETTER SEMISOFT SIGN
+0x0048D: r"\cyrchar\cyrsemisftsn{}", # CYRILLIC SMALL LETTER SEMISOFT SIGN
+0x0048E: r"\cyrchar\CYRRTICK{}", # CYRILLIC CAPITAL LETTER ER WITH TICK
+0x0048F: r"\cyrchar\cyrrtick{}", # CYRILLIC SMALL LETTER ER WITH TICK
+0x00490: r"\cyrchar\CYRGUP{}", # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+0x00491: r"\cyrchar\cyrgup{}", # CYRILLIC SMALL LETTER GHE WITH UPTURN
+0x00492: r"\cyrchar\CYRGHCRS{}", # CYRILLIC CAPITAL LETTER GHE WITH STROKE
+0x00493: r"\cyrchar\cyrghcrs{}", # CYRILLIC SMALL LETTER GHE WITH STROKE
+0x00494: r"\cyrchar\CYRGHK{}", # CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
+0x00495: r"\cyrchar\cyrghk{}", # CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK
+0x00496: r"\cyrchar\CYRZHDSC{}", # CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
+0x00497: r"\cyrchar\cyrzhdsc{}", # CYRILLIC SMALL LETTER ZHE WITH DESCENDER
+0x00498: r"\cyrchar\CYRZDSC{}", # CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
+0x00499: r"\cyrchar\cyrzdsc{}", # CYRILLIC SMALL LETTER ZE WITH DESCENDER
+0x0049A: r"\cyrchar\CYRKDSC{}", # CYRILLIC CAPITAL LETTER KA WITH DESCENDER
+0x0049B: r"\cyrchar\cyrkdsc{}", # CYRILLIC SMALL LETTER KA WITH DESCENDER
+0x0049C: r"\cyrchar\CYRKVCRS{}", # CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
+0x0049D: r"\cyrchar\cyrkvcrs{}", # CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
+0x0049E: r"\cyrchar\CYRKHCRS{}", # CYRILLIC CAPITAL LETTER KA WITH STROKE
+0x0049F: r"\cyrchar\cyrkhcrs{}", # CYRILLIC SMALL LETTER KA WITH STROKE
+0x004A0: r"\cyrchar\CYRKBEAK{}", # CYRILLIC CAPITAL LETTER BASHKIR KA
+0x004A1: r"\cyrchar\cyrkbeak{}", # CYRILLIC SMALL LETTER BASHKIR KA
+0x004A2: r"\cyrchar\CYRNDSC{}", # CYRILLIC CAPITAL LETTER EN WITH DESCENDER
+0x004A3: r"\cyrchar\cyrndsc{}", # CYRILLIC SMALL LETTER EN WITH DESCENDER
+0x004A4: r"\cyrchar\CYRNG{}", # CYRILLIC CAPITAL LIGATURE EN GHE
+0x004A5: r"\cyrchar\cyrng{}", # CYRILLIC SMALL LIGATURE EN GHE
+0x004A6: r"\cyrchar\CYRPHK{}", # CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK
+0x004A7: r"\cyrchar\cyrphk{}", # CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK
+0x004A8: r"\cyrchar\CYRABHHA{}", # CYRILLIC CAPITAL LETTER ABKHASIAN HA
+0x004A9: r"\cyrchar\cyrabhha{}", # CYRILLIC SMALL LETTER ABKHASIAN HA
+0x004AA: r"\cyrchar\CYRSDSC{}", # CYRILLIC CAPITAL LETTER ES WITH DESCENDER
+0x004AB: r"\cyrchar\cyrsdsc{}", # CYRILLIC SMALL LETTER ES WITH DESCENDER
+0x004AC: r"\cyrchar\CYRTDSC{}", # CYRILLIC CAPITAL LETTER TE WITH DESCENDER
+0x004AD: r"\cyrchar\cyrtdsc{}", # CYRILLIC SMALL LETTER TE WITH DESCENDER
+0x004AE: r"\cyrchar\CYRY{}", # CYRILLIC CAPITAL LETTER STRAIGHT U
+0x004AF: r"\cyrchar\cyry{}", # CYRILLIC SMALL LETTER STRAIGHT U
+0x004B0: r"\cyrchar\CYRYHCRS{}", # CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
+0x004B1: r"\cyrchar\cyryhcrs{}", # CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
+0x004B2: r"\cyrchar\CYRHDSC{}", # CYRILLIC CAPITAL LETTER HA WITH DESCENDER
+0x004B3: r"\cyrchar\cyrhdsc{}", # CYRILLIC SMALL LETTER HA WITH DESCENDER
+0x004B4: r"\cyrchar\CYRTETSE{}", # CYRILLIC CAPITAL LIGATURE TE TSE
+0x004B5: r"\cyrchar\cyrtetse{}", # CYRILLIC SMALL LIGATURE TE TSE
+0x004B6: r"\cyrchar\CYRCHRDSC{}", # CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
+0x004B7: r"\cyrchar\cyrchrdsc{}", # CYRILLIC SMALL LETTER CHE WITH DESCENDER
+0x004B8: r"\cyrchar\CYRCHVCRS{}", # CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
+0x004B9: r"\cyrchar\cyrchvcrs{}", # CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
+0x004BA: r"\cyrchar\CYRSHHA{}", # CYRILLIC CAPITAL LETTER SHHA
+0x004BB: r"\cyrchar\cyrshha{}", # CYRILLIC SMALL LETTER SHHA
+0x004BC: r"\cyrchar\CYRABHCH{}", # CYRILLIC CAPITAL LETTER ABKHASIAN CHE
+0x004BD: r"\cyrchar\cyrabhch{}", # CYRILLIC SMALL LETTER ABKHASIAN CHE
+0x004BE: r"\cyrchar\CYRABHCHDSC{}", # CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
+0x004BF: r"\cyrchar\cyrabhchdsc{}", # CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER
+0x004C0: r"\cyrchar\CYRpalochka{}", # CYRILLIC LETTER PALOCHKA
+0x004C3: r"\cyrchar\CYRKHK{}", # CYRILLIC CAPITAL LETTER KA WITH HOOK
+0x004C4: r"\cyrchar\cyrkhk{}", # CYRILLIC SMALL LETTER KA WITH HOOK
+0x004C7: r"\cyrchar\CYRNHK{}", # CYRILLIC CAPITAL LETTER EN WITH HOOK
+0x004C8: r"\cyrchar\cyrnhk{}", # CYRILLIC SMALL LETTER EN WITH HOOK
+0x004CB: r"\cyrchar\CYRCHLDSC{}", # CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
+0x004CC: r"\cyrchar\cyrchldsc{}", # CYRILLIC SMALL LETTER KHAKASSIAN CHE
+0x004D4: r"\cyrchar\CYRAE{}", # CYRILLIC CAPITAL LIGATURE A IE
+0x004D5: r"\cyrchar\cyrae{}", # CYRILLIC SMALL LIGATURE A IE
+0x004D8: r"\cyrchar\CYRSCHWA{}", # CYRILLIC CAPITAL LETTER SCHWA
+0x004D9: r"\cyrchar\cyrschwa{}", # CYRILLIC SMALL LETTER SCHWA
+0x004E0: r"\cyrchar\CYRABHDZE{}", # CYRILLIC CAPITAL LETTER ABKHASIAN DZE
+0x004E1: r"\cyrchar\cyrabhdze{}", # CYRILLIC SMALL LETTER ABKHASIAN DZE
+0x004E8: r"\cyrchar\CYROTLD{}", # CYRILLIC CAPITAL LETTER BARRED O
+0x004E9: r"\cyrchar\cyrotld{}", # CYRILLIC SMALL LETTER BARRED O
+0x02002: r"\hspace{0.6em}", # EN SPACE
+0x02003: r"\hspace{1em}", # EM SPACE
+0x02004: r"\hspace{0.33em}", # THREE-PER-EM SPACE
+0x02005: r"\hspace{0.25em}", # FOUR-PER-EM SPACE
+0x02006: r"\hspace{0.166em}", # SIX-PER-EM SPACE
+0x02007: r"\hphantom{0}", # FIGURE SPACE
+0x02008: r"\hphantom{,}", # PUNCTUATION SPACE
+0x02009: r"\hspace{0.167em}", # THIN SPACE
+0x0200B: r"\hspace{0em}", # ZERO WIDTH SPACE
+0x02010: r"-", # HYPHEN
+0x02013: r"\textendash{}", # EN DASH
+0x02014: r"\textemdash{}", # EM DASH
+0x02015: r"\rule{1em}{1pt}", # HORIZONTAL BAR
+0x02018: r"`", # LEFT SINGLE QUOTATION MARK
+0x02019: r"'", # RIGHT SINGLE QUOTATION MARK
+0x0201A: r",", # SINGLE LOW-9 QUOTATION MARK
+0x0201C: r"\textquotedblleft{}", # LEFT DOUBLE QUOTATION MARK
+0x0201D: r"\textquotedblright{}", # RIGHT DOUBLE QUOTATION MARK
+0x0201E: r",,", # DOUBLE LOW-9 QUOTATION MARK
+0x02020: r"\textdagger{}", # DAGGER
+0x02021: r"\textdaggerdbl{}", # DOUBLE DAGGER
+0x02022: r"\textbullet{}", # BULLET
+0x02024: r".", # ONE DOT LEADER
+0x02025: r"..", # TWO DOT LEADER
+0x02026: r"\ldots{}", # HORIZONTAL ELLIPSIS
+0x02030: r"\textperthousand{}", # PER MILLE SIGN
+0x02031: r"\textpertenthousand{}", # PER TEN THOUSAND SIGN
+0x02032: r"\ensuremath{'}", # PRIME
+0x02033: r"\ensuremath{''}", # DOUBLE PRIME
+0x02034: r"\ensuremath{'''}", # TRIPLE PRIME
+0x020AC: r"\texteuro{}", # EURO
+0x02116: r"\cyrchar\textnumero{}", # NUMERO SIGN
+0x02122: r"\texttrademark{}", # TRADE MARK SIGN
+0x0212B: r"\AA{}", # ANGSTROM SIGN
+
+0x02190: r"\ensuremath{\leftarrow}", # LEFTWARDS ARROW
+0x02191: r"\ensuremath{\uparrow}", # UPWARDS ARROW
+0x02192: r"\ensuremath{\rightarrow}", # RIGHTWARDS ARROW
+0x02193: r"\ensuremath{\downarrow}", # DOWNWARDS ARROW
+0x02194: r"\ensuremath{\leftrightarrow}", # LEFT RIGHT ARROW
+0x02195: r"\ensuremath{\updownarrow}", # UP DOWN ARROW
+0x02196: r"\ensuremath{\nwarrow}", # NORTH WEST ARROW
+0x02197: r"\ensuremath{\nearrow}", # NORTH EAST ARROW
+0x02198: r"\ensuremath{\searrow}", # SOUTH EAST ARROW
+0x02199: r"\ensuremath{\swarrow}", # SOUTH WEST ARROW
+0x0219A: r"\ensuremath{\nleftarrow}", # LEFTWARDS ARROW WITH STROKE
+0x0219B: r"\ensuremath{\nrightarrow}", # RIGHTWARDS ARROW WITH STROKE
+0x0219C: r"\ensuremath{\arrowwaveright}", # LEFTWARDS WAVE ARROW
+0x0219D: r"\ensuremath{\arrowwaveright}", # RIGHTWARDS WAVE ARROW
+0x0219E: r"\ensuremath{\twoheadleftarrow}", # LEFTWARDS TWO HEADED ARROW
+0x021A0: r"\ensuremath{\twoheadrightarrow}", # RIGHTWARDS TWO HEADED ARROW
+0x021A2: r"\ensuremath{\leftarrowtail}", # LEFTWARDS ARROW WITH TAIL
+0x021A3: r"\ensuremath{\rightarrowtail}", # RIGHTWARDS ARROW WITH TAIL
+0x021A6: r"\ensuremath{\mapsto}", # RIGHTWARDS ARROW FROM BAR
+0x021A9: r"\ensuremath{\hookleftarrow}", # LEFTWARDS ARROW WITH HOOK
+0x021AA: r"\ensuremath{\hookrightarrow}", # RIGHTWARDS ARROW WITH HOOK
+0x021AB: r"\ensuremath{\looparrowleft}", # LEFTWARDS ARROW WITH LOOP
+0x021AC: r"\ensuremath{\looparrowright}", # RIGHTWARDS ARROW WITH LOOP
+0x021AD: r"\ensuremath{\leftrightsquigarrow}", # LEFT RIGHT WAVE ARROW
+0x021AE: r"\ensuremath{\nleftrightarrow}", # LEFT RIGHT ARROW WITH STROKE
+0x021B0: r"\ensuremath{\Lsh}", # UPWARDS ARROW WITH TIP LEFTWARDS
+0x021B1: r"\ensuremath{\Rsh}", # UPWARDS ARROW WITH TIP RIGHTWARDS
+0x021B3: r"\ensuremath{\ElsevierGlyph{21B3}}", # DOWNWARDS ARROW WITH TIP RIGHTWARDS
+0x021B5: r"\ensuremath{\hookleftarrow}", # DOWNWARDS ARROW WITH CORNER LEFTWARDS
+0x021B6: r"\ensuremath{\curvearrowleft}", # ANTICLOCKWISE TOP SEMICIRCLE ARROW
+0x021B7: r"\ensuremath{\curvearrowright}", # CLOCKWISE TOP SEMICIRCLE ARROW
+0x021BA: r"\ensuremath{\circlearrowleft}", # ANTICLOCKWISE OPEN CIRCLE ARROW
+0x021BB: r"\ensuremath{\circlearrowright}", # CLOCKWISE OPEN CIRCLE ARROW
+0x021BC: r"\ensuremath{\leftharpoonup}", # LEFTWARDS HARPOON WITH BARB UPWARDS
+0x021BD: r"\ensuremath{\leftharpoondown}", # LEFTWARDS HARPOON WITH BARB DOWNWARDS
+0x021BE: r"\ensuremath{\upharpoonright}", # UPWARDS HARPOON WITH BARB RIGHTWARDS
+0x021BF: r"\ensuremath{\upharpoonleft}", # UPWARDS HARPOON WITH BARB LEFTWARDS
+0x021C0: r"\ensuremath{\rightharpoonup}", # RIGHTWARDS HARPOON WITH BARB UPWARDS
+0x021C1: r"\ensuremath{\rightharpoondown}", # RIGHTWARDS HARPOON WITH BARB DOWNWARDS
+0x021C2: r"\ensuremath{\downharpoonright}", # DOWNWARDS HARPOON WITH BARB RIGHTWARDS
+0x021C3: r"\ensuremath{\downharpoonleft}", # DOWNWARDS HARPOON WITH BARB LEFTWARDS
+0x021C4: r"\ensuremath{\rightleftarrows}", # RIGHTWARDS ARROW OVER LEFTWARDS ARROW
+0x021C5: r"\ensuremath{\dblarrowupdown}", # UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
+0x021C6: r"\ensuremath{\leftrightarrows}", # LEFTWARDS ARROW OVER RIGHTWARDS ARROW
+0x021C7: r"\ensuremath{\leftleftarrows}", # LEFTWARDS PAIRED ARROWS
+0x021C8: r"\ensuremath{\upuparrows}", # UPWARDS PAIRED ARROWS
+0x021C9: r"\ensuremath{\rightrightarrows}", # RIGHTWARDS PAIRED ARROWS
+0x021CA: r"\ensuremath{\downdownarrows}", # DOWNWARDS PAIRED ARROWS
+0x021CB: r"\ensuremath{\leftrightharpoons}", # LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
+0x021CC: r"\ensuremath{\rightleftharpoons}", # RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
+0x021CD: r"\ensuremath{\nLeftarrow}", # LEFTWARDS DOUBLE ARROW WITH STROKE
+0x021CE: r"\ensuremath{\nLeftrightarrow}", # LEFT RIGHT DOUBLE ARROW WITH STROKE
+0x021CF: r"\ensuremath{\nRightarrow}", # RIGHTWARDS DOUBLE ARROW WITH STROKE
+0x021D0: r"\ensuremath{\Leftarrow}", # LEFTWARDS DOUBLE ARROW
+0x021D1: r"\ensuremath{\Uparrow}", # UPWARDS DOUBLE ARROW
+0x021D2: r"\ensuremath{\Rightarrow}", # RIGHTWARDS DOUBLE ARROW
+0x021D3: r"\ensuremath{\Downarrow}", # DOWNWARDS DOUBLE ARROW
+0x021D4: r"\ensuremath{\Leftrightarrow}", # LEFT RIGHT DOUBLE ARROW
+0x021D5: r"\ensuremath{\Updownarrow}", # UP DOWN DOUBLE ARROW
+0x021DA: r"\ensuremath{\Lleftarrow}", # LEFTWARDS TRIPLE ARROW
+0x021DB: r"\ensuremath{\Rrightarrow}", # RIGHTWARDS TRIPLE ARROW
+0x021DD: r"\ensuremath{\rightsquigarrow}", # RIGHTWARDS SQUIGGLE ARROW
+0x021F5: r"\ensuremath{\DownArrowUpArrow}", # DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
+0x02200: r"\ensuremath{\forall}", # FOR ALL
+0x02201: r"\ensuremath{\complement}", # COMPLEMENT
+0x02202: r"\ensuremath{\partial}", # PARTIAL DIFFERENTIAL
+0x02203: r"\ensuremath{\exists}", # THERE EXISTS
+0x02204: r"\ensuremath{\nexists}", # THERE DOES NOT EXIST
+0x02205: r"\ensuremath{\varnothing}", # EMPTY SET
+0x02207: r"\ensuremath{\nabla}", # NABLA
+0x02208: r"\ensuremath{\in}", # ELEMENT OF
+0x02209: r"\ensuremath{\not\in}", # NOT AN ELEMENT OF
+0x0220B: r"\ensuremath{\ni}", # CONTAINS AS MEMBER
+0x0220C: r"\ensuremath{\not\ni}", # DOES NOT CONTAIN AS MEMBER
+0x0220F: r"\ensuremath{\prod}", # N-ARY PRODUCT
+0x02210: r"\ensuremath{\coprod}", # N-ARY COPRODUCT
+0x02211: r"\ensuremath{\sum}", # N-ARY SUMMATION
+0x02212: r"-", # MINUS SIGN
+0x02213: r"\ensuremath{\mp}", # MINUS-OR-PLUS SIGN
+0x02214: r"\ensuremath{\dotplus}", # DOT PLUS
+0x02216: r"\ensuremath{\setminus}", # SET MINUS
+0x02217: r"\ensuremath{{_\ast}}", # ASTERISK OPERATOR
+0x02218: r"\ensuremath{\circ}", # RING OPERATOR
+0x02219: r"\ensuremath{\bullet}", # BULLET OPERATOR
+0x0221A: r"\ensuremath{\surd}", # SQUARE ROOT
+0x0221D: r"\ensuremath{\propto}", # PROPORTIONAL TO
+0x0221E: r"\ensuremath{\infty}", # INFINITY
+0x0221F: r"\ensuremath{\rightangle}", # RIGHT ANGLE
+0x02220: r"\ensuremath{\angle}", # ANGLE
+0x02221: r"\ensuremath{\measuredangle}", # MEASURED ANGLE
+0x02222: r"\ensuremath{\sphericalangle}", # SPHERICAL ANGLE
+0x02223: r"\ensuremath{\mid}", # DIVIDES
+0x02224: r"\ensuremath{\nmid}", # DOES NOT DIVIDE
+0x02225: r"\ensuremath{\parallel}", # PARALLEL TO
+0x02226: r"\ensuremath{\nparallel}", # NOT PARALLEL TO
+0x02227: r"\ensuremath{\wedge}", # LOGICAL AND
+0x02228: r"\ensuremath{\vee}", # LOGICAL OR
+0x02229: r"\ensuremath{\cap}", # INTERSECTION
+0x0222A: r"\ensuremath{\cup}", # UNION
+0x0222B: r"\ensuremath{\int}", # INTEGRAL
+0x0222C: r"\ensuremath{\int\!\int}", # DOUBLE INTEGRAL
+0x0222D: r"\ensuremath{\int\!\int\!\int}", # TRIPLE INTEGRAL
+0x0222E: r"\ensuremath{\oint}", # CONTOUR INTEGRAL
+0x0222F: r"\ensuremath{\surfintegral}", # SURFACE INTEGRAL
+0x02230: r"\ensuremath{\volintegral}", # VOLUME INTEGRAL
+0x02231: r"\ensuremath{\clwintegral}", # CLOCKWISE INTEGRAL
+0x02232: r"\ensuremath{\ElsevierGlyph{2232}}", # CLOCKWISE CONTOUR INTEGRAL
+0x02233: r"\ensuremath{\ElsevierGlyph{2233}}", # ANTICLOCKWISE CONTOUR INTEGRAL
+0x02234: r"\ensuremath{\therefore}", # THEREFORE
+0x02235: r"\ensuremath{\because}", # BECAUSE
+0x02237: r"\ensuremath{\Colon}", # PROPORTION
+0x02238: r"\ensuremath{\ElsevierGlyph{2238}}", # DOT MINUS
+0x0223A: r"\ensuremath{\mathbin{{:}\!\!{-}\!\!{:}}}", # GEOMETRIC PROPORTION
+0x0223B: r"\ensuremath{\homothetic}", # HOMOTHETIC
+0x0223C: r"\ensuremath{\sim}", # TILDE OPERATOR
+0x0223D: r"\ensuremath{\backsim}", # REVERSED TILDE
+0x0223E: r"\ensuremath{\lazysinv}", # INVERTED LAZY S
+0x02240: r"\ensuremath{\wr}", # WREATH PRODUCT
+0x02241: r"\ensuremath{\not\sim}", # NOT TILDE
+0x02242: r"\ensuremath{\ElsevierGlyph{2242}}", # MINUS TILDE
+0x02243: r"\ensuremath{\simeq}", # ASYMPTOTICALLY EQUAL TO
+0x02244: r"\ensuremath{\not\simeq}", # NOT ASYMPTOTICALLY EQUAL TO
+0x02245: r"\ensuremath{\cong}", # APPROXIMATELY EQUAL TO
+0x02246: r"\ensuremath{\approxnotequal}", # APPROXIMATELY BUT NOT ACTUALLY EQUAL TO
+0x02247: r"\ensuremath{\not\cong}", # NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
+0x02248: r"\ensuremath{\approx}", # ALMOST EQUAL TO
+0x02249: r"\ensuremath{\not\approx}", # NOT ALMOST EQUAL TO
+0x0224A: r"\ensuremath{\approxeq}", # ALMOST EQUAL OR EQUAL TO
+0x0224B: r"\ensuremath{\tildetrpl}", # TRIPLE TILDE
+0x0224C: r"\ensuremath{\allequal}", # ALL EQUAL TO
+0x0224D: r"\ensuremath{\asymp}", # EQUIVALENT TO
+0x0224E: r"\ensuremath{\Bumpeq}", # GEOMETRICALLY EQUIVALENT TO
+0x0224F: r"\ensuremath{\bumpeq}", # DIFFERENCE BETWEEN
+0x02250: r"\ensuremath{\doteq}", # APPROACHES THE LIMIT
+0x02251: r"\ensuremath{\doteqdot}", # GEOMETRICALLY EQUAL TO
+0x02252: r"\ensuremath{\fallingdotseq}", # APPROXIMATELY EQUAL TO OR THE IMAGE OF
+0x02253: r"\ensuremath{\risingdotseq}", # IMAGE OF OR APPROXIMATELY EQUAL TO
+0x02254: r":=", # COLON EQUALS
+0x02260: r"\ensuremath{\neq}", # NOT EQUAL TO
+0x02261: r"\ensuremath{\equiv}", # IDENTICAL TO
+0x02262: r"\ensuremath{\not\equiv}", # NOT IDENTICAL TO
+0x02264: r"\ensuremath{\leq}", # LESS-THAN OR EQUAL TO
+0x02265: r"\ensuremath{\geq}", # GREATER-THAN OR EQUAL TO
+0x02266: r"\ensuremath{\leqq}", # LESS-THAN OVER EQUAL TO
+0x02267: r"\ensuremath{\geqq}", # GREATER-THAN OVER EQUAL TO
+0x02268: r"\ensuremath{\lneqq}", # LESS-THAN BUT NOT EQUAL TO
+0x02269: r"\ensuremath{\gneqq}", # GREATER-THAN BUT NOT EQUAL TO
+0x0226A: r"\ensuremath{\ll}", # MUCH LESS-THAN
+0x0226B: r"\ensuremath{\gg}", # MUCH GREATER-THAN
+0x0226C: r"\ensuremath{\between}", # BETWEEN
+0x0226D: r"\ensuremath{\not\kern-0.3em\times}", # NOT EQUIVALENT TO
+0x0226E: r"\ensuremath{\not<}", # NOT LESS-THAN
+0x0226F: r"\ensuremath{\not>}", # NOT GREATER-THAN
+0x02270: r"\ensuremath{\not\leq}", # NEITHER LESS-THAN NOR EQUAL TO
+0x02271: r"\ensuremath{\not\geq}", # NEITHER GREATER-THAN NOR EQUAL TO
+0x02272: r"\ensuremath{\lessequivlnt}", # LESS-THAN OR EQUIVALENT TO
+0x02273: r"\ensuremath{\greaterequivlnt}", # GREATER-THAN OR EQUIVALENT TO
+0x02274: r"\ensuremath{\ElsevierGlyph{2274}}", # NEITHER LESS-THAN NOR EQUIVALENT TO
+0x02275: r"\ensuremath{\ElsevierGlyph{2275}}", # NEITHER GREATER-THAN NOR EQUIVALENT TO
+0x02276: r"\ensuremath{\lessgtr}", # LESS-THAN OR GREATER-THAN
+0x02277: r"\ensuremath{\gtrless}", # GREATER-THAN OR LESS-THAN
+0x02278: r"\ensuremath{\notlessgreater}", # NEITHER LESS-THAN NOR GREATER-THAN
+0x02279: r"\ensuremath{\notgreaterless}", # NEITHER GREATER-THAN NOR LESS-THAN
+0x0227A: r"\ensuremath{\prec}", # PRECEDES
+0x0227B: r"\ensuremath{\succ}", # SUCCEEDS
+0x0227C: r"\ensuremath{\preccurlyeq}", # PRECEDES OR EQUAL TO
+0x0227D: r"\ensuremath{\succcurlyeq}", # SUCCEEDS OR EQUAL TO
+0x0227E: r"\ensuremath{\precapprox}", # PRECEDES OR EQUIVALENT TO
+0x0227F: r"\ensuremath{\succapprox}", # SUCCEEDS OR EQUIVALENT TO
+0x02280: r"\ensuremath{\not\prec}", # DOES NOT PRECEDE
+0x02281: r"\ensuremath{\not\succ}", # DOES NOT SUCCEED
+0x02282: r"\ensuremath{\subset}", # SUBSET OF
+0x02283: r"\ensuremath{\supset}", # SUPERSET OF
+0x02284: r"\ensuremath{\not\subset}", # NOT A SUBSET OF
+0x02285: r"\ensuremath{\not\supset}", # NOT A SUPERSET OF
+0x02286: r"\ensuremath{\subseteq}", # SUBSET OF OR EQUAL TO
+0x02287: r"\ensuremath{\supseteq}", # SUPERSET OF OR EQUAL TO
+0x02288: r"\ensuremath{\not\subseteq}", # NEITHER A SUBSET OF NOR EQUAL TO
+0x02289: r"\ensuremath{\not\supseteq}", # NEITHER A SUPERSET OF NOR EQUAL TO
+0x0228A: r"\ensuremath{\subsetneq}", # SUBSET OF WITH NOT EQUAL TO
+0x0228B: r"\ensuremath{\supsetneq}", # SUPERSET OF WITH NOT EQUAL TO
+0x0228E: r"\ensuremath{\uplus}", # MULTISET UNION
+0x0228F: r"\ensuremath{\sqsubset}", # SQUARE IMAGE OF
+0x02290: r"\ensuremath{\sqsupset}", # SQUARE ORIGINAL OF
+0x02291: r"\ensuremath{\sqsubseteq}", # SQUARE IMAGE OF OR EQUAL TO
+0x02292: r"\ensuremath{\sqsupseteq}", # SQUARE ORIGINAL OF OR EQUAL TO
+0x02293: r"\ensuremath{\sqcap}", # SQUARE CAP
+0x02294: r"\ensuremath{\sqcup}", # SQUARE CUP
+0x02295: r"\ensuremath{\oplus}", # CIRCLED PLUS
+0x02296: r"\ensuremath{\ominus}", # CIRCLED MINUS
+0x02297: r"\ensuremath{\otimes}", # CIRCLED TIMES
+0x02298: r"\ensuremath{\oslash}", # CIRCLED DIVISION SLASH
+0x02299: r"\ensuremath{\odot}", # CIRCLED DOT OPERATOR
+0x0229A: r"\ensuremath{\circledcirc}", # CIRCLED RING OPERATOR
+0x0229B: r"\ensuremath{\circledast}", # CIRCLED ASTERISK OPERATOR
+0x0229D: r"\ensuremath{\circleddash}", # CIRCLED DASH
+0x0229E: r"\ensuremath{\boxplus}", # SQUARED PLUS
+0x0229F: r"\ensuremath{\boxminus}", # SQUARED MINUS
+0x022A0: r"\ensuremath{\boxtimes}", # SQUARED TIMES
+0x022A1: r"\ensuremath{\boxdot}", # SQUARED DOT OPERATOR
+0x022A2: r"\ensuremath{\vdash}", # RIGHT TACK
+0x022A3: r"\ensuremath{\dashv}", # LEFT TACK
+0x022A4: r"\ensuremath{\top}", # DOWN TACK
+0x022A5: r"\ensuremath{\perp}", # UP TACK
+0x022A7: r"\ensuremath{\truestate}", # MODELS
+0x022A8: r"\ensuremath{\forcesextra}", # TRUE
+0x022A9: r"\ensuremath{\Vdash}", # FORCES
+0x022AA: r"\ensuremath{\Vvdash}", # TRIPLE VERTICAL BAR RIGHT TURNSTILE
+0x022AB: r"\ensuremath{\VDash}", # DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
+0x022AC: r"\ensuremath{\nvdash}", # DOES NOT PROVE
+0x022AD: r"\ensuremath{\nvDash}", # NOT TRUE
+0x022AE: r"\ensuremath{\nVdash}", # DOES NOT FORCE
+0x022AF: r"\ensuremath{\nVDash}", # NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
+0x022B2: r"\ensuremath{\vartriangleleft}", # NORMAL SUBGROUP OF
+0x022B3: r"\ensuremath{\vartriangleright}", # CONTAINS AS NORMAL SUBGROUP
+0x022B4: r"\ensuremath{\trianglelefteq}", # NORMAL SUBGROUP OF OR EQUAL TO
+0x022B5: r"\ensuremath{\trianglerighteq}", # CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
+0x022B6: r"\ensuremath{\original}", # ORIGINAL OF
+0x022B7: r"\ensuremath{\image}", # IMAGE OF
+0x022B8: r"\ensuremath{\multimap}", # MULTIMAP
+0x022B9: r"\ensuremath{\hermitconjmatrix}", # HERMITIAN CONJUGATE MATRIX
+0x022BA: r"\ensuremath{\intercal}", # INTERCALATE
+0x022BB: r"\ensuremath{\veebar}", # XOR
+0x022BE: r"\ensuremath{\rightanglearc}", # RIGHT ANGLE WITH ARC
+0x022C0: r"\ensuremath{\ElsevierGlyph{22C0}}", # N-ARY LOGICAL AND
+0x022C1: r"\ensuremath{\ElsevierGlyph{22C1}}", # N-ARY LOGICAL OR
+0x022C2: r"\ensuremath{\bigcap}", # N-ARY INTERSECTION
+0x022C3: r"\ensuremath{\bigcup}", # N-ARY UNION
+0x022C4: r"\ensuremath{\diamond}", # DIAMOND OPERATOR
+0x022C5: r"\ensuremath{\cdot}", # DOT OPERATOR
+0x022C6: r"\ensuremath{\star}", # STAR OPERATOR
+0x022C7: r"\ensuremath{\divideontimes}", # DIVISION TIMES
+0x022C8: r"\ensuremath{\bowtie}", # BOWTIE
+0x022C9: r"\ensuremath{\ltimes}", # LEFT NORMAL FACTOR SEMIDIRECT PRODUCT
+0x022CA: r"\ensuremath{\rtimes}", # RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT
+0x022CB: r"\ensuremath{\leftthreetimes}", # LEFT SEMIDIRECT PRODUCT
+0x022CC: r"\ensuremath{\rightthreetimes}", # RIGHT SEMIDIRECT PRODUCT
+0x022CD: r"\ensuremath{\backsimeq}", # REVERSED TILDE EQUALS
+0x022CE: r"\ensuremath{\curlyvee}", # CURLY LOGICAL OR
+0x022CF: r"\ensuremath{\curlywedge}", # CURLY LOGICAL AND
+0x022D0: r"\ensuremath{\Subset}", # DOUBLE SUBSET
+0x022D1: r"\ensuremath{\Supset}", # DOUBLE SUPERSET
+0x022D2: r"\ensuremath{\Cap}", # DOUBLE INTERSECTION
+0x022D3: r"\ensuremath{\Cup}", # DOUBLE UNION
+0x022D4: r"\ensuremath{\pitchfork}", # PITCHFORK
+0x022D6: r"\ensuremath{\lessdot}", # LESS-THAN WITH DOT
+0x022D7: r"\ensuremath{\gtrdot}", # GREATER-THAN WITH DOT
+0x022D8: r"\ensuremath{\verymuchless}", # VERY MUCH LESS-THAN
+0x022D9: r"\ensuremath{\verymuchgreater}", # VERY MUCH GREATER-THAN
+0x022DA: r"\ensuremath{\lesseqgtr}", # LESS-THAN EQUAL TO OR GREATER-THAN
+0x022DB: r"\ensuremath{\gtreqless}", # GREATER-THAN EQUAL TO OR LESS-THAN
+0x022DE: r"\ensuremath{\curlyeqprec}", # EQUAL TO OR PRECEDES
+0x022DF: r"\ensuremath{\curlyeqsucc}", # EQUAL TO OR SUCCEEDS
+0x022E2: r"\ensuremath{\not\sqsubseteq}", # NOT SQUARE IMAGE OF OR EQUAL TO
+0x022E3: r"\ensuremath{\not\sqsupseteq}", # NOT SQUARE ORIGINAL OF OR EQUAL TO
+0x022E5: r"\ensuremath{\Elzsqspne}", # SQUARE ORIGINAL OF OR NOT EQUAL TO
+0x022E6: r"\ensuremath{\lnsim}", # LESS-THAN BUT NOT EQUIVALENT TO
+0x022E7: r"\ensuremath{\gnsim}", # GREATER-THAN BUT NOT EQUIVALENT TO
+0x022E8: r"\ensuremath{\precedesnotsimilar}", # PRECEDES BUT NOT EQUIVALENT TO
+0x022E9: r"\ensuremath{\succnsim}", # SUCCEEDS BUT NOT EQUIVALENT TO
+0x022EA: r"\ensuremath{\ntriangleleft}", # NOT NORMAL SUBGROUP OF
+0x022EB: r"\ensuremath{\ntriangleright}", # DOES NOT CONTAIN AS NORMAL SUBGROUP
+0x022EC: r"\ensuremath{\ntrianglelefteq}", # NOT NORMAL SUBGROUP OF OR EQUAL TO
+0x022ED: r"\ensuremath{\ntrianglerighteq}", # DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
+0x022EE: r"\ensuremath{\vdots}", # VERTICAL ELLIPSIS
+0x022EF: r"\ensuremath{\cdots}", # MIDLINE HORIZONTAL ELLIPSIS
+0x022F0: r"\ensuremath{\upslopeellipsis}", # UP RIGHT DIAGONAL ELLIPSIS
+0x022F1: r"\ensuremath{\downslopeellipsis}", # DOWN RIGHT DIAGONAL ELLIPSIS
+0x02306: r"\ensuremath{\perspcorrespond}", # PERSPECTIVE
+0x02308: r"\ensuremath{\lceil}", # LEFT CEILING
+0x02309: r"\ensuremath{\rceil}", # RIGHT CEILING
+0x0230A: r"\ensuremath{\lfloor}", # LEFT FLOOR
+0x0230B: r"\ensuremath{\rfloor}", # RIGHT FLOOR
+
+0x02315: r"\ensuremath{\recorder}", # TELEPHONE RECORDER
+0x02316: r'\ensuremath{\mathchar"2208}', # POSITION INDICATOR
+0x0231C: r"\ensuremath{\ulcorner}", # TOP LEFT CORNER
+0x0231D: r"\ensuremath{\urcorner}", # TOP RIGHT CORNER
+0x0231E: r"\ensuremath{\llcorner}", # BOTTOM LEFT CORNER
+0x0231F: r"\ensuremath{\lrcorner}", # BOTTOM RIGHT CORNER
+0x02322: r"\ensuremath{\frown}", # FROWN
+0x02323: r"\ensuremath{\smile}", # SMILE
+0x02329: r"\ensuremath{\langle}", # LEFT-POINTING ANGLE BRACKET
+0x0232A: r"\ensuremath{\rangle}", # RIGHT-POINTING ANGLE BRACKET
+0x0233D: r"\ensuremath{\ElsevierGlyph{E838}}", # APL FUNCTIONAL SYMBOL CIRCLE STILE
+0x023A3: r"\ensuremath{\Elzdlcorn}", # LEFT SQUARE BRACKET LOWER CORNER
+0x023B0: r"\ensuremath{\lmoustache}", # UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION
+0x023B1: r"\ensuremath{\rmoustache}", # UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION
+0x02423: r"\textvisiblespace{}", # OPEN BOX
+0x02460: r"\ding{172}", # CIRCLED DIGIT ONE
+0x02461: r"\ding{173}", # CIRCLED DIGIT TWO
+0x02462: r"\ding{174}", # CIRCLED DIGIT THREE
+0x02463: r"\ding{175}", # CIRCLED DIGIT FOUR
+0x02464: r"\ding{176}", # CIRCLED DIGIT FIVE
+0x02465: r"\ding{177}", # CIRCLED DIGIT SIX
+0x02466: r"\ding{178}", # CIRCLED DIGIT SEVEN
+0x02467: r"\ding{179}", # CIRCLED DIGIT EIGHT
+0x02468: r"\ding{180}", # CIRCLED DIGIT NINE
+0x02469: r"\ding{181}", # CIRCLED NUMBER TEN
+0x025A0: r"\ding{110}", # BLACK SQUARE
+0x025A1: r"\ensuremath{\square}", # WHITE SQUARE
+0x025AA: r"\ensuremath{\blacksquare}", # BLACK SMALL SQUARE
+0x025AD: r"\fbox{~~}", # WHITE RECTANGLE
+0x025AF: r"\ensuremath{\Elzvrecto}", # WHITE VERTICAL RECTANGLE
+0x025B1: r"\ensuremath{\ElsevierGlyph{E381}}", # WHITE PARALLELOGRAM
+0x025B2: r"\ding{115}", # BLACK UP-POINTING TRIANGLE
+0x025B3: r"\ensuremath{\bigtriangleup}", # WHITE UP-POINTING TRIANGLE
+0x025B4: r"\ensuremath{\blacktriangle}", # BLACK UP-POINTING SMALL TRIANGLE
+0x025B5: r"\ensuremath{\vartriangle}", # WHITE UP-POINTING SMALL TRIANGLE
+0x025B8: r"\ensuremath{\blacktriangleright}", # BLACK RIGHT-POINTING SMALL TRIANGLE
+0x025B9: r"\ensuremath{\triangleright}", # WHITE RIGHT-POINTING SMALL TRIANGLE
+0x025BC: r"\ding{116}", # BLACK DOWN-POINTING TRIANGLE
+0x025BD: r"\ensuremath{\bigtriangledown}", # WHITE DOWN-POINTING TRIANGLE
+0x025BE: r"\ensuremath{\blacktriangledown}", # BLACK DOWN-POINTING SMALL TRIANGLE
+0x025BF: r"\ensuremath{\triangledown}", # WHITE DOWN-POINTING SMALL TRIANGLE
+0x025C2: r"\ensuremath{\blacktriangleleft}", # BLACK LEFT-POINTING SMALL TRIANGLE
+0x025C3: r"\ensuremath{\triangleleft}", # WHITE LEFT-POINTING SMALL TRIANGLE
+0x025C6: r"\ding{117}", # BLACK DIAMOND
+0x025CA: r"\ensuremath{\lozenge}", # LOZENGE
+0x025CB: r"\ensuremath{\bigcirc}", # WHITE CIRCLE
+0x025CF: r"\ding{108}", # BLACK CIRCLE
+0x025D7: r"\ding{119}", # RIGHT HALF BLACK CIRCLE
+0x02605: r"\ding{72}", # BLACK STAR
+0x0260E: r"\ding{37}", # BLACK TELEPHONE
+0x0261B: r"\ding{42}", # BLACK RIGHT POINTING INDEX
+0x0261E: r"\ding{43}", # WHITE RIGHT POINTING INDEX
+0x02640: r"\venus{}", # FEMALE SIGN
+0x02642: r"\male{}", # MALE SIGN
+0x02647: r"\pluto{}", # PLUTO
+0x02648: r"\aries{}", # ARIES
+0x02649: r"\taurus{}", # TAURUS
+0x0264A: r"\gemini{}", # GEMINI
+0x0264B: r"\cancer{}", # CANCER
+0x0264C: r"\leo{}", # LEO
+0x0264D: r"\virgo{}", # VIRGO
+0x0264E: r"\libra{}", # LIBRA
+0x0264F: r"\scorpio{}", # SCORPIUS
+0x02650: r"\sagittarius{}", # SAGITTARIUS
+0x02651: r"\capricornus{}", # CAPRICORN
+0x02652: r"\aquarius{}", # AQUARIUS
+0x02653: r"\pisces{}", # PISCES
+0x02660: r"\ding{171}", # BLACK SPADE SUIT
+0x02663: r"\ding{168}", # BLACK CLUB SUIT
+0x02665: r"\ding{170}", # BLACK HEART SUIT
+0x02666: r"\ding{169}", # BLACK DIAMOND SUIT
+0x02669: r"\quarternote{}", # QUARTER NOTE
+0x0266A: r"\eighthnote{}", # EIGHTH NOTE
+0x02701: r"\ding{33}", # UPPER BLADE SCISSORS
+0x02702: r"\ding{34}", # BLACK SCISSORS
+0x02703: r"\ding{35}", # LOWER BLADE SCISSORS
+0x02704: r"\ding{36}", # WHITE SCISSORS
+0x02706: r"\ding{38}", # TELEPHONE LOCATION SIGN
+0x02707: r"\ding{39}", # TAPE DRIVE
+0x02708: r"\ding{40}", # AIRPLANE
+0x02709: r"\ding{41}", # ENVELOPE
+0x0270C: r"\ding{44}", # VICTORY HAND
+0x0270D: r"\ding{45}", # WRITING HAND
+0x0270E: r"\ding{46}", # LOWER RIGHT PENCIL
+0x0270F: r"\ding{47}", # PENCIL
+0x02710: r"\ding{48}", # UPPER RIGHT PENCIL
+0x02711: r"\ding{49}", # WHITE NIB
+0x02712: r"\ding{50}", # BLACK NIB
+0x02713: r"\ding{51}", # CHECK MARK
+0x02714: r"\ding{52}", # HEAVY CHECK MARK
+0x02715: r"\ding{53}", # MULTIPLICATION X
+0x02716: r"\ding{54}", # HEAVY MULTIPLICATION X
+0x02717: r"\ding{55}", # BALLOT X
+0x02718: r"\ding{56}", # HEAVY BALLOT X
+0x02719: r"\ding{57}", # OUTLINED GREEK CROSS
+0x0271A: r"\ding{58}", # HEAVY GREEK CROSS
+0x0271B: r"\ding{59}", # OPEN CENTRE CROSS
+0x0271C: r"\ding{60}", # HEAVY OPEN CENTRE CROSS
+0x0271D: r"\ding{61}", # LATIN CROSS
+0x0271E: r"\ding{62}", # SHADOWED WHITE LATIN CROSS
+0x0271F: r"\ding{63}", # OUTLINED LATIN CROSS
+0x02720: r"\ding{64}", # MALTESE CROSS
+0x02721: r"\ding{65}", # STAR OF DAVID
+0x02722: r"\ding{66}", # FOUR TEARDROP-SPOKED ASTERISK
+0x02723: r"\ding{67}", # FOUR BALLOON-SPOKED ASTERISK
+0x02724: r"\ding{68}", # HEAVY FOUR BALLOON-SPOKED ASTERISK
+0x02725: r"\ding{69}", # FOUR CLUB-SPOKED ASTERISK
+0x02726: r"\ding{70}", # BLACK FOUR POINTED STAR
+0x02727: r"\ding{71}", # WHITE FOUR POINTED STAR
+0x02729: r"\ding{73}", # STRESS OUTLINED WHITE STAR
+0x0272A: r"\ding{74}", # CIRCLED WHITE STAR
+0x0272B: r"\ding{75}", # OPEN CENTRE BLACK STAR
+0x0272C: r"\ding{76}", # BLACK CENTRE WHITE STAR
+0x0272D: r"\ding{77}", # OUTLINED BLACK STAR
+0x0272E: r"\ding{78}", # HEAVY OUTLINED BLACK STAR
+0x0272F: r"\ding{79}", # PINWHEEL STAR
+0x02730: r"\ding{80}", # SHADOWED WHITE STAR
+0x02731: r"\ding{81}", # HEAVY ASTERISK
+0x02732: r"\ding{82}", # OPEN CENTRE ASTERISK
+0x02733: r"\ding{83}", # EIGHT SPOKED ASTERISK
+0x02734: r"\ding{84}", # EIGHT POINTED BLACK STAR
+0x02735: r"\ding{85}", # EIGHT POINTED PINWHEEL STAR
+0x02736: r"\ding{86}", # SIX POINTED BLACK STAR
+0x02737: r"\ding{87}", # EIGHT POINTED RECTILINEAR BLACK STAR
+0x02738: r"\ding{88}", # HEAVY EIGHT POINTED RECTILINEAR BLACK STAR
+0x02739: r"\ding{89}", # TWELVE POINTED BLACK STAR
+0x0273A: r"\ding{90}", # SIXTEEN POINTED ASTERISK
+0x0273B: r"\ding{91}", # TEARDROP-SPOKED ASTERISK
+0x0273C: r"\ding{92}", # OPEN CENTRE TEARDROP-SPOKED ASTERISK
+0x0273D: r"\ding{93}", # HEAVY TEARDROP-SPOKED ASTERISK
+0x0273E: r"\ding{94}", # SIX PETALLED BLACK AND WHITE FLORETTE
+0x0273F: r"\ding{95}", # BLACK FLORETTE
+0x02740: r"\ding{96}", # WHITE FLORETTE
+0x02741: r"\ding{97}", # EIGHT PETALLED OUTLINED BLACK FLORETTE
+0x02742: r"\ding{98}", # CIRCLED OPEN CENTRE EIGHT POINTED STAR
+0x02743: r"\ding{99}", # HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK
+0x02744: r"\ding{100}", # SNOWFLAKE
+0x02745: r"\ding{101}", # TIGHT TRIFOLIATE SNOWFLAKE
+0x02746: r"\ding{102}", # HEAVY CHEVRON SNOWFLAKE
+0x02747: r"\ding{103}", # SPARKLE
+0x02748: r"\ding{104}", # HEAVY SPARKLE
+0x02749: r"\ding{105}", # BALLOON-SPOKED ASTERISK
+0x0274A: r"\ding{106}", # EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
+0x0274B: r"\ding{107}", # HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
+0x0274D: r"\ding{109}", # SHADOWED WHITE CIRCLE
+0x0274F: r"\ding{111}", # LOWER RIGHT DROP-SHADOWED WHITE SQUARE
+0x02750: r"\ding{112}", # UPPER RIGHT DROP-SHADOWED WHITE SQUARE
+0x02751: r"\ding{113}", # LOWER RIGHT SHADOWED WHITE SQUARE
+0x02752: r"\ding{114}", # UPPER RIGHT SHADOWED WHITE SQUARE
+0x02756: r"\ding{118}", # BLACK DIAMOND MINUS WHITE X
+0x02758: r"\ding{120}", # LIGHT VERTICAL BAR
+0x02759: r"\ding{121}", # MEDIUM VERTICAL BAR
+0x0275A: r"\ding{122}", # HEAVY VERTICAL BAR
+0x0275B: r"\ding{123}", # HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT
+0x0275C: r"\ding{124}", # HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT
+0x0275D: r"\ding{125}", # HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT
+0x0275E: r"\ding{126}", # HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
+0x02761: r"\ding{161}", # CURVED STEM PARAGRAPH SIGN ORNAMENT
+0x02762: r"\ding{162}", # HEAVY EXCLAMATION MARK ORNAMENT
+0x02763: r"\ding{163}", # HEAVY HEART EXCLAMATION MARK ORNAMENT
+0x02764: r"\ding{164}", # HEAVY BLACK HEART
+0x02765: r"\ding{165}", # ROTATED HEAVY BLACK HEART BULLET
+0x02766: r"\ding{166}", # FLORAL HEART
+0x02767: r"\ding{167}", # ROTATED FLORAL HEART BULLET
+0x02776: r"\ding{182}", # DINGBAT NEGATIVE CIRCLED DIGIT ONE
+0x02777: r"\ding{183}", # DINGBAT NEGATIVE CIRCLED DIGIT TWO
+0x02778: r"\ding{184}", # DINGBAT NEGATIVE CIRCLED DIGIT THREE
+0x02779: r"\ding{185}", # DINGBAT NEGATIVE CIRCLED DIGIT FOUR
+0x0277A: r"\ding{186}", # DINGBAT NEGATIVE CIRCLED DIGIT FIVE
+0x0277B: r"\ding{187}", # DINGBAT NEGATIVE CIRCLED DIGIT SIX
+0x0277C: r"\ding{188}", # DINGBAT NEGATIVE CIRCLED DIGIT SEVEN
+0x0277D: r"\ding{189}", # DINGBAT NEGATIVE CIRCLED DIGIT EIGHT
+0x0277E: r"\ding{190}", # DINGBAT NEGATIVE CIRCLED DIGIT NINE
+0x0277F: r"\ding{191}", # DINGBAT NEGATIVE CIRCLED NUMBER TEN
+0x02780: r"\ding{192}", # DINGBAT CIRCLED SANS-SERIF DIGIT ONE
+0x02781: r"\ding{193}", # DINGBAT CIRCLED SANS-SERIF DIGIT TWO
+0x02782: r"\ding{194}", # DINGBAT CIRCLED SANS-SERIF DIGIT THREE
+0x02783: r"\ding{195}", # DINGBAT CIRCLED SANS-SERIF DIGIT FOUR
+0x02784: r"\ding{196}", # DINGBAT CIRCLED SANS-SERIF DIGIT FIVE
+0x02785: r"\ding{197}", # DINGBAT CIRCLED SANS-SERIF DIGIT SIX
+0x02786: r"\ding{198}", # DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN
+0x02787: r"\ding{199}", # DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT
+0x02788: r"\ding{200}", # DINGBAT CIRCLED SANS-SERIF DIGIT NINE
+0x02789: r"\ding{201}", # DINGBAT CIRCLED SANS-SERIF NUMBER TEN
+0x0278A: r"\ding{202}", # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE
+0x0278B: r"\ding{203}", # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO
+0x0278C: r"\ding{204}", # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE
+0x0278D: r"\ding{205}", # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR
+0x0278E: r"\ding{206}", # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE
+0x0278F: r"\ding{207}", # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX
+0x02790: r"\ding{208}", # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN
+0x02791: r"\ding{209}", # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT
+0x02792: r"\ding{210}", # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE
+0x02793: r"\ding{211}", # DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN
+0x02794: r"\ding{212}", # HEAVY WIDE-HEADED RIGHTWARDS ARROW
+0x02798: r"\ding{216}", # HEAVY SOUTH EAST ARROW
+0x02799: r"\ding{217}", # HEAVY RIGHTWARDS ARROW
+0x0279A: r"\ding{218}", # HEAVY NORTH EAST ARROW
+0x0279B: r"\ding{219}", # DRAFTING POINT RIGHTWARDS ARROW
+0x0279C: r"\ding{220}", # HEAVY ROUND-TIPPED RIGHTWARDS ARROW
+0x0279D: r"\ding{221}", # TRIANGLE-HEADED RIGHTWARDS ARROW
+0x0279E: r"\ding{222}", # HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW
+0x0279F: r"\ding{223}", # DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
+0x027A0: r"\ding{224}", # HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
+0x027A1: r"\ding{225}", # BLACK RIGHTWARDS ARROW
+0x027A2: r"\ding{226}", # THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD
+0x027A3: r"\ding{227}", # THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD
+0x027A4: r"\ding{228}", # BLACK RIGHTWARDS ARROWHEAD
+0x027A5: r"\ding{229}", # HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW
+0x027A6: r"\ding{230}", # HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW
+0x027A7: r"\ding{231}", # SQUAT BLACK RIGHTWARDS ARROW
+0x027A8: r"\ding{232}", # HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW
+0x027A9: r"\ding{233}", # RIGHT-SHADED WHITE RIGHTWARDS ARROW
+0x027AA: r"\ding{234}", # LEFT-SHADED WHITE RIGHTWARDS ARROW
+0x027AB: r"\ding{235}", # BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW
+0x027AC: r"\ding{236}", # FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW
+0x027AD: r"\ding{237}", # HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+0x027AE: r"\ding{238}", # HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+0x027AF: r"\ding{239}", # NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+0x027B1: r"\ding{241}", # NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+0x027B2: r"\ding{242}", # CIRCLED HEAVY WHITE RIGHTWARDS ARROW
+0x027B3: r"\ding{243}", # WHITE-FEATHERED RIGHTWARDS ARROW
+0x027B4: r"\ding{244}", # BLACK-FEATHERED SOUTH EAST ARROW
+0x027B5: r"\ding{245}", # BLACK-FEATHERED RIGHTWARDS ARROW
+0x027B6: r"\ding{246}", # BLACK-FEATHERED NORTH EAST ARROW
+0x027B7: r"\ding{247}", # HEAVY BLACK-FEATHERED SOUTH EAST ARROW
+0x027B8: r"\ding{248}", # HEAVY BLACK-FEATHERED RIGHTWARDS ARROW
+0x027B9: r"\ding{249}", # HEAVY BLACK-FEATHERED NORTH EAST ARROW
+0x027BA: r"\ding{250}", # TEARDROP-BARBED RIGHTWARDS ARROW
+0x027BB: r"\ding{251}", # HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW
+0x027BC: r"\ding{252}", # WEDGE-TAILED RIGHTWARDS ARROW
+0x027BD: r"\ding{253}", # HEAVY WEDGE-TAILED RIGHTWARDS ARROW
+0x027BE: r"\ding{254}", # OPEN-OUTLINED RIGHTWARDS ARROW
+
+0x02A6E: r"\ensuremath{\stackrel{*}{=}}", # EQUALS WITH ASTERISK
+0x02A75: r"\ensuremath{\Equal}", # TWO CONSECUTIVE EQUALS SIGNS
+0x02A7D: r"\ensuremath{\leqslant}", # LESS-THAN OR SLANTED EQUAL TO
+0x02A7E: r"\ensuremath{\geqslant}", # GREATER-THAN OR SLANTED EQUAL TO
+0x02A85: r"\ensuremath{\lessapprox}", # LESS-THAN OR APPROXIMATE
+0x02A86: r"\ensuremath{\gtrapprox}", # GREATER-THAN OR APPROXIMATE
+0x02A87: r"\ensuremath{\lneq}", # LESS-THAN AND SINGLE-LINE NOT EQUAL TO
+0x02A88: r"\ensuremath{\gneq}", # GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
+0x02A89: r"\ensuremath{\lnapprox}", # LESS-THAN AND NOT APPROXIMATE
+0x02A8A: r"\ensuremath{\gnapprox}", # GREATER-THAN AND NOT APPROXIMATE
+0x02A8B: r"\ensuremath{\lesseqqgtr}", # LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
+0x02A8C: r"\ensuremath{\gtreqqless}", # GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
+0x02A95: r"\ensuremath{\eqslantless}", # SLANTED EQUAL TO OR LESS-THAN
+0x02A96: r"\ensuremath{\eqslantgtr}", # SLANTED EQUAL TO OR GREATER-THAN
+0x02A9D: r"\ensuremath{\Pisymbol{ppi020}{117}}", # SIMILAR OR LESS-THAN
+0x02A9E: r"\ensuremath{\Pisymbol{ppi020}{105}}", # SIMILAR OR GREATER-THAN
+0x02AA1: r"\ensuremath{\NestedLessLess}", # DOUBLE NESTED LESS-THAN
+0x02AA2: r"\ensuremath{\NestedGreaterGreater}", # DOUBLE NESTED GREATER-THAN
+0x02AAF: r"\ensuremath{\preceq}", # PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
+0x02AB0: r"\ensuremath{\succeq}", # SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
+0x02AB5: r"\ensuremath{\precneqq}", # PRECEDES ABOVE NOT EQUAL TO
+0x02AB6: r"\ensuremath{\succneqq}", # SUCCEEDS ABOVE NOT EQUAL TO
+0x02AB7: r"\ensuremath{\precapprox}", # PRECEDES ABOVE ALMOST EQUAL TO
+0x02AB8: r"\ensuremath{\succapprox}", # SUCCEEDS ABOVE ALMOST EQUAL TO
+0x02AB9: r"\ensuremath{\precnapprox}", # PRECEDES ABOVE NOT ALMOST EQUAL TO
+0x02ABA: r"\ensuremath{\succnapprox}", # SUCCEEDS ABOVE NOT ALMOST EQUAL TO
+0x02AC5: r"\ensuremath{\subseteqq}", # SUBSET OF ABOVE EQUALS SIGN
+0x02AC6: r"\ensuremath{\supseteqq}", # SUPERSET OF ABOVE EQUALS SIGN
+0x02ACB: r"\ensuremath{\subsetneqq}", # SUBSET OF ABOVE NOT EQUAL TO
+0x02ACC: r"\ensuremath{\supsetneqq}", # SUPERSET OF ABOVE NOT EQUAL TO
+
+0x0FB00: r"ff", # LATIN SMALL LIGATURE FF
+0x0FB01: r"fi", # LATIN SMALL LIGATURE FI
+0x0FB02: r"fl", # LATIN SMALL LIGATURE FL
+0x0FB03: r"ffi", # LATIN SMALL LIGATURE FFI
+0x0FB04: r"ffl", # LATIN SMALL LIGATURE FFL
+0x1D6B9: r"\mathbf{\vartheta}", # MATHEMATICAL BOLD CAPITAL THETA SYMBOL
+0x1D6DD: r"\mathbf{\vartheta}", # MATHEMATICAL BOLD THETA SYMBOL
+0x1D6DE: r"\mathbf{\varkappa}", # MATHEMATICAL BOLD KAPPA SYMBOL
+0x1D6DF: r"\mathbf{\phi}", # MATHEMATICAL BOLD PHI SYMBOL
+0x1D6E0: r"\mathbf{\varrho}", # MATHEMATICAL BOLD RHO SYMBOL
+0x1D6E1: r"\mathbf{\varpi}", # MATHEMATICAL BOLD PI SYMBOL
+0x1D6F3: r"\mathsl{\vartheta}", # MATHEMATICAL ITALIC CAPITAL THETA SYMBOL
+0x1D6FD: r"\ensuremath{\beta}", # MATHEMATICAL ITALIC SMALL BETA
+0x1D717: r"\mathsl{\vartheta}", # MATHEMATICAL ITALIC THETA SYMBOL
+0x1D718: r"\mathsl{\varkappa}", # MATHEMATICAL ITALIC KAPPA SYMBOL
+0x1D719: r"\mathsl{\phi}", # MATHEMATICAL ITALIC PHI SYMBOL
+0x1D71A: r"\mathsl{\varrho}", # MATHEMATICAL ITALIC RHO SYMBOL
+0x1D71B: r"\mathsl{\varpi}", # MATHEMATICAL ITALIC PI SYMBOL
+0x1D72D: r"\mathbit{O}", # MATHEMATICAL BOLD ITALIC CAPITAL THETA SYMBOL
+0x1D751: r"\mathbit{\vartheta}", # MATHEMATICAL BOLD ITALIC THETA SYMBOL
+0x1D752: r"\mathbit{\varkappa}", # MATHEMATICAL BOLD ITALIC KAPPA SYMBOL
+0x1D753: r"\mathbit{\phi}", # MATHEMATICAL BOLD ITALIC PHI SYMBOL
+0x1D754: r"\mathbit{\varrho}", # MATHEMATICAL BOLD ITALIC RHO SYMBOL
+0x1D755: r"\mathbit{\varpi}", # MATHEMATICAL BOLD ITALIC PI SYMBOL
+0x1D767: r"\mathsfbf{\vartheta}", # MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA SYMBOL
+0x1D78B: r"\mathsfbf{\vartheta}", # MATHEMATICAL SANS-SERIF BOLD THETA SYMBOL
+0x1D78C: r"\mathsfbf{\varkappa}", # MATHEMATICAL SANS-SERIF BOLD KAPPA SYMBOL
+0x1D78D: r"\mathsfbf{\phi}", # MATHEMATICAL SANS-SERIF BOLD PHI SYMBOL
+0x1D78E: r"\mathsfbf{\varrho}", # MATHEMATICAL SANS-SERIF BOLD RHO SYMBOL
+0x1D78F: r"\mathsfbf{\varpi}", # MATHEMATICAL SANS-SERIF BOLD PI SYMBOL
+0x1D7A1: r"\mathsfbfsl{\vartheta}", # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA SYMBOL
+0x1D7C5: r"\mathsfbfsl{\vartheta}", # MATHEMATICAL SANS-SERIF BOLD ITALIC THETA SYMBOL
+0x1D7C6: r"\mathsfbfsl{\varkappa}", # MATHEMATICAL SANS-SERIF BOLD ITALIC KAPPA SYMBOL
+0x1D7C7: r"\mathsfbfsl{\phi}", # MATHEMATICAL SANS-SERIF BOLD ITALIC PHI SYMBOL
+0x1D7C8: r"\mathsfbfsl{\varrho}", # MATHEMATICAL SANS-SERIF BOLD ITALIC RHO SYMBOL
+0x1D7C9: r"\mathsfbfsl{\varpi}", # MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL
+}
diff --git a/lib/dbtexmf/dblatex/xetex/__init__.py b/lib/dbtexmf/dblatex/xetex/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/lib/dbtexmf/dblatex/xetex/__init__.py
diff --git a/lib/dbtexmf/dblatex/xetex/codec.py b/lib/dbtexmf/dblatex/xetex/codec.py
new file mode 100644
index 0000000..9ef35b9
--- /dev/null
+++ b/lib/dbtexmf/dblatex/xetex/codec.py
@@ -0,0 +1,75 @@
+import sys
+import os
+import codecs
+
+from dbtexmf.dblatex.texcodec import LatexCodec
+from fsencoder import FontSpecEncoder
+
+
+class XetexCodec(LatexCodec):
+    def __init__(self, fontconfig="", pre="", post=""):
+        # Use the default TeX escapes, and encoding method
+        LatexCodec.__init__(self, input_encoding="utf8",
+                            output_encoding="utf8")
+
+        # XeTeX font manager
+        if not(fontconfig):
+            fontconfig = os.getenv("DBLATEX_FONTSPEC_FILE", "xefont.xml")
+
+        # If not proper fontconfig, fallback to default behaviour
+        try:
+            self._fontmgr = FontSpecEncoder(fontconfig)
+        except:
+            self._fontmgr = None
+            return
+
+        # Ignore the special characters \1 and \2 used as specific
+        # substitution characters
+        self._fontmgr.ignorechars("\1\2\r")
+
+    def clear_errors(self):
+        pass
+
+    def get_errors(self):
+        pass
+
+    def decode(self, text):
+        return self._decode(text)[0]
+
+    def encode(self, text):
+        # If no font manager, behaves as the default latex codec
+        if not(self._fontmgr):
+            return LatexCodec.encode(self, text)
+
+        # Preliminary backslash substitution
+        text = text.replace("\\", "\2")
+
+        # Consider that each text sequence is in his own tex group
+        self._fontmgr.reset()
+
+        # Handle fonts for this Unicode string. We build a list of
+        # strings, where each string is handled by a new font
+        switchfonts = []
+        for c in text:
+            font, char = self._fontmgr.encode(c)
+            # A new font, or empty switchfont list
+            if font or not(switchfonts):
+                sf = [font, char]
+                switchfonts.append(sf)
+            else:
+            # No new font, so extend the current string
+                sf[1] += char
+
+        # Merge each part, after escaping each string
+        text = ""
+        for sf in switchfonts:
+            sf[1] = self._texescape(sf[1])
+            text += "".join(sf)
+
+        # Encode for string output
+        text = self._encode(text)[0]
+
+        # Things are done, substitute the '\'
+        text = text.replace("\2", r"\textbackslash{}")
+        return "{" + text + "}"
+
diff --git a/lib/dbtexmf/dblatex/xetex/fcfallback.py b/lib/dbtexmf/dblatex/xetex/fcfallback.py
new file mode 100644
index 0000000..dea9ea2
--- /dev/null
+++ b/lib/dbtexmf/dblatex/xetex/fcfallback.py
@@ -0,0 +1,104 @@
+from fontspec import FontSpec
+from fcmanager import FcManager
+
+
+class DefaultFontSpec(FontSpec):
+    """
+    The default fontspec gives priority to its children, and 
+    contains any character.
+    """
+    def __init__(self):
+        FontSpec.__init__(self, subfont_first=True)
+    
+    def contains(self, char):
+        return True
+
+
+class FcFallbackFontSpec(DefaultFontSpec):
+    """
+    Default fontspec that finds fonts from fontconfig 
+    if the preexisting fontspecs don't match.
+
+    Currently this class is the only interface between the
+    two worlds (fontspec and fontconfig).
+    """
+    def __init__(self):
+        DefaultFontSpec.__init__(self)
+        self.fcmanager = FcManager()
+        self.fccache = {}
+        self.fcmissed = []
+        try:
+            self.fcmanager.build_fonts(partial=True)
+        except:
+            self.fcmanager = None
+    
+    def _loghas(self, id, char):
+        pass 
+
+    def _loghas2(self, id, char):
+        DefaultFontSpec._loghas(self, id, char)
+
+    def match(self, char, excluded=None):
+        fontspec = DefaultFontSpec.match(self, char, excluded)
+        if fontspec != self or not(self.fcmanager):
+            self._loghas2(fontspec.id, char)
+            return fontspec
+
+        if self.isignored(char):
+            self._loghas2(self.id, char)
+            return self
+
+        # Scan again the predefined fontspecs and check with fontconfig
+        # if their charset can be extended
+
+        for fontspec in self.fontspecs:
+
+            if fontspec in self.fcmissed:
+                print "Specified font '%s' is missing in the system!" % \
+                      (fontspec.mainfont())
+                continue
+
+            fcfont = self.fccache.get(fontspec.mainfont()) or \
+                     self.fcmanager.get_font(fontspec.mainfont())
+
+            if not(fcfont):
+                self.fcmissed.append(fontspec)
+                continue
+
+            if fcfont.has_char(char):
+                fontspec.add_char(char)
+                self._loghas2(fontspec.id + "[fc]", char)
+                return fontspec
+
+        # Find the first fcfont that has this char in its charset
+        fcfonts = {}
+        for font_type in ("serif", "sans-serif", "monospace"):
+            fcfonts[font_type] = self.fcmanager.get_font_handling(char,
+                                                         family_type=font_type)
+        # FIXME: attribuer les autres fonts si font nexiste pas dans le type
+        if not(fcfont):
+            self._loghas2(self.id + "[?fc]", char)
+            return self
+
+        # Extend the fontspec group
+        fontspec = self.spawn_fontspec_from_fcfonts(fcfonts, char)
+        self._loghas2(fontspec.id + "[A fc]", char)
+        return fontspec
+
+    def spawn_fontspec_from_fcfonts(self, fcfonts, char):
+        self.log.info("New fontspec '%s' matching U%X from fontconfig"\
+              % (fcfonts["serif"].family, ord(char)))
+        # Create a new font
+        fontspec = FontSpec()
+        fontspec.id = fcfont.family
+        fontspec.transitions["enter"]["main"] = fcfonts["serif"].family
+        fontspec.transitions["enter"]["sans"] = fcfonts["sans-serif"].family
+        fontspec.transitions["enter"]["mono"] = fcfonts["monospace"].family
+        fontspec.add_char(char)
+        fontspec.add_ignored(self._ignored)
+        # Register the font and its related fontconfig object
+        for fcfont in fcfonts.values():
+            self.fccache[fcfont.name] = fcfont
+        self.add_subfont(fontspec)
+        return fontspec
+
diff --git a/lib/dbtexmf/dblatex/xetex/fcmanager.py b/lib/dbtexmf/dblatex/xetex/fcmanager.py
new file mode 100644
index 0000000..b972270
--- /dev/null
+++ b/lib/dbtexmf/dblatex/xetex/fcmanager.py
@@ -0,0 +1,230 @@
+# 
+# Slow interface to fontconfig for Dblatex, that only parses some commmand line
+# output to store the fonts available on the system and their characteristics.
+#
+# An efficient solution should use some python bindings to directly call the
+# C fontconfig library.
+#
+import logging
+from subprocess import Popen, PIPE
+
+def execute(cmd):
+    p = Popen(cmd, stdout=PIPE)
+    data = p.communicate()[0]
+    rc = p.wait()
+    if rc != 0:
+        raise OSError("'%s' failed (%d)" % (" ".join(cmd), rc))
+    return data
+
+
+class FcFont:
+    """
+    Font Object with properties filled with the fc-match command output.
+    """
+    def __init__(self, fontnames, partial=False):
+        self.log = logging.getLogger("dblatex")
+        self.name = fontnames[0]
+        self.aliases = fontnames[1:]
+        self._completed = False
+        if not(partial):
+            self.complete()
+
+    def complete(self):
+        if not(self._completed):
+            d = execute(["fc-match", "--verbose", self.name])
+            d = d.strip()
+            self._build_attr_from(d)
+            self._completed = True
+
+    def _build_attr_from(self, data):
+        ninfos = self._splitinfos(data)
+
+        # Remove the first line
+        ninfos[0] = ninfos[0].split("\n")[1]
+        for i in ninfos:
+            if i: self._buildattr(i)
+        
+        # Check the consistency
+        if self.family != self.name.replace("\-", "-"):
+            raise ValueError("Unknown font '%s' vs '%s'" % (self.name,
+            self.family))
+
+    def _splitinfos(self, data):
+        ninfos = [data]
+        for sep in ("(s)", "(w)", "(=)"):
+            infos = ninfos
+            ninfos = []
+            for i in infos:
+                ni = i.split(sep)
+                ninfos += ni
+        return ninfos
+
+    def _buildattr(self, infos):
+        """
+        Parse things like:
+           'fullname: "Mukti"(s)
+            fullnamelang: "en"(s)
+            slant: 0(i)(s)
+            weight: 80(i)(s)
+            width: 100(i)(s)
+            size: 12(f)(s)'
+        """
+        try:
+            attrname, attrdata = infos.split(":", 1)
+        except:
+            # Skip this row
+            self.log.warning("Wrong data? '%s'" % infos)
+            return
+        
+        #print infos
+        attrname = attrname.strip() # Remove \t
+        attrdata = attrdata.strip() # Remove space
+
+        # Specific case
+        if attrname == "charset":
+            self._build_charset(attrdata)
+            return
+
+        # Get the data type
+        if (not(attrdata) or (attrdata[0] == '"' and attrdata[-1] == '"')):
+            setattr(self, attrname, attrdata.strip('"'))
+            return
+        
+        if (attrdata.endswith("(i)")):
+            setattr(self, attrname, int(attrdata.strip("(i)")))
+            return
+
+        if (attrdata.endswith("(f)")):
+            setattr(self, attrname, float(attrdata.strip("(f)")))
+            return
+
+        if (attrdata == "FcTrue"):
+            setattr(self, attrname, True)
+            return
+
+        if (attrdata == "FcFalse"):
+            setattr(self, attrname, False)
+            return
+
+    def _build_charset(self, charset):
+        """
+        Parse something like:
+           '0000: 00000000 ffffffff ffffffff 7fffffff 00000000 00002001 00800000 00800000
+            0009: 00000000 00000000 00000000 00000030 fff99fee f3c5fdff b080399f 07ffffcf
+            0020: 30003000 00000000 00000010 00000000 00000000 00001000 00000000 00000000
+            0025: 00000000 00000000 00000000 00000000 00000000 00000000 00001000 00000000'
+        """
+        self.charsetstr = charset
+        self.charset = []
+        lines = charset.split("\n")
+        for l in lines:
+            umajor, row = l.strip().split(":", 1)
+            int32s = row.split()
+            p = 0
+            for w in int32s:
+                #print "=> %s" % w
+                v = int(w, 16)
+                for i in range(0, 32):
+                    m = 1 << i
+                    #m = 0x80000000 >> i
+                    if (m & v):
+                        uchar = umajor + "%02X" % (p + i)
+                        #print uchar
+                        self.charset.append(int(uchar, 16))
+                p += 32
+
+    def remove_char(self, char):
+        try:
+            self.charset.remove(char)
+        except:
+            pass
+
+    def has_char(self, char):
+        #print self.family, char, self.charset
+        return (ord(char) in self.charset)
+
+
+class FcManager:
+    """
+    Collect all the fonts available in the system. The building can be partial,
+    i.e. the font objects can be partially created, and updated later (when
+    used).
+
+    The class tries to build three ordered list of fonts, one per standard
+    generic font family:
+    - Serif      : main / body font
+    - Sans-serif : used to render sans-serif forms
+    - Monospace  : used to render verbatim / monospace characters
+    """
+    def __init__(self):
+        self.log = logging.getLogger("dblatex")
+        self.fonts = {}
+        self.fonts_family = {}
+
+    def get_font(self, fontname):
+        font = self.fonts.get(fontname)
+        if font:
+            font.complete()
+        return font
+
+    def get_font_handling(self, char, all=False, family_type=""):
+        if not(family_type):
+            font_family = self.fonts.values()
+        else:
+            font_family = self.fonts_family.get(family_type, None)
+        
+        if not(font_family):
+            return []
+
+        fonts = self.get_font_handling_from(font_family, char, all=all)
+        return fonts
+
+    def get_font_handling_from(self, fontlist, char, all=False):
+        fonts = []
+        # Brutal method to get something...
+        for f in fontlist:
+            f.complete()
+            if f.has_char(char):
+                if all:
+                    fonts.append(f)
+                else:
+                    return f
+        return fonts
+
+    def build_fonts(self, partial=False):
+        self.build_fonts_all(partial=partial)
+        self.build_fonts_family("serif")
+        self.build_fonts_family("sans-serif")
+        self.build_fonts_family("monospace")
+
+    def build_fonts_all(self, partial=False):
+        # Grab all the fonts installed on the system
+        d = execute(["fc-list"])
+        fonts = d.strip().split("\n")
+        for f in fonts:
+            fontnames = f.split(":")[0].split(",")
+            mainname = fontnames[0]
+            if not(mainname):
+                continue
+            if self.fonts.get(mainname):
+                self.log.debug("'%s': duplicated" % mainname)
+                continue
+
+            #print fontnames
+            font = FcFont(fontnames, partial=partial)
+            self.fonts[mainname] = font
+
+    def build_fonts_family(self, family_type):
+        # Create a sorted list matching a generic family
+        # Use --sort to have only fonts completing unicode range
+        font_family = []
+        self.fonts_family[family_type] = font_family
+        d = execute(["fc-match", "--sort", family_type, "family"])
+        fonts = d.strip().split("\n")
+        for f in fonts:
+            font = self.fonts.get(f)
+            if not(font in font_family):
+                font_family.append(font)
+        #print family_type
+        #print font_family
+
diff --git a/lib/dbtexmf/dblatex/xetex/fontspec.py b/lib/dbtexmf/dblatex/xetex/fontspec.py
new file mode 100644
index 0000000..cd93cde
--- /dev/null
+++ b/lib/dbtexmf/dblatex/xetex/fontspec.py
@@ -0,0 +1,296 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+# Time-stamp: <2008-06-23 22:21:26 ah>
+
+"""
+Provide an encoder for a font specification configuration: the encoder is fed
+with Unicode characters one by one and determines the needed font switches
+between the preceding and the current character.
+"""
+
+import re
+import xml.dom.minidom
+import logging
+
+
+def _indent(string, width=2):
+    """Indent the  lines by  blank characters."""
+    istr = ' ' * width
+    s = istr + istr.join(string.splitlines(1))
+    return s
+
+class UnicodeInterval:
+    """Unicode codepoint interval, including all codepoints between its minimum
+    and maximum boundary.
+    For any Unicode codepoint it can be queried if it belongs to the interval.
+    """
+
+    # Internal data attributes:
+    # _min_boundary: Minimum boundary of the codepoint interval (ordinal)
+    # _max_boundary: Maximum boundary of the codepoint interval (ordinal)
+
+    _re_codepoint = re.compile(r'^[Uu]\+?([0-9A-Fa-f]+)$')
+
+    def __init__(self):
+        self._min_boundary = 0
+        self._max_boundary = 0
+
+    def __str__(self):
+        """Dump the instance's data attributes."""
+        string = '[' + str(self._min_boundary)
+        if self._max_boundary != self._min_boundary:
+            string += ',' + str(self._max_boundary)
+        string += ']'
+        return string
+
+    def _unicode_to_ordinal(self, codepoint):
+        """Return the ordinal of the specified codepoint."""
+        m = self._re_codepoint.match(codepoint)
+        if m:
+            return int(m.group(1), 16)
+        else:
+            raise RuntimeError, 'Not a unicode codepoint: ' + codepoint
+
+    def from_char(self, char):
+        """Interval for a single character"""
+        self._min_boundary = ord(char)
+        self._max_boundary = self._min_boundary
+        return self
+
+    def from_codepoint(self, codepoint):
+        """Interval for a single character defined as unicode string."""
+        self._min_boundary = self._unicode_to_ordinal(codepoint)
+        self._max_boundary = self._min_boundary
+        return self
+
+    def from_interval(self, codepoint1, codepoint2):
+        """Interval from a unicode range."""
+        self._min_boundary = self._unicode_to_ordinal(codepoint1)
+        self._max_boundary = self._unicode_to_ordinal(codepoint2)
+        if self._min_boundary > self._max_boundary:
+            self._min_boundary, self._max_boundary = \
+                self._max_boundary, self._min_boundary
+        return self
+
+    def contains(self, char):
+        """
+        Determine whether the specified character is contained in this
+        instance's interval.
+        """
+        #print "%d in [%d - %d]?" % (ord(char), self._min_boundary,self._max_boundary)
+        return (ord(char) >= self._min_boundary
+                and ord(char) <= self._max_boundary)
+
+
+class FontSpec:
+    """
+    Font specification, consisting of one or several unicode character
+    intervals and of fonts to select for those characters. The object
+    fully defines the fonts to switch to.
+    """
+
+    # Internal data attributes:
+    # _intervals: UnicodeInterval list
+
+    transition_types = ['enter', 'inter', 'exit']
+    _re_interval = re.compile(r'^([Uu][0-9A-Fa-f]+)-([Uu][0-9A-Fa-f]+)$')
+    _re_codepoint = re.compile(r'^([Uu][0-9A-Fa-f]+)$')
+
+    def __init__(self, intervals=None, subfont_first=False):
+        """Create a font specification from the specified codepoint intervals.
+        The other data attributes will be set by the caller later.
+        """
+        self.type = ""
+        self.id = None
+        self.refmode = None
+        self.transitions = {}
+        self.fontspecs = [self]
+        self.subfont_first = subfont_first
+        self._ignored = []
+        self.log = logging.getLogger("dblatex")
+
+        for type in self.transition_types:
+            self.transitions[type] = {}
+
+        if not(intervals):
+            self._intervals = []
+            return
+
+        try:
+            self._intervals = list(intervals)
+        except TypeError:
+            self._intervals = [intervals]
+
+    def fromnode(self, node):
+        range = node.getAttribute('range')
+        charset = node.getAttribute('charset')
+        id = node.getAttribute('id')
+        refmode = node.getAttribute('refmode')
+        self.type = node.getAttribute('type')
+
+        if (range):
+            self._intervals = self._parse_range(range)
+        elif (charset):
+            for char in charset:
+                self.add_char(char)
+
+        # Unique identifier
+        if (id):
+            self.id = id
+        if (refmode):
+            self.refmode = refmode
+
+        for transition_type in self.transition_types:
+            self._parse_transitions(node, transition_type)
+
+    def mainfont(self):
+        # Try to return the most representative font of this spec
+        return (self.transitions["enter"].get("main") or 
+                self.transitions["enter"].get("sans"))
+
+    def _parse_range(self, range):
+        """Parse the specified /fonts/fontspec@range attribute to a
+        UnicodeInterval list.
+        """
+        #print range
+        intervals = []
+        chunks = range.split()
+        for chunk in chunks:
+            m = self._re_interval.match(chunk)
+            #print match
+            if m:
+                urange = UnicodeInterval().from_interval(m.group(1), m.group(2))
+                intervals.append(urange)
+            else:
+                m = self._re_codepoint.match(chunk)
+                if m:
+                    intervals.append(
+                        UnicodeInterval().from_codepoint(m.group(1)))
+                else:
+                    raise RuntimeError, 'Unable to parse range: "' + range + '"'
+        return intervals
+
+    def _parse_transitions(self, node, transition_type):
+        """Evaluate the font elements of the specified fontspec element for the
+        specified transition type (enter, inter or exit).
+        """
+        fontlist = self.transitions[transition_type]
+
+        for dom_transition in node.getElementsByTagName(transition_type):
+            for dom_font in dom_transition.getElementsByTagName('font'):
+                font = ''
+                types = dom_font.getAttribute("type")
+                types = types.split()
+                for dom_child in dom_font.childNodes:
+                    if dom_child.nodeType == dom_child.TEXT_NODE:
+                        font += dom_child.nodeValue
+                if (font):
+                    for type in types:
+                        fontlist[type] = font
+
+    def _switch_to(self, fonts):
+        """
+        Return a string with the XeTeX font switching commands for the
+        specified font types.
+        """
+        s = ''
+        for type, font in fonts.items():
+            s += '\switch%sfont{%s}' % (type, font)
+        if s:
+            s = r"\savefamily" + s + r"\loadfamily{}"
+        return s
+
+    def enter(self):
+        self.log.debug("enter in %s" % self.id)
+        s = self._switch_to(self.transitions["enter"])
+        return s
+
+    def exit(self):
+        self.log.debug("exit from %s" % self.id)
+        s = self._switch_to(self.transitions["exit"])
+        return s
+
+    def interchar(self):
+        s = self._switch_to(self.transitions["inter"])
+        return s
+
+    def __str__(self):
+        """Dump the instance's data attributes."""
+        string = 'FontSpec:'
+        string += '\n  Id: %s' % self.id
+        string += '\n  Refmode: %s' % self.refmode
+        string += '\n  subFirst: %s' % self.subfont_first
+        for interval in self._intervals:
+            string += '\n' + _indent(str(interval))
+        return string
+
+    def add_subfont(self, fontspec):
+        self.log.debug("%s -> %s" % (self.id, fontspec.id))
+        if self.subfont_first:
+            self.fontspecs.insert(-1, fontspec)
+        else:
+            self.fontspecs.append(fontspec)
+
+    def add_char(self, char):
+        self._intervals.append(UnicodeInterval().from_char(char))
+
+    def add_uranges(self, ranges, depth=1):
+        # Recursively extend the supported character range
+        if depth:
+            for f in self.fontspecs:
+                if f != self:
+                    f.add_uranges(ranges)
+        self._intervals.extend(ranges)
+
+    def add_ignored(self, ranges, depth=1):
+        if depth:
+            for f in self.fontspecs:
+                if f != self:
+                    f.add_ignored(ranges)
+        self._ignored.extend(ranges)
+
+    def get_uranges(self):
+        return self._intervals
+
+    def contains(self, char):
+        #print "%s: %s" % (self.id, self._intervals)
+        for interval in self._intervals:
+            if interval.contains(char):
+                return True
+        else:
+            return False
+
+    def isignored(self, char):
+        self.log.debug("%s: %s" % (self.id, [ str(a) for a in self._ignored ]))
+        for interval in self._ignored:
+            if interval.contains(char):
+                return True
+        else:
+            return False
+
+    def _loghas(self, id, char):
+        try:
+            self.log.debug("%s has '%s'" % (id, str(char)))
+        except:
+            self.log.debug("%s has '%s'" % (id, ord(char)))
+
+    def match(self, char, excluded=None):
+        """Determine whether the font specification matches the specified
+        object, thereby considering refmode.
+        """
+        fontspec = None
+        self.log.debug( "Lookup in %s" % self.id)
+        if self.isignored(char):
+            self._loghas(self.id, char)
+            return self
+
+        for fontspec in self.fontspecs:
+            # Don't waste time in scanning excluded nodes
+            if fontspec == excluded:
+                continue
+            #print " Look in %s" % fontspec.id
+            if fontspec.contains(char):
+                self._loghas(fontspec.id, char)
+                return fontspec
+        return None
+
diff --git a/lib/dbtexmf/dblatex/xetex/fsconfig.py b/lib/dbtexmf/dblatex/xetex/fsconfig.py
new file mode 100644
index 0000000..f62e51e
--- /dev/null
+++ b/lib/dbtexmf/dblatex/xetex/fsconfig.py
@@ -0,0 +1,100 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+# Time-stamp: <2008-06-23 22:21:26 ah>
+
+"""
+Provide an encoder for a font specification configuration: the encoder is fed
+with Unicode characters one by one and determines the needed font switches
+between the preceding and the current character.
+"""
+
+import re
+import xml.dom.minidom
+import logging
+
+from fcfallback import FcFallbackFontSpec, DefaultFontSpec
+from fontspec import FontSpec, _indent
+
+
+class FontSpecConfig:
+    """
+    This object parses an XML fontspec configuration file and build the
+    resulting fontspec tree, the root fontspec being the default font
+    to apply.
+    
+    The fontspec configuration file defines the fonts to apply in order
+    of precedence (and for some Unicode ranges) and the font levels (or
+    subfonts) thanks to the 'refmode' attribute that links a font to its
+    parent.
+    """
+
+    def __init__(self, conf_file):
+        """Create a font specification configuration from the specified file
+        (file name or file-like object).
+        """
+        self.log = logging.getLogger("dblatex")
+        self.fontspecs = []
+        self.fontnames = {}
+
+        dom_document = xml.dom.minidom.parse(conf_file)
+        for dom_fontspec in dom_document.getElementsByTagName('fontspec'):
+            default = dom_fontspec.getAttribute('default')
+            if default:
+                self.log.debug("has default")
+                fallback = dom_fontspec.getAttribute('fallback')
+                if fallback == "fontconfig":
+                    self.default_fontspec = FcFallbackFontSpec()
+                else:
+                    self.default_fontspec = DefaultFontSpec()
+                fontspec = self.default_fontspec
+            else:
+                fontspec = FontSpec()
+
+            fontspec.fromnode(dom_fontspec)
+
+            if fontspec != self.default_fontspec:
+                self.fontspecs.append(fontspec)
+            if fontspec.id:
+                self.fontnames[fontspec.id] = fontspec
+
+        dom_document.unlink()
+
+        if not(self.default_fontspec):
+            self.default_fontspec = DefaultFontSpec()
+
+        self.build_tree()
+
+    def build_tree(self):
+        """
+        Build the fontspec tree, the root node being the default font
+        to apply. The fontspecs without a refmode (i.e. not being
+        explicitely a subfont) are direct children of the default font.
+        """
+        to_ignore = []
+        for fontspec in self.fontspecs:
+            if fontspec.type == "ignore":
+                to_ignore.append(fontspec)
+                continue
+
+            if not(fontspec.refmode):
+                f = self.default_fontspec
+            else:
+                f = self.fontnames.get(fontspec.refmode, None)
+
+            if (f):
+                f.add_subfont(fontspec)
+            else:
+                raise ValueError("wrong fontspec tree")
+
+        # Insert the characters to ignore in fontspecs
+        for f in to_ignore:
+            self.default_fontspec.add_ignored(f.get_uranges())
+
+    def __str__(self):
+        """Dump the instance's data attributes."""
+        string = 'FontSpecConfig:'
+        string += '\n  Fontspec list:'
+        for fontspec in self.fontspecs:
+            string += '\n' + _indent(str(fontspec), 4)
+        return string
+
diff --git a/lib/dbtexmf/dblatex/xetex/fsencoder.py b/lib/dbtexmf/dblatex/xetex/fsencoder.py
new file mode 100644
index 0000000..9960bbe
--- /dev/null
+++ b/lib/dbtexmf/dblatex/xetex/fsencoder.py
@@ -0,0 +1,102 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+# Time-stamp: <2008-06-23 22:21:26 ah>
+
+"""
+Provide an encoder for a font specification configuration: the encoder is fed
+with Unicode characters one by one and determines the needed font switches
+between the preceding and the current character.
+"""
+import sys
+import re
+import xml.dom.minidom
+
+from fontspec import UnicodeInterval
+from fsconfig import FontSpecConfig
+
+
+class FontSpecEncoder:
+    """
+    Encoder working with font specifications: it is fed
+    with Unicode characters one by one and it inserts the needed font switches
+    between the preceding and the current character.
+    """
+
+    def __init__(self, configuration):
+        """
+        Create a font specification encoder from the specified configuration
+        file (file name or file-like object).
+        """
+        self._conf = FontSpecConfig(configuration)
+        self._cur_fontspec = None
+        self._ref_stack = [self._conf.default_fontspec]
+
+    def reset(self):
+        # Restart from the default fontspec to avoid a useless 'enter' from None
+        self._cur_fontspec = self._conf.default_fontspec
+        self._ref_stack = [self._conf.default_fontspec]
+
+    def _switch_to(self, fontspec):
+        """
+        Insert the transition string, according to the newly selected
+        fontspec and the previously selected fontspec
+        """
+        s = ""
+        # If the font hasn't changed, just insert optional inter-char material
+        if fontspec == self._cur_fontspec:
+            return fontspec.interchar()
+
+        # A new font is selected, so exit from current font stream
+        if self._cur_fontspec:
+            s += self._cur_fontspec.exit()
+
+        # Enter into the current font stream
+        self._cur_fontspec = fontspec
+        s += fontspec.enter()
+        return s
+
+    def _encode(self, char):
+        """
+        Select the fontspec matching the specified , and switch to
+        this font as current font.
+
+        The principle to find out the fontspec is:
+        - to find from the current font level a matching font
+          (the current font leaf or the direct font children)
+        - if no font is found try with the parent font, and so on,
+          up to the default root font (that must exist).
+        """
+        fontspec = self._cur_fontspec or self._conf.default_fontspec
+
+        print >>sys.stderr, "Current:", fontspec.id
+        fontspec = fontspec.match(char)
+        while not(fontspec):
+            leaf = self._ref_stack.pop()
+            fontspec = self._ref_stack[-1].match(char, excluded=leaf)
+
+        if fontspec != self._ref_stack[-1]:
+            self._ref_stack.append(fontspec)
+
+        return self._switch_to(fontspec)
+
+    def ignorechars(self, charset):
+        "Characters to ignore in font selection (maintain the current one)"
+        intervals = [ UnicodeInterval().from_char(c) for c in charset ]
+        self._conf.default_fontspec.add_ignored(intervals)
+
+    def encode(self, char):
+        """
+        Return a string consisting of the specified character prepended by
+        all necessary font switching commands.
+        """
+        return (self._encode(char), char)
+
+    def stop(self):
+        """
+        Cleanly exit from the current fontspec
+        """
+        if self._cur_fontspec:
+            s = self._cur_fontspec.exit()
+            self._cur_fontspec = None
+            return s
+
diff --git a/lib/dbtexmf/xslt/4xslt.py b/lib/dbtexmf/xslt/4xslt.py
new file mode 100644
index 0000000..4af729f
--- /dev/null
+++ b/lib/dbtexmf/xslt/4xslt.py
@@ -0,0 +1,69 @@
+#
+# 4Suite plugin
+#
+import sys
+import os
+
+from Ft.Xml.Xslt import Processor
+from Ft.Lib.Uri import OsPathToUri
+from Ft.Xml import Catalog, InputSource
+from Ft.Xml.Domlette import NonvalidatingReader
+
+class FourXslt:
+    def __init__(self):
+        self.verbose = 0
+        self.use_catalogs = 1
+        # Do it only once
+        self.factory = self.get_factory()
+
+    def get_deplist(self):
+        return []
+
+    def get_factory(self):
+        system_catalogs = ['/etc/xml/catalog',
+                           '/usr/local/share/xml/catalog']
+
+        system_catalogs = [p for p in system_catalogs if os.path.exists(p)]
+
+        if system_catalogs:
+            xml_catalog_files = os.getenv("XML_CATALOG_FILES")
+            if xml_catalog_files:
+                xml_catalog_files += " " + " ".join(system_catalogs)
+            else:
+                xml_catalog_files = " ".join(system_catalogs)
+            os.environ["XML_CATALOG_FILES"] = xml_catalog_files
+
+        # The factory now takes into account the new XSML_CATALOG_FILES
+        factory = InputSource.InputSourceFactory(catalog=Catalog.GetDefaultCatalog())
+        return factory
+
+    def run(self, xslfile, xmlfile, outfile, opts=None, params=None):
+        proc = Processor.Processor()
+        proc.msgPrefix = ""
+        proc.msgSuffix = "\n"
+        factory = self.factory
+
+        uri = OsPathToUri(xmlfile)
+        xml = factory.fromUri(uri)
+
+        uri =  OsPathToUri(xslfile)
+        xslt = factory.fromUri(uri,  processIncludes=False)
+
+        o = open(outfile, "w")
+        proc.appendStylesheet(xslt)
+        if params:
+            rc = proc.run(xml, outputStream=o, topLevelParams=params)
+        else:
+            rc = proc.run(xml, outputStream=o)
+        o.close()
+
+
+class Xslt(FourXslt):
+    "Plugin Class to load"
+
+
+def main():
+    run(sys.argv[1], sys.argv[2], sys.argv[3])
+
+if __name__ == "__main__":
+    main()
diff --git a/lib/dbtexmf/xslt/__init__.py b/lib/dbtexmf/xslt/__init__.py
new file mode 100644
index 0000000..5e426de
--- /dev/null
+++ b/lib/dbtexmf/xslt/__init__.py
@@ -0,0 +1,20 @@
+class XsltSetup:
+    """
+    Central XSLT setup, filled by the XML configuration
+    """
+    def __init__(self):
+        self.command_pool = None
+
+    def prepend_pool(self, pool):
+        if self.command_pool:
+            self.command_pool.prepend(pool)
+        else:
+            self.command_pool = pool
+
+
+_xslt_setup = XsltSetup()
+    
+def xslt_setup():
+    global _xslt_setup
+    return _xslt_setup
+
diff --git a/lib/dbtexmf/xslt/saxon.py b/lib/dbtexmf/xslt/saxon.py
new file mode 100644
index 0000000..8c62eda
--- /dev/null
+++ b/lib/dbtexmf/xslt/saxon.py
@@ -0,0 +1,40 @@
+#
+# Basic wrapper for saxon.
+#
+import os
+import logging
+import re
+from subprocess import call, Popen, PIPE
+
+class Saxon:
+    def __init__(self):
+        self.catalogs = os.getenv("SGML_CATALOG_FILES")
+        self.use_catalogs = 1
+        self.log = logging.getLogger("dblatex")
+        self.run_opts = []
+
+    def get_deplist(self):
+        return ["saxon"]
+
+    def run(self, xslfile, xmlfile, outfile, opts=None, params=None):
+        cmd = ["saxon-xslt", "-o", os.path.basename(outfile)] + self.run_opts
+        if opts:
+            cmd += opts
+        cmd += [xmlfile, xslfile]
+        if params:
+            for param, value in params.items():
+                cmd += ["%s=%s" % (param, "'%s'" % value)]
+        self.system(cmd)
+
+    def system(self, cmd):
+        self.log.debug(" ".join(cmd))
+        rc = call(cmd)
+        if rc != 0:
+            raise ValueError("saxon failed")
+
+    def _has_xincludestyle(self):
+        return False
+
+
+class Xslt(Saxon):
+    "Plugin Class to load"
diff --git a/lib/dbtexmf/xslt/xslt.py b/lib/dbtexmf/xslt/xslt.py
new file mode 100644
index 0000000..0350e30
--- /dev/null
+++ b/lib/dbtexmf/xslt/xslt.py
@@ -0,0 +1,44 @@
+#
+# Very simple plugin loader for Xslt classes
+#
+import os
+import imp
+import glob
+
+def load(modname):
+    try:
+        file, path, descr = imp.find_module(modname, [""])
+    except ImportError:
+        try:
+            file, path, descr = imp.find_module(modname,
+                                                [os.path.dirname(__file__)])
+        except ImportError:
+            raise ValueError("Xslt '%s' not found" % modname)
+    mod = imp.load_module(modname, file, path, descr)
+    file.close()
+    o = mod.Xslt()
+    return o
+
+def get_deplists():
+    """
+    Return the dependency list to check for each XSLT plugin. The returned
+    list also gives the available plugins.
+    """
+    ps = glob.glob(os.path.join(os.path.dirname(__file__), "*.py"))
+    selfmod = os.path.splitext(os.path.basename(__file__))[0]
+    ps = [os.path.splitext(os.path.basename(p))[0] for p in ps]
+    if selfmod in ps:
+        ps.remove(selfmod)
+    if "__init__" in ps:
+        ps.remove("__init__")
+
+    deplists = []
+    for p in ps:
+        try:
+            x = load(p)
+            deplists.append((p, x.get_deplist()))
+        except:
+            # The module cannot be loaded, but don't panic yet
+            pass
+
+    return deplists
diff --git a/lib/dbtexmf/xslt/xsltconf.py b/lib/dbtexmf/xslt/xsltconf.py
new file mode 100644
index 0000000..c88427c
--- /dev/null
+++ b/lib/dbtexmf/xslt/xsltconf.py
@@ -0,0 +1,108 @@
+#
+# Wrapper for xslt an engine command specified by an XML Configuration.
+#
+import os
+import re
+import logging
+from subprocess import call, Popen, PIPE
+from dbtexmf.core.commander import CommandRunner
+from dbtexmf.core.error import signal_error
+import dbtexmf.xslt
+
+class XsltEngine:
+    _log = logging.getLogger("dblatex")
+
+    def __init__(self, param_format=""):
+        self.param_format = param_format
+        self.subcommand_with_params = None
+        self.command = CommandRunner(log=self._log)
+
+    def add_command(self, *args, **kwargs):
+        # Remember the subcommand that shall contain XSL parameters
+        sc = self.command.add_command(*args, **kwargs)
+        if "%(param_list)s" in args[0]:
+            self.subcommand_with_params = sc
+
+    def _run(self, xslfile, xmlfile, outfile):
+        rc = self.command.run(kw={"stylesheet": xslfile,
+                                  "xmlfile": xmlfile,
+                                  "output": outfile })
+        if rc != 0: signal_error(self, "")
+
+    def run(self, xslfile, xmlfile, outfile, opts=None, params=None):
+        if not(self.subcommand_with_params):
+            self._run(xslfile, xmlfile, outfile)
+        else:
+            # Temporary replace the parameter list in the command
+            args_pattern = self.subcommand_with_params.arguments
+            self.subcommand_with_params.arguments = \
+                self.param_args_format(args_pattern, params)
+            self._run(xslfile, xmlfile, outfile)
+            self.subcommand_with_params.arguments = args_pattern
+
+    def param_args_format(self, arguments, params):
+        args = [] + arguments
+        idx = args.index("%(param_list)s")
+        args.remove("%(param_list)s")
+
+        if not(params):
+            return args
+        if not(self.param_format):
+            self._log.error("Error: Unknown XSL Parameter format")
+            return args
+
+        param_args = []
+        for param, value in params.items():
+            param_args.append(self.param_format % {"param_name": param,
+                                                   "param_value": value})
+
+        for i in range(0, len(param_args)):
+            args.insert(idx+i, param_args[i])
+
+        return args
+
+class XsltCommandPool:
+    def __init__(self):
+        self.command_runs = []
+
+    def add_command_run(self, command_runner):
+        self.command_runs.append(command_runner)
+
+    def extend(self, other):
+        self.command_runs.extend(other.command_runs)
+
+    def prepend(self, other):
+        self.command_runs = other.command_runs + self.command_runs
+
+    def get_command_runs(self, **criterions):
+        # By default return all the items
+        founds = [] + self.command_runs
+        return founds
+
+
+class XsltConfigRunner:
+    """
+    Module loaded when a user defined XSLT engine is run. It just selects
+    the first engine from the pool, and run it.
+    """
+    def __init__(self):
+        pool = dbtexmf.xslt.xslt_setup().command_pool
+        if pool:
+            commands = pool.get_command_runs()
+            if commands: self.command = commands[0]
+        else:
+            self.command = None
+
+    def get_deplist(self):
+        return []
+
+    def run(self, xslfile, xmlfile, outfile, opts=None, params=None):
+        if not(self.command):
+            raise ValueError("xsltconf: no command found")
+
+        self.command.run(xslfile, xmlfile, outfile,
+                         opts=opts, params=params)
+
+
+class Xslt(XsltConfigRunner):
+    "Plugin Class to load"
diff --git a/lib/dbtexmf/xslt/xsltproc.py b/lib/dbtexmf/xslt/xsltproc.py
new file mode 100644
index 0000000..38f1d2b
--- /dev/null
+++ b/lib/dbtexmf/xslt/xsltproc.py
@@ -0,0 +1,54 @@
+#
+# Basic wrapper for xsltproc. Maybe we should directly use the lixslt Python
+# API.
+#
+import os
+import logging
+import re
+from subprocess import call, Popen, PIPE
+
+class XsltProc:
+    def __init__(self):
+        self.catalogs = os.getenv("SGML_CATALOG_FILES")
+        self.use_catalogs = 1
+        self.log = logging.getLogger("dblatex")
+        self.run_opts = ["--xinclude"]
+        # If --xincludestyle is supported we *must* use it to support external
+        # listings (see mklistings.xsl and pals)
+        if self._has_xincludestyle():
+            self.run_opts.append("--xincludestyle")
+
+    def get_deplist(self):
+        return ["xsltproc"]
+
+    def run(self, xslfile, xmlfile, outfile, opts=None, params=None):
+        cmd = ["xsltproc", "-o", os.path.basename(outfile)] + self.run_opts
+        if self.use_catalogs and self.catalogs:
+            cmd.append("--catalogs")
+        if params:
+            for param, value in params.items():
+                cmd += ["--param", param, "'%s'" % value]
+        if opts:
+            cmd += opts
+        cmd += [xslfile, xmlfile]
+        self.system(cmd)
+
+    def system(self, cmd):
+        self.log.debug(" ".join(cmd))
+        rc = call(cmd)
+        if rc != 0:
+            raise ValueError("xsltproc failed")
+
+    def _has_xincludestyle(self):
+        # check that with help output the option is there
+        p = Popen(["xsltproc"], stdout=PIPE)
+        data = p.communicate()[0]
+        m = re.search("--xincludestyle", data, re.M)
+        if not(m):
+            return False
+        else:
+            return True
+
+
+class Xslt(XsltProc):
+    "Plugin Class to load"
diff --git a/scripts/dblatex b/scripts/dblatex
new file mode 100755
index 0000000..aa199d0
--- /dev/null
+++ b/scripts/dblatex
@@ -0,0 +1,9 @@
+#! /usr/bin/env python
+import sys
+import os
+
+package_base = os.path.join(os.path.dirname(sys.argv[0]), "..")
+sys.path.append(os.path.realpath(os.path.join(package_base, "lib")))
+
+from dbtexmf.dblatex import dblatex
+dblatex.main(base=package_base)
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000..5af4cfb
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,521 @@
+#!/usr/bin/env python
+# -*- coding: ISO-8859-1 -*-
+#
+# dblatex python setup script - See the COPYRIGHT
+#
+import os
+import sys
+import re
+import glob
+import subprocess
+
+try:
+    from setuptools import setup
+    from setuptools.command.install import install
+except ImportError:
+    from distutils.core import setup
+    from distutils.command.install import install
+
+from distutils.command.build import build
+from distutils.command.build_scripts import build_scripts
+from distutils.command.install_data import install_data
+from distutils.command.sdist import sdist
+from distutils import log
+from subprocess import Popen, PIPE
+sys.path.append("lib")
+from contrib.debian.installer import DebianInstaller
+
+#
+# Build the command line script
+#
+class BuildScripts(build_scripts):
+
+    SHELL_SCRIPT = """#!%(env_executable)s%(env_args)s%(py_executable)s
+import sys
+import os
+
+package_base = %(package_base)s
+
+%(lib_path)s
+%(catalogs)s
+%(style_set)s
+from %(package_path)s import %(package)s
+%(package)s.main(base=package_base)
+"""
+
+    CATALOGS = """cat = os.environ.get("SGML_CATALOG_FILES")
+if cat:
+    cat += ":%s"
+else:
+    cat = "%s"
+os.environ["SGML_CATALOG_FILES"] = cat
+"""
+
+    def run(self):
+        """
+        Create the proper script for the current platform.
+        """
+        if not self.scripts:
+            return
+
+        # The script can only work with package data
+        self.data_files = self.distribution.data_files
+        if not(self.data_files):
+            return
+
+        if self.dry_run:
+            return
+
+        # Ensure the destination directory exists
+        self.mkpath(self.build_dir)
+
+        # Data useful for building the script
+        install = self.distribution.get_command_obj("install")
+        if not(install.install_data):
+            return
+
+        self._install_lib = os.path.normpath(install.install_lib)
+        self._root = install.root
+        if self._root:
+            self._root = os.path.normpath(self._root)
+        self._package_base = os.path.join(install.install_data,
+                                          self.data_files[0][0])
+        self._catalogs = install.catalogs
+        self._style = install.style
+        self._use_py_path = install.use_python_path
+        print self._package_base
+
+        # Build the command line script
+        self.build_script()
+
+    def _strip_root(self, *paths):
+        if not(self._root):
+            return paths
+
+        newpaths = []
+        for path in paths:
+            if path.startswith(self._root):
+                newpaths.append(path[len(self._root):])
+            else:
+                newpaths.append(path)
+        return newpaths
+
+    def build_script(self):
+        script_name = self.scripts[0]
+
+        # prepare args for the bang path at the top of the script
+        ENV_BIN = '/usr/bin/env'
+        env_args = ''
+        if self._use_py_path:
+            env_exec = ''
+            py_exec = sys.executable
+        elif os.name == 'posix':
+            # Some Solaris platforms may not have an 'env' binary.
+            # If /usr/bin/env exists, use '#!/usr/bin/env python'
+            # otherwise, use '#!' + sys.executable
+            env_exec = os.path.isfile(ENV_BIN) and \
+                os.access(ENV_BIN, os.X_OK) and ENV_BIN or ''
+            py_exec = env_exec and 'python' or sys.executable
+        else:
+            # shouldn't matter on non-POSIX; we'll just use defaults
+            env_exec = ENV_BIN
+            py_exec = 'python'
+
+        # Retrieve actual installation paths
+        lib_path, package_base = self._strip_root(self._install_lib,
+                                                  self._package_base)
+
+        # Just help for non standard installation paths
+        if lib_path in sys.path:
+            lib_path = ""
+        else:
+            lib_path = "sys.path.append(r\"%s\")" % lib_path
+
+        # Things to adapt when building an egg
+        if "/egg" in lib_path:
+            lib_path = ""
+            package_base = 'os.path.abspath(os.path.join(os.path.dirname('\
+                           '__file__), "..", "..", "share", "dblatex"))'
+        else:
+            package_base = 'r"%s"' % (package_base)
+
+        if self._catalogs:
+            catalogs = self.CATALOGS % (self._catalogs, self._catalogs)
+        else:
+            catalogs = ""
+
+        if self._style:
+            style_set = "sys.argv.insert(1, '-T%s')" % self._style
+        else:
+            style_set = ""
+
+        script_args = { 'env_executable': env_exec,
+                        'env_args': env_exec and (' %s' % env_args) or '',
+                        'py_executable': py_exec,
+                        'lib_path': lib_path,
+                        'style_set': style_set,
+                        'package': "dblatex",
+                        'package_path': "dbtexmf.dblatex",
+                        'catalogs': catalogs,
+                        'package_base': package_base }
+
+        script = self.SHELL_SCRIPT % script_args
+        script_name = os.path.basename(script_name)
+        outfile = os.path.join(self.build_dir, script_name)
+        fd = os.open(outfile, os.O_WRONLY|os.O_CREAT|os.O_TRUNC, 0755)
+        os.write(fd, script)
+        os.close(fd)
+
+
+class Build(build):
+    """
+    Build the documentation if missing or required to rebuild
+    """
+    user_options = build.user_options + \
+                 [('docbook-xsl=', None,
+                   'DocBook Project Stylesheet base directory (build_doc)')]
+
+    def initialize_options(self):
+        build.initialize_options(self)
+        self.docbook_xsl = None
+
+    def run(self):
+        # Do the default tasks
+        build.run(self)
+        # And build the doc
+        self.build_doc()
+
+    def build_doc(self):
+        log.info("running build_doc")
+        htmldir = os.path.join("docs", "xhtml")
+        pdfdocs = glob.glob(os.path.join("docs", "[mr]*.pdf"))
+        manpage = os.path.join("docs", "manpage", "dblatex.1.gz")
+
+        # Lazy check to avoid a rebuild for nothing
+        if (not(self.force) and os.path.exists(htmldir) and len(pdfdocs) >= 2
+            and os.path.exists(manpage)):
+            return
+
+        # Assumes that make is the GNU make
+        cmd = ["make", "-C", "docs", "VERSION=%s" % (get_version())]
+        if self.docbook_xsl:
+            cmd.append("XSLDBK=%s" % os.path.abspath(self.docbook_xsl))
+
+        subprocess.call(cmd)
+
+
+def find_programs(utils):
+    sys.path.append("lib")
+    from contrib.which import which
+    util_paths = {}
+    missed = []
+    for util in utils:
+        try:
+            path = which.which(util)
+            util_paths[util] = path
+        except which.WhichError:
+            missed.append(util)
+    sys.path.remove("lib")
+    return (util_paths, missed)
+
+def kpsewhich(tex_file):
+    if os.name == "nt":
+        close_fds = False
+    else:
+        close_fds = True
+    p = Popen("kpsewhich %s" % tex_file, shell=True,
+              stdin=PIPE, stdout=PIPE, close_fds=close_fds)
+    out = "".join(p.stdout.readlines()).strip()
+    return out
+
+
+class Sdist(sdist):
+    """
+    Make the source package, and remove the .pyc files
+    """
+    def prune_file_list(self):
+        sdist.prune_file_list(self)
+        self.filelist.exclude_pattern(r'.*.pyc', is_regex=1)
+
+
+class Install(install):
+
+    user_options = install.user_options + \
+                   [('catalogs=', None, 'default SGML catalogs'),
+                    ('nodeps', None, 'don\'t check the dependencies'),
+                    ('style=', None, 'default style to use'),
+                    ('use-python-path', None, 'don\'t use env to locate python')]
+
+    def initialize_options(self):
+        install.initialize_options(self)
+        self.catalogs = None
+        self.nodeps = None
+        self.style = None
+        self.use_python_path = None
+        # Prevents from undefined 'install_layout' attribute
+        if not(getattr(self, "install_layout", None)):
+            self.install_layout = None
+
+    def check_util_dependencies(self):
+        # First, check non critical graphic tools
+        found, missed = find_programs(("epstopdf", "convert", "fig2dev"))
+        for util in found:
+            print "+checking %s... yes" % util
+        for util in missed:
+            print "+checking %s... no" % util
+        if missed:
+            print("warning: not found: %s" % ", ".join(missed))
+
+        # Now, be serious
+        found, missed = find_programs(("latex", "makeindex",
+                                       "pdflatex", "kpsewhich"))
+        for util in found:
+            print "+checking %s... yes" % util
+        for util in missed:
+            print "+checking %s... no" % util
+        if missed:
+            raise OSError("not found: %s" % ", ".join(missed))
+
+    def check_xslt_dependencies(self):
+        sys.path.insert(0, "lib")
+        from dbtexmf.xslt import xslt
+        sys.path.remove("lib")
+
+        # At least one XSLT must be available
+        deplists = xslt.get_deplists()
+        if not(deplists):
+            raise OSError("no XSLT available")
+
+        # For each XSLT check the programs they depend on
+        xslt_found = []
+        xslt_missed = []
+        for (mod, deplist) in deplists:
+            if not(deplist):
+                xslt_found.append(mod)
+                print "+checking XSLT %s... yes" % mod
+                continue
+            found, missed = find_programs(deplist)
+            if missed:
+                xslt_missed.append(mod)
+                print "+checking XSLT %s... no (missing %s)" % \
+                      (mod, ", ".join(missed))
+            else:
+                xslt_found.append(mod)
+                print "+checking XSLT %s... yes" % mod
+
+        if not(xslt_found):
+            raise OSError("XSLT not installed: %s" % ", ".join(xslt_missed))
+        elif xslt_missed:
+            print "warning: XSLT not found: %s" % ", ".join(xslt_missed)
+
+    def check_latex_dependencies(self):
+        # Find the Latex files from the package
+        stys = []
+        for root, dirs, files in os.walk('latex/'):
+            stys += glob.glob(os.path.join(root, "*.sty"))
+        if stys:
+            own_stys = [os.path.basename(s)[:-4] for s in stys]
+        else:
+            own_stys = []
+
+        # Find the used packages
+        used_stys = []
+        re_sty = re.compile(r"\\usepackage\s*\[?.*\]?{(\w+)}")
+        for sty in stys:
+            f = open(sty)
+            for line in f:
+                line = line.split("%")[0]
+                m = re_sty.search(line)
+                if m:
+                    p = m.group(1)
+                    try:
+                        used_stys.index(p)
+                    except:
+                        used_stys.append(p)
+            f.close()
+
+        # Now look if they are found
+        found_stys = []
+        mis_stys = []
+        used_stys.sort()
+
+        # Dirty...
+        for f in ("truncate", "elfonts", "CJKutf8", "pinyin", "ifxetex"):
+            try:
+                used_stys.remove(f)
+            except:
+                pass
+
+        for sty in used_stys:
+            if sty in found_stys:
+                continue
+            status = "+checking %s... " % sty
+            if sty in own_stys:
+                status += "found in package"
+                found_stys.append(sty)
+                print status
+                continue
+            stypath = kpsewhich("%s.sty" % sty)
+            if stypath:
+                status += "yes"
+                found_stys.append(sty)
+            else:
+                status += "no"
+                mis_stys.append(sty)
+            print status
+            
+        if mis_stys:
+            raise OSError("not found: %s" % ", ".join(mis_stys))
+
+    def run(self):
+        if self.install_layout == "deb":
+            db = DebianInstaller(self)
+        else:
+            db = None
+
+        if not(db) and not(self.nodeps):
+            try:
+                self.check_xslt_dependencies()
+                self.check_util_dependencies()
+                self.check_latex_dependencies()
+            except Exception, e:
+                print >>sys.stderr, "Error: %s" % e
+                sys.exit(1)
+
+        if db: db.adapt_paths()
+
+        # If no build is required, at least build the script
+        if self.skip_build:
+            self.run_command('build_scripts')
+
+        install.run(self)
+
+        if db: db.finalize()
+
+
+class InstallData(install_data):
+
+    def run(self):
+        ignore_pattern = os.path.sep + r"(CVS|RCS)" + os.path.sep
+        # literal backslash must be doubled in regular expressions
+        ignore_pattern = ignore_pattern.replace('\\', r'\\')
+
+        # Walk through sub-dirs, specified in data_files and build the
+        # full data files list accordingly
+        full_data_files = []
+        for install_base, paths in self.data_files:
+            base_files = []
+            for path in paths:
+                if os.path.isdir(path):
+                    pref = os.path.dirname(path)
+                    for root, dirs, files in os.walk(path):
+                        if re.search(ignore_pattern, root + os.sep):
+                            continue
+                        # Only the last directory is copied, not the full path
+                        if not(pref):
+                            iroot = root
+                        else:
+                            iroot = root.split(pref + os.path.sep, 1)[1]
+                        idir = os.path.join(install_base, iroot)
+                        files = [os.path.join(root, i) for i in files]
+                        if files:
+                            full_data_files += [(idir, files)]
+                else:
+                    base_files.append(path)
+
+            if base_files:
+                full_data_files += [(install_base, base_files)]
+
+        # Replace synthetic data_files by the full one, and do the actual job
+        self.data_files = full_data_files
+        rc = install_data.run(self)
+
+        if self.distribution.get_command_obj("install").install_layout != "deb":
+            self.adapt_installed_data()
+        return rc
+
+    def adapt_installed_data(self):
+        installed = self.get_outputs()
+        for data_file in installed:
+            if os.path.basename(data_file) == "param.xsl":
+                self._set_texlive_version(data_file)
+                break
+
+    def _set_texlive_version(self, param_file):
+        """Detect the installed Texlive version from hyperref.sty version, and
+        override the texlive.version param accordingly."""
+        hyper_sty = kpsewhich("hyperref.sty")
+        if not(hyper_sty):
+            # Cannot do anything, give up
+            return
+
+        # Grab the value from package version
+        d = open(hyper_sty).read()
+        m = re.search("\\ProvidesPackage{hyperref}\s+\[(\d+)", d, re.M)
+        if not(m):
+            return
+        year = m.group(1)
+
+        # Patch the parameter with the found value
+        p = open(param_file).read()
+        p2 = re.sub('name="texlive.version">.*<',
+                    'name="texlive.version">%s<' % year, p)
+        f = open(param_file, "w")
+        f.write(p2)
+        f.close()
+
+
+def get_version():
+    sys.path.insert(0, "lib")
+    from dbtexmf.dblatex import dblatex
+    d = dblatex.DbLatex(base=os.getcwd())
+    sys.path.remove("lib")
+    return d.get_version()
+
+
+if __name__ == "__main__":
+    pdfdocs = glob.glob(os.path.join("docs", "[mr]*.pdf"))
+    htmldoc = [os.path.join("docs", "xhtml")]
+    classifiers = [
+       "Operating System :: OS Independent",
+       "Topic :: Text Processing :: Markup :: XML",
+       "License :: OSI Approved :: GNU General Public License (GPL)"
+    ]
+
+    description = """
+       dblatex is a program that transforms your SGML/XML DocBook documents to
+       DVI, PostScript or PDF by translating them into pure LaTeX as a first
+       process.  MathML 2.0 markups are supported, too. It started as a clone
+       of DB2LaTeX.
+       """
+
+    setup(name="dblatex",
+        version=get_version(),
+        description='DocBook to LaTeX/ConTeXt Publishing',
+        author='Benoit Guillon',
+        author_email='marsgui@users.sourceforge.net',
+        url='http://dblatex.sf.net',
+        license='GPL Version 2 or later',
+        long_description=description,
+        classifiers=classifiers,
+        packages=['dbtexmf',
+                  'dbtexmf.core',
+                  'dbtexmf.xslt',
+                  'dbtexmf.dblatex',
+                  'dbtexmf.dblatex.xetex',
+                  'dbtexmf.dblatex.grubber'],
+        package_dir={'dbtexmf':'lib/dbtexmf'},
+        package_data={'dbtexmf.core':['sgmlent.txt'],
+                      'dbtexmf.dblatex.grubber':['xindylang.xml']},
+        data_files=[('share/dblatex', ['xsl', 'latex', 'etc/schema']),
+                    ('share/doc/dblatex', pdfdocs),
+                    ('share/doc/dblatex', htmldoc),
+                    ('share/man/man1', ['docs/manpage/dblatex.1.gz'])],
+        scripts=['scripts/dblatex'],
+        cmdclass={'build': Build,
+                  'build_scripts': BuildScripts,
+                  'install': Install,
+                  'install_data': InstallData,
+                  'sdist': Sdist}
+        )
+
diff --git a/tests/mathml/Makefile b/tests/mathml/Makefile
new file mode 100644
index 0000000..0f2111a
--- /dev/null
+++ b/tests/mathml/Makefile
@@ -0,0 +1,38 @@
+#
+# Two testsuites are available: Testsuite for MathML 1.0 (1) and 
+# Testsuite for MathML 2.0 (2).
+# The default testsuite used is MathML 2.0, that can be compiled step by step
+# (for debug purpose) or in a single step.
+#
+TOP = ../..
+PWD = $(shell pwd)
+TEXIN = $(shell echo ${TEXINPUTS})
+TSTFILE = mmltest
+TSTBASE = .
+OPT =
+
+all: full2
+
+full%: $(TSTFILE)%.xml
+	$(TOP)/scripts/dblatex $<
+
+test1: $(TSTFILE)1.tex $(TSTFILE)1.dvi $(TSTFILE)1.xml
+test2: $(TSTFILE)2.tex $(TSTFILE)2.dvi $(TSTFILE)2.xml
+
+# FORCE to let compile several times
+%.pdf: %.tex FORCE
+	TEXINPUTS=:$(PWD)/$(TOP)/latex//:$(TEXIN) pdflatex $<
+
+%.dvi: %.tex
+	TEXINPUTS=:$(PWD)/$(TOP)/latex//:$(TEXIN) latex $<
+
+%.tex: %.xml
+	$(TOP)/scripts/dblatex -t tex -o $@ $<
+
+%1.xml:
+	./build/make_testmml $(OPT) --exclude excluded1 $(TSTBASE)/suite1/testsuite/ > $@
+
+%2.xml:
+	./build/make_testmml $(OPT) --exclude excluded2 $(TSTBASE)/suite2/testsuite/ > $@
+
+FORCE:
diff --git a/tests/mathml/mmltest2.xml b/tests/mathml/mmltest2.xml
new file mode 100644
index 0000000..a130983
--- /dev/null
+++ b/tests/mathml/mmltest2.xml
@@ -0,0 +1,27548 @@
+
+
+
+W3C MathML Test Suite Extracts
+
+Introduction
+This file is automatically generated from the MathML Testsuite
+  tree, and contains a large excerpt of the tree.
+The tests whose path or name contain the following words are not
+    included in this file:
+    
+ErrorHandling
+mfracZComp1
+Characters
+arccos3
+TortureTests
+mlabeledtr1
+mlabeledtrAside1
+mlabeledtrAside2
+rec-mlabeledtr
+mtable1
+mtableBspan3
+mtableBgap1
+intNested3
+deprecated-test3
+miequivalents11
+accents2
+accents4
+indent1
+indent2
+mixed4
+multinewline3
+newline1
+newline2
+white5
+white6
+white7
+white8
+white10
+
+
+Content
+ArithmeticAlgebraLogic
+abs
+abs1.mml
+
+ 
+       
+         
+         
+           
+           H  
+           K  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           H  
+           K  
+         
+       
+    
+abs2.mml
+
+ 
+       
+         
+         
+           
+           x  
+           y  
+           z  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           x  
+           y  
+           z  
+         
+       
+    
+rec-abs3.mml
+
+ 
+       
+         
+         x  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         x  
+       
+    
+
+and
+and1.mml
+
+ 
+       
+         
+         
+           
+           x  
+           0  
+         
+         
+           
+           x  
+           1  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           x  
+           0  
+         
+         
+           
+           x  
+           1  
+         
+       
+    
+and2.mml
+
+ 
+       
+         
+         
+           
+           x  
+           0  
+         
+         
+           
+           x  
+           1  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           x  
+           0  
+         
+         
+           
+           x  
+           1  
+         
+       
+    
+rec-and2.mml
+
+ 
+       
+         
+         a  
+         b  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         a  
+         b  
+       
+    
+
+arg
+rec-arg1.mml
+
+ 
+       
+         
+         
+           
+           x  
+           
+             
+             
+             y  
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           x  
+           
+             
+             
+             y  
+           
+         
+       
+    
+
+arithmetic_1.mml
+
+ 
+       
+         
+         
+           
+          a 
+          b 
+         
+        c 
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          a 
+          b 
+         
+        c 
+       
+    
+arithmetic_2.mml
+
+ 
+       
+         
+         
+           
+          2 
+          x 
+         
+         
+           
+          a 
+          b 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          2 
+          x 
+         
+         
+           
+          a 
+          b 
+         
+       
+    
+arithmetic_3.mml
+
+ 
+       
+         
+        x 
+         
+           
+          y 
+          z 
+         
+        z 
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        x 
+         
+           
+          y 
+          z 
+         
+        z 
+       
+    
+arithmetic_4.mml
+
+ 
+       
+         
+         
+           
+          x 
+           
+             
+             
+               
+              a 
+              b 
+             
+            c 
+           
+         
+        1 
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          x 
+           
+             
+             
+               
+              a 
+              b 
+             
+            c 
+           
+         
+        1 
+       
+    
+ceiling
+rec-ceiling1.mml
+
+ 
+       
+         
+         a  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         a  
+       
+    
+rec-ceiling2.mml
+
+ 
+       
+         
+         
+           a  
+         
+         
+           
+           
+             
+             
+               
+               
+                 
+                a 
+               
+              1 
+             
+            a 
+           
+           
+             
+            a 
+             
+               
+              a 
+             
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           a  
+         
+         
+           
+           
+             
+             
+               
+               
+                 
+                a 
+               
+              1 
+             
+            a 
+           
+           
+             
+            a 
+             
+               
+              a 
+             
+           
+         
+       
+    
+
+conjugate
+rec-conjugate1.mml
+
+ 
+       
+         
+         
+           
+           x  
+           
+             
+             
+             y  
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           x  
+           
+             
+             
+             y  
+           
+         
+       
+    
+
+divide
+divide1.mml
+
+ 
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    
+divide2.mml
+
+ 
+       
+         
+         
+           
+          a 
+          b 
+         
+         
+           
+          a 
+          b 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          a 
+          b 
+         
+         
+           
+          a 
+          b 
+         
+       
+    
+divide3.mml
+
+ 
+       
+         
+         
+           
+          a 
+          b 
+         
+         
+           
+          a 
+          b 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          a 
+          b 
+         
+         
+           
+          a 
+          b 
+         
+       
+    
+divide5.mml
+
+
+      
+        
+        
+          
+          
+            
+            a
+            b
+          
+          
+            
+            a
+            b
+          
+        
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+        
+          
+          
+            
+            a
+            b
+          
+          
+            
+            a
+            b
+          
+        
+      
+    
+rec-divide4.mml
+
+ 
+       
+         
+         a  
+         b  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         a  
+         b  
+       
+    
+
+exists
+rec-exists1.mml
+
+ 
+       
+         
+         
+           x  
+         
+         
+           
+           
+             
+               f  
+             
+             x  
+           
+          0 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           x  
+         
+         
+           
+           
+             
+               f  
+             
+             x  
+           
+          0 
+         
+       
+    
+
+factorial
+factorial1.mml
+
+ 
+       
+         
+         
+           
+           
+             
+             n  
+             m  
+           
+          x 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           
+             
+             n  
+             m  
+           
+          x 
+         
+       
+    
+factorial3.mml
+
+ 
+       
+         
+         
+           
+           a  
+           b  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           a  
+           b  
+         
+       
+    
+factorial4.mml
+
+ 
+       
+         
+         
+           
+           n  
+           m  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           n  
+           m  
+         
+       
+    
+rec-factorial2.mml
+
+ 
+       
+         
+         n  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         n  
+       
+    
+
+floor
+rec-floor1.mml
+
+ 
+       
+         
+         a  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         a  
+       
+    
+rec-floor2.mml
+
+ 
+       
+         
+         
+           a  
+         
+         
+           
+           
+             
+             
+               
+              a 
+             
+            a 
+           
+           
+             
+            a 
+             
+               
+               
+                 
+                a 
+               
+              1 
+             
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           a  
+         
+         
+           
+           
+             
+             
+               
+              a 
+             
+            a 
+           
+           
+             
+            a 
+             
+               
+               
+                 
+                a 
+               
+              1 
+             
+           
+         
+       
+    
+
+forall
+forall1.mml
+
+ 
+       
+         
+         
+           
+           
+            s 
+           
+           
+             
+               
+              s 
+              S 
+             
+           
+           
+             
+             
+               
+                f 
+               
+              x 
+             
+            T 
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           
+            s 
+           
+           
+             
+               
+              s 
+              S 
+             
+           
+           
+             
+             
+               
+                f 
+               
+              x 
+             
+            T 
+           
+         
+       
+    
+forall2.mml
+
+
+      
+        
+        
+          x
+        
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+        
+          x
+        
+      
+    
+rec-forall2.mml
+
+ 
+       
+         
+         
+           x  
+         
+         
+           
+           
+             
+             x  
+             x  
+           
+          0 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           x  
+         
+         
+           
+           
+             
+             x  
+             x  
+           
+          0 
+         
+       
+    
+rec-forall3.mml
+
+ 
+       
+         
+         
+           p  
+         
+         
+           q  
+         
+         
+           
+             
+             
+               
+               p  
+               
+             
+             
+               
+               q  
+               
+             
+             
+               
+               p  
+               q  
+             
+           
+         
+         
+           
+           p  
+           
+             
+             q  
+             2  
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           p  
+         
+         
+           q  
+         
+         
+           
+             
+             
+               
+               p  
+               
+             
+             
+               
+               q  
+               
+             
+             
+               
+               p  
+               q  
+             
+           
+         
+         
+           
+           p  
+           
+             
+             q  
+             2  
+           
+         
+       
+    
+rec-forall4.mml
+
+ 
+       
+         
+         
+           n  
+         
+         
+           
+             
+             
+               
+               n  
+               0  
+             
+             
+               
+               n  
+               
+             
+           
+         
+         
+           
+           
+             x  
+           
+           
+             y  
+           
+           
+             z  
+           
+           
+             
+               
+               
+                 
+                 x  
+                 
+               
+               
+                 
+                 y  
+                 
+               
+               
+                 
+                 z  
+                 
+               
+             
+           
+           
+             
+             
+               
+               
+                 
+                 x  
+                 n  
+               
+               
+                 
+                 y  
+                 n  
+               
+             
+             
+               
+               z  
+               n  
+             
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           n  
+         
+         
+           
+             
+             
+               
+               n  
+               0  
+             
+             
+               
+               n  
+               
+             
+           
+         
+         
+           
+           
+             x  
+           
+           
+             y  
+           
+           
+             z  
+           
+           
+             
+               
+               
+                 
+                 x  
+                 
+               
+               
+                 
+                 y  
+                 
+               
+               
+                 
+                 z  
+                 
+               
+             
+           
+           
+             
+             
+               
+               
+                 
+                 x  
+                 n  
+               
+               
+                 
+                 y  
+                 n  
+               
+             
+             
+               
+               z  
+               n  
+             
+           
+         
+       
+    
+rec-forall5.mml
+
+ 
+       
+         
+         
+           x  
+         
+         
+           
+             
+             x  
+             9  
+           
+         
+         
+           
+           x  
+           10  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           x  
+         
+         
+           
+             
+             x  
+             9  
+           
+         
+         
+           
+           x  
+           10  
+         
+       
+    
+rec-forall6.mml
+
+
+      
+        
+        
+          
+          
+            
+            
+              s
+            
+            
+              
+                
+                s
+                S
+              
+            
+            
+              
+              
+                
+                  f
+                
+                x
+              
+              T
+            
+          
+        
+        
+          
+          
+            s
+          
+          
+            
+              
+              s
+              S
+            
+          
+        
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+        
+          
+          
+            
+            
+              s
+            
+            
+              
+                
+                s
+                S
+              
+            
+            
+              
+              
+                
+                  f
+                
+                x
+              
+              T
+            
+          
+        
+        
+          
+          
+            s
+          
+          
+            
+              
+              s
+              S
+            
+          
+        
+      
+    
+rec-forall7.mml
+
+
+      
+        
+        
+          
+          
+            
+            
+              s
+            
+            
+              
+                
+                s
+                S
+              
+            
+            
+              
+              
+                
+                  f
+                
+                x
+              
+              T
+            
+          
+        
+        
+          
+          
+            s
+          
+          
+            
+              
+              s
+              S
+            
+          
+          
+            
+            
+              
+                f
+              
+              s
+            
+            T
+          
+        
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+        
+          
+          
+            
+            
+              s
+            
+            
+              
+                
+                s
+                S
+              
+            
+            
+              
+              
+                
+                  f
+                
+                x
+              
+              T
+            
+          
+        
+        
+          
+          
+            s
+          
+          
+            
+              
+              s
+              S
+            
+          
+          
+            
+            
+              
+                f
+              
+              s
+            
+            T
+          
+        
+      
+    
+
+gcd
+rec-gcd1.mml
+
+ 
+       
+         
+         a  
+         b  
+         c  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         a  
+         b  
+         c  
+       
+    
+
+imaginary
+rec-imaginary1.mml
+
+ 
+       
+         
+         
+           
+           x  
+           
+             
+             
+             y  
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           x  
+           
+             
+             
+             y  
+           
+         
+       
+    
+
+implies
+implies2.mml
+
+
+      
+        
+         A 
+         B 
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+         A 
+         B 
+      
+    
+rec-implies1.mml
+
+ 
+       
+         
+         A  
+         B  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         A  
+         B  
+       
+    
+
+lcm
+rec-lcm1.mml
+
+ 
+       
+         
+         a  
+         b  
+         c  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         a  
+         b  
+         c  
+       
+    
+
+logic5.mml
+
+ 
+       
+         
+         
+           
+           
+             
+             
+              s 
+             
+             
+               
+                 
+                s 
+                S 
+               
+             
+             
+               
+               
+                 
+                  f 
+                 
+                x 
+               
+              T 
+             
+           
+         
+         
+           
+           
+            s 
+           
+           
+             
+               
+              s 
+              S 
+             
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           
+             
+             
+              s 
+             
+             
+               
+                 
+                s 
+                S 
+               
+             
+             
+               
+               
+                 
+                  f 
+                 
+                x 
+               
+              T 
+             
+           
+         
+         
+           
+           
+            s 
+           
+           
+             
+               
+              s 
+              S 
+             
+           
+         
+       
+    
+logic6.mml
+
+ 
+       
+         
+         
+           
+           
+             
+             
+              s 
+             
+             
+               
+                 
+                s 
+                S 
+               
+             
+             
+               
+               
+                 
+                  f 
+                 
+                x 
+               
+              T 
+             
+           
+         
+         
+           
+           
+            s 
+           
+           
+             
+               
+              s 
+              S 
+             
+           
+           
+             
+             
+               
+                f 
+               
+              s 
+             
+            T 
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           
+             
+             
+              s 
+             
+             
+               
+                 
+                s 
+                S 
+               
+             
+             
+               
+               
+                 
+                  f 
+                 
+                x 
+               
+              T 
+             
+           
+         
+         
+           
+           
+            s 
+           
+           
+             
+               
+              s 
+              S 
+             
+           
+           
+             
+             
+               
+                f 
+               
+              s 
+             
+            T 
+           
+         
+       
+    
+logic7.mml
+
+ 
+       
+         
+         
+           
+           
+             
+             
+              s 
+             
+             
+               
+                 
+                s 
+                S 
+               
+             
+             
+               
+               
+                 
+                  f 
+                 
+                x 
+               
+              T 
+             
+           
+         
+         
+           
+           
+            s 
+           
+           
+             
+               
+              s 
+              S 
+             
+           
+           
+             
+             
+               
+                f 
+               
+              s 
+             
+            T 
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           
+             
+             
+              s 
+             
+             
+               
+                 
+                s 
+                S 
+               
+             
+             
+               
+               
+                 
+                  f 
+                 
+                x 
+               
+              T 
+             
+           
+         
+         
+           
+           
+            s 
+           
+           
+             
+               
+              s 
+              S 
+             
+           
+           
+             
+             
+               
+                f 
+               
+              s 
+             
+            T 
+           
+         
+       
+    
+max
+max3.mml
+
+
+      
+        
+        
+           x 
+        
+        
+          
+            
+            
+              
+               x 
+               0 
+            
+            
+              
+               x 
+               1 
+            
+          
+        
+        
+          
+           x 
+          
+            
+             x 
+          
+        
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+        
+           x 
+        
+        
+          
+            
+            
+              
+               x 
+               0 
+            
+            
+              
+               x 
+               1 
+            
+          
+        
+        
+          
+           x 
+          
+            
+             x 
+          
+        
+      
+    
+rec-max1.mml
+
+ 
+       
+         
+         a  
+         b  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         a  
+         b  
+       
+    
+rec-max2.mml
+
+ 
+       
+         
+         
+          x 
+         
+         
+           
+             
+             
+               
+              x 
+              B 
+             
+             
+               
+              x 
+              C 
+             
+           
+         
+        x 
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+          x 
+         
+         
+           
+             
+             
+               
+              x 
+              B 
+             
+             
+               
+              x 
+              C 
+             
+           
+         
+        x 
+       
+    
+
+min
+min1.mml
+
+ 
+       
+         
+         
+          x 
+         
+         
+           
+             
+             x  
+             B  
+           
+         
+         
+           
+           x  
+           2  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+          x 
+         
+         
+           
+             
+             x  
+             B  
+           
+         
+         
+           
+           x  
+           2  
+         
+       
+    
+rec-min2.mml
+
+ 
+       
+         
+         
+          x 
+         
+         
+           
+             
+             x  
+             B  
+           
+         
+         
+           
+           x  
+           2  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+          x 
+         
+         
+           
+             
+             x  
+             B  
+           
+         
+         
+           
+           x  
+           2  
+         
+       
+    
+
+minus
+minus1.mml
+
+ 
+       
+         
+        a 
+         
+           
+          b 
+          c 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        a 
+         
+           
+          b 
+          c 
+         
+       
+    
+minus2.mml
+
+ 
+       
+         
+        a 
+         
+           
+          b 
+          c 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        a 
+         
+           
+          b 
+          c 
+         
+       
+    
+minus3.mml
+
+ 
+       
+         
+        1 
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        1 
+       
+    
+minus4.mml
+
+ 
+       
+         
+         
+           
+          7 
+          1 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          7 
+          1 
+         
+       
+    
+minus5.mml
+
+ 
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    
+minus6.mml
+
+ 
+       
+         
+         
+           
+          x 
+           
+             
+            a 
+            b 
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          x 
+           
+             
+            a 
+            b 
+           
+         
+       
+    
+minus7.mml
+
+ 
+       
+         
+         
+           
+           
+             
+            a 
+            b 
+           
+           
+             
+            a 
+            b 
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           
+             
+            a 
+            b 
+           
+           
+             
+            a 
+            b 
+           
+         
+       
+    
+minus9.mml
+
+
+      
+        
+        7
+        
+          
+          1
+        
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+        7
+        
+          
+          1
+        
+      
+    
+rec-minus8.mml
+
+ 
+       
+         
+         x  
+         y  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         x  
+         y  
+       
+    
+
+not
+not1.mml
+
+ 
+       
+         
+         
+           
+           a  
+           b  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           a  
+           b  
+         
+       
+    
+rec-not2.mml
+
+ 
+       
+         
+         a  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         a  
+       
+    
+rec-not3.mml
+
+
+      
+        
+        
+          
+          
+            s
+          
+          
+            
+              
+              s
+              S
+            
+          
+        
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+        
+          
+          
+            s
+          
+          
+            
+              
+              s
+              S
+            
+          
+        
+      
+    
+
+or
+rec-or1.mml
+
+ 
+       
+         
+         a  
+         b  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         a  
+         b  
+       
+    
+
+plus
+plus1.mml
+
+ 
+       
+         
+        a 
+         
+           
+          b 
+          c 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        a 
+         
+           
+          b 
+          c 
+         
+       
+    
+plus2.mml
+
+ 
+       
+         
+        a 
+        b 
+        c 
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        a 
+        b 
+        c 
+       
+    
+plus3.mml
+
+ 
+       
+         
+         
+           
+          1 
+         
+        7 
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          1 
+         
+        7 
+       
+    
+plus4.mml
+
+ 
+       
+         
+        7 
+         
+           
+          1 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        7 
+         
+           
+          1 
+         
+       
+    
+plus6.mml
+
+ 
+       
+        
+        
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+        
+        
+         
+       
+    
+plus7.mml
+
+
+       
+         
+          
+          
+           
+         
+        x
+      
+    ]]>
+
+is rendered as:
+    
+       
+         
+          
+          
+           
+         
+        x
+      
+    
+rec-plus5.mml
+
+ 
+       
+         
+         x  
+         y  
+         z  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         x  
+         y  
+         z  
+       
+    
+
+power
+power1.mml
+
+ 
+       
+         
+         
+           
+          x 
+          y 
+         
+         
+           
+          n 
+          3 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          x 
+          y 
+         
+         
+           
+          n 
+          3 
+         
+       
+    
+power2.mml
+
+ 
+       
+         
+         
+           
+          x 
+          y 
+         
+         
+           
+           
+             
+            n 
+            3 
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          x 
+          y 
+         
+         
+           
+           
+             
+            n 
+            3 
+           
+         
+       
+    
+power3.mml
+
+ 
+       
+         
+         
+           
+           
+             
+             x  
+            y 
+           
+           
+             
+            n 
+            3 
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           
+             
+             x  
+            y 
+           
+           
+             
+            n 
+            3 
+           
+         
+       
+    
+power5.mml
+
+
+      
+        
+        x
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+        x
+      
+    
+power6.mml
+
+
+      
+        
+        
+          
+          x
+          j
+        
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+        
+          
+          x
+          j
+        
+      
+    
+power7.mml
+
+
+      
+        
+        
+          
+          
+            
+            x
+            j
+          
+        
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+        
+          
+          
+            
+            x
+            j
+          
+        
+      
+    
+power8.mml
+
+ 
+       
+         
+         
+           
+           
+          2 
+         
+         
+           
+           
+          2 
+         
+      
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           
+          2 
+         
+         
+           
+           
+          2 
+         
+      
+    
+rec-power4.mml
+
+ 
+       
+         
+         x  
+         3  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         x  
+         3  
+       
+    
+
+quotient
+rec-quotient1.mml
+
+ 
+       
+         
+         a  
+         b  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         a  
+         b  
+       
+    
+
+real
+rec-real1.mml
+
+ 
+       
+         
+         
+           
+           x  
+           
+             
+             
+             y  
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           x  
+           
+             
+             
+             y  
+           
+         
+       
+    
+
+rem
+rec-rem1.mml
+
+ 
+       
+         
+         a  
+         b  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         a  
+         b  
+       
+    
+
+root
+rec-root1.mml
+
+ 
+       
+         
+         
+           n  
+         
+         a  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           n  
+         
+         a  
+       
+    
+root2.mml
+
+ 
+       
+         
+         
+           n  
+         
+         
+           
+           a  
+           b  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           n  
+         
+         
+           
+           a  
+           b  
+         
+       
+    
+
+times
+rec-times1.mml
+
+ 
+       
+         
+         a  
+         b  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         a  
+         b  
+       
+    
+times2.mml
+
+ 
+       
+         
+        x 
+         
+           
+          y 
+          z 
+         
+        z 
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        x 
+         
+           
+          y 
+          z 
+         
+        z 
+       
+    
+times3.mml
+
+
+      
+        
+        
+          
+          a
+          b
+        
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+        
+          
+          a
+          b
+        
+      
+    
+times4.mml
+
+
+      
+        
+        
+          
+          a
+          b
+        
+        c
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+        
+          
+          a
+          b
+        
+        c
+      
+    
+times5.mml
+
+
+      
+        
+        
+          
+          2
+          x
+        
+        
+          
+          a
+          b
+        
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+        
+          
+          2
+          x
+        
+        
+          
+          a
+          b
+        
+      
+    
+times6.mml
+
+
+      
+        
+        x
+        
+          
+          y
+          z
+        
+        z
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+        x
+        
+          
+          y
+          z
+        
+        z
+      
+    
+times7.mml
+
+
+      
+        
+        
+          
+          x
+          
+            
+            a
+            b
+          
+        
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+        
+          
+          x
+          
+            
+            a
+            b
+          
+        
+      
+    
+
+xor
+rec-xor1.mml
+
+ 
+       
+         
+         a  
+         b  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         a  
+         b  
+       
+    
+
+
+BasicContentElements
+apply
+rec-apply1.mml
+
+ 
+       
+         
+        3 
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        3 
+       
+    
+rec-apply2.mml
+
+ 
+       
+         
+        3 
+        4 
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        3 
+        4 
+       
+    
+rec-apply3.mml
+
+ 
+       
+         
+        x 
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        x 
+       
+    
+rec-apply4.mml
+
+ 
+       
+         
+           
+           
+           
+         
+        x 
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+           
+           
+         
+        x 
+       
+    
+
+codomain
+rec-codomain1.mml
+
+ 
+       
+         
+         
+           
+           
+             f  
+           
+         
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           
+             f  
+           
+         
+         
+       
+    
+
+compose
+rec-compose1.mml
+
+ 
+       
+         
+         
+           f  
+         
+         
+           g  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           f  
+         
+         
+           g  
+         
+       
+    
+rec-compose2.mml
+
+ 
+       
+         
+         f  
+         g  
+         h  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         f  
+         g  
+         h  
+       
+    
+rec-compose3.mml
+
+ 
+       
+         
+           
+           
+             f  
+           
+           
+             g  
+           
+         
+         x  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+           
+             f  
+           
+           
+             g  
+           
+         
+         x  
+       
+    
+rec-compose4.mml
+
+ 
+       
+         
+           f  
+         
+         
+           
+             g  
+           
+           x  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           f  
+         
+         
+           
+             g  
+           
+           x  
+         
+       
+    
+
+condition
+rec-condition1.mml
+
+ 
+       
+         
+         
+           x  
+         
+         
+           
+             
+             
+               
+               x  
+               0  
+             
+             
+               
+               x  
+               1  
+             
+           
+         
+         
+           
+           x  
+           
+             
+             x  
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           x  
+         
+         
+           
+             
+             
+               
+               x  
+               0  
+             
+             
+               
+               x  
+               1  
+             
+           
+         
+         
+           
+           x  
+           
+             
+             x  
+           
+         
+       
+    
+
+declare
+rec-declare1.mml
+
+ 
+       
+         V  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         V  
+       
+    
+rec-declare2.mml
+
+ 
+       
+         V  
+         
+           1  
+           2  
+           3  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         V  
+         
+           1  
+           2  
+           3  
+         
+       
+    
+rec-declare3.mml
+
+ 
+       
+         f  
+         
+           
+           F  
+           G  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         f  
+         
+           
+           F  
+           G  
+         
+       
+    
+rec-declare4.mml
+
+ 
+       
+         J  
+         
+           
+             x  
+           
+           
+             
+             x  
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         J  
+         
+           
+             x  
+           
+           
+             
+             x  
+           
+         
+       
+    
+rec-declare5.mml
+
+ 
+       
+         v  
+         
+           1  
+           2  
+           3  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         v  
+         
+           1  
+           2  
+           3  
+         
+       
+    
+
+domain
+rec-domain1.mml
+
+ 
+       
+         
+         
+           
+           
+             f  
+           
+         
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           
+             f  
+           
+         
+         
+       
+    
+
+domainofapplication
+rec-domainofapplication1.mml
+
+ 
+       
+         
+         
+           C  
+         
+         f  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           C  
+         
+         f  
+       
+    
+
+fn
+fn1.mml
+
+ 
+       
+         
+          f 
+         
+         
+           
+            g 
+           
+          x 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+          f 
+         
+         
+           
+            g 
+           
+          x 
+         
+       
+    
+fn4.mml
+
+
+      
+        
+           f 
+        
+         x 
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+           f 
+        
+         x 
+      
+    
+rec-fn2.mml
+
+ 
+       
+         L  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         L  
+       
+    
+rec-fn3.mml
+
+ 
+       
+         
+           
+             
+             f  
+             g  
+           
+         
+        z 
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+             
+             f  
+             g  
+           
+         
+        z 
+       
+    
+
+ident
+ident1.mml
+
+ 
+       
+         
+         
+           
+           
+             f  
+           
+           
+             
+             
+               f  
+             
+           
+         
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           
+             f  
+           
+           
+             
+             
+               f  
+             
+           
+         
+         
+       
+    
+rec-ident2.mml
+
+ 
+       
+         
+         
+           
+           
+             f  
+           
+           
+             
+             
+               f  
+             
+           
+         
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           
+             f  
+           
+           
+             
+             
+               f  
+             
+           
+         
+         
+       
+    
+
+image
+rec-image1.mml
+
+ 
+       
+         
+         
+           
+           
+         
+         
+          -1 
+           1  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           
+         
+         
+          -1 
+           1  
+         
+       
+    
+
+interval
+rec-interval1.mml
+
+ 
+       
+         a  
+         b  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         a  
+         b  
+       
+    
+rec-interval2.mml
+
+ 
+       
+         a  
+         b  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         a  
+         b  
+       
+    
+
+inverse
+rec-inverse1.mml
+
+ 
+       
+         
+         f  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         f  
+       
+    
+rec-inverse2.mml
+
+ 
+       
+         
+         f  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         f  
+       
+    
+rec-inverse3.mml
+
+ 
+       
+         
+           
+           a  
+         
+         A  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+           a  
+         
+         A  
+       
+    
+rec-inverse4.mml
+
+ 
+       
+         
+           
+           
+         
+         x  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+           
+         
+         x  
+       
+    
+
+lambda
+rec-lambda1.mml
+
+ 
+       
+         
+           x  
+         
+         
+           
+           
+             
+             x  
+             1  
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           x  
+         
+         
+           
+           
+             
+             x  
+             1  
+           
+         
+       
+    
+rec-lambda2.mml
+
+ 
+       
+         
+           b  
+         
+         
+           
+           
+             x  
+           
+           
+             a  
+           
+           
+             b  
+           
+           
+             
+               f  
+             
+             x  
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           b  
+         
+         
+           
+           
+             x  
+           
+           
+             a  
+           
+           
+             b  
+           
+           
+             
+               f  
+             
+             x  
+           
+         
+       
+    
+rec-lambda3.mml
+
+ 
+       
+         
+           x  
+         
+         3  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           x  
+         
+         3  
+       
+    
+
+piecewise
+rec-piecewise1.mml
+
+ 
+       
+         
+           0  
+           
+             
+             x  
+             0  
+           
+         
+         
+           x  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           0  
+           
+             
+             x  
+             0  
+           
+         
+         
+           x  
+         
+       
+    
+rec-piecewise2.mml
+
+ 
+       
+         
+           
+             
+             x  
+           
+           
+             
+             x  
+             0  
+           
+         
+         
+           0  
+           
+             
+             x  
+             0  
+           
+         
+         
+           x  
+           
+             
+             x  
+             0  
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+             
+             x  
+           
+           
+             
+             x  
+             0  
+           
+         
+         
+           0  
+           
+             
+             x  
+             0  
+           
+         
+         
+           x  
+           
+             
+             x  
+             0  
+           
+         
+       
+    
+
+reln
+rec-reln1.mml
+
+ 
+       
+         
+         a  
+         b  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         a  
+         b  
+       
+    
+rec-reln2.mml
+
+ 
+       
+         
+         a  
+         b  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         a  
+         b  
+       
+    
+rec-reln3.mml
+
+ 
+       
+         
+         a  
+         b  
+         c  
+         10  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         a  
+         b  
+         c  
+         10  
+       
+    
+
+
+Calculus
+bvar
+rec-bvar1.mml
+
+ 
+       
+         
+         
+           x  
+           
+             2  
+           
+         
+         
+           
+           x  
+           4  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           x  
+           
+             2  
+           
+         
+         
+           
+           x  
+           4  
+         
+       
+    
+rec-bvar2.mml
+
+ 
+       
+         
+         
+           x  
+         
+         
+           
+             
+             x  
+             D  
+           
+         
+         
+           f  
+           x  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           x  
+         
+         
+           
+             
+             x  
+             D  
+           
+         
+         
+           f  
+           x  
+         
+       
+    
+
+curl
+rec-curl1.mml
+
+ 
+       
+         
+         a  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         a  
+       
+    
+
+degree
+degree2.mml
+
+
+      
+        
+        
+           3 
+        
+         X 
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+        
+           3 
+        
+         X 
+      
+    
+rec-degree1.mml
+
+ 
+       
+         
+         
+           x  
+           
+             n  
+           
+         
+         
+           y  
+           
+             m  
+           
+         
+         
+           
+           
+             
+             x  
+             y  
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           x  
+           
+             n  
+           
+         
+         
+           y  
+           
+             m  
+           
+         
+         
+           
+           
+             
+             x  
+             y  
+           
+         
+       
+    
+
+diff
+rec-diff1.mml
+
+ 
+       
+         
+         g  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         g  
+       
+    
+rec-diff2.mml
+
+ 
+       
+         
+         
+           x  
+         
+         
+           f  
+           x  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           x  
+         
+         
+           f  
+           x  
+         
+       
+    
+
+divergence
+rec-divergence1.mml
+
+ 
+       
+         
+         a  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         a  
+       
+    
+rec-divergence2.mml
+
+ 
+       
+         
+         
+           V  
+         
+         
+           
+             
+             V  
+             0  
+           
+         
+         
+           
+           
+             
+             
+               S  
+             
+             a  
+           
+           V  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           V  
+         
+         
+           
+             
+             V  
+             0  
+           
+         
+         
+           
+           
+             
+             
+               S  
+             
+             a  
+           
+           V  
+         
+       
+    
+
+grad
+rec-grad1.mml
+
+ 
+       
+         
+         f  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         f  
+       
+    
+
+int
+int1.mml
+
+ 
+       
+         
+         
+          x 
+         
+         
+           
+            f 
+           
+          x 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+          x 
+         
+         
+           
+            f 
+           
+          x 
+         
+       
+    
+int2.mml
+
+ 
+       
+         
+         
+           x  
+         
+         
+           0  
+         
+         
+           a  
+         
+         
+           
+           a  
+           x  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           x  
+         
+         
+           0  
+         
+         
+           a  
+         
+         
+           
+           a  
+           x  
+         
+       
+    
+rec-int3.mml
+
+ 
+       
+         
+         
+           x  
+         
+         
+           0  
+         
+         
+           a  
+         
+         
+           f  
+           x  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           x  
+         
+         
+           0  
+         
+         
+           a  
+         
+         
+           f  
+           x  
+         
+       
+    
+rec-int4.mml
+
+ 
+       
+         
+         
+           x  
+         
+         
+           a  
+           b  
+         
+         
+           
+           x  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           x  
+         
+         
+           a  
+           b  
+         
+         
+           
+           x  
+         
+       
+    
+rec-int5.mml
+
+ 
+       
+         
+         
+           x  
+         
+         
+           
+             
+             x  
+             D  
+           
+         
+         
+           f  
+           x  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           x  
+         
+         
+           
+             
+             x  
+             D  
+           
+         
+         
+           f  
+           x  
+         
+       
+    
+rec-int6.mml
+
+
+       
+         
+         
+           x  
+         
+         
+           0  
+         
+         
+           a  
+         
+        
+           
+           1  
+           x  
+        
+      
+    ]]>
+
+is rendered as:
+    
+       
+         
+         
+           x  
+         
+         
+           0  
+         
+         
+           a  
+         
+        
+           
+           1  
+           x  
+        
+      
+    
+
+laplacian
+rec-laplacian1.mml
+
+ 
+       
+         
+         
+           
+           f  
+         
+         
+           
+           
+             
+             f  
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           f  
+         
+         
+           
+           
+             
+             f  
+           
+         
+       
+    
+
+lowlimit
+rec-lowlimit1.mml
+
+ 
+       
+         
+         
+           x  
+         
+         
+           a  
+         
+         
+           b  
+         
+         
+           f  
+           x  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           x  
+         
+         
+           a  
+         
+         
+           b  
+         
+         
+           f  
+           x  
+         
+       
+    
+
+partialdiff
+partialdiff1.mml
+
+ 
+       
+         
+         
+           x  
+           
+             2  
+           
+         
+         
+           y  
+         
+         
+           
+             f  
+           
+           x  
+           y  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           x  
+           
+             2  
+           
+         
+         
+           y  
+         
+         
+           
+             f  
+           
+           x  
+           y  
+         
+       
+    
+partialdiff2.mml
+
+ 
+       
+         
+         
+           x  
+           
+             n  
+           
+         
+         
+           y  
+           
+             m  
+           
+         
+         
+           
+           
+             
+             x  
+             y  
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           x  
+           
+             n  
+           
+         
+         
+           y  
+           
+             m  
+           
+         
+         
+           
+           
+             
+             x  
+             y  
+           
+         
+       
+    
+rec-partialdiff3.mml
+
+ 
+       
+         
+         
+           x  
+           
+             m  
+           
+         
+         
+           y  
+           
+             n  
+           
+         
+         
+           k  
+         
+         
+           f  
+           x  
+           y  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           x  
+           
+             m  
+           
+         
+         
+           y  
+           
+             n  
+           
+         
+         
+           k  
+         
+         
+           f  
+           x  
+           y  
+         
+       
+    
+rec-partialdiff4.mml
+
+ 
+       
+         
+         
+           x  
+         
+         
+           y  
+         
+         
+           f  
+           x  
+           y  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           x  
+         
+         
+           y  
+         
+         
+           f  
+           x  
+           y  
+         
+       
+    
+rec-partialdiff5.mml
+
+ 
+       
+         
+         
+          1 
+          1 
+          3 
+         
+        f 
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+          1 
+          1 
+          3 
+         
+        f 
+       
+    
+
+uplimit
+rec-uplimit1.mml
+
+ 
+       
+         
+         
+           x  
+         
+         
+           a  
+         
+         
+           b  
+         
+         
+           f  
+           x  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           x  
+         
+         
+           a  
+         
+         
+           b  
+         
+         
+           f  
+           x  
+         
+       
+    
+
+
+ConstantsAndSymbols
+complexes
+rec-complexes1.mml
+
+ 
+       
+         
+        17 
+          29 
+         
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        17 
+          29 
+         
+         
+       
+    
+
+emptyset
+rec-emptyset1.mml
+
+ 
+       
+         
+         
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+         
+       
+    
+
+eulergamma
+rec-eulergamma1.mml
+
+ 
+       
+    ]]>
+
+is rendered as:
+     
+       
+    
+
+exponentiale
+rec-exponentiale1.mml
+
+ 
+       
+         
+         
+           
+           
+         
+        1 
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           
+         
+        1 
+       
+    
+
+false
+rec-false1.mml
+
+ 
+       
+         
+         
+           
+           
+          P 
+         
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           
+          P 
+         
+         
+       
+    
+
+imaginaryi
+rec-imaginaryi1.mml
+
+ 
+       
+         
+         
+           
+           
+          2 
+         
+        -1 
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           
+          2 
+         
+        -1 
+       
+    
+
+infinity
+rec-infinity1.mml
+
+ 
+       
+    ]]>
+
+is rendered as:
+     
+       
+    
+
+integers
+rec-integers1.mml
+
+ 
+       
+         
+         42  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         42  
+         
+       
+    
+
+naturalnumbers
+rec-naturalnumbers1.mml
+
+ 
+       
+         
+        1729 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        1729 
+         
+       
+    
+
+notanumber
+rec-notanumber1.mml
+
+ 
+       
+         
+         
+           
+          0 
+          0 
+         
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          0 
+          0 
+         
+         
+       
+    
+
+pi
+rec-pi1.mml
+
+ 
+       
+         
+         
+        22 
+          7 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+        22 
+          7 
+         
+       
+    
+
+primes
+rec-primes1.mml
+
+ 
+       
+         
+        17 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        17 
+         
+       
+    
+
+rationals
+rec-rationals1.mml
+
+ 
+       
+         
+         22 
+          7 
+         
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         22 
+          7 
+         
+         
+       
+    
+
+reals
+rec-reals1.mml
+
+ 
+       
+         
+         44.997  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         44.997  
+         
+       
+    
+
+true
+rec-true1.mml
+
+ 
+       
+         
+         
+           
+           
+          P 
+         
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           
+          P 
+         
+         
+       
+    
+
+
+ElementaryFunctions
+arccos
+arccos1.mml
+
+ 
+       
+         
+        π 
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        π 
+       
+    
+arccos2.mml
+
+ 
+       
+         
+         
+           
+          5 
+          π 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          5 
+          π 
+         
+       
+    
+arccos4.mml
+
+ 
+       
+         
+         
+           
+           
+             
+             
+               
+              2 
+              x 
+             
+             
+               
+              π 
+              2 
+             
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           
+             
+             
+               
+              2 
+              x 
+             
+             
+               
+              π 
+              2 
+             
+           
+         
+       
+    
+
+arccosh
+arccosh1.mml
+
+ 
+       
+         
+        π 
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        π 
+       
+    
+arccosh2.mml
+
+ 
+       
+         
+         
+           
+          5 
+          π 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          5 
+          π 
+         
+       
+    
+arccosh3.mml
+
+ 
+       
+         
+         
+           
+           
+             
+            5 
+            π 
+           
+          6 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           
+             
+            5 
+            π 
+           
+          6 
+         
+       
+    
+arccosh4.mml
+
+ 
+       
+         
+         
+           
+           
+             
+             
+               
+              2 
+              x 
+             
+             
+               
+              π 
+              2 
+             
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           
+             
+             
+               
+              2 
+              x 
+             
+             
+               
+              π 
+              2 
+             
+           
+         
+       
+    
+
+arccot
+arccot1.mml
+
+ 
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    
+arccot2.mml
+
+ 
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    
+arccot3.mml
+
+ 
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    
+
+arccoth
+arccoth1.mml
+
+ 
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    
+arccoth2.mml
+
+ 
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    
+arccoth3.mml
+
+ 
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    
+
+arccsc
+arccsc1.mml
+
+ 
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    
+arccsc2.mml
+
+ 
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    
+arccsc3.mml
+
+ 
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    
+
+arccsch
+arccsch1.mml
+
+ 
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    
+arccsch2.mml
+
+ 
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    
+arccsch3.mml
+
+ 
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    
+
+arcsec
+arcsec1.mml
+
+ 
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    
+arcsec2.mml
+
+ 
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    
+arcsec3.mml
+
+ 
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    
+
+arcsech
+arcsech1.mml
+
+ 
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    
+arcsech2.mml
+
+ 
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    
+arcsech3.mml
+
+ 
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    
+
+arcsin
+arcsin1.mml
+
+ 
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    
+arcsin2.mml
+
+ 
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    
+arcsin3.mml
+
+ 
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    
+factorial3.mml
+
+
+      
+         
+        
+           
+          
+             
+             x  
+             y  
+           
+         
+        
+           
+          2 
+          b 
+         
+      
+    ]]>
+
+is rendered as:
+    
+      
+         
+        
+           
+          
+             
+             x  
+             y  
+           
+         
+        
+           
+          2 
+          b 
+         
+      
+    
+
+arcsinh
+arcsinh1.mml
+
+ 
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    
+arcsinh2.mml
+
+ 
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    
+arcsinh3.mml
+
+ 
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    
+
+arctan
+arctan1.mml
+
+ 
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    
+arctan2.mml
+
+ 
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    
+arctan3.mml
+
+ 
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    
+
+arctanh
+arctanh1.mml
+
+ 
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    
+arctanh2.mml
+
+ 
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    
+arctanh3.mml
+
+ 
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    
+
+cos
+cos1.mml
+
+ 
+       
+         
+        π 
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        π 
+       
+    
+cos2.mml
+
+ 
+       
+         
+         
+           
+          5 
+          π 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          5 
+          π 
+         
+       
+    
+cos3.mml
+
+ 
+       
+         
+         
+           
+           
+             
+            5 
+            π 
+           
+          6 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           
+             
+            5 
+            π 
+           
+          6 
+         
+       
+    
+cos4.mml
+
+ 
+       
+         
+         
+           
+           
+             
+             
+               
+              2 
+              x 
+             
+             
+               
+              π 
+              2 
+             
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           
+             
+             
+               
+              2 
+              x 
+             
+             
+               
+              π 
+              2 
+             
+           
+         
+       
+    
+
+cosh
+cosh1.mml
+
+ 
+       
+         
+        π 
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        π 
+       
+    
+cosh2.mml
+
+ 
+       
+         
+         
+           
+          5 
+          π 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          5 
+          π 
+         
+       
+    
+cosh3.mml
+
+ 
+       
+         
+         
+           
+           
+             
+            5 
+            π 
+           
+          6 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           
+             
+            5 
+            π 
+           
+          6 
+         
+       
+    
+cosh4.mml
+
+ 
+       
+         
+         
+           
+           
+             
+             
+               
+              2 
+              x 
+             
+             
+               
+              π 
+              2 
+             
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           
+             
+             
+               
+              2 
+              x 
+             
+             
+               
+              π 
+              2 
+             
+           
+         
+       
+    
+
+cot
+cot1.mml
+
+ 
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    
+cot2.mml
+
+ 
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    
+cot3.mml
+
+ 
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    
+
+coth
+coth1.mml
+
+ 
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    
+coth2.mml
+
+ 
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    
+coth3.mml
+
+ 
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    
+
+csc
+csc1.mml
+
+ 
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    
+csc2.mml
+
+ 
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    
+csc3.mml
+
+ 
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    
+
+csch
+csch1.mml
+
+ 
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    
+csch2.mml
+
+ 
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    
+csch3.mml
+
+ 
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    
+
+exp
+exp1.mml
+
+ 
+       
+         
+         
+           
+          x 
+          j 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          x 
+          j 
+         
+       
+    
+exp2.mml
+
+ 
+       
+         
+         
+           
+           
+             
+            x 
+            j 
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           
+             
+            x 
+            j 
+           
+         
+       
+    
+rec-exp3.mml
+
+ 
+       
+         
+         x  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         x  
+       
+    
+
+ln
+rec-ln1.mml
+
+ 
+       
+         
+         a  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         a  
+       
+    
+
+log
+log1.mml
+
+ 
+       
+         
+         
+           3  
+         
+         
+           
+           x  
+           y  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           3  
+         
+         
+           
+           x  
+           y  
+         
+       
+    
+rec-log2.mml
+
+ 
+       
+         
+         
+           3  
+         
+         x  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           3  
+         
+         x  
+       
+    
+
+rec-trig1.mml
+
+ 
+       
+         
+         
+           
+           
+             
+             x  
+             3  
+           
+           
+             
+             x  
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           
+             
+             x  
+             3  
+           
+           
+             
+             x  
+           
+         
+       
+    
+rec-trig2.mml
+
+ 
+       
+         
+         
+           
+           
+             
+             x  
+           
+           
+             
+             x  
+             3  
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           
+             
+             x  
+           
+           
+             
+             x  
+             3  
+           
+         
+       
+    
+sec
+sec1.mml
+
+ 
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    
+sec2.mml
+
+ 
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    
+sec3.mml
+
+ 
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    
+
+sech
+sech1.mml
+
+ 
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    
+sech2.mml
+
+ 
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    
+sech3.mml
+
+ 
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    
+
+sin
+factorial3.mml
+
+
+      
+         
+        
+           
+          
+             
+             x  
+             y  
+           
+         
+        
+           
+          2 
+          b 
+         
+      
+    ]]>
+
+is rendered as:
+    
+      
+         
+        
+           
+          
+             
+             x  
+             y  
+           
+         
+        
+           
+          2 
+          b 
+         
+      
+    
+sin1.mml
+
+ 
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    
+sin2.mml
+
+ 
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    
+sin3.mml
+
+ 
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    
+
+sinh
+sinh1.mml
+
+ 
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    
+sinh2.mml
+
+ 
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    
+sinh3.mml
+
+ 
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    
+
+tan
+tan1.mml
+
+ 
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    
+tan2.mml
+
+ 
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    
+tan3.mml
+
+ 
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    
+
+tanh
+tanh1.mml
+
+ 
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          a 
+          b 
+         
+       
+    
+tanh2.mml
+
+ 
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          x 
+           
+             
+            y 
+            z 
+           
+           z  
+         
+       
+    
+tanh3.mml
+
+ 
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        1 
+         
+           
+          t 
+         
+       
+    
+
+trigonometry_3.mml
+
+ 
+       
+         
+         
+           
+           
+             
+             
+               
+               x  
+               y  
+             
+           
+           
+             
+            2 
+            b 
+           
+         
+         
+           
+           
+             
+            x 
+            y 
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           
+             
+             
+               
+               x  
+               y  
+             
+           
+           
+             
+            2 
+            b 
+           
+         
+         
+           
+           
+             
+            x 
+            y 
+           
+         
+       
+    
+trigonometry_4.mml
+
+ 
+       
+         
+         
+           
+          x 
+         
+         
+           
+          x 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          x 
+         
+         
+           
+          x 
+         
+       
+    
+trigonometry_5.mml
+
+ 
+       
+         
+         
+           
+          t 
+         
+         
+           
+          t 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          t 
+         
+         
+           
+          t 
+         
+       
+    
+trigonometry_6.mml
+
+ 
+       
+         
+         
+           
+           
+             
+            x 
+           
+           
+             
+            x 
+           
+         
+        2 
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           
+             
+            x 
+           
+           
+             
+            x 
+           
+         
+        2 
+       
+    
+trigonometry_7.mml
+
+ 
+       
+         
+         
+           
+          1 
+           
+             
+            x 
+           
+         
+         
+           
+          x 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          1 
+           
+             
+            x 
+           
+         
+         
+           
+          x 
+         
+       
+    
+trigonometry_8.mml
+
+ 
+       
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+         
+           
+           x  
+         
+       
+    
+
+LinearAlgebra
+determinant
+rec-determinant1.mml
+
+ 
+       
+         
+         A  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         A  
+       
+    
+
+matrix
+inverse1.mml
+
+
+      
+        
+          
+           a 
+        
+         A 
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+          
+           a 
+        
+         A 
+      
+    
+matrix3.mml
+
+ 
+       
+         
+           c  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           c  
+         
+       
+    
+rec-matrix1.mml
+
+ 
+       
+         
+           0  
+           1  
+           0  
+         
+         
+           0  
+           0  
+           1  
+         
+         
+           1  
+           0  
+           0  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           0  
+           1  
+           0  
+         
+         
+           0  
+           0  
+           1  
+         
+         
+           1  
+           0  
+           0  
+         
+       
+    
+rec-matrix2.mml
+
+ 
+       
+         
+           1  
+           2  
+         
+         
+           3  
+           4  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           1  
+           2  
+         
+         
+           3  
+           4  
+         
+       
+    
+rec-matrix3.mml
+
+ 
+       
+         
+          0 
+          1 
+          0 
+          0 
+         
+         
+          0 
+          0 
+          1 
+          0 
+         
+         
+          1 
+          0 
+          0 
+          0 
+         
+      
+    ]]>
+
+is rendered as:
+     
+       
+         
+          0 
+          1 
+          0 
+          0 
+         
+         
+          0 
+          0 
+          1 
+          0 
+         
+         
+          1 
+          0 
+          0 
+          0 
+         
+      
+    
+
+outerproduct
+rec-outerproduct1.mml
+
+ 
+       
+         
+        A 
+        B 
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        A 
+        B 
+       
+    
+
+scalarproduct
+rec-scalarproduct1.mml
+
+ 
+       
+         
+         
+           
+           A  
+          B 
+         
+         
+           
+           a  
+           b  
+           
+             
+             θ  
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           A  
+          B 
+         
+         
+           
+           a  
+           b  
+           
+             
+             θ  
+           
+         
+       
+    
+
+selector
+rec-selector1.mml
+
+ 
+       
+         
+         
+           
+             1  
+             2  
+           
+           
+             3  
+             4  
+           
+         
+         1  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+             1  
+             2  
+           
+           
+             3  
+             4  
+           
+         
+         1  
+       
+    
+rec-selector2.mml
+
+ 
+       
+         
+         A  
+         3  
+         2  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         A  
+         3  
+         2  
+       
+    
+
+transpose
+rec-transpose1.mml
+
+ 
+       
+         
+         A  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         A  
+       
+    
+
+vector
+rec-vector1.mml
+
+ 
+       
+         1  
+         2  
+         3  
+         x  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         1  
+         2  
+         3  
+         x  
+       
+    
+rec-vector2.mml
+
+ 
+       
+         
+           
+           x  
+           y  
+         
+         3  
+         7  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+           x  
+           y  
+         
+         3  
+         7  
+       
+    
+vector3.mml
+
+ 
+       
+         c  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         c  
+       
+    
+
+vectorproduct
+rec-vectorproduct1.mml
+
+ 
+       
+         
+         
+           
+           A  
+           B  
+         
+         
+           
+           a  
+           b  
+           
+             
+             θ  
+           
+           N  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           A  
+           B  
+         
+         
+           
+           a  
+           b  
+           
+             
+             θ  
+           
+           N  
+         
+       
+    
+
+
+Relations
+approx
+rec-approx1.mml
+
+ 
+       
+         
+         22 
+           7 
+         
+         π  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         22 
+           7 
+         
+         π  
+       
+    
+
+eq
+eq2.mml
+
+
+      
+        
+         a 
+         b 
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+         a 
+         b 
+      
+    
+rec-eq1.mml
+
+ 
+       
+         
+         a  
+         b  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         a  
+         b  
+       
+    
+
+equivalent
+rec-equivalent1.mml
+
+ 
+       
+         
+         a  
+         
+           
+           
+             
+             a  
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         a  
+         
+           
+           
+             
+             a  
+           
+         
+       
+    
+
+factorof
+rec-factorof1.mml
+
+ 
+       
+         
+         a  
+         b  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         a  
+         b  
+       
+    
+
+geq
+geq2.mml
+
+
+      
+        
+         a 
+         b 
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+         a 
+         b 
+      
+    
+rec-geq1.mml
+
+ 
+       
+         
+         a  
+         b  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         a  
+         b  
+       
+    
+
+gt
+gt2.mml
+
+
+      
+        
+         a 
+         b 
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+         a 
+         b 
+      
+    
+rec-gt1.mml
+
+ 
+       
+         
+         a  
+         b  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         a  
+         b  
+       
+    
+
+leq
+rec-leq1.mml
+
+ 
+       
+         
+         a  
+         b  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         a  
+         b  
+       
+    
+
+lt
+lt2.mml
+
+
+      
+        
+         a 
+         b 
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+         a 
+         b 
+      
+    
+rec-lt1.mml
+
+ 
+       
+         
+         a  
+         b  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         a  
+         b  
+       
+    
+
+neq
+neq2.mml
+
+ 
+       
+         
+         a  
+         b  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         a  
+         b  
+       
+    
+rec-neq1.mml
+
+ 
+       
+         
+         a  
+         b  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         a  
+         b  
+       
+    
+
+
+SemanticMappingElements
+annotation
+rec-annotation1.mml
+
+ 
+       
+         
+           
+           
+             
+             x  
+           
+           5  
+         
+        \sin x + 5 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+           
+             
+             x  
+           
+           5  
+         
+        \sin x + 5 
+         
+       
+    
+
+
+SequencesAndSeries
+limit
+limit1.mml
+
+ 
+       
+         
+         
+           x  
+         
+         
+           
+             
+             x  
+             a  
+           
+         
+         
+           
+           x  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           x  
+         
+         
+           
+             
+             x  
+             a  
+           
+         
+         
+           
+           x  
+         
+       
+    
+limit2.mml
+
+ 
+       
+         
+         
+           x  
+         
+         
+           
+             
+             x  
+             a  
+           
+         
+         
+           
+           x  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           x  
+         
+         
+           
+             
+             x  
+             a  
+           
+         
+         
+           
+           x  
+         
+       
+    
+limit3.mml
+
+ 
+       
+         
+         
+           x  
+         
+         
+           
+             
+             x  
+             a  
+           
+         
+         
+           
+           
+             
+             x  
+             y  
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           x  
+         
+         
+           
+             
+             x  
+             a  
+           
+         
+         
+           
+           
+             
+             x  
+             y  
+           
+         
+       
+    
+limit4.mml
+
+ 
+       
+         
+         
+           x  
+         
+         
+           
+             
+             x  
+             a  
+           
+         
+         
+           
+           
+             
+             x  
+             y  
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           x  
+         
+         
+           
+             
+             x  
+             a  
+           
+         
+         
+           
+           
+             
+             x  
+             y  
+           
+         
+       
+    
+limit5.mml
+
+ 
+       
+         
+         
+           x  
+         
+         
+           
+             
+             x  
+             a  
+           
+         
+         
+           
+           
+             
+             
+               
+               x  
+               y  
+             
+           
+           
+             
+            2 
+            b 
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           x  
+         
+         
+           
+             
+             x  
+             a  
+           
+         
+         
+           
+           
+             
+             
+               
+               x  
+               y  
+             
+           
+           
+             
+            2 
+            b 
+           
+         
+       
+    
+limit6.mml
+
+ 
+       
+         
+         
+           x  
+         
+         
+           
+             
+             x  
+             a  
+           
+         
+         
+           
+           
+             
+             
+               
+               x  
+               y  
+             
+           
+           
+             
+            2 
+            b 
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           x  
+         
+         
+           
+             
+             x  
+             a  
+           
+         
+         
+           
+           
+             
+             
+               
+               x  
+               y  
+             
+           
+           
+             
+            2 
+            b 
+           
+         
+       
+    
+limit7.mml
+
+ 
+       
+         
+         
+           x  
+         
+         
+           0  
+         
+         
+           
+           x  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           x  
+         
+         
+           0  
+         
+         
+           
+           x  
+         
+       
+    
+rec-limit8.mml
+
+ 
+       
+         
+         
+           x  
+         
+         
+           0  
+         
+         
+           
+           x  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           x  
+         
+         
+           0  
+         
+         
+           
+           x  
+         
+       
+    
+rec-limit9.mml
+
+ 
+       
+         
+         
+           x  
+         
+         
+           
+             
+             x  
+             a  
+           
+         
+         
+           
+           x  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           x  
+         
+         
+           
+             
+             x  
+             a  
+           
+         
+         
+           
+           x  
+         
+       
+    
+
+product
+product1.mml
+
+ 
+       
+         
+         
+           x  
+         
+         
+           a  
+         
+         
+           b  
+         
+         
+           
+             f  
+           
+           x  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           x  
+         
+         
+           a  
+         
+         
+           b  
+         
+         
+           
+             f  
+           
+           x  
+         
+       
+    
+product2.mml
+
+ 
+       
+         
+         
+           x  
+         
+         
+           
+             
+             x  
+             B  
+           
+         
+         
+           
+             f  
+           
+           x  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           x  
+         
+         
+           
+             
+             x  
+             B  
+           
+         
+         
+           
+             f  
+           
+           x  
+         
+       
+    
+rec-product3.mml
+
+ 
+       
+         
+         
+           x  
+         
+         
+           a  
+         
+         
+           b  
+         
+         
+           f  
+           x  
+         
+       
+       
+         
+         
+           x  
+         
+         
+           
+             
+             x  
+             B  
+           
+         
+         
+           f  
+           x  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           x  
+         
+         
+           a  
+         
+         
+           b  
+         
+         
+           f  
+           x  
+         
+       
+       
+         
+         
+           x  
+         
+         
+           
+             
+             x  
+             B  
+           
+         
+         
+           f  
+           x  
+         
+       
+    
+
+sum
+rec-sum1.mml
+
+ 
+       
+         
+         
+           x  
+         
+         
+           a  
+         
+         
+           b  
+         
+         
+           f  
+           x  
+         
+       
+       
+         
+         
+           x  
+         
+         
+           
+             
+             x  
+             B  
+           
+         
+         
+           f  
+           x  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           x  
+         
+         
+           a  
+         
+         
+           b  
+         
+         
+           f  
+           x  
+         
+       
+       
+         
+         
+           x  
+         
+         
+           
+             
+             x  
+             B  
+           
+         
+         
+           f  
+           x  
+         
+       
+    
+sum2.mml
+
+ 
+       
+         
+         
+           x  
+         
+         
+           a  
+         
+         
+           b  
+         
+         
+           
+             f  
+           
+           x  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           x  
+         
+         
+           a  
+         
+         
+           b  
+         
+         
+           
+             f  
+           
+           x  
+         
+       
+    
+sum3.mml
+
+ 
+       
+         
+         
+           x  
+         
+         
+           
+             
+             x  
+             B  
+           
+         
+         
+           
+             f  
+           
+           x  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           x  
+         
+         
+           
+             
+             x  
+             B  
+           
+         
+         
+           
+             f  
+           
+           x  
+         
+       
+    
+
+tendsto
+rec-tendsto1.mml
+
+ 
+       
+         
+         
+           
+           x  
+           2  
+         
+         
+           
+           a  
+           2  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           x  
+           2  
+         
+         
+           
+           a  
+           2  
+         
+       
+    
+rec-tendsto2.mml
+
+ 
+       
+         
+         
+           x  
+           y  
+         
+         
+           
+             f  
+             x  
+             y  
+           
+           
+             g  
+             x  
+             y  
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           x  
+           y  
+         
+         
+           
+             f  
+             x  
+             y  
+           
+           
+             g  
+             x  
+             y  
+           
+         
+       
+    
+tendsto3.mml
+
+ 
+       
+         
+         
+           
+           x  
+           2  
+         
+         
+           
+           a  
+           2  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           x  
+           2  
+         
+         
+           
+           a  
+           2  
+         
+       
+    
+tendsto4.mml
+
+ 
+       
+         
+         
+           x  
+           y  
+         
+         
+           
+             
+               f  
+             
+             x  
+             y  
+           
+           
+             
+               g  
+             
+             x  
+             y  
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           x  
+           y  
+         
+         
+           
+             
+               f  
+             
+             x  
+             y  
+           
+           
+             
+               g  
+             
+             x  
+             y  
+           
+         
+       
+    
+tendsto5.mml
+
+ 
+       
+         
+         
+           
+           x  
+           2  
+         
+         
+           
+           a  
+           2  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           x  
+           2  
+         
+         
+           
+           a  
+           2  
+         
+       
+    
+tendsto6.mml
+
+ 
+       
+         
+         
+           
+           x  
+           2  
+         
+         
+           
+           a  
+           2  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           x  
+           2  
+         
+         
+           
+           a  
+           2  
+         
+       
+    
+tendsto7.mml
+
+ 
+       
+         
+         
+           
+           x  
+           2  
+         
+         
+           
+           a  
+           2  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           x  
+           2  
+         
+         
+           
+           a  
+           2  
+         
+       
+    
+tendsto8.mml
+
+ 
+       
+         
+         
+           
+           x  
+           2  
+         
+         
+           
+           a  
+           2  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           x  
+           2  
+         
+         
+           
+           a  
+           2  
+         
+       
+    
+tendsto9.mml
+
+ 
+       
+         
+         
+           
+           x  
+           2  
+         
+         
+           
+           a  
+           2  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           x  
+           2  
+         
+         
+           
+           a  
+           2  
+         
+       
+    
+
+
+Statistics
+mean
+rec-mean1.mml
+
+ 
+       
+         
+         X  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         X  
+       
+    
+
+median
+rec-median1.mml
+
+ 
+       
+         
+         X  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         X  
+       
+    
+
+mode
+rec-mode1.mml
+
+ 
+       
+         
+         X  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         X  
+       
+    
+
+moment
+rec-moment1.mml
+
+ 
+       
+         
+         
+           3  
+         
+         
+          0 
+         
+         X  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           3  
+         
+         
+          0 
+         
+         X  
+       
+    
+rec-moment2.mml
+
+ 
+       
+         
+         
+           3  
+         
+         
+           p  
+         
+         
+           X  
+           Y  
+           Z  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           3  
+         
+         
+           p  
+         
+         
+           X  
+           Y  
+           Z  
+         
+       
+    
+
+momentabout
+rec-momentabout1.mml
+
+ 
+       
+         
+         
+           3  
+         
+         
+           p  
+         
+         X  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           3  
+         
+         
+           p  
+         
+         X  
+       
+    
+
+sdev
+rec-sdev1.mml
+
+ 
+       
+         
+         X  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         X  
+       
+    
+
+variance
+rec-variance1.mml
+
+ 
+       
+         
+         X  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         X  
+       
+    
+
+
+TheoryOfSets
+card
+rec-card1.mml
+
+ 
+       
+         
+         
+           
+           A  
+         
+         5  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           A  
+         
+         5  
+       
+    
+
+cartesianproduct
+rec-cartesianproduct1.mml
+
+ 
+       
+         
+         A  
+         B  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         A  
+         B  
+       
+    
+rec-cartesianproduct2.mml
+
+ 
+       
+         
+         
+         
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+         
+         
+       
+    
+
+equation1.mml
+
+ 
+       
+         
+         
+           
+          A 
+          B 
+         
+         
+           
+           
+             
+            A 
+            C 
+           
+           
+             
+            B 
+            C 
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          A 
+          B 
+         
+         
+           
+           
+             
+            A 
+            C 
+           
+           
+             
+            B 
+            C 
+           
+         
+       
+    
+in
+in2.mml
+
+ 
+       
+         
+         x  
+         R  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         x  
+         R  
+       
+    
+in3.mml
+
+ 
+       
+         
+         x  
+         R  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         x  
+         R  
+       
+    
+rec-in1.mml
+
+ 
+       
+         
+         a  
+         A  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         a  
+         A  
+       
+    
+
+intersect
+intersect1.mml
+
+ 
+       
+         
+         A  
+         
+           
+           B  
+           C  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         A  
+         
+           
+           B  
+           C  
+         
+       
+    
+rec-intersect2.mml
+
+ 
+       
+         
+         A  
+         B  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         A  
+         B  
+       
+    
+
+list
+list-empty.mml
+
+ 
+        
+    ]]>
+
+is rendered as:
+     
+        
+    
+list3.mml
+
+ 
+       
+         c  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         c  
+       
+    
+rec-list1.mml
+
+ 
+       
+         a  
+         b  
+         c  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         a  
+         b  
+         c  
+       
+    
+rec-list2.mml
+
+ 
+       
+         
+           x  
+         
+         
+           
+             
+             x  
+             5  
+           
+         
+         x  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           x  
+         
+         
+           
+             
+             x  
+             5  
+           
+         
+         x  
+       
+    
+
+notin
+notin2.mml
+
+
+      
+        
+         a 
+         A 
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+         a 
+         A 
+      
+    
+rec-notin1.mml
+
+ 
+       
+         
+         a  
+         A  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         a  
+         A  
+       
+    
+
+notprsubset
+notprsubset2.mml
+
+
+      
+        
+         A 
+         B 
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+         A 
+         B 
+      
+    
+rec-notprsubset1.mml
+
+ 
+       
+         
+         A  
+         B  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         A  
+         B  
+       
+    
+
+notsubset
+notsubset2.mml
+
+
+      
+        
+         A 
+         B 
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+         A 
+         B 
+      
+    
+rec-notsubset1.mml
+
+ 
+       
+         
+         A  
+         B  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         A  
+         B  
+       
+    
+
+prsubset
+prsubset2.mml
+
+
+      
+        
+         A 
+         B 
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+         A 
+         B 
+      
+    
+rec-prsubset1.mml
+
+ 
+       
+         
+         A  
+         B  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         A  
+         B  
+       
+    
+
+set
+rec-set1.mml
+
+ 
+       
+         b  
+         a  
+         c  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         b  
+         a  
+         c  
+       
+    
+rec-set2.mml
+
+ 
+       
+         
+           x  
+         
+         
+           
+             
+             
+               
+               x  
+               5  
+             
+             
+               
+               x  
+               
+             
+           
+         
+         x  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           x  
+         
+         
+           
+             
+             
+               
+               x  
+               5  
+             
+             
+               
+               x  
+               
+             
+           
+         
+         x  
+       
+    
+set-empty.mml
+
+ 
+        
+    ]]>
+
+is rendered as:
+     
+        
+    
+set3.mml
+
+ 
+       
+         4.56  
+         4.56  
+         4 
+           5 
+         
+         4 
+           5 
+         
+         4.56 
+           4.56 
+         
+         π  
+         
+         
+         
+         
+         γ  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         4.56  
+         4.56  
+         4 
+           5 
+         
+         4 
+           5 
+         
+         4.56 
+           4.56 
+         
+         π  
+         
+         
+         
+         
+         γ  
+         
+       
+    
+set4.mml
+
+ 
+       
+         
+           x  
+         
+         
+           
+             
+             x  
+             5  
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           x  
+         
+         
+           
+             
+             x  
+             5  
+           
+         
+       
+    
+set5.mml
+
+ 
+       
+         
+          a 
+          d 
+         
+         
+          x 
+          y 
+          z 
+         
+         
+          0 
+          2 
+          6 
+          8 
+          9 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+          a 
+          d 
+         
+         
+          x 
+          y 
+          z 
+         
+         
+          0 
+          2 
+          6 
+          8 
+          9 
+         
+       
+    
+set6.mml
+
+ 
+       
+         c  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         c  
+       
+    
+
+setdiff
+rec-setdiff1.mml
+
+ 
+       
+         
+         A  
+         B  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         A  
+         B  
+       
+    
+
+subset
+rec-subset1.mml
+
+ 
+       
+         
+         A  
+         B  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         A  
+         B  
+       
+    
+subset2.mml
+
+
+      
+        
+         A 
+         B 
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+         A 
+         B 
+      
+    
+
+union
+rec-union1.mml
+
+ 
+       
+         
+         A  
+         B  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         A  
+         B  
+       
+    
+union2.mml
+
+ 
+       
+         
+         
+           
+          A 
+          B 
+         
+         
+           
+          C 
+          D 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          A 
+          B 
+         
+         
+           
+          C 
+          D 
+         
+       
+    
+union3.mml
+
+ 
+       
+         
+         
+           
+          A 
+          φ 
+         
+        A 
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+          A 
+          φ 
+         
+        A 
+       
+    
+
+
+TokenElements
+ci
+ci4.mml
+
+ 
+       
+         
+         x  
+         x  
+         x  
+         y  
+         θ  
+         v  
+         π  
+         
+         
+         
+         
+         γ  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         x  
+         x  
+         x  
+         y  
+         θ  
+         v  
+         π  
+         
+         
+         
+         
+         γ  
+         
+       
+    
+rec-ci1.mml
+
+ 
+       x  
+    ]]>
+
+is rendered as:
+     
+       x  
+    
+rec-ci2.mml
+
+ 
+       V  
+    ]]>
+
+is rendered as:
+     
+       V  
+    
+rec-ci3.mml
+
+ 
+       
+         
+          x 
+          a 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+          x 
+          a 
+         
+       
+    
+
+cn
+cn2.mml
+
+ 
+       
+         
+         4.56  
+         4.56  
+         4 
+           5 
+         
+         4 
+           5 
+         
+         4.56 
+           4.56 
+         
+         π  
+         
+         
+         
+         
+         γ  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         4.56  
+         4.56  
+         4 
+           5 
+         
+         4 
+           5 
+         
+         4.56 
+           4.56 
+         
+         π  
+         
+         
+         
+         
+         γ  
+         
+       
+    
+rec-cn1.mml
+
+ 
+       
+         12345.7  
+         12345  
+         AB3  
+         12342  2342342  
+         12.3  5  
+         2  3.1415  
+         π  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         12345.7  
+         12345  
+         AB3  
+         12342  2342342  
+         12.3  5  
+         2  3.1415  
+         π  
+       
+    
+
+csymbol
+rec-csymbol1.mml
+
+ 
+       
+       
+         
+           
+            J 
+            0 
+           
+         
+        y 
+       
+    ]]>
+
+is rendered as:
+     
+       
+       
+         
+           
+            J 
+            0 
+           
+         
+        y 
+       
+    
+rec-csymbol2.mml
+
+ 
+       
+         BigK 
+         
+        x 
+        y 
+       
+    ]]>
+
+is rendered as:
+     
+       
+         BigK 
+         
+        x 
+        y 
+       
+    
+rec-csymbol3.mml
+
+ 
+       
+       k 
+       
+    ]]>
+
+is rendered as:
+     
+       
+       k 
+       
+    
+
+
+
+General
+GenAttribs
+attribQuote1.mml
+
+ 
+      A 
+      + 
+      A
+    ]]>
+
+is rendered as:
+     
+      A 
+      + 
+      A
+    
+class1.mml
+
+
+      x
+    ]]>
+
+is rendered as:
+    
+      x
+    
+class2.mml
+
+
+      
+        x
+        2
+      
+    ]]>
+
+is rendered as:
+    
+      
+        x
+        2
+      
+    
+id1.mml
+
+
+      2
+      +
+      x
+    ]]>
+
+is rendered as:
+    
+      2
+      +
+      x
+    
+id2.mml
+
+
+      
+        
+         a 
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+         a 
+      
+    
+style1.mml
+
+ 
+      2 
+    ]]>
+
+is rendered as:
+     
+      2 
+    
+style2.mml
+
+ 
+       
+        2 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+        2 
+         
+       
+    
+xref1.mml
+
+ 
+      2 
+    ]]>
+
+is rendered as:
+     
+      2 
+    
+
+Math
+emptymath2.mml
+
+ ]]>
+
+is rendered as:
+     
+math1.mml
+
+
+      x
+    ]]>
+
+is rendered as:
+    
+      x
+    
+math3.mml
+
+ 
+      2 
+      x 
+    ]]>
+
+is rendered as:
+     
+      2 
+      x 
+    
+mathAdisplay1.mml
+
+ 
+       
+        x 
+        y 
+       
+     
+     
+       
+        x 
+        y 
+       
+    ]]>
+
+is rendered as:
+     
+       
+        x 
+        y 
+       
+     
+     
+       
+        x 
+        y 
+       
+    
+mathAdisplay2.mml
+
+
+      
+        x
+        y
+      
+    
+    
+      
+        x
+        y
+      
+    ]]>
+
+is rendered as:
+    
+      
+        x
+        y
+      
+    
+    
+      
+        x
+        y
+      
+    
+mathAmacros1.mml
+
+
+      
+        x
+        y
+      
+    ]]>
+
+is rendered as:
+    
+      
+        x
+        y
+      
+    
+mathAmode1.mml
+
+
+      
+        x
+        y
+      
+    
+    
+      
+        x
+        y
+      
+    ]]>
+
+is rendered as:
+    
+      
+        x
+        y
+      
+    
+    
+      
+        x
+        y
+      
+    
+
+
+Presentation
+DynamicExpressions
+maction
+mactionBhigh1.mml
+
+ 
+       
+         
+          x 
+          2 
+         
+       
+      + 
+      2 
+    ]]>
+
+is rendered as:
+     
+       
+         
+          x 
+          2 
+         
+       
+      + 
+      2 
+    
+mactionBstatus1.mml
+
+
+       
+         
+          2 
+          + 
+          x 
+         
+        Add 2 to the value of x
+      
+    ]]>
+
+is rendered as:
+    
+       
+         
+          2 
+          + 
+          x 
+         
+        Add 2 to the value of x
+      
+    
+mactionBtoggle1.mml
+
+
+       
+         
+           
+            x 
+            2 
+           
+          + 
+          2 
+         
+         
+           
+            x 
+            2 
+           
+          + 
+           
+            2 
+            2 
+           
+         
+         
+           
+             
+              x 
+              + 
+              2 
+             
+            2 
+           
+        
+      
+    ]]>
+
+is rendered as:
+    
+       
+         
+           
+            x 
+            2 
+           
+          + 
+          2 
+         
+         
+           
+            x 
+            2 
+           
+          + 
+           
+            2 
+            2 
+           
+         
+         
+           
+             
+              x 
+              + 
+              2 
+             
+            2 
+           
+        
+      
+    
+mactionBtooltip1.mml
+
+
+       
+         
+          y 
+          x 
+         
+        Divide y by x
+      
+    ]]>
+
+is rendered as:
+    
+       
+         
+          y 
+          x 
+         
+        Divide y by x
+      
+    
+
+
+GeneralLayout
+menclose
+rec-enclose1.mml
+
+ 
+       
+         
+            
+           
+            10 
+           
+         
+         
+           
+            131 
+           
+           
+             
+              1413 
+             
+           
+         
+         
+            
+           
+             
+               
+                131 
+                 ̲  
+               
+               
+                3 
+               
+             
+           
+         
+         
+            
+           
+            103 
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+            
+           
+            10 
+           
+         
+         
+           
+            131 
+           
+           
+             
+              1413 
+             
+           
+         
+         
+            
+           
+             
+               
+                131 
+                 ̲  
+               
+               
+                3 
+               
+             
+           
+         
+         
+            
+           
+            103 
+           
+         
+       
+    
+rec-enclose2.mml
+
+
+     
+      a 
+       
+         
+          n 
+         
+         
+        i 
+      
+    
+    ]]>
+
+is rendered as:
+    
+     
+      a 
+       
+         
+          n 
+         
+         
+        i 
+      
+    
+    
+rec-enclose3.mml
+
+ 
+       
+        x 
+       
+    ]]>
+
+is rendered as:
+     
+       
+        x 
+       
+    
+
+merror
+merror1.mml
+
+ 
+       
+           x  
+           = 
+           2  
+       
+    ]]>
+
+is rendered as:
+     
+       
+           x  
+           = 
+           2  
+       
+    
+merrorB3.mml
+
+ 
+       
+         Unrecognized element: <mfraction> arguments were: 
+         
+         
+          1 
+          + 
+           
+            5 
+           
+         
+           and   
+         
+        2 
+       
+    
+]]>
+
+is rendered as:
+     
+       
+         Unrecognized element: <mfraction> arguments were: 
+         
+         
+          1 
+          + 
+           
+            5 
+           
+         
+           and   
+         
+        2 
+       
+    
+
+
+mfenced
+mfenced1.mml
+
+ 
+       
+       
+    ]]>
+
+is rendered as:
+     
+       
+       
+    
+mfenced2.mml
+
+ 
+       
+        x 
+       
+    ]]>
+
+is rendered as:
+     
+       
+        x 
+       
+    
+mfenced3.mml
+
+ 
+       
+        x 
+        y 
+       
+    ]]>
+
+is rendered as:
+     
+       
+        x 
+        y 
+       
+    
+mfenced4.mml
+
+ 
+       
+         
+           a  
+           +  
+           b  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           a  
+           +  
+           b  
+         
+       
+    
+mfenced5.mml
+
+ 
+       
+         0  
+         1  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         0  
+         1  
+       
+    
+mfencedAdelims6.mml
+
+ 
+       
+         
+          a 
+          + 
+          b 
+         
+       
+       
+         
+          a 
+          b 
+         
+         
+          d 
+          e 
+         
+        a 
+        b 
+        a 
+        b 
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+          a 
+          + 
+          b 
+         
+       
+       
+         
+          a 
+          b 
+         
+         
+          d 
+          e 
+         
+        a 
+        b 
+        a 
+        b 
+       
+    
+mfencedAempty.mml
+
+
+       
+        x 
+        y
+       
+    ]]>
+
+is rendered as:
+    
+       
+        x 
+        y
+       
+    
+mfencedBfences7.mml
+
+ 
+       
+         
+          a 
+          + 
+          b 
+         
+       
+      + 
+       
+         
+          1 
+          2 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+          a 
+          + 
+          b 
+         
+       
+      + 
+       
+         
+          1 
+          2 
+         
+       
+    
+mfencedBseparators8.mml
+
+ 
+       
+         
+          a 
+          1 
+         
+         
+          a 
+          2 
+         
+         
+          a 
+          3 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+          a 
+          1 
+         
+         
+          a 
+          2 
+         
+         
+          a 
+          3 
+         
+       
+    
+mfencedSfonts9.mml
+
+ 
+       
+         
+           
+            a 
+            + 
+            b 
+           
+         
+       
+      = 
+       
+         
+           
+            α 
+            β 
+           
+         
+       
+      = 
+       
+         
+           
+            a 
+            + 
+            b 
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+            a 
+            + 
+            b 
+           
+         
+       
+      = 
+       
+         
+           
+            α 
+            β 
+           
+         
+       
+      = 
+       
+         
+           
+            a 
+            + 
+            b 
+           
+         
+       
+    
+
+mfrac
+mfrac1.mml
+
+ 
+       
+         1  
+         2  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         1  
+         2  
+       
+    
+mfrac2.mml
+
+ 
+       
+         
+         
+           
+           x  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+         
+           
+           x  
+         
+       
+    
+mfrac3.mml
+
+ 
+       
+         
+           a  
+           b  
+         
+         
+           c  
+           d  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           a  
+           b  
+         
+         
+           c  
+           d  
+         
+       
+    
+mfrac4.mml
+
+ 
+       
+         
+           1  
+           +  
+           
+             5  
+           
+         
+         2  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           1  
+           +  
+           
+             5  
+           
+         
+         2  
+       
+    
+mfrac5.mml
+
+ 
+       
+         
+           1  
+           +  
+           
+             5  
+           
+         
+         2  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           1  
+           +  
+           
+             5  
+           
+         
+         2  
+       
+    
+mfrac6.mml
+
+ 
+       
+         
+           x  
+           +  
+           y  
+           +  
+           z  
+         
+         
+           x  
+           
+             +  
+             y  
+           
+           +  
+           z  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           x  
+           +  
+           y  
+           +  
+           z  
+         
+         
+           x  
+           
+             +  
+             y  
+           
+           +  
+           z  
+         
+       
+    
+mfrac7.mml
+
+ 
+       
+         
+           x  
+           +  
+           y  
+           +  
+           z  
+         
+         
+           x  
+           
+             +  
+           
+           
+             y  
+           
+           +  
+           z  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           x  
+           +  
+           y  
+           +  
+           z  
+         
+         
+           x  
+           
+             +  
+           
+           
+             y  
+           
+           +  
+           z  
+         
+       
+    
+mfracAbevelled16.mml
+
+ 
+       
+         
+          a 
+          2 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+          a 
+          2 
+         
+       
+    
+mfracAcss8.mml
+
+ 
+       
+         
+          1 
+           
+            y 
+            + 
+            3 
+           
+         
+         
+          1 
+           
+            y 
+            + 
+            3 
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+          1 
+           
+            y 
+            + 
+            3 
+           
+         
+         
+          1 
+           
+            y 
+            + 
+            3 
+           
+         
+       
+    
+mfracAkeyword9.mml
+
+ 
+       
+         
+          1 
+           
+            y 
+            + 
+            3 
+           
+         
+         
+          1 
+           
+            y 
+            + 
+            3 
+           
+         
+         
+          1 
+           
+            y 
+            + 
+            3 
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+          1 
+           
+            y 
+            + 
+            3 
+           
+         
+         
+          1 
+           
+            y 
+            + 
+            3 
+           
+         
+         
+          1 
+           
+            y 
+            + 
+            3 
+           
+         
+       
+    
+mfracAmultiplier10.mml
+
+ 
+       
+         
+          1 
+           
+            y 
+            + 
+            3 
+           
+         
+         
+          1 
+           
+            y 
+            + 
+            3 
+           
+         
+         
+          1 
+           
+            y 
+            + 
+            3 
+           
+         
+         
+          1 
+           
+            y 
+            + 
+            3 
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+          1 
+           
+            y 
+            + 
+            3 
+           
+         
+         
+          1 
+           
+            y 
+            + 
+            3 
+           
+         
+         
+          1 
+           
+            y 
+            + 
+            3 
+           
+         
+         
+          1 
+           
+            y 
+            + 
+            3 
+           
+         
+       
+    
+mfracBalign16.mml
+
+
+      
+        
+          
+            
+              x 
+              -
+              
+                a
+                b
+              
+              x 
+            
+          
+          
+             
+              x 
+              -
+              
+                1
+                b
+              
+              x 
+            
+          
+          
+             
+              x 
+              -
+              
+                1
+                2
+              
+              x 
+            
+          
+          
+             
+              x 
+              -
+              
+                
+                  1
+                  2
+                
+                z
+              
+              x 
+            
+          
+          
+             
+              x 
+              -
+              
+                z
+                
+                  1
+                  2
+                
+              
+              x 
+            
+          
+        
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+          
+            
+              x 
+              -
+              
+                a
+                b
+              
+              x 
+            
+          
+          
+             
+              x 
+              -
+              
+                1
+                b
+              
+              x 
+            
+          
+          
+             
+              x 
+              -
+              
+                1
+                2
+              
+              x 
+            
+          
+          
+             
+              x 
+              -
+              
+                
+                  1
+                  2
+                
+                z
+              
+              x 
+            
+          
+          
+             
+              x 
+              -
+              
+                z
+                
+                  1
+                  2
+                
+              
+              x 
+            
+          
+        
+      
+    
+mfracBheight17.mml
+
+ 
+       
+         
+           
+            taller num 
+           
+           
+             
+              x 
+              2 
+             
+            + 
+             
+               
+                h 
+                x 
+               
+              2 
+             
+            + 
+             
+               
+                ( 
+                 
+                  h 
+                  x 
+                 
+                ) 
+               
+              2 
+             
+           
+         
+         
+           
+            taller denom 
+           
+           
+             
+              x 
+              2 
+             
+            + 
+             
+               
+                x 
+                y 
+               
+              2 
+             
+            + 
+             
+               
+                ( 
+                 
+                  x 
+                  y 
+                 
+                ) 
+               
+              2 
+             
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+            taller num 
+           
+           
+             
+              x 
+              2 
+             
+            + 
+             
+               
+                h 
+                x 
+               
+              2 
+             
+            + 
+             
+               
+                ( 
+                 
+                  h 
+                  x 
+                 
+                ) 
+               
+              2 
+             
+           
+         
+         
+           
+            taller denom 
+           
+           
+             
+              x 
+              2 
+             
+            + 
+             
+               
+                x 
+                y 
+               
+              2 
+             
+            + 
+             
+               
+                ( 
+                 
+                  x 
+                  y 
+                 
+                ) 
+               
+              2 
+             
+           
+         
+       
+    
+mfracBhoriz11.mml
+
+ 
+       
+        1 
+        a 
+       
+      - 
+       
+        1 
+         
+          a 
+          + 
+          a 
+          + 
+          a 
+          + 
+          a 
+         
+       
+      - 
+       
+        1 
+         
+          a 
+          + 
+          a 
+          + 
+          a 
+          + 
+          a 
+          + 
+          a 
+          + 
+          a 
+          + 
+          a 
+          + 
+          a 
+          + 
+          a 
+          + 
+          a 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+        1 
+        a 
+       
+      - 
+       
+        1 
+         
+          a 
+          + 
+          a 
+          + 
+          a 
+          + 
+          a 
+         
+       
+      - 
+       
+        1 
+         
+          a 
+          + 
+          a 
+          + 
+          a 
+          + 
+          a 
+          + 
+          a 
+          + 
+          a 
+          + 
+          a 
+          + 
+          a 
+          + 
+          a 
+          + 
+          a 
+         
+       
+    
+mfracBvert12.mml
+
+ 
+       
+        x 
+        - 
+         
+          1 
+          3 
+         
+        - 
+         
+          x 
+          3 
+         
+        - 
+         
+          3 
+          x 
+         
+        - 
+         
+          a 
+          x 
+         
+        - 
+         
+          y 
+          x 
+         
+        - 
+         
+           
+            y 
+            2 
+           
+          x 
+         
+        - 
+         
+           
+            x 
+            2 
+           
+          x 
+         
+        - 
+         
+          y 
+           
+            x 
+            2 
+           
+         
+        - 
+         
+          y 
+           
+            H 
+            2 
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+        x 
+        - 
+         
+          1 
+          3 
+         
+        - 
+         
+          x 
+          3 
+         
+        - 
+         
+          3 
+          x 
+         
+        - 
+         
+          a 
+          x 
+         
+        - 
+         
+          y 
+          x 
+         
+        - 
+         
+           
+            y 
+            2 
+           
+          x 
+         
+        - 
+         
+           
+            x 
+            2 
+           
+          x 
+         
+        - 
+         
+          y 
+           
+            x 
+            2 
+           
+         
+        - 
+         
+          y 
+           
+            H 
+            2 
+           
+         
+       
+    
+mfracSfonts13.mml
+
+ 
+       
+         
+           
+            1 
+             
+              y 
+              + 
+              3 
+             
+           
+         
+         
+           
+            1 
+             
+              y 
+              + 
+              3 
+             
+           
+         
+         
+           
+            1 
+             
+              y 
+              + 
+              3 
+             
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+            1 
+             
+              y 
+              + 
+              3 
+             
+           
+         
+         
+           
+            1 
+             
+              y 
+              + 
+              3 
+             
+           
+         
+         
+           
+            1 
+             
+              y 
+              + 
+              3 
+             
+           
+         
+       
+    
+mfracSinheritance14.mml
+
+ 
+       
+         
+           
+             
+              1 
+               
+                y 
+                + 
+                3 
+               
+             
+             
+              y 
+              + 
+              3 
+             
+           
+         
+         
+           
+            1 
+             
+              y 
+              + 
+              3 
+             
+           
+         
+         
+           
+             
+               
+                1 
+                 
+                  y 
+                  + 
+                  3 
+                 
+               
+             
+             
+              y 
+              + 
+              3 
+             
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+             
+              1 
+               
+                y 
+                + 
+                3 
+               
+             
+             
+              y 
+              + 
+              3 
+             
+           
+         
+         
+           
+            1 
+             
+              y 
+              + 
+              3 
+             
+           
+         
+         
+           
+             
+               
+                1 
+                 
+                  y 
+                  + 
+                  3 
+                 
+               
+             
+             
+              y 
+              + 
+              3 
+             
+           
+         
+       
+    
+mfracSscriptlevel15.mml
+
+ 
+       
+        1 
+        2 
+       
+      + 
+       
+         
+          1 
+          2 
+         
+       
+      + 
+       
+        1 
+         
+          1 
+          + 
+           
+            x 
+            3 
+           
+         
+       
+      + 
+       
+         
+          1 
+           
+            1 
+            + 
+             
+              x 
+              3 
+             
+           
+         
+       
+      + 
+       
+         
+          1 
+           
+            1 
+            + 
+             
+               
+                x 
+                3 
+               
+             
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+        1 
+        2 
+       
+      + 
+       
+         
+          1 
+          2 
+         
+       
+      + 
+       
+        1 
+         
+          1 
+          + 
+           
+            x 
+            3 
+           
+         
+       
+      + 
+       
+         
+          1 
+           
+            1 
+            + 
+             
+              x 
+              3 
+             
+           
+         
+       
+      + 
+       
+         
+          1 
+           
+            1 
+            + 
+             
+               
+                x 
+                3 
+               
+             
+           
+         
+       
+    
+
+mpadded
+mpadded1.mml
+
+ 
+       
+         
+           C  
+         
+         
+         |  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           C  
+         
+         
+         |  
+       
+    
+mpadded10.mml
+
+ 
+      x 
+      + 
+       
+         
+           
+            1 
+             
+           
+          + 
+          y 
+         
+       
+      + 
+      x 
+    ]]>
+
+is rendered as:
+     
+      x 
+      + 
+       
+         
+           
+            1 
+             
+           
+          + 
+          y 
+         
+       
+      + 
+      x 
+    
+mpadded11.mml
+
+ 
+      x 
+      + 
+       
+         
+           
+            1 
+             
+           
+          + 
+          y 
+         
+       
+      + 
+      x 
+    ]]>
+
+is rendered as:
+     
+      x 
+      + 
+       
+         
+           
+            1 
+             
+           
+          + 
+          y 
+         
+       
+      + 
+      x 
+    
+mpadded12.mml
+
+ 
+      x 
+      + 
+       
+         
+           
+            1 
+             
+           
+          + 
+          y 
+         
+       
+      + 
+      x 
+    ]]>
+
+is rendered as:
+     
+      x 
+      + 
+       
+         
+           
+            1 
+             
+           
+          + 
+          y 
+         
+       
+      + 
+      x 
+    
+mpadded13.mml
+
+ 
+      x 
+      + 
+       
+         
+           
+            1 
+             
+           
+          + 
+          y 
+         
+       
+      + 
+      x 
+    ]]>
+
+is rendered as:
+     
+      x 
+      + 
+       
+         
+           
+            1 
+             
+           
+          + 
+          y 
+         
+       
+      + 
+      x 
+    
+mpadded14.mml
+
+ 
+      x 
+      + 
+       
+         
+           
+            1 
+             
+           
+          + 
+          y 
+         
+       
+      + 
+      x 
+    ]]>
+
+is rendered as:
+     
+      x 
+      + 
+       
+         
+           
+            1 
+             
+           
+          + 
+          y 
+         
+       
+      + 
+      x 
+    
+mpadded15.mml
+
+ 
+      x 
+      + 
+       
+         
+           
+            1 
+             
+           
+          + 
+          y 
+         
+       
+      + 
+      x 
+    ]]>
+
+is rendered as:
+     
+      x 
+      + 
+       
+         
+           
+            1 
+             
+           
+          + 
+          y 
+         
+       
+      + 
+      x 
+    
+mpadded16.mml
+
+ 
+      x 
+      + 
+       
+         
+           
+            1 
+             
+           
+          + 
+          y 
+         
+       
+      + 
+      x 
+    ]]>
+
+is rendered as:
+     
+      x 
+      + 
+       
+         
+           
+            1 
+             
+           
+          + 
+          y 
+         
+       
+      + 
+      x 
+    
+mpadded17.mml
+
+ 
+      x 
+      + 
+       
+         
+           
+            1 
+             
+           
+          + 
+          y 
+         
+       
+      + 
+      x 
+    ]]>
+
+is rendered as:
+     
+      x 
+      + 
+       
+         
+           
+            1 
+             
+           
+          + 
+          y 
+         
+       
+      + 
+      x 
+    
+mpadded18.mml
+
+ 
+      x 
+      + 
+       
+         
+           
+            1 
+             
+           
+          + 
+          y 
+         
+       
+      + 
+      x 
+    ]]>
+
+is rendered as:
+     
+      x 
+      + 
+       
+         
+           
+            1 
+             
+           
+          + 
+          y 
+         
+       
+      + 
+      x 
+    
+mpadded2.mml
+
+ 
+      x 
+      + 
+       
+         
+           
+            1 
+             
+           
+          + 
+          y 
+         
+       
+      + 
+      x 
+    ]]>
+
+is rendered as:
+     
+      x 
+      + 
+       
+         
+           
+            1 
+             
+           
+          + 
+          y 
+         
+       
+      + 
+      x 
+    
+mpadded3.mml
+
+ 
+      x 
+      + 
+       
+         
+           
+            1 
+             
+           
+          + 
+          y 
+         
+       
+      + 
+      x 
+    ]]>
+
+is rendered as:
+     
+      x 
+      + 
+       
+         
+           
+            1 
+             
+           
+          + 
+          y 
+         
+       
+      + 
+      x 
+    
+mpadded4.mml
+
+ 
+      x 
+      + 
+       
+         
+           
+            1 
+             
+           
+          + 
+          y 
+         
+       
+      + 
+      x 
+    ]]>
+
+is rendered as:
+     
+      x 
+      + 
+       
+         
+           
+            1 
+             
+           
+          + 
+          y 
+         
+       
+      + 
+      x 
+    
+mpadded5.mml
+
+ 
+      x 
+      + 
+       
+         
+           
+            1 
+             
+           
+          + 
+          y 
+         
+       
+      + 
+      x 
+    ]]>
+
+is rendered as:
+     
+      x 
+      + 
+       
+         
+           
+            1 
+             
+           
+          + 
+          y 
+         
+       
+      + 
+      x 
+    
+mpadded6.mml
+
+ 
+      x 
+      + 
+       
+         
+           
+            1 
+             
+           
+          + 
+          y 
+         
+       
+      + 
+      x 
+    ]]>
+
+is rendered as:
+     
+      x 
+      + 
+       
+         
+           
+            1 
+             
+           
+          + 
+          y 
+         
+       
+      + 
+      x 
+    
+mpadded7.mml
+
+ 
+      x 
+      + 
+       
+         
+           
+            1 
+             
+           
+          + 
+          y 
+         
+       
+      + 
+      x 
+    ]]>
+
+is rendered as:
+     
+      x 
+      + 
+       
+         
+           
+            1 
+             
+           
+          + 
+          y 
+         
+       
+      + 
+      x 
+    
+mpadded8.mml
+
+ 
+      x 
+      + 
+       
+         
+           
+            1 
+             
+           
+          + 
+          y 
+         
+       
+      + 
+      x 
+    ]]>
+
+is rendered as:
+     
+      x 
+      + 
+       
+         
+           
+            1 
+             
+           
+          + 
+          y 
+         
+       
+      + 
+      x 
+    
+mpadded9.mml
+
+ 
+      x 
+      + 
+       
+         
+           
+            1 
+             
+           
+          + 
+          y 
+         
+       
+      + 
+      x 
+    ]]>
+
+is rendered as:
+     
+      x 
+      + 
+       
+         
+           
+            1 
+             
+           
+          + 
+          y 
+         
+       
+      + 
+      x 
+    
+mpaddedAdepth2.mml
+
+ 
+       
+         
+          y 
+          x 
+         
+         
+           
+            y 
+           
+          x 
+         
+         
+           
+            y 
+           
+          x 
+         
+         
+           
+            y 
+           
+          x 
+         
+         
+           
+            y 
+           
+          x 
+         
+         
+           
+            y 
+           
+          x 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+          y 
+          x 
+         
+         
+           
+            y 
+           
+          x 
+         
+         
+           
+            y 
+           
+          x 
+         
+         
+           
+            y 
+           
+          x 
+         
+         
+           
+            y 
+           
+          x 
+         
+         
+           
+            y 
+           
+          x 
+         
+       
+    
+mpaddedAheight3.mml
+
+ 
+       
+         
+          A 
+          x 
+         
+         
+           
+            A 
+           
+          x 
+         
+         
+           
+            A 
+           
+          x 
+         
+         
+           
+            A 
+           
+          x 
+         
+         
+           
+            A 
+           
+          x 
+         
+         
+           
+            A 
+           
+          x 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+          A 
+          x 
+         
+         
+           
+            A 
+           
+          x 
+         
+         
+           
+            A 
+           
+          x 
+         
+         
+           
+            A 
+           
+          x 
+         
+         
+           
+            A 
+           
+          x 
+         
+         
+           
+            A 
+           
+          x 
+         
+       
+    
+mpaddedAleft4.mml
+
+ 
+       
+        A 
+         
+          A 
+         
+        A 
+         
+          A 
+         
+        A 
+         
+          A 
+         
+        A 
+         
+          A 
+         
+        A 
+         
+          A 
+         
+        A 
+       
+    ]]>
+
+is rendered as:
+     
+       
+        A 
+         
+          A 
+         
+        A 
+         
+          A 
+         
+        A 
+         
+          A 
+         
+        A 
+         
+          A 
+         
+        A 
+         
+          A 
+         
+        A 
+       
+    
+mpaddedAmixed5.mml
+
+ 
+       
+        A 
+         
+           
+            y 
+           
+           
+            A 
+           
+         
+         
+           
+            A 
+           
+           
+            A 
+           
+         
+         
+           
+            A 
+             
+               
+                5 
+               
+             
+           
+           
+            A 
+           
+         
+        A 
+         
+           
+            5 
+           
+         
+        A 
+       
+    ]]>
+
+is rendered as:
+     
+       
+        A 
+         
+           
+            y 
+           
+           
+            A 
+           
+         
+         
+           
+            A 
+           
+           
+            A 
+           
+         
+         
+           
+            A 
+             
+               
+                5 
+               
+             
+           
+           
+            A 
+           
+         
+        A 
+         
+           
+            5 
+           
+         
+        A 
+       
+    
+mpaddedAwidth6.mml
+
+ 
+       
+        A 
+         
+          A 
+         
+        A 
+         
+          A 
+         
+        A 
+         
+          A 
+         
+        A 
+         
+          A 
+         
+        A 
+         
+          A 
+         
+        A 
+       
+    ]]>
+
+is rendered as:
+     
+       
+        A 
+         
+          A 
+         
+        A 
+         
+          A 
+         
+        A 
+         
+          A 
+         
+        A 
+         
+          A 
+         
+        A 
+         
+          A 
+         
+        A 
+       
+    
+mpaddedScolor7.mml
+
+ 
+       
+        A 
+         
+           
+            A 
+           
+          A 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+        A 
+         
+           
+            A 
+           
+          A 
+         
+       
+    
+
+mphantom
+mphantomB1.mml
+
+ 
+       
+        A 
+         
+          A 
+         
+        A 
+        + 
+         
+           
+            1 
+            + 
+            2 
+            + 
+            3 
+           
+           
+            1 
+            + 
+             
+              2 
+              + 
+             
+            3 
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+        A 
+         
+          A 
+         
+        A 
+        + 
+         
+           
+            1 
+            + 
+            2 
+            + 
+            3 
+           
+           
+            1 
+            + 
+             
+              2 
+              + 
+             
+            3 
+           
+         
+       
+    
+mphantomBinferred2.mml
+
+ 
+       
+        A 
+         
+          A 
+         
+        A 
+         
+          A 
+          + 
+          A 
+         
+        A 
+       
+    ]]>
+
+is rendered as:
+     
+       
+        A 
+         
+          A 
+         
+        A 
+         
+          A 
+          + 
+          A 
+         
+        A 
+       
+    
+mphantomBoperators3.mml
+
+ 
+       
+        A 
+        + 
+        A 
+         
+          + 
+         
+        A 
+       
+    ]]>
+
+is rendered as:
+     
+       
+        A 
+        + 
+        A 
+         
+          + 
+         
+        A 
+       
+    
+mphantomScolor4.mml
+
+ 
+       
+        A 
+         
+           
+            A 
+           
+         
+        A 
+       
+    ]]>
+
+is rendered as:
+     
+       
+        A 
+         
+           
+            A 
+           
+         
+        A 
+       
+    
+mphantomSinheritance5.mml
+
+ 
+       
+        A 
+         
+           
+            A 
+           
+         
+        A 
+         
+           
+            A 
+            + 
+            A 
+           
+          A 
+         
+       
+      A 
+       
+        A 
+       
+      A 
+       
+        A 
+        + 
+        A 
+        A 
+       
+    ]]>
+
+is rendered as:
+     
+       
+        A 
+         
+           
+            A 
+           
+         
+        A 
+         
+           
+            A 
+            + 
+            A 
+           
+          A 
+         
+       
+      A 
+       
+        A 
+       
+      A 
+       
+        A 
+        + 
+        A 
+        A 
+       
+    
+
+mrow
+mrow1.mml
+
+ 
+        
+    ]]>
+
+is rendered as:
+     
+        
+    
+mrowAbg4.mml
+
+ 
+       
+        ( 
+        x
+        + 
+        x
+        + 
+        x
+        + 
+        x
+        + 
+        x
+        + 
+        x
+        + 
+        x
+        + 
+        x
+        + 
+        x
+        + 
+        x
+        + 
+        x
+        + 
+        x
+        + 
+        x 
+        ) 
+      
+    ]]>
+
+is rendered as:
+     
+       
+        ( 
+        x
+        + 
+        x
+        + 
+        x
+        + 
+        x
+        + 
+        x
+        + 
+        x
+        + 
+        x
+        + 
+        x
+        + 
+        x
+        + 
+        x
+        + 
+        x
+        + 
+        x
+        + 
+        x 
+        ) 
+      
+    
+mrowBinferred2.mml
+
+ 
+      2 
+      + 
+       
+        x 
+        + 
+        1 
+       
+       
+       
+        2 
+        + 
+         
+           
+            x 
+            + 
+            1 
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+      2 
+      + 
+       
+        x 
+        + 
+        1 
+       
+       
+       
+        2 
+        + 
+         
+           
+            x 
+            + 
+            1 
+           
+         
+       
+    
+mrowBnested3.mml
+
+ 
+       
+         
+           
+             
+              x 
+             
+             
+               
+                y 
+               
+             
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+             
+              x 
+             
+             
+               
+                y 
+               
+             
+           
+         
+       
+    
+
+msqrt-mroot
+mrootB1.mml
+
+ 
+       
+         
+          3 
+           
+            x 
+            - 
+            3 
+           
+         
+        + 
+         
+          3 
+          x 
+         
+        + 
+         
+           
+             
+               
+                3 
+                x 
+               
+              3 
+             
+             
+              x 
+              - 
+              3 
+             
+           
+           
+            3 
+            2 
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+          3 
+           
+            x 
+            - 
+            3 
+           
+         
+        + 
+         
+          3 
+          x 
+         
+        + 
+         
+           
+             
+               
+                3 
+                x 
+               
+              3 
+             
+             
+              x 
+              - 
+              3 
+             
+           
+           
+            3 
+            2 
+           
+         
+       
+    
+mrootSfonts3.mml
+
+ 
+       
+         
+           
+             
+               
+                x 
+                - 
+                3 
+               
+               
+                x 
+                - 
+                3 
+               
+             
+           
+           
+             
+               
+                3 
+                x 
+               
+               
+                x 
+                - 
+                3 
+               
+             
+           
+         
+         
+          3 
+          x 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+             
+               
+                x 
+                - 
+                3 
+               
+               
+                x 
+                - 
+                3 
+               
+             
+           
+           
+             
+               
+                3 
+                x 
+               
+               
+                x 
+                - 
+                3 
+               
+             
+           
+         
+         
+          3 
+          x 
+         
+       
+    
+mrootSscriptlevel4.mml
+
+ 
+       
+         
+           
+            x 
+            - 
+             
+              x 
+              3 
+             
+           
+           
+            x 
+            3 
+           
+         
+       
+      + 
+       
+         
+           
+            x 
+            - 
+            3 
+           
+           
+            x 
+            3 
+           
+         
+       
+      + 
+       
+         
+          x 
+          - 
+          3 
+         
+         
+          x 
+          3 
+         
+       
+      + 
+       
+         
+          x 
+          3 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+            x 
+            - 
+             
+              x 
+              3 
+             
+           
+           
+            x 
+            3 
+           
+         
+       
+      + 
+       
+         
+           
+            x 
+            - 
+            3 
+           
+           
+            x 
+            3 
+           
+         
+       
+      + 
+       
+         
+          x 
+          - 
+          3 
+         
+         
+          x 
+          3 
+         
+       
+      + 
+       
+         
+          x 
+          3 
+         
+       
+    
+msqrt5.mml
+
+ 
+       
+         -  
+         1  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         -  
+         1  
+       
+    
+msqrt6.mml
+
+ 
+       
+         
+           -  
+           1  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           -  
+           1  
+         
+       
+    
+msqrtB7.mml
+
+ 
+       
+         
+          x 
+          - 
+          3 
+         
+        + 
+         
+          3 
+          x 
+         
+        + 
+         
+           
+             
+              3 
+              x 
+             
+             
+              x 
+              - 
+              3 
+             
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+          x 
+          - 
+          3 
+         
+        + 
+         
+          3 
+          x 
+         
+        + 
+         
+           
+             
+              3 
+              x 
+             
+             
+              x 
+              - 
+              3 
+             
+           
+         
+       
+    
+msqrtBimplied8.mml
+
+ 
+       
+         
+          x 
+          - 
+          3 
+         
+        + 
+         
+           
+            x 
+            - 
+            3 
+           
+         
+        + 
+          
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+          x 
+          - 
+          3 
+         
+        + 
+         
+           
+            x 
+            - 
+            3 
+           
+         
+        + 
+          
+       
+    
+msqrtSinheritance9.mml
+
+ 
+       
+         
+           
+             
+               
+                 
+                  x 
+                  - 
+                  3 
+                 
+               
+             
+             
+               
+                 
+                  3 
+                  x 
+                 
+               
+             
+           
+         
+         
+           
+             
+              2 
+              x 
+              - 
+              3 
+             
+           
+           
+             
+               
+                3 
+                x 
+               
+             
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+             
+               
+                 
+                  x 
+                  - 
+                  3 
+                 
+               
+             
+             
+               
+                 
+                  3 
+                  x 
+                 
+               
+             
+           
+         
+         
+           
+             
+              2 
+              x 
+              - 
+              3 
+             
+           
+           
+             
+               
+                3 
+                x 
+               
+             
+           
+         
+       
+    
+
+mstyle
+mstyle1.mml
+
+ 
+       
+         
+           
+           (  
+           
+             a  
+             b  
+           
+           )  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+           (  
+           
+             a  
+             b  
+           
+           )  
+         
+       
+    
+mstyleA2.mml
+
+
+      
+        2
+        +
+        x
+      
+    ]]>
+
+is rendered as:
+    
+      
+        2
+        +
+        x
+      
+    
+mstyleAdep1.mml
+
+ 
+       
+        2 
+        + 
+        x 
+       
+    ]]>
+
+is rendered as:
+     
+       
+        2 
+        + 
+        x 
+       
+    
+mstyleAlinethick1.mml
+
+ 
+       
+         
+          x 
+           
+            y 
+            2 
+           
+         
+      
+      = 
+       
+         
+          x 
+           
+            y 
+            2 
+           
+         
+      
+      = 
+       
+         
+          x 
+           
+            y 
+            2 
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+          x 
+           
+            y 
+            2 
+           
+         
+      
+      = 
+       
+         
+          x 
+           
+            y 
+            2 
+           
+         
+      
+      = 
+       
+         
+          x 
+           
+            y 
+            2 
+           
+         
+       
+    
+mstyleAminscript1.mml
+
+ 
+       
+        2 
+        x 
+       
+      = 
+       
+         
+          2 
+          x 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+        2 
+        x 
+       
+      = 
+       
+         
+          2 
+          x 
+         
+       
+    
+mstyleAscriptlevel1.mml
+
+ 
+       
+         
+          2 
+          4 
+         
+       
+       
+         
+          2 
+          4 
+         
+       
+       
+         
+          2 
+          4 
+         
+       
+       
+         
+          2 
+          4 
+         
+       
+       
+         
+          2 
+          4 
+         
+       
+       
+         
+          2 
+          4 
+         
+      
+    ]]>
+
+is rendered as:
+     
+       
+         
+          2 
+          4 
+         
+       
+       
+         
+          2 
+          4 
+         
+       
+       
+         
+          2 
+          4 
+         
+       
+       
+         
+          2 
+          4 
+         
+       
+       
+         
+          2 
+          4 
+         
+       
+       
+         
+          2 
+          4 
+         
+      
+    
+
+
+ScriptsAndLimits
+mmultiscripts
+mmultiscripts1.mml
+
+ 
+       
+         
+           F  
+           1  
+           
+           
+           0  
+           
+         
+         
+         
+           (  
+           
+             ;  
+             a  
+             ;  
+             z  
+           
+           )  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           F  
+           1  
+           
+           
+           0  
+           
+         
+         
+         
+           (  
+           
+             ;  
+             a  
+             ;  
+             z  
+           
+           )  
+         
+       
+    
+mmultiscripts2.mml
+
+ 
+       
+         R  
+         i  
+         
+         
+         j  
+         k  
+         
+         l  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         R  
+         i  
+         
+         
+         j  
+         k  
+         
+         l  
+         
+       
+    
+
+mover
+mover1.mml
+
+ 
+       
+         
+           x  
+           ^  
+         
+           vs    
+         
+           x  
+           ^  
+         
+       
+    
+]]>
+
+is rendered as:
+     
+       
+         
+           x  
+           ^  
+         
+           vs    
+         
+           x  
+           ^  
+         
+       
+    
+
+mover2.mml
+
+ 
+       
+         
+           
+             x  
+             +  
+             y  
+             +  
+             z  
+           
+           ¯  
+         
+             vs     
+         
+         
+           
+             x  
+             +  
+             y  
+             +  
+             z  
+           
+           ¯  
+         
+       
+    
+]]>
+
+is rendered as:
+     
+       
+         
+           
+             x  
+             +  
+             y  
+             +  
+             z  
+           
+           ¯  
+         
+             vs     
+         
+         
+           
+             x  
+             +  
+             y  
+             +  
+             z  
+           
+           ¯  
+         
+       
+    
+
+mover3.mml
+
+ 
+       
+         
+           
+             
+             0  
+           
+           
+         
+             vs     
+         
+         
+           
+           0  
+           
+         
+       
+    
+]]>
+
+is rendered as:
+     
+       
+         
+           
+             
+             0  
+           
+           
+         
+             vs     
+         
+         
+           
+           0  
+           
+         
+       
+    
+
+
+msub
+msub1.mml
+
+ 
+       
+         m  
+         
+           1  
+           
+           2  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         m  
+         
+           1  
+           
+           2  
+         
+       
+    
+
+msubsup
+msubsup1.mml
+
+ 
+       
+         
+           
+           0  
+           1  
+         
+         
+           
+             
+             x  
+           
+           
+           
+             
+             x  
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+           0  
+           1  
+         
+         
+           
+             
+             x  
+           
+           
+           
+             
+             x  
+           
+         
+       
+    
+msubsupBsize1.mml
+
+
+      
+        x
+        1
+      
+      +
+      
+        x
+        a
+      
+      +
+      
+        H
+        a
+      
+      +
+      
+        H
+        1
+      
+      +
+      
+        x
+        1
+        2
+      
+      +
+      
+        x
+        a
+        2
+      
+      +
+      
+        x
+        1
+        x
+      
+      +
+      
+        x
+        a
+        x
+      
+      +
+      
+        H
+        1
+        2
+      
+      +
+      
+        H
+        a
+        2
+      
+      +
+      
+        H
+        1
+        x
+      
+      +
+      
+        H
+        a
+        x
+      
+    ]]>
+
+is rendered as:
+    
+      
+        x
+        1
+      
+      +
+      
+        x
+        a
+      
+      +
+      
+        H
+        a
+      
+      +
+      
+        H
+        1
+      
+      +
+      
+        x
+        1
+        2
+      
+      +
+      
+        x
+        a
+        2
+      
+      +
+      
+        x
+        1
+        x
+      
+      +
+      
+        x
+        a
+        x
+      
+      +
+      
+        H
+        1
+        2
+      
+      +
+      
+        H
+        a
+        2
+      
+      +
+      
+        H
+        1
+        x
+      
+      +
+      
+        H
+        a
+        x
+      
+    
+msubsupBsize2.mml
+
+ 
+       
+         
+        0 
+        1 
+       
+      + 
+       
+         
+          x 
+          y 
+         
+        0 
+        a 
+       
+      + 
+       
+         
+          x 
+          y 
+         
+        0 
+        1 
+       
+      + 
+       
+         
+           
+          0 
+          a 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        0 
+        1 
+       
+      + 
+       
+         
+          x 
+          y 
+         
+        0 
+        a 
+       
+      + 
+       
+         
+          x 
+          y 
+         
+        0 
+        1 
+       
+      + 
+       
+         
+           
+          0 
+          a 
+         
+       
+    
+
+msup
+msup1.mml
+
+ 
+       
+         
+           x  
+           
+         
+         2  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           x  
+           
+         
+         2  
+       
+    
+msup2.mml
+
+ 
+       
+         
+           (  
+           
+             x  
+             +  
+             y  
+           
+           )  
+         
+         2  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           (  
+           
+             x  
+             +  
+             y  
+           
+           )  
+         
+         2  
+       
+    
+msupBnest1.mml
+
+ 
+       
+        x 
+        + 
+         
+           
+            y 
+           
+           
+            n 
+           
+         
+      
+    ]]>
+
+is rendered as:
+     
+       
+        x 
+        + 
+         
+           
+            y 
+           
+           
+            n 
+           
+         
+      
+    
+msupBsize1.mml
+
+
+      A
+      B
+      C
+      D
+      E
+      F
+      G
+      H
+      I
+      J
+      K
+      L
+      M
+      N
+      O
+      P
+      Q
+      R
+      S
+      T
+      U
+      V
+      W
+      X
+      Y
+      Z
+      1
+      2
+      3
+      4
+      5
+      6
+      a
+      b
+      c
+      d
+      e
+      f
+      g
+      h
+      i
+      j
+      k
+      l
+      m
+      n
+      o
+      p
+      q
+      r
+      s
+      t
+      u
+      v
+      w
+      x
+      y
+      z
+      1
+      2
+      3
+      4
+      5
+      6
+      
+        2
+        
+          A
+          B
+          C
+          D
+          E
+          F
+          G
+          H
+          I
+          J
+          K
+          L
+          M
+          N
+          O
+          P
+          Q
+          R
+          S
+          T
+          U
+          V
+          W
+          X
+          Y
+          Z
+          1
+          2
+          3
+          4
+          5
+          6
+          a
+          b
+          c
+          d
+          e
+          f
+          g
+          h
+          i
+          j
+          k
+          l
+          m
+          n
+          o
+          p
+          q
+          r
+          s
+          t
+          u
+          v
+          w
+          x
+          y
+          z
+          1
+          2
+          3
+          4
+          5
+          6
+        
+      
+    ]]>
+
+is rendered as:
+    
+      A
+      B
+      C
+      D
+      E
+      F
+      G
+      H
+      I
+      J
+      K
+      L
+      M
+      N
+      O
+      P
+      Q
+      R
+      S
+      T
+      U
+      V
+      W
+      X
+      Y
+      Z
+      1
+      2
+      3
+      4
+      5
+      6
+      a
+      b
+      c
+      d
+      e
+      f
+      g
+      h
+      i
+      j
+      k
+      l
+      m
+      n
+      o
+      p
+      q
+      r
+      s
+      t
+      u
+      v
+      w
+      x
+      y
+      z
+      1
+      2
+      3
+      4
+      5
+      6
+      
+        2
+        
+          A
+          B
+          C
+          D
+          E
+          F
+          G
+          H
+          I
+          J
+          K
+          L
+          M
+          N
+          O
+          P
+          Q
+          R
+          S
+          T
+          U
+          V
+          W
+          X
+          Y
+          Z
+          1
+          2
+          3
+          4
+          5
+          6
+          a
+          b
+          c
+          d
+          e
+          f
+          g
+          h
+          i
+          j
+          k
+          l
+          m
+          n
+          o
+          p
+          q
+          r
+          s
+          t
+          u
+          v
+          w
+          x
+          y
+          z
+          1
+          2
+          3
+          4
+          5
+          6
+        
+      
+    
+msupBsize2.mml
+
+
+      
+        x
+        1
+      
+      +
+      
+        x
+        a
+      
+      +
+      
+        H
+        a
+      
+      +
+      
+        H
+        1
+      
+    ]]>
+
+is rendered as:
+    
+      
+        x
+        1
+      
+      +
+      
+        x
+        a
+      
+      +
+      
+        H
+        a
+      
+      +
+      
+        H
+        1
+      
+    
+msupBsize3.mml
+
+ 
+       
+         
+        1 
+       
+      + 
+       
+         
+           
+            x 
+            y 
+           
+         
+        a 
+       
+      + 
+       
+         
+           
+            x 
+            y 
+           
+         
+        1 
+       
+      + 
+       
+         
+        a 
+       
+      + 
+       
+         
+           
+          a 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        1 
+       
+      + 
+       
+         
+           
+            x 
+            y 
+           
+         
+        a 
+       
+      + 
+       
+         
+           
+            x 
+            y 
+           
+         
+        1 
+       
+      + 
+       
+         
+        a 
+       
+      + 
+       
+         
+           
+          a 
+         
+       
+    
+msupSadvance1.mml
+
+
+      
+        H
+        2
+      
+      +
+      
+        
+        2
+      
+    ]]>
+
+is rendered as:
+    
+      
+        H
+        2
+      
+      +
+      
+        
+        2
+      
+    
+
+munder
+munder1.mml
+
+ 
+       
+         
+           (  
+           ̲  
+         
+         
+           a  
+           b  
+         
+         
+           )  
+           ¯  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           (  
+           ̲  
+         
+         
+           a  
+           b  
+         
+         
+           )  
+           ¯  
+         
+       
+    
+munder2.mml
+
+ 
+       
+         
+           
+             x  
+             +  
+             y  
+             +  
+             z  
+           
+           
+         
+             vs     
+         
+         
+           
+             x  
+             +  
+             y  
+             +  
+             z  
+           
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+             x  
+             +  
+             y  
+             +  
+             z  
+           
+           
+         
+             vs     
+         
+         
+           
+             x  
+             +  
+             y  
+             +  
+             z  
+           
+           
+         
+       
+    
+
+
+TablesAndMatrices
+mtable
+deprecated-mtd1.mml
+
+ 
+        
+    ]]>
+
+is rendered as:
+     
+        
+    
+deprecated-mtd2.mml
+
+ 
+       
+          
+       
+    ]]>
+
+is rendered as:
+     
+       
+          
+       
+    
+maligngroup1.mml
+
+ 
+       
+         
+           
+             
+               
+                 
+                 8.44  
+                 
+                 
+                 x  
+               
+               
+               +  
+               
+                 
+                 55  
+                 
+                 
+                 y  
+               
+             
+             
+             =  
+             
+             0  
+           
+         
+         
+           
+             
+               
+                 
+                 3.1  
+                 
+                 
+                 x  
+               
+               
+               -  
+               
+                 
+                 0.7  
+                 
+                 
+                 y  
+               
+             
+             
+             =  
+             
+             
+               -  
+               1.1  
+             
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+             
+               
+                 
+                 8.44  
+                 
+                 
+                 x  
+               
+               
+               +  
+               
+                 
+                 55  
+                 
+                 
+                 y  
+               
+             
+             
+             =  
+             
+             0  
+           
+         
+         
+           
+             
+               
+                 
+                 3.1  
+                 
+                 
+                 x  
+               
+               
+               -  
+               
+                 
+                 0.7  
+                 
+                 
+                 y  
+               
+             
+             
+             =  
+             
+             
+               -  
+               1.1  
+             
+           
+         
+       
+    
+mtable2.mml
+
+ 
+       
+         
+           
+            1 
+           
+           
+             
+              x 
+              + 
+              y 
+             
+           
+           
+             
+               
+                x 
+                2 
+               
+              + 
+               
+                2 
+                 
+                y 
+                 
+                x 
+               
+              + 
+               
+                y 
+                2 
+               
+             
+           
+         
+         
+           
+             
+              x 
+              + 
+              y 
+             
+           
+           
+             
+               
+                x 
+                2 
+               
+              + 
+               
+                2 
+                 
+                y 
+                 
+                x 
+               
+              + 
+               
+                y 
+                2 
+               
+             
+           
+           
+             
+               
+                x 
+                3 
+               
+              + 
+               
+                3 
+                 
+                y 
+                 
+                 
+                  x 
+                  2 
+                 
+               
+              + 
+               
+                3 
+                 
+                 
+                  y 
+                  2 
+                 
+                 
+                x 
+               
+              + 
+               
+                y 
+                3 
+               
+             
+           
+         
+         
+           
+             
+               
+                x 
+                2 
+               
+              + 
+               
+                2 
+                 
+                y 
+                 
+                x 
+               
+              + 
+               
+                y 
+                2 
+               
+             
+           
+           
+             
+               
+                x 
+                3 
+               
+              + 
+               
+                3 
+                 
+                y 
+                 
+                 
+                  x 
+                  2 
+                 
+               
+              + 
+               
+                3 
+                 
+                 
+                  y 
+                  2 
+                 
+                 
+                x 
+               
+              + 
+               
+                y 
+                3 
+               
+             
+           
+           
+             
+               
+                x 
+                4 
+               
+              + 
+               
+                4 
+                 
+                y 
+                 
+                 
+                  x 
+                  3 
+                 
+               
+              + 
+               
+                6 
+                 
+                 
+                  y 
+                  2 
+                 
+                 
+                 
+                  x 
+                  2 
+                 
+               
+              + 
+               
+                4 
+                 
+                 
+                  y 
+                  3 
+                 
+                 
+                x 
+               
+              + 
+               
+                y 
+                4 
+               
+             
+           
+         
+         
+           
+             
+               
+                x 
+                3 
+               
+              + 
+               
+                3 
+                 
+                y 
+                 
+                 
+                  x 
+                  2 
+                 
+               
+              + 
+               
+                3 
+                 
+                 
+                  y 
+                  2 
+                 
+                 
+                x 
+               
+              + 
+               
+                y 
+                3 
+               
+             
+           
+           
+             
+               
+                x 
+                4 
+               
+              + 
+               
+                4 
+                 
+                y 
+                 
+                 
+                  x 
+                  3 
+                 
+               
+              + 
+               
+                6 
+                 
+                 
+                  y 
+                  2 
+                 
+                 
+                 
+                  x 
+                  2 
+                 
+               
+              + 
+               
+                4 
+                 
+                 
+                  y 
+                  3 
+                 
+                 
+                x 
+               
+              + 
+               
+                y 
+                4 
+               
+             
+           
+           
+             
+               
+                x 
+                5 
+               
+              + 
+               
+                5 
+                 
+                y 
+                 
+                 
+                  x 
+                  4 
+                 
+               
+              + 
+               
+                10 
+                 
+                 
+                  y 
+                  2 
+                 
+                 
+                 
+                  x 
+                  3 
+                 
+               
+              + 
+               
+                10 
+                 
+                 
+                  y 
+                  3 
+                 
+                 
+                 
+                  x 
+                  2 
+                 
+               
+              + 
+               
+                5 
+                 
+                 
+                  y 
+                  4 
+                 
+                 
+                x 
+               
+              + 
+               
+                y 
+                5 
+               
+             
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+            1 
+           
+           
+             
+              x 
+              + 
+              y 
+             
+           
+           
+             
+               
+                x 
+                2 
+               
+              + 
+               
+                2 
+                 
+                y 
+                 
+                x 
+               
+              + 
+               
+                y 
+                2 
+               
+             
+           
+         
+         
+           
+             
+              x 
+              + 
+              y 
+             
+           
+           
+             
+               
+                x 
+                2 
+               
+              + 
+               
+                2 
+                 
+                y 
+                 
+                x 
+               
+              + 
+               
+                y 
+                2 
+               
+             
+           
+           
+             
+               
+                x 
+                3 
+               
+              + 
+               
+                3 
+                 
+                y 
+                 
+                 
+                  x 
+                  2 
+                 
+               
+              + 
+               
+                3 
+                 
+                 
+                  y 
+                  2 
+                 
+                 
+                x 
+               
+              + 
+               
+                y 
+                3 
+               
+             
+           
+         
+         
+           
+             
+               
+                x 
+                2 
+               
+              + 
+               
+                2 
+                 
+                y 
+                 
+                x 
+               
+              + 
+               
+                y 
+                2 
+               
+             
+           
+           
+             
+               
+                x 
+                3 
+               
+              + 
+               
+                3 
+                 
+                y 
+                 
+                 
+                  x 
+                  2 
+                 
+               
+              + 
+               
+                3 
+                 
+                 
+                  y 
+                  2 
+                 
+                 
+                x 
+               
+              + 
+               
+                y 
+                3 
+               
+             
+           
+           
+             
+               
+                x 
+                4 
+               
+              + 
+               
+                4 
+                 
+                y 
+                 
+                 
+                  x 
+                  3 
+                 
+               
+              + 
+               
+                6 
+                 
+                 
+                  y 
+                  2 
+                 
+                 
+                 
+                  x 
+                  2 
+                 
+               
+              + 
+               
+                4 
+                 
+                 
+                  y 
+                  3 
+                 
+                 
+                x 
+               
+              + 
+               
+                y 
+                4 
+               
+             
+           
+         
+         
+           
+             
+               
+                x 
+                3 
+               
+              + 
+               
+                3 
+                 
+                y 
+                 
+                 
+                  x 
+                  2 
+                 
+               
+              + 
+               
+                3 
+                 
+                 
+                  y 
+                  2 
+                 
+                 
+                x 
+               
+              + 
+               
+                y 
+                3 
+               
+             
+           
+           
+             
+               
+                x 
+                4 
+               
+              + 
+               
+                4 
+                 
+                y 
+                 
+                 
+                  x 
+                  3 
+                 
+               
+              + 
+               
+                6 
+                 
+                 
+                  y 
+                  2 
+                 
+                 
+                 
+                  x 
+                  2 
+                 
+               
+              + 
+               
+                4 
+                 
+                 
+                  y 
+                  3 
+                 
+                 
+                x 
+               
+              + 
+               
+                y 
+                4 
+               
+             
+           
+           
+             
+               
+                x 
+                5 
+               
+              + 
+               
+                5 
+                 
+                y 
+                 
+                 
+                  x 
+                  4 
+                 
+               
+              + 
+               
+                10 
+                 
+                 
+                  y 
+                  2 
+                 
+                 
+                 
+                  x 
+                  3 
+                 
+               
+              + 
+               
+                10 
+                 
+                 
+                  y 
+                  3 
+                 
+                 
+                 
+                  x 
+                  2 
+                 
+               
+              + 
+               
+                5 
+                 
+                 
+                  y 
+                  4 
+                 
+                 
+                x 
+               
+              + 
+               
+                y 
+                5 
+               
+             
+           
+         
+       
+    
+mtableAalign1.mml
+
+
+      
+        
+          
+            a
+          
+          
+            b
+          
+          
+            c
+          
+        
+        
+          
+            x
+          
+          
+            y
+          
+          
+            z
+          
+        
+        
+          
+            1
+          
+          
+            2
+          
+          
+            3
+          
+        
+       
+    ]]>
+
+is rendered as:
+    
+      
+        
+          
+            a
+          
+          
+            b
+          
+          
+            c
+          
+        
+        
+          
+            x
+          
+          
+            y
+          
+          
+            z
+          
+        
+        
+          
+            1
+          
+          
+            2
+          
+          
+            3
+          
+        
+       
+    
+mtableAalign2.mml
+
+ 
+       
+        
+          
+            Top
+           
+          
+            3
+           
+           
+             
+               
+                a 
+                + 
+                1 
+               
+              2 
+             
+           
+           
+             
+              y 
+               
+                 
+                  a 
+                  + 
+                  1 
+                 
+                2 
+               
+             
+           
+         
+        
+          
+            Bottom
+           
+          
+            3
+           
+           
+             
+               
+                a 
+                + 
+                1 
+               
+              2 
+             
+           
+           
+             
+              y 
+               
+                 
+                  a 
+                  + 
+                  1 
+                 
+                2 
+               
+             
+           
+         
+        
+          
+            Center
+           
+          
+            3
+           
+           
+             
+               
+                a 
+                + 
+                1 
+               
+              2 
+             
+           
+           
+             
+              y 
+               
+                 
+                  a 
+                  + 
+                  1 
+                 
+                2 
+               
+             
+           
+         
+        
+          
+            Baseline
+           
+          
+            3
+           
+           
+             
+               
+                a 
+                + 
+                1 
+               
+              2 
+             
+           
+           
+             
+              y 
+               
+                 
+                  a 
+                  + 
+                  1 
+                 
+                2 
+               
+             
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+        
+          
+            Top
+           
+          
+            3
+           
+           
+             
+               
+                a 
+                + 
+                1 
+               
+              2 
+             
+           
+           
+             
+              y 
+               
+                 
+                  a 
+                  + 
+                  1 
+                 
+                2 
+               
+             
+           
+         
+        
+          
+            Bottom
+           
+          
+            3
+           
+           
+             
+               
+                a 
+                + 
+                1 
+               
+              2 
+             
+           
+           
+             
+              y 
+               
+                 
+                  a 
+                  + 
+                  1 
+                 
+                2 
+               
+             
+           
+         
+        
+          
+            Center
+           
+          
+            3
+           
+           
+             
+               
+                a 
+                + 
+                1 
+               
+              2 
+             
+           
+           
+             
+              y 
+               
+                 
+                  a 
+                  + 
+                  1 
+                 
+                2 
+               
+             
+           
+         
+        
+          
+            Baseline
+           
+          
+            3
+           
+           
+             
+               
+                a 
+                + 
+                1 
+               
+              2 
+             
+           
+           
+             
+              y 
+               
+                 
+                  a 
+                  + 
+                  1 
+                 
+                2 
+               
+             
+           
+         
+       
+    
+mtableAalign3.mml
+
+
+      
+        
+          
+            
+              
+                a
+                +
+                1
+              
+              2
+            
+          
+          
+            b
+          
+          
+            c
+          
+        
+        
+          
+            x
+          
+          
+            
+              
+                2
+                3
+              
+              y
+              +
+              5
+            
+          
+          
+            z
+          
+        
+        
+          
+            1
+          
+          
+            2
+          
+          
+            
+              
+                a
+                +
+                5
+              
+              3
+            
+          
+        
+       
+     ]]>
+
+is rendered as:
+    
+      
+        
+          
+            
+              
+                a
+                +
+                1
+              
+              2
+            
+          
+          
+            b
+          
+          
+            c
+          
+        
+        
+          
+            x
+          
+          
+            
+              
+                2
+                3
+              
+              y
+              +
+              5
+            
+          
+          
+            z
+          
+        
+        
+          
+            1
+          
+          
+            2
+          
+          
+            
+              
+                a
+                +
+                5
+              
+              3
+            
+          
+        
+       
+     
+mtableAframe1.mml
+
+
+      
+        
+          
+            1
+          
+          
+            2
+          
+        
+        
+          
+            x
+          
+          
+            y
+          
+         
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+          
+            1
+          
+          
+            2
+          
+        
+        
+          
+            x
+          
+          
+            y
+          
+         
+      
+    
+mtableAframe2.mml
+
+
+      
+        
+          
+            1
+          
+          
+            2
+          
+        
+        
+          
+            x
+          
+          
+            y
+          
+         
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+          
+            1
+          
+          
+            2
+          
+        
+        
+          
+            x
+          
+          
+            y
+          
+         
+      
+    
+mtableAgroupalign.mml
+
+ 
+      
+        
+           
+            x 
+          
+        
+       
+    ]]>
+
+is rendered as:
+     
+      
+        
+           
+            x 
+          
+        
+       
+    
+mtableAlines1.mml
+
+
+      
+        
+          
+            a
+          
+          
+            b
+          
+          
+            c
+          
+        
+        
+          
+            x
+          
+          
+            y
+          
+          
+            z
+          
+        
+        
+          
+            1
+          
+          
+            2
+          
+          
+            3
+          
+        
+       
+    ]]>
+
+is rendered as:
+    
+      
+        
+          
+            a
+          
+          
+            b
+          
+          
+            c
+          
+        
+        
+          
+            x
+          
+          
+            y
+          
+          
+            z
+          
+        
+        
+          
+            1
+          
+          
+            2
+          
+          
+            3
+          
+        
+       
+    
+mtableAlines2.mml
+
+
+      
+        
+          
+            a
+          
+          
+            b
+          
+          
+            c
+          
+        
+        
+          
+            x
+          
+          
+            y
+          
+          
+            z
+          
+        
+        
+          
+            1
+          
+          
+            2
+          
+          
+            3
+          
+        
+       
+    ]]>
+
+is rendered as:
+    
+      
+        
+          
+            a
+          
+          
+            b
+          
+          
+            c
+          
+        
+        
+          
+            x
+          
+          
+            y
+          
+          
+            z
+          
+        
+        
+          
+            1
+          
+          
+            2
+          
+          
+            3
+          
+        
+       
+    
+mtableAspacing1.mml
+
+
+      
+        
+          
+            
+              
+                a
+                +
+                1
+              
+              2
+            
+          
+          
+            b
+          
+          
+            c
+          
+        
+        
+          
+            x
+          
+          
+            
+              
+                2
+                3
+              
+              y
+              +
+              5
+            
+          
+          
+            z
+          
+        
+        
+          
+            1
+          
+          
+            2
+          
+          
+            
+              
+                a
+                +
+                5
+              
+              3
+            
+          
+        
+       
+    ]]>
+
+is rendered as:
+    
+      
+        
+          
+            
+              
+                a
+                +
+                1
+              
+              2
+            
+          
+          
+            b
+          
+          
+            c
+          
+        
+        
+          
+            x
+          
+          
+            
+              
+                2
+                3
+              
+              y
+              +
+              5
+            
+          
+          
+            z
+          
+        
+        
+          
+            1
+          
+          
+            2
+          
+          
+            
+              
+                a
+                +
+                5
+              
+              3
+            
+          
+        
+       
+    
+mtableAspacing2.mml
+
+
+      
+        
+          
+            
+              
+                a
+                +
+                1
+              
+              2
+            
+          
+          
+            b
+          
+          
+            c
+          
+        
+        
+          
+            x
+          
+          
+            
+              
+                2
+                3
+              
+              y
+              +
+              5
+            
+          
+          
+            z
+          
+        
+        
+          
+            1
+          
+          
+            2
+          
+          
+            
+              
+                a
+                +
+                5
+              
+              3
+            
+          
+        
+       
+    ]]>
+
+is rendered as:
+    
+      
+        
+          
+            
+              
+                a
+                +
+                1
+              
+              2
+            
+          
+          
+            b
+          
+          
+            c
+          
+        
+        
+          
+            x
+          
+          
+            
+              
+                2
+                3
+              
+              y
+              +
+              5
+            
+          
+          
+            z
+          
+        
+        
+          
+            1
+          
+          
+            2
+          
+          
+            
+              
+                a
+                +
+                5
+              
+              3
+            
+          
+        
+       
+    
+mtableAspacing3.mml
+
+
+      
+        
+          
+            
+              
+                a
+                +
+                1
+              
+              2
+            
+          
+          
+            b
+          
+          
+            c
+          
+        
+        
+          
+            x
+          
+          
+            
+              
+                2
+                3
+              
+              y
+              +
+              5
+            
+          
+          
+            z
+          
+        
+        
+          
+            1
+          
+          
+            2
+          
+          
+            
+              
+                a
+                +
+                5
+              
+              3
+            
+          
+        
+       
+    ]]>
+
+is rendered as:
+    
+      
+        
+          
+            
+              
+                a
+                +
+                1
+              
+              2
+            
+          
+          
+            b
+          
+          
+            c
+          
+        
+        
+          
+            x
+          
+          
+            
+              
+                2
+                3
+              
+              y
+              +
+              5
+            
+          
+          
+            z
+          
+        
+        
+          
+            1
+          
+          
+            2
+          
+          
+            
+              
+                a
+                +
+                5
+              
+              3
+            
+          
+        
+       
+    
+mtableAspacing4.mml
+
+
+      
+        
+          
+            
+              
+                a
+                +
+                1
+              
+              2
+            
+          
+          
+            b
+          
+          
+            c
+          
+        
+        
+          
+            x
+          
+          
+            
+              
+                2
+                3
+              
+              y
+              +
+              5
+            
+          
+          
+            z
+          
+        
+        
+          
+            1
+          
+          
+            2
+          
+          
+            5
+          
+        
+       
+    ]]>
+
+is rendered as:
+    
+      
+        
+          
+            
+              
+                a
+                +
+                1
+              
+              2
+            
+          
+          
+            b
+          
+          
+            c
+          
+        
+        
+          
+            x
+          
+          
+            
+              
+                2
+                3
+              
+              y
+              +
+              5
+            
+          
+          
+            z
+          
+        
+        
+          
+            1
+          
+          
+            2
+          
+          
+            5
+          
+        
+       
+    
+mtableAwidth1.mml
+
+ 
+       
+         
+           
+            1 
+           
+           
+            2 
+           
+         
+         
+           
+            x 
+           
+           
+            y 
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+            1 
+           
+           
+            2 
+           
+         
+         
+           
+            x 
+           
+           
+            y 
+           
+         
+       
+    
+mtableAwidth2.mml
+
+
+      
+        
+          
+            a
+          
+          
+            b
+          
+        
+        
+          
+            x
+          
+          
+            y
+          
+        
+       
+    ]]>
+
+is rendered as:
+    
+      
+        
+          
+            a
+          
+          
+            b
+          
+        
+        
+          
+            x
+          
+          
+            y
+          
+        
+       
+    
+mtableAwidth3.mml
+
+ 
+       
+         
+           
+            1 
+           
+           
+            2 
+           
+         
+         
+           
+            x 
+           
+           
+            y 
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+            1 
+           
+           
+            2 
+           
+         
+         
+           
+            x 
+           
+           
+            y 
+           
+         
+       
+    
+mtableAwidth4.mml
+
+ 
+       
+         
+           
+            1 
+           
+           
+            2 
+           
+         
+         
+           
+            x 
+           
+           
+            y 
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+            1 
+           
+           
+            2 
+           
+         
+         
+           
+            x 
+           
+           
+            y 
+           
+         
+       
+    
+mtableBsize1.mml
+
+ 
+       
+         
+           
+             
+           
+           
+            1 
+           
+         
+         
+           
+            a long cell 
+           
+           
+            1 
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+             
+           
+           
+            1 
+           
+         
+         
+           
+            a long cell 
+           
+           
+            1 
+           
+         
+       
+    
+mtableBsize2.mml
+
+
+      
+         
+          
+            H
+           
+          
+            
+           
+          
+            G
+           
+        
+         
+          
+            
+           
+          
+            
+           
+          
+            
+           
+        
+         
+          
+            K
+           
+          
+            
+           
+          
+            L
+           
+        
+      
+    ]]>
+
+is rendered as:
+    
+      
+         
+          
+            H
+           
+          
+            
+           
+          
+            G
+           
+        
+         
+          
+            
+           
+          
+            
+           
+          
+            
+           
+        
+         
+          
+            K
+           
+          
+            
+           
+          
+            L
+           
+        
+      
+    
+
+nested
+mtableAwidth1.mml
+
+
+      
+        
+          
+            
+              
+                
+                  1
+                
+                
+                  2
+                
+              
+              
+                
+                  x
+                
+                
+                  y
+                
+              
+             
+          
+        
+        
+           
+            
+              
+                
+                  1
+                
+                
+                  2
+                
+              
+              
+                
+                  x
+                
+                
+                  y
+                
+              
+             
+          
+        
+        
+           
+            
+              
+                
+                  1
+                
+                
+                  2
+                
+              
+              
+                
+                  x
+                
+                
+                  y
+                
+              
+             
+          
+        
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+          
+            
+              
+                
+                  1
+                
+                
+                  2
+                
+              
+              
+                
+                  x
+                
+                
+                  y
+                
+              
+             
+          
+        
+        
+           
+            
+              
+                
+                  1
+                
+                
+                  2
+                
+              
+              
+                
+                  x
+                
+                
+                  y
+                
+              
+             
+          
+        
+        
+           
+            
+              
+                
+                  1
+                
+                
+                  2
+                
+              
+              
+                
+                  x
+                
+                
+                  y
+                
+              
+             
+          
+        
+      
+    
+nestedAwidth1.mml
+
+
+      
+        
+          
+            
+              
+                
+                  1
+                
+                
+                  2
+                
+              
+              
+                
+                  x
+                
+                
+                  y
+                
+              
+             
+          
+        
+        
+           
+            
+              
+                
+                  1
+                
+                
+                  2
+                
+              
+              
+                
+                  x
+                
+                
+                  y
+                
+              
+             
+          
+        
+        
+           
+            
+              
+                
+                  1
+                
+                
+                  2
+                
+              
+              
+                
+                  x
+                
+                
+                  y
+                
+              
+             
+          
+        
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+          
+            
+              
+                
+                  1
+                
+                
+                  2
+                
+              
+              
+                
+                  x
+                
+                
+                  y
+                
+              
+             
+          
+        
+        
+           
+            
+              
+                
+                  1
+                
+                
+                  2
+                
+              
+              
+                
+                  x
+                
+                
+                  y
+                
+              
+             
+          
+        
+        
+           
+            
+              
+                
+                  1
+                
+                
+                  2
+                
+              
+              
+                
+                  x
+                
+                
+                  y
+                
+              
+             
+          
+        
+      
+    
+
+
+TokenElements
+CommonAttributes
+hexcolors2.mml
+
+ 
+       
+         
+           
+             
+              A 
+              + 
+              A 
+             
+           
+         
+         
+           
+             
+              1 
+              + 
+              1 
+             
+           
+         
+         
+           
+             
+              1 
+              + 
+              1 
+             
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+             
+              A 
+              + 
+              A 
+             
+           
+         
+         
+           
+             
+              1 
+              + 
+              1 
+             
+           
+         
+         
+           
+             
+              1 
+              + 
+              1 
+             
+           
+         
+       
+    
+sizeunits3.mml
+
+ 
+       
+        x 
+        + 
+        M 
+        + 
+        x 
+        + 
+        x 
+        + 
+        x 
+        + 
+        x 
+        + 
+        x 
+        + 
+        x 
+        + 
+        x 
+        + 
+        x 
+        + 
+        x 
+       
+    ]]>
+
+is rendered as:
+     
+       
+        x 
+        + 
+        M 
+        + 
+        x 
+        + 
+        x 
+        + 
+        x 
+        + 
+        x 
+        + 
+        x 
+        + 
+        x 
+        + 
+        x 
+        + 
+        x 
+        + 
+        x 
+       
+    
+sizeunits4.mml
+
+ 
+       
+         
+          x 
+          2 
+         
+        + 
+         
+          x 
+          2 
+         
+        + 
+         
+          x 
+          2 
+         
+        + 
+         
+           
+            M 
+            x 
+           
+          2 
+         
+        + 
+         
+          x 
+          2 
+         
+        + 
+         
+          x 
+          2 
+         
+        + 
+         
+          x 
+          2 
+         
+        + 
+         
+          x 
+          2 
+         
+        + 
+         
+          x 
+          2 
+         
+        + 
+         
+          x 
+           
+          2 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+          x 
+          2 
+         
+        + 
+         
+          x 
+          2 
+         
+        + 
+         
+          x 
+          2 
+         
+        + 
+         
+           
+            M 
+            x 
+           
+          2 
+         
+        + 
+         
+          x 
+          2 
+         
+        + 
+         
+          x 
+          2 
+         
+        + 
+         
+          x 
+          2 
+         
+        + 
+         
+          x 
+          2 
+         
+        + 
+         
+          x 
+          2 
+         
+        + 
+         
+          x 
+           
+          2 
+         
+       
+    
+
+mglyph
+rec-mglyph1.mml
+
+ 
+       
+         
+       
+       
+       
+         
+       
+       
+       
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+       
+       
+       
+         
+       
+       
+       
+         
+       
+    
+rec-mglyph2.mml
+
+ 
+       α 
+         α 
+       
+    ]]>
+
+is rendered as:
+     
+       α 
+         α 
+       
+    
+
+mi
+mi1.mml
+
+ 
+       
+         x  
+         +  
+         
+           a  
+           /  
+           b  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         x  
+         +  
+         
+           a  
+           /  
+           b  
+         
+       
+    
+mi2.mml
+
+ 
+       
+         sin  
+         
+         x  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         sin  
+         
+         x  
+       
+    
+mi3.mml
+
+ 
+       
+         x  
+         
+           
+           maps to  
+         
+         y  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         x  
+         
+           
+           maps to  
+         
+         y  
+       
+    
+mi4.mml
+
+ 
+       
+         f  
+         
+         
+           (  
+           x  
+           )  
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         f  
+         
+         
+           (  
+           x  
+           )  
+         
+       
+    
+miAtoken5.mml
+
+ 
+       
+         
+           
+             A  
+            + 
+            A 
+             +  
+            A 
+            + 
+            A 
+            + 
+            A 
+            + 
+            A 
+           
+         
+         
+           
+            A 
+            + 
+            A 
+            + 
+            A 
+            + 
+            A 
+           
+         
+         
+           
+            A 
+             
+            + 
+            A 
+             
+            + 
+            A 
+             
+            + 
+            A 
+             
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+             A  
+            + 
+            A 
+             +  
+            A 
+            + 
+            A 
+            + 
+            A 
+            + 
+            A 
+           
+         
+         
+           
+            A 
+            + 
+            A 
+            + 
+            A 
+            + 
+            A 
+           
+         
+         
+           
+            A 
+             
+            + 
+            A 
+             
+            + 
+            A 
+             
+            + 
+            A 
+             
+           
+         
+       
+    
+miScolorname15.mml
+
+ 
+      x 
+      + 
+      7
+       
+      + 
+      3 
+      + 
+       
+        z 
+        + 
+        q 
+        + 
+        q 
+      
+    ]]>
+
+is rendered as:
+     
+      x 
+      + 
+      7
+       
+      + 
+      3 
+      + 
+       
+        z 
+        + 
+        q 
+        + 
+        q 
+      
+    
+miScolorname6.mml
+
+ 
+       
+         
+           
+            A 
+            + 
+            B 
+            + 
+            C 
+            + 
+             
+               
+                D 
+                + 
+                E 
+               
+             
+            + 
+            F 
+            + 
+            G 
+            + 
+            H 
+            + 
+            I 
+           
+         
+         
+           
+            A 
+            + 
+            B 
+            + 
+            C 
+            + 
+             
+               
+                D 
+                + 
+                E 
+               
+             
+            + 
+            F 
+            + 
+            G 
+            + 
+            H 
+            + 
+            I 
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+            A 
+            + 
+            B 
+            + 
+            C 
+            + 
+             
+               
+                D 
+                + 
+                E 
+               
+             
+            + 
+            F 
+            + 
+            G 
+            + 
+            H 
+            + 
+            I 
+           
+         
+         
+           
+            A 
+            + 
+            B 
+            + 
+            C 
+            + 
+             
+               
+                D 
+                + 
+                E 
+               
+             
+            + 
+            F 
+            + 
+            G 
+            + 
+            H 
+            + 
+            I 
+           
+         
+       
+    
+miScolorscope7.mml
+
+ 
+       
+         
+           
+            a 
+            + 
+             
+              a 
+              + 
+              a 
+             
+            + 
+            a 
+           
+         
+         
+           
+            a 
+            + 
+             
+              a 
+              + 
+              a 
+             
+            + 
+            a 
+           
+         
+         
+           
+            a 
+            + 
+             
+              a 
+              + 
+              a 
+             
+            + 
+            a 
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+            a 
+            + 
+             
+              a 
+              + 
+              a 
+             
+            + 
+            a 
+           
+         
+         
+           
+            a 
+            + 
+             
+              a 
+              + 
+              a 
+             
+            + 
+            a 
+           
+         
+         
+           
+            a 
+            + 
+             
+              a 
+              + 
+              a 
+             
+            + 
+            a 
+           
+         
+       
+    
+miSfonts8.mml
+
+ 
+       
+         
+          a 
+          + 
+          b 
+          + 
+          c 
+          + 
+          f 
+           
+          + 
+          Γ 
+          + 
+          d 
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+          a 
+          + 
+          b 
+          + 
+          c 
+          + 
+          f 
+           
+          + 
+          Γ 
+          + 
+          d 
+           
+         
+       
+    
+miSfontsize9.mml
+
+ 
+       
+         
+           
+             
+               
+                A 
+                + 
+                A 
+                 
+                + 
+                 
+                  A 
+                  + 
+                  A 
+                  + 
+                  A 
+                 
+                + 
+                A 
+               
+             
+           
+         
+         
+           
+             
+               
+                A 
+                + 
+                 
+                  A 
+                  + 
+                  A 
+                  + 
+                  A 
+                 
+                + 
+                A 
+                + 
+                 
+                  A 
+                  + 
+                  A 
+                  + 
+                  A 
+                 
+               
+             
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+             
+               
+                A 
+                + 
+                A 
+                 
+                + 
+                 
+                  A 
+                  + 
+                  A 
+                  + 
+                  A 
+                 
+                + 
+                A 
+               
+             
+           
+         
+         
+           
+             
+               
+                A 
+                + 
+                 
+                  A 
+                  + 
+                  A 
+                  + 
+                  A 
+                 
+                + 
+                A 
+                + 
+                 
+                  A 
+                  + 
+                  A 
+                  + 
+                  A 
+                 
+               
+             
+           
+         
+       
+    
+miSmathsize16.mml
+
+ 
+      A 
+      + 
+      B
+    ]]>
+
+is rendered as:
+     
+      A 
+      + 
+      B
+    
+miSmathsize17.mml
+
+ 
+      A 
+      + 
+      A 
+      + 
+      A 
+      + 
+      B
+    ]]>
+
+is rendered as:
+     
+      A 
+      + 
+      A 
+      + 
+      A 
+      + 
+      B
+    
+miStoken10.mml
+
+ 
+       
+         
+          A 
+          + 
+          A 
+          + 
+          A 
+           
+          + 
+          A 
+          + 
+          A 
+           
+          + 
+          A 
+          + 
+          A 
+          + 
+          A 
+          + 
+          A 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+          A 
+          + 
+          A 
+          + 
+          A 
+           
+          + 
+          A 
+          + 
+          A 
+           
+          + 
+          A 
+          + 
+          A 
+          + 
+          A 
+          + 
+          A 
+         
+       
+    
+mifontstyle12.mml
+
+ 
+       
+        h 
+        + 
+        hhh 
+        + 
+        h 
+        + 
+        hhh 
+       
+    ]]>
+
+is rendered as:
+     
+       
+        h 
+        + 
+        hhh 
+        + 
+        h 
+        + 
+        hhh 
+       
+    
+mimathvariant13.mml
+
+ 
+       
+         
+           
+            a 
+           
+           
+            a 
+           
+           
+            a 
+           
+           
+            a 
+           
+           
+            a 
+           
+           
+            a 
+           
+           
+            a 
+           
+           
+            a 
+           
+           
+            a 
+           
+           
+            a 
+           
+           
+            a 
+           
+           
+            a 
+             
+           
+           
+            a 
+             
+           
+           
+            a 
+             
+           
+           
+            a 
+           
+           
+            ab 
+           
+         
+         
+           
+            A 
+           
+           
+            A 
+           
+           
+            A 
+           
+           
+            A 
+           
+           
+            A 
+           
+           
+            A 
+           
+           
+            A 
+           
+           
+            A 
+           
+           
+            A 
+           
+           
+            A 
+           
+           
+            A 
+           
+           
+            A 
+             
+           
+           
+            A 
+             
+           
+           
+            A 
+             
+           
+           
+            A 
+           
+           
+            α 
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+            a 
+           
+           
+            a 
+           
+           
+            a 
+           
+           
+            a 
+           
+           
+            a 
+           
+           
+            a 
+           
+           
+            a 
+           
+           
+            a 
+           
+           
+            a 
+           
+           
+            a 
+           
+           
+            a 
+           
+           
+            a 
+             
+           
+           
+            a 
+             
+           
+           
+            a 
+             
+           
+           
+            a 
+           
+           
+            ab 
+           
+         
+         
+           
+            A 
+           
+           
+            A 
+           
+           
+            A 
+           
+           
+            A 
+           
+           
+            A 
+           
+           
+            A 
+           
+           
+            A 
+           
+           
+            A 
+           
+           
+            A 
+           
+           
+            A 
+           
+           
+            A 
+           
+           
+            A 
+             
+           
+           
+            A 
+             
+           
+           
+            A 
+             
+           
+           
+            A 
+           
+           
+            α 
+           
+         
+       
+    
+mimathvariant14.mml
+
+ 
+       
+         
+           
+            ABCDEFGHIJKLMNOPQRSTUVWXYZ 
+             
+            abcdefghijklmnopqrstuvwxyz 
+             
+           
+         
+         
+           
+            ABCDEFGHIJKLMNOPQRSTUVWXYZ 
+             
+            abcdefghijklmnopqrstuvwxyz 
+             
+           
+         
+         
+           
+            ABCDEFGHIJKLMNOPQRSTUVWXYZ 
+             
+            abcdefghijklmnopqrstuvwxyz 
+             
+           
+         
+         
+           
+            ABCDEFGHIJKLMNOPQRSTUVWXYZ 
+             
+            abcdefghijklmnopqrstuvwxyz 
+             
+           
+         
+         
+           
+            ABCDEFGHIJKLMNOPQRSTUVWXYZ 
+             
+            abcdefghijklmnopqrstuvwxyz 
+             
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+            ABCDEFGHIJKLMNOPQRSTUVWXYZ 
+             
+            abcdefghijklmnopqrstuvwxyz 
+             
+           
+         
+         
+           
+            ABCDEFGHIJKLMNOPQRSTUVWXYZ 
+             
+            abcdefghijklmnopqrstuvwxyz 
+             
+           
+         
+         
+           
+            ABCDEFGHIJKLMNOPQRSTUVWXYZ 
+             
+            abcdefghijklmnopqrstuvwxyz 
+             
+           
+         
+         
+           
+            ABCDEFGHIJKLMNOPQRSTUVWXYZ 
+             
+            abcdefghijklmnopqrstuvwxyz 
+             
+           
+         
+         
+           
+            ABCDEFGHIJKLMNOPQRSTUVWXYZ 
+             
+            abcdefghijklmnopqrstuvwxyz 
+             
+           
+         
+       
+    
+
+mn
+mn1.mml
+
+ 
+       
+         1  
+         +  
+         ...  
+         +  
+         n  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         1  
+         +  
+         ...  
+         +  
+         n  
+       
+    
+mn2.mml
+
+ 
+       
+         2  
+         ,  
+         0.123  
+         ,  
+         1,000,000  
+         ,  
+         2.1e10  
+         ,  
+         0xFFEF  
+         ,  
+         MCMLXIX  
+         ,  
+         twenty one  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         2  
+         ,  
+         0.123  
+         ,  
+         1,000,000  
+         ,  
+         2.1e10  
+         ,  
+         0xFFEF  
+         ,  
+         MCMLXIX  
+         ,  
+         twenty one  
+       
+    
+mn3.mml
+
+ 
+       
+         2  
+         +  
+         
+           3  
+           
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         2  
+         +  
+         
+           3  
+           
+           
+         
+       
+    
+mn4.mml
+
+ 
+       
+         100  
+        ! 
+       
+       =  
+      93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000 
+       
+    ]]>
+
+is rendered as:
+     
+       
+         100  
+        ! 
+       
+       =  
+      93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000 
+       
+    
+mnAcolorname5.mml
+
+ 
+       
+        Five 
+        + 
+        12 
+        + 
+        12 
+        + 
+        12 
+        + 
+        12 
+        + 
+        12 
+        + 
+        12 
+        + 
+        12 
+        + 
+        12 
+       
+    ]]>
+
+is rendered as:
+     
+       
+        Five 
+        + 
+        12 
+        + 
+        12 
+        + 
+        12 
+        + 
+        12 
+        + 
+        12 
+        + 
+        12 
+        + 
+        12 
+        + 
+        12 
+       
+    
+mnAtoken6.mml
+
+ 
+       
+        5 
+        + 
+        5 
+        + 
+        1 
+        + 
+        1 
+        + 
+        5 
+        + 
+        3 
+        + 
+        9 
+       
+    ]]>
+
+is rendered as:
+     
+       
+        5 
+        + 
+        5 
+        + 
+        1 
+        + 
+        1 
+        + 
+        5 
+        + 
+        3 
+        + 
+        9 
+       
+    
+mnAtoken7.mml
+
+ 
+       
+        5 
+        + 
+        31 
+         
+        + 
+        0 
+         
+        + 
+        14 
+         
+        + 
+        123456789 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+        5 
+        + 
+        31 
+         
+        + 
+        0 
+         
+        + 
+        14 
+         
+        + 
+        123456789 
+         
+       
+    
+mnScolor8.mml
+
+ 
+       
+         
+          5 
+          + 
+          5 
+          + 
+          5 
+          + 
+          5 
+          + 
+          5 
+          + 
+          5 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+          5 
+          + 
+          5 
+          + 
+          5 
+          + 
+          5 
+          + 
+          5 
+          + 
+          5 
+         
+       
+    
+mnSdisplaystyle9.mml
+
+ 
+       
+         
+          5 
+          + 
+          23 
+          + 
+          0.5 
+           
+          + 
+          5.0 
+          + 
+          .1 
+           
+          + 
+          100 
+          + 
+          0xFFEF 
+          + 
+          5 
+          + 
+          5 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+          5 
+          + 
+          23 
+          + 
+          0.5 
+           
+          + 
+          5.0 
+          + 
+          .1 
+           
+          + 
+          100 
+          + 
+          0xFFEF 
+          + 
+          5 
+          + 
+          5 
+         
+       
+    
+mnSfont10.mml
+
+ 
+       
+         
+          5 
+          + 
+          5 
+          + 
+          5 
+          + 
+          5 
+          + 
+          5 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+          5 
+          + 
+          5 
+          + 
+          5 
+          + 
+          5 
+          + 
+          5 
+         
+       
+    
+mnSscriptlevel11.mml
+
+ 
+       
+         
+           
+            5 
+            + 
+            3 
+            + 
+            12.3 
+            + 
+            10000 
+             
+            + 
+            0.01 
+            + 
+            2 
+             
+           
+         
+         
+          5 
+          + 
+          3 
+          + 
+          12.3 
+          + 
+          10000 
+           
+          + 
+          0.01 
+          + 
+          2 
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+            5 
+            + 
+            3 
+            + 
+            12.3 
+            + 
+            10000 
+             
+            + 
+            0.01 
+            + 
+            2 
+             
+           
+         
+         
+          5 
+          + 
+          3 
+          + 
+          12.3 
+          + 
+          10000 
+           
+          + 
+          0.01 
+          + 
+          2 
+           
+         
+       
+    
+
+mo
+mo1.mml
+
+ 
+       
+         -  
+         1  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         -  
+         1  
+       
+    
+mo2.mml
+
+ 
+       
+         (  
+        x 
+         )  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         (  
+        x 
+         )  
+       
+    
+mo3.mml
+
+ 
+       
+         (  
+         
+           a  
+           +  
+           b  
+         
+         )  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         (  
+         
+           a  
+           +  
+           b  
+         
+         )  
+       
+    
+mo4.mml
+
+ 
+       
+         [  
+         
+           0  
+           ,  
+           1  
+         
+         )  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         [  
+         
+           0  
+           ,  
+           1  
+         
+         )  
+       
+    
+mo5.mml
+
+ 
+       
+         (  
+         
+           a  
+           b  
+         
+         )  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         (  
+         
+           a  
+           b  
+         
+         )  
+       
+    
+mo6.mml
+
+ 
+       
+         there exists  
+         
+           
+             δ  
+             >  
+             0  
+           
+           such that  
+           
+             
+               f  
+               
+               
+                 (  
+                 x  
+                 )  
+               
+             
+             <  
+             1  
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         there exists  
+         
+           
+             δ  
+             >  
+             0  
+           
+           such that  
+           
+             
+               f  
+               
+               
+                 (  
+                 x  
+                 )  
+               
+             
+             <  
+             1  
+           
+         
+       
+    
+mo7.mml
+
+ 
+       
+         (  
+         
+           x  
+           ,  
+           y  
+         
+         )  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         (  
+         
+           x  
+           ,  
+           y  
+         
+         )  
+       
+    
+mo8.mml
+
+ 
+       
+         (  
+         
+           a  
+           b  
+         
+         )  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         (  
+         
+           a  
+           b  
+         
+         )  
+       
+    
+moAaccent10.mml
+
+ 
+       
+         
+           
+            G 
+            - 
+            1 
+           
+          ¯ 
+         
+        + 
+         
+           
+            G 
+            - 
+            1 
+           
+          ¯ 
+         
+        + 
+         
+           
+            G 
+            - 
+            1 
+           
+          ¯ 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+            G 
+            - 
+            1 
+           
+          ¯ 
+         
+        + 
+         
+           
+            G 
+            - 
+            1 
+           
+          ¯ 
+         
+        + 
+         
+           
+            G 
+            - 
+            1 
+           
+          ¯ 
+         
+       
+    
+moAaccent9.mml
+
+ 
+       
+         
+           
+            G 
+            - 
+            1 
+           
+          ¯ 
+         
+        + 
+         
+           
+            G 
+            - 
+            1 
+           
+          ¯ 
+         
+        + 
+         
+           
+            G 
+            - 
+            1 
+           
+          ¯ 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+            G 
+            - 
+            1 
+           
+          ¯ 
+         
+        + 
+         
+           
+            G 
+            - 
+            1 
+           
+          ¯ 
+         
+        + 
+         
+           
+            G 
+            - 
+            1 
+           
+          ¯ 
+         
+       
+    
+moAform11.mml
+
+ 
+       
+        - 
+        x 
+       
+       
+        - 
+        x 
+       
+       
+        - 
+        x 
+       
+       
+        - 
+        x 
+       
+      - 
+      x 
+      - 
+      x 
+    ]]>
+
+is rendered as:
+     
+       
+        - 
+        x 
+       
+       
+        - 
+        x 
+       
+       
+        - 
+        x 
+       
+       
+        - 
+        x 
+       
+      - 
+      x 
+      - 
+      x 
+    
+moAlargeop12.mml
+
+ 
+       
+         
+        x 
+        = 
+         
+        x 
+        = 
+         
+        x 
+        = 
+         
+           
+          x 
+          = 
+           
+          x 
+          = 
+           
+          x 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+        x 
+        = 
+         
+        x 
+        = 
+         
+        x 
+        = 
+         
+           
+          x 
+          = 
+           
+          x 
+          = 
+           
+          x 
+         
+       
+    
+moAlrspace13.mml
+
+ 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+    ]]>
+
+is rendered as:
+     
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+    
+moAminmax14.mml
+
+ 
+       
+        ( 
+         
+          y 
+          z 
+         
+        ) 
+        + 
+        ( 
+         
+          y 
+          z 
+         
+        ) 
+       
+    ]]>
+
+is rendered as:
+     
+       
+        ( 
+         
+          y 
+          z 
+         
+        ) 
+        + 
+        ( 
+         
+          y 
+          z 
+         
+        ) 
+       
+    
+moAmovable15.mml
+
+ 
+       
+         
+           
+          x 
+          0 
+         
+        = 
+         
+          ∑ 
+           
+          x 
+          0 
+         
+        = 
+         
+          ∑ 
+           
+          x 
+          0 
+         
+        = 
+         
+           
+             
+            x 
+            0 
+           
+          = 
+           
+            ∑ 
+             
+            x 
+            0 
+           
+          = 
+           
+            ∑ 
+             
+            x 
+            0 
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+          x 
+          0 
+         
+        = 
+         
+          ∑ 
+           
+          x 
+          0 
+         
+        = 
+         
+          ∑ 
+           
+          x 
+          0 
+         
+        = 
+         
+           
+             
+            x 
+            0 
+           
+          = 
+           
+            ∑ 
+             
+            x 
+            0 
+           
+          = 
+           
+            ∑ 
+             
+            x 
+            0 
+           
+         
+       
+    
+moAprime16.mml
+
+ 
+       
+         
+          f 
+          ' 
+         
+         
+          ( 
+          x 
+          ) 
+         
+        = 
+         
+          f 
+           
+         
+         
+          ( 
+          x 
+          ) 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+          f 
+          ' 
+         
+         
+          ( 
+          x 
+          ) 
+         
+        = 
+         
+          f 
+           
+         
+         
+          ( 
+          x 
+          ) 
+         
+       
+    
+moAsep17.mml
+
+ 
+       
+        ( 
+         
+          x 
+          , 
+           
+            y 
+            z 
+           
+         
+        ) 
+        + 
+        ( 
+         
+          x 
+          , 
+           
+            y 
+            z 
+           
+         
+        ) 
+        + 
+        ( 
+         
+          x 
+          , 
+           
+            y 
+            z 
+           
+         
+        ) 
+       
+    ]]>
+
+is rendered as:
+     
+       
+        ( 
+         
+          x 
+          , 
+           
+            y 
+            z 
+           
+         
+        ) 
+        + 
+        ( 
+         
+          x 
+          , 
+           
+            y 
+            z 
+           
+         
+        ) 
+        + 
+        ( 
+         
+          x 
+          , 
+           
+            y 
+            z 
+           
+         
+        ) 
+       
+    
+moAstretchy18.mml
+
+ 
+       
+        ( 
+         
+           
+             
+              0 
+             
+           
+           
+             
+              0 
+             
+           
+           
+             
+              0 
+             
+           
+           
+             
+              0 
+             
+           
+           
+             
+              0 
+             
+           
+         
+        ) 
+        ( 
+         
+           
+             
+              0 
+             
+           
+           
+             
+              0 
+             
+           
+           
+             
+              0 
+             
+           
+           
+             
+              0 
+             
+           
+           
+             
+              0 
+             
+           
+         
+        ) 
+        ( 
+         
+           
+             
+              0 
+             
+           
+           
+             
+              0 
+             
+           
+           
+             
+              0 
+             
+           
+           
+             
+              0 
+             
+           
+           
+             
+              0 
+             
+           
+         
+        ) 
+       
+    ]]>
+
+is rendered as:
+     
+       
+        ( 
+         
+           
+             
+              0 
+             
+           
+           
+             
+              0 
+             
+           
+           
+             
+              0 
+             
+           
+           
+             
+              0 
+             
+           
+           
+             
+              0 
+             
+           
+         
+        ) 
+        ( 
+         
+           
+             
+              0 
+             
+           
+           
+             
+              0 
+             
+           
+           
+             
+              0 
+             
+           
+           
+             
+              0 
+             
+           
+           
+             
+              0 
+             
+           
+         
+        ) 
+        ( 
+         
+           
+             
+              0 
+             
+           
+           
+             
+              0 
+             
+           
+           
+             
+              0 
+             
+           
+           
+             
+              0 
+             
+           
+           
+             
+              0 
+             
+           
+         
+        ) 
+       
+    
+moAsymmetric19.mml
+
+ 
+      x 
+      = 
+       
+        ( 
+         
+           
+             
+              0 
+             
+           
+           
+             
+              0 
+             
+           
+         
+        ) 
+         
+          ( 
+           
+             
+               
+                0 
+               
+             
+             
+               
+                0 
+               
+             
+           
+          ) 
+         
+        ( 
+         
+           
+             
+              0 
+             
+           
+           
+             
+              0 
+             
+           
+         
+        ) 
+       
+    ]]>
+
+is rendered as:
+     
+      x 
+      = 
+       
+        ( 
+         
+           
+             
+              0 
+             
+           
+           
+             
+              0 
+             
+           
+         
+        ) 
+         
+          ( 
+           
+             
+               
+                0 
+               
+             
+             
+               
+                0 
+               
+             
+           
+          ) 
+         
+        ( 
+         
+           
+             
+              0 
+             
+           
+           
+             
+              0 
+             
+           
+         
+        ) 
+       
+    
+moSminmax20.mml
+
+ 
+       
+         
+          ( 
+           
+            y 
+            z 
+           
+          ) 
+          + 
+          ( 
+           
+            y 
+            z 
+           
+          ) 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+          ( 
+           
+            y 
+            z 
+           
+          ) 
+          + 
+          ( 
+           
+            y 
+            z 
+           
+          ) 
+         
+       
+    
+
+ms
+ms1.mml
+
+ 
+      Minneapolis 
+    ]]>
+
+is rendered as:
+     
+      Minneapolis 
+    
+msAdisplaystyle2.mml
+
+ 
+       
+         
+          A 
+          + 
+          A 
+          + 
+          A 
+           
+          + 
+          A 
+          + 
+          A 
+           
+          + 
+          A 
+          + 
+          A 
+          + 
+          A 
+          + 
+          A 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+          A 
+          + 
+          A 
+          + 
+          A 
+           
+          + 
+          A 
+          + 
+          A 
+           
+          + 
+          A 
+          + 
+          A 
+          + 
+          A 
+          + 
+          A 
+         
+       
+    
+msAquotes3.mml
+
+ 
+      St. Paul 
+       
+    ]]>
+
+is rendered as:
+     
+      St. Paul 
+       
+    
+msAtoken4.mml
+
+ 
+       
+        dog 
+        + 
+        cat 
+        + 
+        dog 
+        + 
+        cat 
+        + 
+        pig 
+        + 
+        goat 
+       
+    ]]>
+
+is rendered as:
+     
+       
+        dog 
+        + 
+        cat 
+        + 
+        dog 
+        + 
+        cat 
+        + 
+        pig 
+        + 
+        goat 
+       
+    
+msAtoken5.mml
+
+ 
+       
+        dog 
+        + 
+        cat 
+         
+        + 
+        pig 
+         
+        + 
+        fish 
+         
+        + 
+        κατ 
+         
+        + 
+        goat 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+        dog 
+        + 
+        cat 
+         
+        + 
+        pig 
+         
+        + 
+        fish 
+         
+        + 
+        κατ 
+         
+        + 
+        goat 
+         
+       
+    
+msScolorscope6.mml
+
+ 
+       
+        boy 
+        + 
+         
+          girl 
+          + 
+          apple 
+         
+        + 
+        fig 
+       
+    ]]>
+
+is rendered as:
+     
+       
+        boy 
+        + 
+         
+          girl 
+          + 
+          apple 
+         
+        + 
+        fig 
+       
+    
+msSinheritance7.mml
+
+ 
+       
+         
+          big 
+          + 
+          bog 
+           
+          + 
+           
+            new 
+            + 
+            net 
+            + 
+            nod 
+           
+          + 
+          nix 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+          big 
+          + 
+          bog 
+           
+          + 
+           
+            new 
+            + 
+            net 
+            + 
+            nod 
+           
+          + 
+          nix 
+         
+       
+    
+msSinheritance8.mml
+
+ 
+       
+         
+          a 
+          + 
+          b 
+          + 
+          c 
+          + 
+          f 
+           
+          + 
+          Γ 
+          + 
+          d 
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+          a 
+          + 
+          b 
+          + 
+          c 
+          + 
+          f 
+           
+          + 
+          Γ 
+          + 
+          d 
+           
+         
+       
+    
+
+mspace
+mspace1.mml
+
+ 
+       
+        x 
+         
+           
+         
+        M 
+         
+           
+         
+        x 
+         
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+        x 
+         
+           
+         
+        M 
+         
+           
+         
+        x 
+         
+           
+         
+       
+    
+mspace2.mml
+
+ 
+       
+        H 
+         
+        H 
+       
+    ]]>
+
+is rendered as:
+     
+       
+        H 
+         
+        H 
+       
+    
+mspaceAbreak3.mml
+
+ 
+       
+         aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 
+         
+         +  
+         
+         bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 
+         
+         +  
+         
+         cccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 
+         
+         +  
+         
+         dddddddddddddddddddddddddddddddddddddddddddddddddddddddddd 
+         
+         +  
+         
+         eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 
+         
+         +  
+         
+         fffffffffffffffffffffffffff  
+         +  
+         
+         gggggggggggggggggggggggggggggggggggggggggggggggggggggg 
+         
+         +  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 
+         
+         +  
+         
+         bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 
+         
+         +  
+         
+         cccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 
+         
+         +  
+         
+         dddddddddddddddddddddddddddddddddddddddddddddddddddddddddd 
+         
+         +  
+         
+         eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 
+         
+         +  
+         
+         fffffffffffffffffffffffffff  
+         +  
+         
+         gggggggggggggggggggggggggggggggggggggggggggggggggggggg 
+         
+         +  
+       
+    
+mspacestruts2.mml
+
+ 
+       
+         
+          x 
+           
+          y 
+         
+        2 
+       
+      + 
+       
+        2 
+         
+          x 
+           
+          y 
+         
+       
+      + 
+       
+         
+          x 
+           
+          y 
+         
+        2 
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+          x 
+           
+          y 
+         
+        2 
+       
+      + 
+       
+        2 
+         
+          x 
+           
+          y 
+         
+       
+      + 
+       
+         
+          x 
+           
+          y 
+         
+        2 
+       
+    
+
+mtext
+mtext1.mml
+
+ 
+       Theorem 1:  
+    ]]>
+
+is rendered as:
+     
+       Theorem 1:  
+    
+mtext2.mml
+
+ 
+       Theorem 1:  
+       ,  
+       
+       ,  
+              
+       
+       ,  
+       /* a comment */  
+    ]]>
+
+is rendered as:
+     
+       Theorem 1:  
+       ,  
+       
+       ,  
+              
+       
+       ,  
+       /* a comment */  
+    
+mtextAtoken3.mml
+
+ 
+       
+         Theorem 1:  
+         Now is  
+         the time 
+         
+         for  
+         MathML  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         Theorem 1:  
+         Now is  
+         the time 
+         
+         for  
+         MathML  
+       
+    
+mtextSbg4.mml
+
+ 
+       
+         Theorem 1:  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         Theorem 1:  
+       
+    
+mtextScolor5.mml
+
+ 
+       
+         Theorem 1:  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         Theorem 1:  
+       
+    
+mtextStoken6.mml
+
+ 
+       
+         Theorem 1:  
+       
+    ]]>
+
+is rendered as:
+     
+       
+         Theorem 1:  
+       
+    
+mtextspaces7.mml
+
+ 
+       This is   some     text with spaces. 
+       
+    ]]>
+
+is rendered as:
+     
+       This is   some     text with spaces. 
+       
+    
+
+
+
+Topics
+Accents
+accents1.mml
+
+ 
+       
+         
+          x 
+          ˜ 
+         
+         
+          x 
+          ˜ 
+         
+         
+          x 
+          ˜ 
+         
+         
+          x 
+          + 
+         
+         
+          x 
+          + 
+         
+       
+       
+         
+          x 
+           
+         
+        2 
+      
+    ]]>
+
+is rendered as:
+     
+       
+         
+          x 
+          ˜ 
+         
+         
+          x 
+          ˜ 
+         
+         
+          x 
+          ˜ 
+         
+         
+          x 
+          + 
+         
+         
+          x 
+          + 
+         
+       
+       
+         
+          x 
+           
+         
+        2 
+      
+    
+accents3.mml
+
+ 
+       
+        H 
+        ̂ 
+       
+       
+        H 
+        ¯ 
+       
+       
+        H 
+         
+       
+       
+        H 
+         
+       
+       
+        H 
+        ˜ 
+       
+    ]]>
+
+is rendered as:
+     
+       
+        H 
+        ̂ 
+       
+       
+        H 
+        ¯ 
+       
+       
+        H 
+         
+       
+       
+        H 
+         
+       
+       
+        H 
+        ˜ 
+       
+    
+
+EmbellishedOp
+embStretch1.mml
+
+ 
+      ( 
+       
+        2 
+        x 
+       
+       
+        ) 
+        - 
+       
+    ]]>
+
+is rendered as:
+     
+      ( 
+       
+        2 
+        x 
+       
+       
+        ) 
+        - 
+       
+    
+
+LargeOp
+chain1.mml
+
+
+      
+        
+        0
+        1
+      
+      f
+       
+        (
+        x
+        )
+      
+      
+      
+      x
+      =
+      
+        
+        
+          i
+          =
+          0
+        
+        
+      
+      
+        x
+        i
+      
+      =
+      
+        
+        
+          i
+          =
+          0
+        
+        
+      
+      
+        x
+        i
+      
+      =
+      
+        
+        
+          i
+          =
+          0
+        
+        
+      
+      
+        x
+        i
+      
+      =
+      
+        
+        0
+        1
+      
+      f
+       
+        (
+        x
+        )
+      
+      
+      
+      x
+      =
+      
+        
+        0
+        1
+      
+      f
+       
+        (
+        x
+        )
+      
+      
+      
+      x
+      =
+      
+        
+        0
+        1
+      
+      f
+       
+        (
+        x
+        )
+      
+      
+      
+      x
+    ]]>
+
+is rendered as:
+    
+      
+        
+        0
+        1
+      
+      f
+       
+        (
+        x
+        )
+      
+      
+      
+      x
+      =
+      
+        
+        
+          i
+          =
+          0
+        
+        
+      
+      
+        x
+        i
+      
+      =
+      
+        
+        
+          i
+          =
+          0
+        
+        
+      
+      
+        x
+        i
+      
+      =
+      
+        
+        
+          i
+          =
+          0
+        
+        
+      
+      
+        x
+        i
+      
+      =
+      
+        
+        0
+        1
+      
+      f
+       
+        (
+        x
+        )
+      
+      
+      
+      x
+      =
+      
+        
+        0
+        1
+      
+      f
+       
+        (
+        x
+        )
+      
+      
+      
+      x
+      =
+      
+        
+        0
+        1
+      
+      f
+       
+        (
+        x
+        )
+      
+      
+      
+      x
+    
+chain2.mml
+
+
+      
+        
+          
+          0
+          1
+        
+        f
+         
+          (
+          x
+          )
+        
+        
+        
+        x
+        =
+        
+          
+          
+            i
+            =
+            0
+          
+          
+        
+        
+          x
+          i
+        
+        =
+        
+          
+          
+            i
+            =
+            0
+          
+          
+        
+        
+          x
+          i
+        
+        =
+        
+          
+          
+            i
+            =
+            0
+          
+          
+        
+        
+          x
+          i
+        
+        =
+        
+          
+          0
+          1
+        
+        f
+         
+          (
+          x
+          )
+        
+        
+        
+        x
+        =
+        
+          
+          0
+          1
+        
+        f
+         
+          (
+          x
+          )
+        
+        
+        
+        x
+        =
+        
+          
+          0
+          1
+        
+        f
+         
+          (
+          x
+          )
+        
+        
+        
+        x
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+          
+          0
+          1
+        
+        f
+         
+          (
+          x
+          )
+        
+        
+        
+        x
+        =
+        
+          
+          
+            i
+            =
+            0
+          
+          
+        
+        
+          x
+          i
+        
+        =
+        
+          
+          
+            i
+            =
+            0
+          
+          
+        
+        
+          x
+          i
+        
+        =
+        
+          
+          
+            i
+            =
+            0
+          
+          
+        
+        
+          x
+          i
+        
+        =
+        
+          
+          0
+          1
+        
+        f
+         
+          (
+          x
+          )
+        
+        
+        
+        x
+        =
+        
+          
+          0
+          1
+        
+        f
+         
+          (
+          x
+          )
+        
+        
+        
+        x
+        =
+        
+          
+          0
+          1
+        
+        f
+         
+          (
+          x
+          )
+        
+        
+        
+        x
+      
+    
+coprod1.mml
+
+
+      
+        
+        
+          i
+          =
+          0
+        
+        
+      
+      
+        x
+        i
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+        
+          i
+          =
+          0
+        
+        
+      
+      
+        x
+        i
+      
+    
+coprod2.mml
+
+
+      
+        
+          
+          
+            i
+            =
+            0
+          
+          
+        
+        
+          x
+          i
+        
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+          
+          
+            i
+            =
+            0
+          
+          
+        
+        
+          x
+          i
+        
+      
+    
+doubleint1.mml
+
+
+      
+        
+        0
+        1
+      
+      f
+       
+        (
+        x
+        )
+      
+      
+      
+      x
+    ]]>
+
+is rendered as:
+    
+      
+        
+        0
+        1
+      
+      f
+       
+        (
+        x
+        )
+      
+      
+      
+      x
+    
+doubleint2.mml
+
+
+      
+        
+          
+          0
+          1
+        
+        f
+         
+          (
+          x
+          )
+        
+        
+        
+        x
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+          
+          0
+          1
+        
+        f
+         
+          (
+          x
+          )
+        
+        
+        
+        x
+      
+    
+int1.mml
+
+
+      
+        
+        f
+         
+          (
+          x
+          )
+        
+        
+        
+        x
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+        f
+         
+          (
+          x
+          )
+        
+        
+        
+        x
+      
+    
+int10.mml
+
+
+      
+        
+          
+          0
+          1
+        
+        f
+         
+          (
+          x
+          )
+        
+        
+        
+        x
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+          
+          0
+          1
+        
+        f
+         
+          (
+          x
+          )
+        
+        
+        
+        x
+      
+    
+int2.mml
+
+
+      
+        
+        f
+         
+          (
+          
+            x
+            2
+          
+          )
+        
+        
+        
+        x
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+        f
+         
+          (
+          
+            x
+            2
+          
+          )
+        
+        
+        
+        x
+      
+    
+int3.mml
+
+
+      
+        
+          
+          0
+          1
+        
+        f
+         
+          (
+          x
+          )
+        
+        
+        
+        x
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+          
+          0
+          1
+        
+        f
+         
+          (
+          x
+          )
+        
+        
+        
+        x
+      
+    
+int4.mml
+
+
+      
+        
+          
+          0
+          1
+        
+        f
+         
+          (
+          
+            x
+            2
+          
+          )
+        
+        
+        
+        x
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+          
+          0
+          1
+        
+        f
+         
+          (
+          
+            x
+            2
+          
+          )
+        
+        
+        
+        x
+      
+    
+int5.mml
+
+
+      
+        
+          
+          0
+          1
+        
+        f
+         
+          (
+          x
+          )
+        
+        
+        
+        x
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+          
+          0
+          1
+        
+        f
+         
+          (
+          x
+          )
+        
+        
+        
+        x
+      
+    
+int6.mml
+
+
+      
+        
+        f
+         
+          (
+          
+            x
+            2
+          
+          )
+        
+        
+        
+        x
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+        f
+         
+          (
+          
+            x
+            2
+          
+          )
+        
+        
+        
+        x
+      
+    
+int7.mml
+
+
+      
+        
+          
+          0
+          1
+        
+        f
+         
+          (
+          x
+          )
+        
+        
+        
+        x
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+          
+          0
+          1
+        
+        f
+         
+          (
+          x
+          )
+        
+        
+        
+        x
+      
+    
+int8.mml
+
+
+      
+        
+          
+          0
+          1
+        
+        f
+         
+          (
+          
+            x
+            2
+          
+          )
+        
+        
+        
+        x
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+          
+          0
+          1
+        
+        f
+         
+          (
+          
+            x
+            2
+          
+          )
+        
+        
+        
+        x
+      
+    
+int9.mml
+
+
+      
+        
+        0
+        1
+      
+      f
+       
+        (
+        x
+        )
+      
+      
+      
+      x
+    ]]>
+
+is rendered as:
+    
+      
+        
+        0
+        1
+      
+      f
+       
+        (
+        x
+        )
+      
+      
+      
+      x
+    
+largeop1.mml
+
+ 
+       
+         
+           
+            displaystyle: false largeop: false 
+             
+           
+           
+             
+               
+               
+               
+               
+               
+               
+               
+             
+           
+         
+         
+           
+            displaystyle: false largeop: true 
+             
+           
+           
+             
+               
+               
+               
+               
+               
+               
+               
+             
+           
+         
+         
+           
+            displaystyle: true largeop: false 
+             
+           
+           
+             
+               
+               
+               
+               
+               
+               
+               
+             
+           
+         
+         
+           
+            displaystyle: true largeop: true 
+             
+           
+           
+             
+               
+               
+               
+               
+               
+               
+               
+             
+           
+         
+         
+           
+            displaystyle: false largeop: default 
+             
+           
+           
+             
+               
+               
+               
+               
+               
+               
+               
+             
+           
+         
+         
+           
+            displaystyle: true largeop: default 
+             
+           
+           
+             
+               
+               
+               
+               
+               
+               
+               
+             
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+            displaystyle: false largeop: false 
+             
+           
+           
+             
+               
+               
+               
+               
+               
+               
+               
+             
+           
+         
+         
+           
+            displaystyle: false largeop: true 
+             
+           
+           
+             
+               
+               
+               
+               
+               
+               
+               
+             
+           
+         
+         
+           
+            displaystyle: true largeop: false 
+             
+           
+           
+             
+               
+               
+               
+               
+               
+               
+               
+             
+           
+         
+         
+           
+            displaystyle: true largeop: true 
+             
+           
+           
+             
+               
+               
+               
+               
+               
+               
+               
+             
+           
+         
+         
+           
+            displaystyle: false largeop: default 
+             
+           
+           
+             
+               
+               
+               
+               
+               
+               
+               
+             
+           
+         
+         
+           
+            displaystyle: true largeop: default 
+             
+           
+           
+             
+               
+               
+               
+               
+               
+               
+               
+             
+           
+         
+       
+    
+largeop2.mml
+
+
+      
+        
+      
+      
+        
+      
+      
+        
+      
+      
+        
+      
+      
+        
+      
+      
+        
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+      
+      
+        
+      
+      
+        
+      
+      
+        
+      
+      
+        
+      
+      
+        
+      
+    
+largeopPos3.mml
+
+ 
+       
+         
+           
+             
+               
+             
+             
+              i 
+              = 
+              0 
+             
+             
+               
+             
+           
+         
+         
+          A 
+           
+          B 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+             
+               
+             
+             
+              i 
+              = 
+              0 
+             
+             
+               
+             
+           
+         
+         
+          A 
+           
+          B 
+         
+       
+    
+oint1.mml
+
+
+      
+        
+        0
+        1
+      
+      f
+       
+        (
+        x
+        )
+      
+      
+      
+      x
+    ]]>
+
+is rendered as:
+    
+      
+        
+        0
+        1
+      
+      f
+       
+        (
+        x
+        )
+      
+      
+      
+      x
+    
+oint2.mml
+
+
+      
+        
+          
+          0
+          1
+        
+        f
+         
+          (
+          x
+          )
+        
+        
+        
+        x
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+          
+          0
+          1
+        
+        f
+         
+          (
+          x
+          )
+        
+        
+        
+        x
+      
+    
+prod1.mml
+
+
+      
+        
+        
+          i
+          =
+          0
+        
+        
+      
+      
+        x
+        i
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+        
+          i
+          =
+          0
+        
+        
+      
+      
+        x
+        i
+      
+    
+prod2.mml
+
+
+      
+        
+          
+          
+            i
+            =
+            0
+          
+          
+        
+        
+          x
+          i
+        
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+          
+          
+            i
+            =
+            0
+          
+          
+        
+        
+          x
+          i
+        
+      
+    
+sum1.mml
+
+
+      
+        
+        
+          i
+          =
+          0
+        
+        
+      
+      
+        x
+        i
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+        
+          i
+          =
+          0
+        
+        
+      
+      
+        x
+        i
+      
+    
+sum2.mml
+
+
+      
+        
+          
+          
+            i
+            =
+            0
+          
+          
+        
+        
+          x
+          i
+        
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+          
+          
+            i
+            =
+            0
+          
+          
+        
+        
+          x
+          i
+        
+      
+    
+tripleint1.mml
+
+
+      
+        
+        0
+        1
+      
+      f
+       
+        (
+        x
+        )
+      
+      
+      
+      x
+    ]]>
+
+is rendered as:
+    
+      
+        
+        0
+        1
+      
+      f
+       
+        (
+        x
+        )
+      
+      
+      
+      x
+    
+tripleint2.mml
+
+
+      
+        
+          
+          0
+          1
+        
+        f
+         
+          (
+          x
+          )
+        
+        
+        
+        x
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+          
+          0
+          1
+        
+        f
+         
+          (
+          x
+          )
+        
+        
+        
+        x
+      
+    
+
+LineBreak
+badbreak
+badbreak1.mml
+
+ 
+      B 
+      - 
+      B 
+      - 
+      B 
+       
+      - 
+      a 
+      - 
+      a 
+      - 
+      a 
+      - 
+      a 
+    ]]>
+
+is rendered as:
+     
+      B 
+      - 
+      B 
+      - 
+      B 
+       
+      - 
+      a 
+      - 
+      a 
+      - 
+      a 
+      - 
+      a 
+    
+
+goodbreak
+goodbreak1.mml
+
+ 
+      B 
+      - 
+      B 
+      - 
+      B 
+      - 
+       
+      a 
+      - 
+      a 
+      - 
+      a 
+      - 
+      a 
+    ]]>
+
+is rendered as:
+     
+      B 
+      - 
+      B 
+      - 
+      B 
+      - 
+       
+      a 
+      - 
+      a 
+      - 
+      a 
+      - 
+      a 
+    
+
+linebreak1.mml
+
+ 
+      012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
+       
+    ]]>
+
+is rendered as:
+     
+      012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
+       
+    
+linebreakFrac.mml
+
+ 
+       
+         
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+         
+         
+          y 
+          + 
+          y 
+          + 
+          y 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+          + 
+          x 
+         
+         
+          y 
+          + 
+          y 
+          + 
+          y 
+         
+       
+    
+linebreakNum1.mml
+
+ 
+       
+        x 
+        + 
+        123456789012345678901234567890123456789012345678901234567890
+         
+        + 
+        2 
+        + 
+        2 
+       
+    ]]>
+
+is rendered as:
+     
+       
+        x 
+        + 
+        123456789012345678901234567890123456789012345678901234567890
+         
+        + 
+        2 
+        + 
+        2 
+       
+    
+linebreakRow1.mml
+
+ 
+      ( 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      ) 
+    ]]>
+
+is rendered as:
+     
+      ( 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      + 
+      x 
+      ) 
+    
+linebreakString1.mml
+
+ 
+       
+        x 
+        + 
+        x 
+        + 
+        x 
+        + 
+        asdffffffasdddfaaaaaaaasssdddfaaaaaaaassdfasdffffffasdddfaaaaaaaasssdddfaaaaaaaassdf
+         
+        + 
+        2 
+        + 
+        2 
+        + 
+        2 
+       
+    ]]>
+
+is rendered as:
+     
+       
+        x 
+        + 
+        x 
+        + 
+        x 
+        + 
+        asdffffffasdddfaaaaaaaasssdddfaaaaaaaassdfasdffffffasdddfaaaaaaaasssdddfaaaaaaaassdf
+         
+        + 
+        2 
+        + 
+        2 
+        + 
+        2 
+       
+    
+nobreak
+nobreak1.mml
+
+ 
+      B 
+      - 
+      B 
+      - 
+      B 
+       
+      - 
+      a 
+      - 
+      a 
+      - 
+      a 
+      - 
+      a 
+    ]]>
+
+is rendered as:
+     
+      B 
+      - 
+      B 
+      - 
+      B 
+       
+      - 
+      a 
+      - 
+      a 
+      - 
+      a 
+      - 
+      a 
+    
+nobreak2.mml
+
+ 
+      B 
+      - 
+      B 
+      - 
+      B 
+      - 
+       
+         
+          ( 
+          a 
+          - 
+          a 
+          - 
+          a 
+           
+          - 
+          a 
+          ) 
+         
+        22 
+       
+      - 
+      c 
+    ]]>
+
+is rendered as:
+     
+      B 
+      - 
+      B 
+      - 
+      B 
+      - 
+       
+         
+          ( 
+          a 
+          - 
+          a 
+          - 
+          a 
+           
+          - 
+          a 
+          ) 
+         
+        22 
+       
+      - 
+      c 
+    
+
+
+Nesting
+nestAction1.mml
+
+ 
+       
+         
+           
+             
+            x 
+            4 
+           
+          X is less than 4 
+         
+        X is less than 4 
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+             
+            x 
+            4 
+           
+          X is less than 4 
+         
+        X is less than 4 
+       
+    
+nestFrac1.mml
+
+ 
+       
+         
+          1 
+           
+             
+              2 
+             
+            + 
+             
+               
+                 
+                  1 
+                   
+                     
+                      3 
+                     
+                    + 
+                     
+                       
+                         
+                          1 
+                           
+                             
+                              4 
+                             
+                            + 
+                             
+                               
+                                 
+                                  1 
+                                   
+                                     
+                                      5 
+                                     
+                                    + 
+                                     
+                                       
+                                         
+                                          1 
+                                           
+                                             
+                                              6 
+                                             
+                                            + 
+                                             
+                                           
+                                         
+                                       
+                                     
+                                   
+                                 
+                               
+                             
+                           
+                         
+                       
+                     
+                   
+                 
+               
+             
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+          1 
+           
+             
+              2 
+             
+            + 
+             
+               
+                 
+                  1 
+                   
+                     
+                      3 
+                     
+                    + 
+                     
+                       
+                         
+                          1 
+                           
+                             
+                              4 
+                             
+                            + 
+                             
+                               
+                                 
+                                  1 
+                                   
+                                     
+                                      5 
+                                     
+                                    + 
+                                     
+                                       
+                                         
+                                          1 
+                                           
+                                             
+                                              6 
+                                             
+                                            + 
+                                             
+                                           
+                                         
+                                       
+                                     
+                                   
+                                 
+                               
+                             
+                           
+                         
+                       
+                     
+                   
+                 
+               
+             
+           
+         
+       
+    
+nestScript.mml
+
+
+      
+        v
+        
+          w
+          
+            x
+            
+              y
+              z
+            
+          
+        
+      
+    ]]>
+
+is rendered as:
+    
+      
+        v
+        
+          w
+          
+            x
+            
+              y
+              z
+            
+          
+        
+      
+    
+nestTable1.mml
+
+
+      
+        
+          
+            
+              
+                
+                  x
+                
+              
+            
+          
+        
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+          
+            
+              
+                
+                  x
+                
+              
+            
+          
+        
+      
+    
+
+Primes
+primes1.mml
+
+
+      
+         x 
+         2 
+       
+       + 
+      
+         2 
+         2 
+       
+       +  
+      
+         x 
+        
+       
+       +  
+      
+         x 
+        '
+       
+       +  
+      
+         x 
+         '' 
+       
+       + 
+      x
+      
+       +  
+      
+        
+           x 
+           ' 
+        
+         ' 
+      
+       +  
+      
+        
+           x 
+           ' 
+        
+         2 
+       
+       +  
+      
+         x 
+        
+           ' 
+           + 
+           ' 
+        
+       
+       +  
+      
+        
+           x 
+           ' 
+        
+         ' 
+       
+       +  
+      
+         x 
+        
+           ' 
+           ' 
+        
+       
+       +  
+      
+         ' 
+         ' 
+       
+       +  
+      
+         ' 
+         ' 
+      
+    ]]>
+
+is rendered as:
+    
+      
+         x 
+         2 
+       
+       + 
+      
+         2 
+         2 
+       
+       +  
+      
+         x 
+        
+       
+       +  
+      
+         x 
+        '
+       
+       +  
+      
+         x 
+         '' 
+       
+       + 
+      x
+      
+       +  
+      
+        
+           x 
+           ' 
+        
+         ' 
+      
+       +  
+      
+        
+           x 
+           ' 
+        
+         2 
+       
+       +  
+      
+         x 
+        
+           ' 
+           + 
+           ' 
+        
+       
+       +  
+      
+        
+           x 
+           ' 
+        
+         ' 
+       
+       +  
+      
+         x 
+        
+           ' 
+           ' 
+        
+       
+       +  
+      
+         ' 
+         ' 
+       
+       +  
+      
+         ' 
+         ' 
+      
+    
+
+StretchyChars
+horizontal
+genBvert1.mml
+
+ 
+      ( 
+      H 
+      ) 
+      H 
+      [ 
+      H 
+      ] 
+       
+      H 
+       
+      H 
+       
+      H 
+       
+      H 
+       
+      H 
+      { 
+      H 
+      } 
+      H 
+       
+      H 
+       
+      H 
+       
+      H 
+       
+      H 
+      ˙ 
+      H 
+    ]]>
+
+is rendered as:
+     
+      ( 
+      H 
+      ) 
+      H 
+      [ 
+      H 
+      ] 
+       
+      H 
+       
+      H 
+       
+      H 
+       
+      H 
+       
+      H 
+      { 
+      H 
+      } 
+      H 
+       
+      H 
+       
+      H 
+       
+      H 
+       
+      H 
+      ˙ 
+      H 
+    
+stretchAccents1.mml
+
+ 
+       
+        xxx 
+        ^ 
+       
+      + 
+       
+        xxx 
+        ¯ 
+       
+      + 
+       
+        xxx 
+         
+       
+      + 
+       
+        xxx 
+         
+       
+      + 
+       
+        xxx 
+         
+       
+      + 
+       
+        xxx 
+         
+       
+      + 
+      xxx 
+    ]]>
+
+is rendered as:
+     
+       
+        xxx 
+        ^ 
+       
+      + 
+       
+        xxx 
+        ¯ 
+       
+      + 
+       
+        xxx 
+         
+       
+      + 
+       
+        xxx 
+         
+       
+      + 
+       
+        xxx 
+         
+       
+      + 
+       
+        xxx 
+         
+       
+      + 
+      xxx 
+    
+stretchAccents2.mml
+
+ 
+       
+        xxx 
+        ¯ 
+       
+      = 
+       
+        xxx 
+        ¯ 
+       
+    ]]>
+
+is rendered as:
+     
+       
+        xxx 
+        ¯ 
+       
+      = 
+       
+        xxx 
+        ¯ 
+       
+    
+stretchBrack1.mml
+
+ 
+       
+         
+          H 
+          × 
+          G 
+         
+         
+       
+       
+         
+          H 
+          × 
+          G 
+         
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+          H 
+          × 
+          G 
+         
+         
+       
+       
+         
+          H 
+          × 
+          G 
+         
+         
+       
+    
+stretchHoriz1.mml
+
+ 
+      
+        
+          
+          
+            Stetching in base
+          
+          
+            Stretching in script
+          
+         
+        
+          
+            no mrows
+          
+          
+            
+              
+               maps to 
+            
+          
+           
+            
+               maps to 
+              
+             
+          
+        
+        
+          
+            all in row
+          
+           
+            
+              
+                
+                 maps to 
+              
+             
+          
+          
+            
+              
+                 maps to 
+                
+              
+             
+          
+        
+        
+          
+            op in row
+          
+           
+            
+              
+                
+              
+               maps to 
+             
+          
+          
+            
+               maps to 
+              
+                
+              
+             
+          
+        
+        
+          
+            text in row
+          
+           
+            
+              
+                
+                  
+                
+                 maps to 
+              
+             
+          
+           
+            
+              
+                 maps to 
+                
+                  
+                
+              
+             
+          
+        
+       
+    ]]>
+
+is rendered as:
+     
+      
+        
+          
+          
+            Stetching in base
+          
+          
+            Stretching in script
+          
+         
+        
+          
+            no mrows
+          
+          
+            
+              
+               maps to 
+            
+          
+           
+            
+               maps to 
+              
+             
+          
+        
+        
+          
+            all in row
+          
+           
+            
+              
+                
+                 maps to 
+              
+             
+          
+          
+            
+              
+                 maps to 
+                
+              
+             
+          
+        
+        
+          
+            op in row
+          
+           
+            
+              
+                
+              
+               maps to 
+             
+          
+          
+            
+               maps to 
+              
+                
+              
+             
+          
+        
+        
+          
+            text in row
+          
+           
+            
+              
+                
+                  
+                
+                 maps to 
+              
+             
+          
+           
+            
+              
+                 maps to 
+                
+                  
+                
+              
+             
+          
+        
+       
+    
+stretchHoriz2.mml
+
+ 
+      g 
+      = 
+      A 
+       
+      x 
+       
+      H 
+       
+      H 
+    ]]>
+
+is rendered as:
+     
+      g 
+      = 
+      A 
+       
+      x 
+       
+      H 
+       
+      H 
+    
+stretchHoriz3.mml
+
+ 
+      H 
+       
+         
+        This is a long stretched arrow 
+         
+       
+      H 
+    ]]>
+
+is rendered as:
+     
+      H 
+       
+         
+        This is a long stretched arrow 
+         
+       
+      H 
+    
+stretchTilde1.mml
+
+ 
+       
+        caledonia 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+        caledonia 
+         
+       
+    
+
+integral
+int1.mml
+
+
+      
+      f
+       
+        (
+        x
+        )
+      
+      
+      
+      x
+    ]]>
+
+is rendered as:
+    
+      
+      f
+       
+        (
+        x
+        )
+      
+      
+      
+      x
+    
+int10.mml
+
+
+      
+        
+          
+          0
+          1
+        
+        f
+         
+          (
+          x
+          )
+        
+        
+        
+        x
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+          
+          0
+          1
+        
+        f
+         
+          (
+          x
+          )
+        
+        
+        
+        x
+      
+    
+int2.mml
+
+
+      
+      f
+       
+        (
+        
+          x
+          2
+        
+        )
+      
+      
+      
+      x
+    ]]>
+
+is rendered as:
+    
+      
+      f
+       
+        (
+        
+          x
+          2
+        
+        )
+      
+      
+      
+      x
+    
+int3.mml
+
+
+      
+        
+        0
+        1
+      
+      f
+       
+        (
+        x
+        )
+      
+      
+      
+      x
+    ]]>
+
+is rendered as:
+    
+      
+        
+        0
+        1
+      
+      f
+       
+        (
+        x
+        )
+      
+      
+      
+      x
+    
+int4.mml
+
+
+      
+        
+        0
+        1
+      
+      f
+       
+        (
+        
+          x
+          2
+        
+        )
+      
+      
+      
+      x
+    ]]>
+
+is rendered as:
+    
+      
+        
+        0
+        1
+      
+      f
+       
+        (
+        
+          x
+          2
+        
+        )
+      
+      
+      
+      x
+    
+int5.mml
+
+
+      
+        
+        f
+         
+          (
+          x
+          )
+        
+        
+        
+        x
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+        f
+         
+          (
+          x
+          )
+        
+        
+        
+        x
+      
+    
+int6.mml
+
+
+      
+        
+        f
+         
+          (
+          
+            x
+            2
+          
+          )
+        
+        
+        
+        x
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+        f
+         
+          (
+          
+            x
+            2
+          
+          )
+        
+        
+        
+        x
+      
+    
+int7.mml
+
+
+      
+        
+          
+          0
+          1
+        
+        f
+         
+          (
+          x
+          )
+        
+        
+        
+        x
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+          
+          0
+          1
+        
+        f
+         
+          (
+          x
+          )
+        
+        
+        
+        x
+      
+    
+int8.mml
+
+
+      
+        
+          
+          0
+          1
+        
+        f
+         
+          (
+          
+            x
+            2
+          
+          )
+        
+        
+        
+        x
+      
+    ]]>
+
+is rendered as:
+    
+      
+        
+          
+          0
+          1
+        
+        f
+         
+          (
+          
+            x
+            2
+          
+          )
+        
+        
+        
+        x
+      
+    
+int9.mml
+
+
+      
+        
+        0
+        1
+      
+      f
+       
+        (
+        x
+        )
+      
+      
+      
+      x
+    ]]>
+
+is rendered as:
+    
+      
+        
+        0
+        1
+      
+      f
+       
+        (
+        x
+        )
+      
+      
+      
+      x
+    
+intDispStyle.mml
+
+ 
+       
+        
+          
+          
+            ds=true
+           
+          
+            ds=false
+          
+         
+        
+          
+            stretch=t, large=t
+          
+          
+             
+               
+                ∫
+                 
+                 
+                  x 
+                  5 
+                 
+               
+              = 
+               
+                ∫
+                 
+                x 
+              
+             
+          
+           
+             
+               
+                ∫
+                 
+                 
+                  x 
+                  5 
+                 
+               
+              = 
+               
+                ∫
+                 
+                x 
+              
+             
+          
+        
+        
+          
+            stretch=f, large=t
+          
+           
+             
+               
+                ∫
+                 
+                 
+                  x 
+                  5 
+                 
+               
+              = 
+               
+                ∫
+                 
+                x 
+              
+             
+          
+           
+             
+               
+                ∫
+                 
+                 
+                  x 
+                  5 
+                 
+               
+              = 
+               
+                ∫
+                 
+                x 
+              
+             
+          
+        
+        
+          
+            stretch=t, large=f
+          
+          
+             
+               
+                ∫
+                 
+                 
+                  x 
+                  5 
+                 
+               
+              = 
+               
+                ∫
+                 
+                 
+                  A 
+                  5 
+                 
+               
+              = 
+               
+                ∫
+                 
+                x 
+              
+             
+          
+           
+             
+               
+                ∫
+                 
+                 
+                  x 
+                  5 
+                 
+               
+              = 
+               
+                ∫
+                 
+                 
+                  A 
+                  5 
+                 
+               
+              = 
+               
+                ∫
+                 
+                x 
+              
+             
+          
+        
+        
+          
+            stretch=f, large=f
+          
+           
+             
+               
+                ∫
+                 
+                 
+                  x 
+                  5 
+                 
+               
+              = 
+               
+                ∫
+                 
+                x 
+              
+             
+          
+           
+             
+               
+                ∫
+                 
+                 
+                  x 
+                  5 
+                 
+               
+              = 
+               
+                ∫
+                 
+                x 
+              
+            
+          
+        
+      
+    ]]>
+
+is rendered as:
+     
+       
+        
+          
+          
+            ds=true
+           
+          
+            ds=false
+          
+         
+        
+          
+            stretch=t, large=t
+          
+          
+             
+               
+                ∫
+                 
+                 
+                  x 
+                  5 
+                 
+               
+              = 
+               
+                ∫
+                 
+                x 
+              
+             
+          
+           
+             
+               
+                ∫
+                 
+                 
+                  x 
+                  5 
+                 
+               
+              = 
+               
+                ∫
+                 
+                x 
+              
+             
+          
+        
+        
+          
+            stretch=f, large=t
+          
+           
+             
+               
+                ∫
+                 
+                 
+                  x 
+                  5 
+                 
+               
+              = 
+               
+                ∫
+                 
+                x 
+              
+             
+          
+           
+             
+               
+                ∫
+                 
+                 
+                  x 
+                  5 
+                 
+               
+              = 
+               
+                ∫
+                 
+                x 
+              
+             
+          
+        
+        
+          
+            stretch=t, large=f
+          
+          
+             
+               
+                ∫
+                 
+                 
+                  x 
+                  5 
+                 
+               
+              = 
+               
+                ∫
+                 
+                 
+                  A 
+                  5 
+                 
+               
+              = 
+               
+                ∫
+                 
+                x 
+              
+             
+          
+           
+             
+               
+                ∫
+                 
+                 
+                  x 
+                  5 
+                 
+               
+              = 
+               
+                ∫
+                 
+                 
+                  A 
+                  5 
+                 
+               
+              = 
+               
+                ∫
+                 
+                x 
+              
+             
+          
+        
+        
+          
+            stretch=f, large=f
+          
+           
+             
+               
+                ∫
+                 
+                 
+                  x 
+                  5 
+                 
+               
+              = 
+               
+                ∫
+                 
+                x 
+              
+             
+          
+           
+             
+               
+                ∫
+                 
+                 
+                  x 
+                  5 
+                 
+               
+              = 
+               
+                ∫
+                 
+                x 
+              
+            
+          
+        
+      
+    
+intSize1.mml
+
+ 
+       
+        ∫
+         
+        x 
+       
+       
+        ∫
+         
+        M 
+       
+       
+        ∫
+         
+         
+          x 
+          o 
+         
+       
+       
+        ∫
+         
+         
+          A 
+          o 
+         
+       
+       
+        ∫
+         
+         
+          x 
+          A 
+         
+       
+       
+        ∫
+         
+         
+          A 
+          M 
+         
+       
+       
+        ∫
+         
+         
+          . 
+          '' 
+         
+      
+    ]]>
+
+is rendered as:
+     
+       
+        ∫
+         
+        x 
+       
+       
+        ∫
+         
+        M 
+       
+       
+        ∫
+         
+         
+          x 
+          o 
+         
+       
+       
+        ∫
+         
+         
+          A 
+          o 
+         
+       
+       
+        ∫
+         
+         
+          x 
+          A 
+         
+       
+       
+        ∫
+         
+         
+          A 
+          M 
+         
+       
+       
+        ∫
+         
+         
+          . 
+          '' 
+         
+      
+    
+intSize2.mml
+
+ 
+       
+         
+           
+          
+          
+            symm
+           
+          
+            stretch
+          
+          
+            symm/stretch
+          
+         
+         
+          
+            small op
+          
+           
+             
+              ∫
+               
+              x 
+             
+          
+           
+             
+              ∫
+               
+              x 
+             
+          
+           
+             
+              ∫
+               
+              x 
+             
+          
+           
+             
+              ∫
+               
+              x 
+             
+           
+         
+         
+          
+            large op
+          
+           
+             
+              ∫
+               
+              x 
+             
+          
+           
+             
+              ∫
+               
+              x 
+             
+          
+           
+             
+              ∫
+               
+              x 
+             
+          
+           
+             
+              ∫
+               
+              x 
+             
+           
+         
+         
+          
+            small op
+          
+           
+             
+              ∫
+               
+               
+                x 
+                y 
+               
+             
+          
+           
+             
+              ∫
+               
+               
+                x 
+                y 
+               
+             
+          
+           
+             
+              ∫
+               
+               
+                x 
+                y 
+               
+             
+          
+           
+             
+              ∫
+               
+               
+                x 
+                y 
+               
+             
+           
+         
+         
+          
+            large op
+          
+           
+             
+              ∫
+               
+               
+                x 
+                y 
+               
+             
+          
+           
+             
+              ∫
+               
+               
+                x 
+                y 
+               
+             
+          
+           
+             
+              ∫
+               
+               
+                x 
+                y 
+               
+             
+          
+           
+             
+              ∫
+               
+               
+                x 
+                y 
+               
+             
+           
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+          
+          
+            symm
+           
+          
+            stretch
+          
+          
+            symm/stretch
+          
+         
+         
+          
+            small op
+          
+           
+             
+              ∫
+               
+              x 
+             
+          
+           
+             
+              ∫
+               
+              x 
+             
+          
+           
+             
+              ∫
+               
+              x 
+             
+          
+           
+             
+              ∫
+               
+              x 
+             
+           
+         
+         
+          
+            large op
+          
+           
+             
+              ∫
+               
+              x 
+             
+          
+           
+             
+              ∫
+               
+              x 
+             
+          
+           
+             
+              ∫
+               
+              x 
+             
+          
+           
+             
+              ∫
+               
+              x 
+             
+           
+         
+         
+          
+            small op
+          
+           
+             
+              ∫
+               
+               
+                x 
+                y 
+               
+             
+          
+           
+             
+              ∫
+               
+               
+                x 
+                y 
+               
+             
+          
+           
+             
+              ∫
+               
+               
+                x 
+                y 
+               
+             
+          
+           
+             
+              ∫
+               
+               
+                x 
+                y 
+               
+             
+           
+         
+         
+          
+            large op
+          
+           
+             
+              ∫
+               
+               
+                x 
+                y 
+               
+             
+          
+           
+             
+              ∫
+               
+               
+                x 
+                y 
+               
+             
+          
+           
+             
+              ∫
+               
+               
+                x 
+                y 
+               
+             
+          
+           
+             
+              ∫
+               
+               
+                x 
+                y 
+               
+             
+           
+         
+       
+    
+
+tables
+stretchTable1.mml
+
+ 
+       
+         
+           
+             
+              1 
+             
+             
+               
+             
+             
+              2 
+             
+           
+           
+             
+               
+             
+             
+              x 
+              + 
+               
+                 
+                  2 
+                 
+                 
+                   
+                     
+                      y 
+                     
+                     
+                      3 
+                     
+                   
+                 
+               
+             
+             
+               
+             
+           
+           
+             
+              3 
+             
+             
+               
+             
+             
+              4 
+             
+           
+         
+      
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+             
+              1 
+             
+             
+               
+             
+             
+              2 
+             
+           
+           
+             
+               
+             
+             
+              x 
+              + 
+               
+                 
+                  2 
+                 
+                 
+                   
+                     
+                      y 
+                     
+                     
+                      3 
+                     
+                   
+                 
+               
+             
+             
+               
+             
+           
+           
+             
+              3 
+             
+             
+               
+             
+             
+              4 
+             
+           
+         
+      
+    
+stretchTable2.mml
+
+
+      
+         
+          
+            
+           
+          
+            1
+          
+        
+         
+          
+            a long cell
+           
+          
+            1
+          
+        
+      
+    ]]>
+
+is rendered as:
+    
+      
+         
+          
+            
+           
+          
+            1
+          
+        
+         
+          
+            a long cell
+           
+          
+            1
+          
+        
+      
+    
+
+vertical
+abs1.mml
+
+
+      |
+      x
+      |
+    ]]>
+
+is rendered as:
+    
+      |
+      x
+      |
+    
+abs2.mml
+
+
+      |
+      
+        H
+        K
+      
+      |
+    ]]>
+
+is rendered as:
+    
+      |
+      
+        H
+        K
+      
+      |
+    
+mid1.mml
+
+
+      
+      x
+      
+    ]]>
+
+is rendered as:
+    
+      
+      x
+      
+    
+mid2.mml
+
+
+      
+      
+        H
+        K
+      
+      
+    ]]>
+
+is rendered as:
+    
+      
+      
+        H
+        K
+      
+      
+    
+stretchVert1.mml
+
+ 
+       
+         
+           
+             
+               
+                x 
+                + 
+                 
+                  ( 
+                 
+                 
+                  2 
+                  3 
+                 
+                ) 
+               
+             
+           
+           
+             
+               
+                x 
+                + 
+                 
+                   
+                    ( 
+                    - 
+                   
+                 
+                 
+                  2 
+                  3 
+                 
+                ) 
+               
+            
+          
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+           
+             
+               
+                x 
+                + 
+                 
+                  ( 
+                 
+                 
+                  2 
+                  3 
+                 
+                ) 
+               
+             
+           
+           
+             
+               
+                x 
+                + 
+                 
+                   
+                    ( 
+                    - 
+                   
+                 
+                 
+                  2 
+                  3 
+                 
+                ) 
+               
+            
+          
+         
+       
+    
+stretchVert2.mml
+
+
+      |
+      H
+      |
+      +
+      
+      H
+      
+      H
+      
+    ]]>
+
+is rendered as:
+    
+      |
+      H
+      |
+      +
+      
+      H
+      
+      H
+      
+    
+stretchVertNest2.mml
+
+ 
+       
+         
+          ( 
+           
+            ( 
+             
+              x 
+              y 
+             
+            ) 
+           
+          ) 
+         
+       
+    ]]>
+
+is rendered as:
+     
+       
+         
+          ( 
+           
+            ( 
+             
+              x 
+              y 
+             
+            ) 
+           
+          ) 
+         
+       
+    
+verbar1.mml
+
+
+      |
+      x
+      |
+    ]]>
+
+is rendered as:
+    
+      |
+      x
+      |
+    
+verbar2.mml
+
+
+      |
+      
+        H
+        K
+      
+      |
+    ]]>
+
+is rendered as:
+    
+      |
+      
+        H
+        K
+      
+      |
+    
+
+
+WhiteSpace
+invChars.mml
+
+
+      
+      
+       
+      
+      	
+      
+      
+    ]]>
+
+is rendered as:
+    
+      
+      
+       
+      
+      	
+      
+      
+    
+whBcomments1.mml
+
+ 
+      5 
+      
+    ]]>
+
+is rendered as:
+     
+      5 
+      
+    
+whBgeneral1.mml
+
+ 
+
+      x    
+        +   
+      y
+    ]]>
+
+is rendered as:
+     
+
+      x    
+        +   
+      y
+    
+white1.mml
+
+
+      
+        α
+        
+        α 
+      
+    ]]>
+
+is rendered as:
+    
+      
+        α
+        
+        α 
+      
+    
+white2.mml
+
+
+      
+        α
+         
+        α 
+      
+    ]]>
+
+is rendered as:
+    
+      
+        α
+         
+        α 
+      
+    
+white3.mml
+
+
+      
+        α
+        
+        α 
+      
+    ]]>
+
+is rendered as:
+    
+      
+        α
+        
+        α 
+      
+    
+white4.mml
+
+ 
+       
+        α 
+         
+        α 
+       
+    ]]>
+
+is rendered as:
+     
+       
+        α 
+         
+        α 
+       
+    
+white9.mml
+
+
+      
+        α
+        

+        α 
+      
+    ]]>
+
+is rendered as:
+    
+      
+        α
+        

+        α 
+      
+    
+
+
+
diff --git a/tools/dblatex_config.py b/tools/dblatex_config.py
new file mode 100644
index 0000000..da6b116
--- /dev/null
+++ b/tools/dblatex_config.py
@@ -0,0 +1,123 @@
+#
+# Simple converter from text configuration to XML configuration
+#
+import sys
+import os
+import xml.etree.ElementTree as ET
+import xml.dom.minidom
+
+package_base = os.path.join(os.path.dirname(sys.argv[0]), "..")
+sys.path.append(os.path.realpath(os.path.join(package_base, "lib")))
+
+from dbtexmf.core.txtparser import TextConfig
+
+class XmlMapper:
+    """
+    Make a correspondence beetween text keywords to equivalent XML nodes
+    and how to convert the keyword data to XML content (fill_method)
+    """
+    def __init__(self, fill_method, *args):
+        self.tags = args
+        self.value = None
+        self.fill_method = fill_method
+
+    def format(self, dir, value):
+        self.value = value
+        return [self]
+
+
+class TextXmlMapper(TextConfig):
+    """
+    Use the original class to parse the text config file the same way,
+    but give to this class the role to map the config data to XML equivalent
+    """
+    conf_mapping = {
+        'TexInputs' : XmlMapper("text", 'latex','texinputs'),
+        'TexPost'   : XmlMapper("mod_or_file", 'latex','texpost'),
+        'FigPath'   : XmlMapper("file", 'imagedata','figpath'),
+        'XslParam'  : XmlMapper("file", 'xslt','stylesheet'),
+        'TexStyle'  : XmlMapper("mod_or_file", 'latex','texstyle'),
+        'Options'   : XmlMapper("text", 'options')
+    }
+
+class XmlConfig:
+    """
+    Build an XML configuration file from an XML mapping
+    """
+    xmlns = "http://dblatex.sourceforge.net/config"
+    def __init__(self, config_dir=""):
+        self.root = ET.Element("config")
+        self.root.set("xmlns", self.xmlns)
+        self.tree = ET.ElementTree(self.root)
+        ET.register_namespace("", self.xmlns)
+        self.config_dir = config_dir
+
+    def add_element(self, xmldesc):
+        xmlnode = self.root
+        for tag in xmldesc.tags[:-1]:
+            element = xmlnode.find(tag)
+            if not(element is None):
+                xmlnode = element
+            else:
+                xmlnode = ET.SubElement(xmlnode, tag)
+
+        last_node = ET.SubElement(xmlnode, xmldesc.tags[-1])
+        self.fill_node(last_node, xmldesc.value, xmldesc.fill_method)
+
+    def write(self, stream):
+        data = ET.tostring(self.root)
+        doc = xml.dom.minidom.parseString(data)
+        stream.write(doc.toprettyxml(indent="  "))
+
+    def fill_node(self, xmlnode, value, fill_method):
+        fill_calls = {
+            "file": self.fill_file,
+            "text": self.fill_text,
+            "mod_or_file": self.fill_mod_or_file
+        }
+        fill_function = fill_calls.get(fill_method, None)
+        if fill_function: fill_function(xmlnode, value)
+
+    def fill_file(self, xmlnode, value):
+        xmlnode.set("fileref", value)
+
+    def fill_mod(self, xmlnode, value):
+        xmlnode.set("use", value)
+
+    def fill_text(self, xmlnode, value):
+        xmlnode.text = value
+        
+    def fill_mod_or_file(self, xmlnode, value):
+        if os.path.isabs(value) and os.path.isfile(value):
+            self.fill_file(xmlnode, value)
+        elif os.path.isfile(os.path.join(self.config_dir, value)):
+            self.fill_file(xmlnode, value)
+        else:
+            self.fill_mod(xmlnode, value)
+
+
+if __name__ == "__main__":
+    from optparse import OptionParser
+    parser = OptionParser(usage="%s  " \
+                          % sys.argv[0])
+
+    (options, args) = parser.parse_args()
+
+    if len(args) != 2:
+        print >> sys.stderr, "Invalid argument count: expected 2"
+        parser.parse_args(["-h"])
+
+    txt_file = args[0]
+    xml_file = args[1]
+
+    txt_config = TextXmlMapper()
+    txt_config.fromfile(txt_file)
+
+    xml_config = XmlConfig(os.path.dirname(txt_file))
+    for xmldesc in txt_config.options():
+        xml_config.add_element(xmldesc)
+
+    f = open(xml_file, "w")
+    xml_config.write(f)
+    f.close()
+
diff --git a/tools/getsubset.xsl b/tools/getsubset.xsl
new file mode 100644
index 0000000..98a69e5
--- /dev/null
+++ b/tools/getsubset.xsl
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+
+  
+
+
+
+  
+  
+    
+      Found '
+      
+      ' with id='
+      
+      '
+    
+    
+      
+      
+    
+
+    
+    
+      
+    
+
+    
+  
+  
+    
+  
+  
+
+
+
+
+
+
+  
+
+  \documentclass
+  
+    [
+    
+    ]
+  
+  {article}

+  \usepackage[T1]{fontenc}

+  \usepackage[latin1]{inputenc}

+
+  
+  \usepackage[hyperlink]{
+  
+  }

+
+  
+  
+
+  \pagestyle{empty}

+
+  \begin{document}

+  
+  \end{document}

+
+
+
+
+
+  
+  
+  
+    
+      tex_
+      
+      .rtex
+    
+    
+    
+      
+        
+      
+    
+    
+  
+
+
+
diff --git a/tools/imagefrom b/tools/imagefrom
new file mode 100755
index 0000000..e9ed3dc
--- /dev/null
+++ b/tools/imagefrom
@@ -0,0 +1,30 @@
+#!/bin/sh
+#
+# Build some image/snapshot of parts of the manual. The XML elements to shoot
+# are specified by their unique identifier (@id)
+#
+basedir=`dirname $0`
+dblatex="$basedir/../scripts/dblatex"
+xsl="$basedir/getsubset.xsl"
+
+if [ $# -lt 2 ]; then
+  echo "`basename $0` file.xml id1 [id2 ...]"
+  exit 1
+fi
+
+# The XML input file
+file="$1"
+shift
+
+echo $*
+
+for id in "$@"; do
+  imgfile="img-$id"
+  $dblatex -o $imgfile.pdf -P extractid=$id -p $xsl $file
+  convert -units PixelsPerInch -density 144x144 -trim $imgfile.pdf $imgfile.png
+  rc=$?
+  if [ "$rc" = "0" ]; then
+    echo "'$imgfile.png' successfully built"
+    rm $imgfile.pdf
+  fi
+done
diff --git a/tools/param2ref.xsl b/tools/param2ref.xsl
new file mode 100644
index 0000000..d485af7
--- /dev/null
+++ b/tools/param2ref.xsl
@@ -0,0 +1,99 @@
+
+
+
+
+
+
+
+
+syn/
+xml
+
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+  
+  
+  
+    
+      
+    
+    
+  
+  
+    
+    ???
+  
+
+  
+    
+      
+      
+        text
+        
+          
+        
+      
+  
+
+  Description
+    
+    
+    
+  
+  
+  
+
+  
+    
+      
+      
+      .xml
+    
+    
+    
+    
+    
+    
+    
+  
+
+
+
+
+  
+
+
+
+
diff --git a/tools/parambuild b/tools/parambuild
new file mode 100755
index 0000000..ec9dc41
--- /dev/null
+++ b/tools/parambuild
@@ -0,0 +1,34 @@
+#!/bin/sh
+tooldir=`dirname $0`
+tooldir=`cd $tooldir && pwd`
+
+# Where to store the synopsis
+synopdir="$1"
+
+if [ ! -d $synopdir ]; then
+  echo "$synopdir does not exist"
+  exit 1
+fi
+
+# Absolute path
+synopdir=`cd "$synopdir" && pwd`
+if [ "$synopdir" = "" ]; then
+  echo "Cannot go to dir"
+  exit 1
+fi
+
+cd $synopdir
+
+# Extract the parameters synopsis
+xsltproc --param chunk 1 $tooldir/paramextract.xsl $tooldir/../xsl/docbook.xsl
+
+# Strip the xmlns
+for i in *.sxml; do
+  echo $i
+  param=`basename $i .sxml`
+  sed "s/xmlns[^ ]* //" $param.sxml > $param.xml
+  rm $param.sxml
+done
+
+cd -
+
diff --git a/tools/paramcheck.py b/tools/paramcheck.py
new file mode 100644
index 0000000..30f029d
--- /dev/null
+++ b/tools/paramcheck.py
@@ -0,0 +1,116 @@
+import os
+import glob
+import re
+from subprocess import Popen, PIPE
+from xml.dom.minidom import parseString
+
+def strip_list(lst, patterns):
+    striped = []
+    for p in lst:
+        strip = 0
+        for pat in patterns:
+            if pat in p:
+                strip = 1
+                break
+        if not(strip):
+            striped.append(p)
+    return striped
+
+
+def get_doc_params(docparam):
+    xsl_params_get = \
+"""
+
+
+ 
+
+
+  
+
+
+
+  
+
+
+
+"""
+
+    xsltmp = "/tmp/getparam.xsl"
+    xsl = open("/tmp/getparam.xsl", "w")
+    xsl.write(xsl_params_get)
+    xsl.close()
+
+    p = Popen("xsltproc --xinclude %s %s" % (xsltmp, docparam), shell=True,
+              stdout=PIPE, )#stderr=open("/dev/null", "w"))
+    data = p.communicate()[0].split("\n")
+    params = []
+    for line in data:
+        m = re.search("
+
+
+ 
+
+
+
+
+
+
+
+
+
+  
+  
+    
+      
+    
+  
+  
+    
+  
+  
+
+
+
+  
+    
+  
+
+
+
+
+  
+    
+     = 
+    
+    
+      
+       (string)
+    
+    
+      
+       (select) 
+      
+      
+         (number) 
+      
+      
+         (string) 
+      
+      
+    
+    
+       (empty) 
+    
+    
+  
+
+  
+  
+    
+      
+    
+  
+
+  
+  
+  
+    
+  
+  
+    
+      
+        
+        
+        .
+        
+      
+      
+      
+      
+      
+    
+  
+  
+
+
+
+
+
+  
+  
+
+
+
+
+  
+
+  Params defined in 
+
+  
+
+
+
diff --git a/tools/pdfscan.py b/tools/pdfscan.py
new file mode 100755
index 0000000..8cfa26c
--- /dev/null
+++ b/tools/pdfscan.py
@@ -0,0 +1,2173 @@
+#! /usr/bin/env python
+#
+# This tool is provided by dblatex (http://dblatex.sourceforge.net) and has
+# the same copyright.
+#
+# It was initially developped to find out the fonts used and their size because
+# as strange as it may seem, no obvious tool gives the font sizes used (pdffonts
+# just lists the font objects of the PDF). The script can be improved to give
+# more informations in a next release.
+#
+# To understand the PDF format, read:
+#   * The reference:
+#     http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/
+#                                                      pdf_reference_1-7.pdf
+#
+#   * A usefull introduction:
+#     http://www.adobe.com/content/dam/Adobe/en/technology/pdfs/
+#                                                      PDF_Day_A_Look_Inside.pdf
+#
+#
+import os
+import sys
+import traceback
+import zlib
+import re
+import logging
+import tempfile
+import shutil
+import struct
+import codecs
+
+
+class ErrorHandler:
+    def __init__(self):
+        self._dump_stack = False
+        self.rc = 0
+
+    def dump_stack(self, dump=True):
+        self._dump_stack = dump
+
+    def failure_track(self, msg, rc=1):
+        self.rc = rc
+        print >>sys.stderr, (msg)
+        if self._dump_stack:
+            traceback.print_exc()
+
+    def failed_exit(self, rc=1):
+        self.failure_track(msg, rc)
+        sys.exit(self.rc)
+
+def pdfstring_is_list(data):
+    return (data and data[0] == "[" and data[-1] == "]")
+
+
+class PDFResolver:
+    _resolver = None
+
+    @classmethod
+    def set_resolver(cls, resolver):
+        cls._resolver = resolver
+
+    @classmethod
+    def get_resolver(cls):
+        return cls._resolver
+
+
+class PDFBaseObject:
+    _log = logging.getLogger("pdfscan.base")
+
+    def __init__(self):
+        pass
+    def debug(self, text):
+        self._log.debug(text)
+    def warning(self, text):
+        self._log.warning(text)
+    def error(self, text):
+        self._log.error(text)
+    def info(self, text):
+        self._log.info(text)
+
+
+class PDFFile(PDFBaseObject):
+    """
+    Main object that parses the PDF file and extract the objects needed for
+    scanning.
+    """
+    _log = logging.getLogger("pdfscan.pdffile")
+
+    def __init__(self, stream_manager=None):
+        self._file = None
+        self.filesize = 0
+        self.startxref_pos = 0
+        self.trailer = None
+        self.xref_first = None
+        self.xref_table = {}
+        self.xref_objstm = {}
+        self.objstm_objects = {}
+        self.page_objects = []
+        self.pdfobjects = PDFObjectGroup()
+        self.stream_manager = stream_manager or StreamManager()
+        # Create an publish the object resolver
+        self.resolver = PDFObjectResolver(self)
+        PDFResolver.set_resolver(self.resolver)
+        # Create a global font manager
+        self.fontmgr = FontManager({})
+
+        # Detect the beginning of a PDF Object
+        self.re_objstart = re.compile("(\d+) (\d+) obj(.*$)", re.DOTALL)
+
+    def cleanup(self):
+        self.stream_manager.cleanup()
+
+    def load(self, filename):
+        self.filesize = os.path.getsize(filename)
+        self._file = open(filename, "rb")
+        self.read_xref()
+        self.build_final_xref()
+
+    def find_startxref(self, offset_trailer=160):
+        # Look for the first xref from the end
+        offset, data = self.filesize, ""
+        while not("startxref" in data) or offset == 0:
+            offset = max(0, offset - offset_trailer)
+            self._file.seek(offset)
+            data = self._file.read(offset_trailer) + data
+
+        m = re.search("\sstartxref\s+(\d+)\s+%%EOF", data, re.M)
+        if not(m):
+            self.error("Problem in PDF file: startxref not found")
+            return 0
+        self.startxref_pos = int(m.group(1))
+        return self.startxref_pos
+
+    def read_xref(self):
+        startxref = self.find_startxref()
+        xref = None
+
+        while startxref:
+            self._file.seek(startxref)
+            line = self._file.readline()
+            m = re.search("xref\s(.*)", line, re.M|re.DOTALL)
+            if (m):
+                found_xref = PDFXrefSection(self._file)
+                found_xref.read_table(m.group(1))
+            elif self.re_objstart.search(line):
+                self.info("Xref section not found. Try to load XRef object")
+                pdfobject, remain_line = self._parse_object(startxref)
+                found_xref = PDFXrefObject(pdfobject)
+
+            startxref = int(found_xref.trailer.get("/Prev", 0))
+
+            if xref: xref.set_older(found_xref)
+            xref = found_xref
+
+        self.xref_first = xref
+
+    def build_final_xref(self):
+        xref = self.xref_first
+        while xref:
+            self.trailer = xref.trailer
+            self.xref_table.update(xref.table)
+            self.xref_objstm.update(xref.objstm)
+            xref = xref.newer
+
+    def get_objstm(self, objstm_id):
+        return self.objstm_objects.get(objstm_id, None)
+
+    def create_objstm(self, pdfobject):
+        self.debug("Create objstm %s" % pdfobject.ident())
+        pdfobject.compute()
+        pdfobject.stream_decode()
+        self.pdfobjects.add_object(pdfobject)
+        objstm = PDFObjectStream(pdfobject)
+        self.objstm_objects[objstm.ident()] = objstm
+        return objstm
+
+    def xref_resolve_object(self, ident):
+        offset = self.xref_table.get(ident, 0)
+        if offset != 0:
+            #print "Object '%s' found at offset: %d" % (ident, offset)
+            pdfobject, remain_line = self._parse_object(offset)
+            return pdfobject
+
+    def xref_resolve(self, ident):
+        # Try to resolve a standard object
+        pdfobject = self.xref_resolve_object(ident)
+        if pdfobject:
+            return pdfobject
+
+        # Find the ObjStm infos that contains that object
+        objstm_data = self.xref_objstm.get(ident, 0)
+        if objstm_data == 0:
+            self.warning("ObjStm id for '%s' not found in xref table" % ident)
+            return None
+
+        # If the ObjStm itself is not resolved, resolve it first
+        objstm_id = "%d 0" % objstm_data[0]
+        object_idx = objstm_data[1]
+
+        objstm = self.get_objstm(objstm_id)
+        if not(objstm):
+            pdfobject = self.xref_resolve_object(objstm_id)
+            if pdfobject: objstm = self.create_objstm(pdfobject)
+        if not(objstm):
+            self.error("Object '%s' cannot be resolved: ObjStm '%s' not found" \
+                      % (ident, objstm_id))
+            return None
+
+        # Ok, now get the object from the ObjStm
+        pdfobject = objstm.get_object(object_idx)
+
+        return pdfobject
+
+    def resolve_object(self, ident):
+        pdfobject = self.pdfobjects.get_object(ident)
+        if not(pdfobject):
+            #print "Try to resolve object '%s'" % ident
+            pdfobject = self.xref_resolve(ident)
+            if pdfobject:
+                self.pdfobjects.add_object(pdfobject)
+        return pdfobject
+
+    def get_object(self, ident):
+        ident = ident.replace(" R", "").strip()
+        pdfobject = self.resolver.get(ident)
+        if pdfobject:
+            pdfobject.link_to(self.resolver)
+        return pdfobject
+
+    def _parse_object(self, offset):
+        pdfobj = None
+        parsed_object = None
+        remain_line = ""
+
+        self._file.seek(offset)
+
+        while not(parsed_object):
+            line = self._file.readline()
+            if not(line):
+                break
+
+            while line:
+                if pdfobj:
+                    fields = line.split("endobj", 1)
+                    if len(fields) > 1:
+                        if fields[0]:
+                            pdfobj.append_string(fields[0])
+                        pdfobj.compute()
+                        remain_line = fields[1]
+                        parsed_object = pdfobj
+                    else:
+                        pdfobj.append_string(line)
+                    line = ""
+                else:
+                    m = self.re_objstart.search(line)
+                    if m:
+                        number, revision = m.group(1), m.group(2)
+                        pdfobj = PDFObject(number, revision,
+                                       stream_manager=self.stream_manager)
+                        line = m.group(3)
+                    else:
+                        # drop the line
+                        line = ""
+
+        return (parsed_object, remain_line)
+
+    def _expand_pages(self, page_kids):
+        # Iterations to make a list of unitary pages (/Page) from a list
+        # containing group of pages (/Pages). The iterations stop when all
+        # The objects in the list are replaced by unit pages and not
+        # intermediate page groups
+        page_list = page_kids
+        has_kid = len(page_list)
+        while has_kid:
+            newlist = []
+            has_kid = 0
+            for kid in page_list:
+                #print kid
+                kid.link_to(self.resolver)
+                if kid.get_type() == "/Pages":
+                    kids = kid.descriptor.get("/Kids")
+                    self.debug("Expand page list: %s -> %s" % (kid, kids))
+                    has_kid += len(kids)
+                elif kid.get_type() == "/Page":
+                    kids = [kid]
+                else:
+                    self.error("%s: %s" % (kid, kid.descriptor.params))
+                    self.error("%s: What's wrong? '%s'" % (kid, kid.get_type()))
+                    kids = []
+                newlist = newlist + kids
+            page_list = newlist
+        return page_list
+
+    def load_pages(self):
+        root = self.trailer.get("/Root")
+        catalog = self.get_object(root)
+        pages = catalog.descriptor.get("/Pages")
+        page_count = int(pages.descriptor.get("/Count"))
+
+        self.info("Found %d pages" % page_count)
+        pages.link_to(self.resolver)
+        page_kids = pages.descriptor.get("/Kids")
+        self.page_objects = self._expand_pages(page_kids)
+        if len(self.page_objects) != page_count:
+            self.error("Unconsistent pages found: %d vs %d" % \
+                  (len(self.page_objects), page_count))
+
+
+class PDFObjectResolver:
+    def __init__(self, pdffile):
+        self.pdffile = pdffile
+
+    def get(self, ident, default=None):
+        pdfobject = self.pdffile.resolve_object(ident)
+        if not(pdfobject): pdfobject = default
+        return pdfobject
+
+
+class PDFObjectGroup(PDFBaseObject):
+    """
+    Group of the PDF Objects contained in a file. This wrapper is a dictionnary
+    of the objects, and consolidates the links between the objects.
+    """
+    _log = logging.getLogger("pdfscan.pdffile")
+
+    def __init__(self):
+        self.pdfobjects = {}
+        self.objtypes = {}
+        self.unresolved = []
+
+    def count(self):
+        return len(self.pdfobjects.values())
+
+    def types(self):
+        return self.objtypes.keys()
+
+    def add_object(self, pdfobject):
+        self.pdfobjects[pdfobject.ident()] = pdfobject
+        objtype = pdfobject.get_type()
+        if not(objtype):
+            objtype = "misc"
+        lst = self.objtypes.get(objtype, [])
+        lst.append(pdfobject)
+        self.objtypes[objtype] = lst
+        self.unresolved.append(pdfobject)
+
+    def get_objects_by_type(self, objtype):
+        return self.objtypes.get(objtype, [])
+
+    def get_object(self, ident):
+        return self.pdfobjects.get(ident, None)
+
+    def link_objects(self):
+        self.debug("%d objects to resolve" % (len(self.unresolved)))
+        unresolved = []
+        for pdfobj in self.unresolved:
+            if pdfobj.link_to(self.pdfobjects):
+                unresolved.append(pdfobj)
+        self.unresolved = unresolved
+
+    def stream_decode(self):
+        for pdfobj in self.pdfobjects.values():
+            pdfobj.stream_decode()
+
+
+class PDFPage:
+    def __init__(self, pdf, page, pagenum=0):
+        self.pagenum = pagenum
+        self.pdf = pdf
+        contents = page.descriptor.get("/Contents")
+        resources = page.descriptor.get("/Resources")
+
+        if (isinstance(resources, PDFDescriptor)):
+            rsc_descriptor = resources
+        else:
+            rsc_descriptor = resources.descriptor
+
+        rsc_descriptor.link_to(pdf.resolver)
+        font = rsc_descriptor.get("/Font")
+        if font:
+            font.link_to(pdf.resolver)
+            if (isinstance(font, PDFDescriptor)):
+                fontdict = font.infos()
+            else:
+                fontdict = font.descriptor.infos()
+        else:
+            fontdict = {}
+
+        if not(isinstance(contents, list)):
+            contents = [contents]
+
+        self.page = page
+        self.contents = contents
+        self.fontdict = fontdict
+        self.fontmgr = FontManager(fontdict, pdf.fontmgr)
+        self.streams = []
+        
+        self.link_to(pdf.resolver)
+        self.load_streams()
+
+    def link_to(self, resolver):
+        for content in self.contents:
+            content.link_to(resolver)
+
+    def load_streams(self):
+        for content in self.contents:
+            stream = PDFContentStream(content, self.fontmgr)
+            self.streams.append(stream)
+
+    def find_fonts(self):
+        return self.fontmgr.get_used()
+
+
+class PDFXrefSection(PDFBaseObject):
+    """
+    Section starting by 'xref' and followed by the 'trailer'. The xref data
+    contain information about how to access to objects in the file and is
+    therefore a crucial part of the object resolution.
+    """
+    _log = logging.getLogger("pdfscan.xref")
+
+    _re_desc = re.compile("(<<(?:(?]|(?)>(?!>))*>>)",
+                          re.MULTILINE)
+
+    def __init__(self, fd):
+        self.trailer = None
+        self.table = {}
+        self.objstm = {}
+        self._file = fd
+        self.older = None
+        self.newer = None
+
+    def set_older(self, older):
+        self.older = older
+        older.newer = self
+
+    def _xref_fill_entry(self, fields, obj_id):
+        offset, revision, what = fields
+        if what == "n":
+            ident = "%d %d" % (obj_id, int(revision))
+            self.table[ident] = int(offset)
+
+    def read_table(self, linestart=""):
+        line = linestart.strip() or self._file.readline()
+        subsection = line.split()
+
+        while subsection[0] != "trailer":
+            start_ref = int(subsection[0])
+            object_count = int(subsection[1])
+            if len(subsection) == 5:
+                self._xref_fill_entry(subsection[2:], start_ref)
+                start_ref += 1
+                object_count -= 1
+
+            for i in range(object_count):
+                line = self._file.readline()
+                self._xref_fill_entry(line.split(), start_ref+i)
+
+            line = self._file.readline()
+            subsection = line.split()
+
+        #print len(self.table.values())
+
+        if subsection[0] == "trailer":
+            data = " ".join(subsection)
+        
+        # Ensure we have a complete dictionnary
+        while not(">>" in data):
+            data += self._file.readline()
+
+        m = self._re_desc.search(data)
+        if not(m):
+            self.error("Problem in PDF file: cannot find valid trailer")
+            return
+        self.trailer = PDFDescriptor(string=m.group(1))
+        self.trailer.compute()
+
+
+class PDFStreamHandler:
+    """
+    Core abstract class in charge to handle the stream of 
+    """
+    def __init__(self, pdfobject):
+        self.stream_object = pdfobject
+
+    def ident(self):
+        return self.stream_object.ident()
+    def debug(self, text):
+        self.stream_object.debug(text)
+    def warning(self, text):
+        self.stream_object.warning(text)
+    def error(self, text):
+        self.stream_object.error(text)
+    def info(self, text):
+        self.stream_object.info(text)
+
+class PDFXrefObject(PDFStreamHandler):
+    """
+    A specific object that contains XRef entries in binary format. It is an
+    alternative to the xref section.
+    """
+    def __init__(self, pdfobject):
+        PDFStreamHandler.__init__(self, pdfobject)
+        self.trailer = pdfobject.descriptor
+        self.table = {}
+        self.objstm = {}
+        self.older = None
+        self.newer = None
+
+        if pdfobject.descriptor.get("/Type") != "/XRef":
+            self.error("Not an XRef object. Give up")
+            return
+
+        _format = pdfobject.descriptor.get("/W")
+        _format = _format.replace("[", "").replace("]", "")
+        self._format = [ int(f) for f in _format.split() ]
+
+        # An /XRef object must contains a stream
+        pdfobject.stream_decode()
+        self.data = pdfobject.stream_text()
+        self.read_table()
+
+    def set_older(self, older):
+        self.older = older
+        older.newer = self
+
+    def _xref_fill_entry(self, fields, obj_id):
+        offset, revision, what = fields
+        if what == "n":
+            ident = "%d %d" % (obj_id, int(revision))
+            self.table[ident] = int(offset)
+            self.debug("Record xref entry: '%s' @ %s" % (ident, offset))
+
+    def _xref_fill_objstm(self, fields, obj_id):
+        objstm_id, obj_index = fields
+        ident = "%d %d" % (obj_id, 0)
+        self.objstm[ident] = (objstm_id, obj_index)
+        self.debug("Record xref entry in objstm: '%s' @ %s" % \
+                   (ident, fields))
+
+    def _int_of(self, string):
+        # Convert to int from bytes string that can be of any size
+        m = len(string)
+        d = 0
+        for i, c in enumerate(string):
+            d += (1 << (8*(m - i-1))) * struct.unpack("B", c)[0]
+        return d
+
+    def read_table(self, linestart=""):
+        data = self.data
+        fields = 3 * [0]
+        entry_size = sum(self._format)
+        # TODO: use /Index
+        obj_id = 0
+
+        while data:
+            first = 0
+            last = 0
+            for i in range(3):
+                last += self._format[i]
+                fields[i] = self._int_of(data[first:last])
+                first = last
+
+            data = data[entry_size:]
+            
+            if fields[0] == 1:
+                self._xref_fill_entry(fields[1:3] + ["n"], obj_id)
+            elif fields[0] == 2:
+                self._xref_fill_objstm(fields[1:3], obj_id)
+
+            obj_id += 1
+
+
+class PDFObjectStream(PDFStreamHandler):
+    """
+    A PDF Object Stream contains in its stream some compressed PDF objects.
+    This class works on a PDF object stream to build the containded PDF objects.
+    """
+    def __init__(self, pdfobject):
+        PDFStreamHandler.__init__(self, pdfobject)
+        self._pdfobjects = []
+
+    def pdfobjects(self):
+        if not(self._pdfobjects):
+            self.compute()
+        return self._pdfobjects
+
+    def _getinfo(self, what):
+        return self.stream_object.descriptor.get(what)
+
+    def get_object(self, idx):
+        if not(self._pdfobjects):
+            self.compute()
+        if idx < 0 or idx >= len(self._pdfobjects):
+            return None
+        return self._pdfobjects[idx]
+
+    def parse_object_list(self, data):
+        values = data.split()
+        objlist = []
+
+        for i in range(0, len(values), 2):
+            # The pair is ('object number', byte_offset)
+            objlist.append((values[i], int(values[i+1])))
+        self.objlist = objlist
+        return objlist
+
+    def compute(self):
+        _type = self._getinfo("/Type")
+        if  _type != "/ObjStm":
+            self.error("Cannot read object stream: Invalid type '%s'" % _type)
+            return
+
+        nb_objects = int(self._getinfo("/N"))
+        objlist_b = int(self._getinfo("/First"))
+        stream = self.stream_object.stream_cache
+
+        objlist = self.parse_object_list(stream.read(objlist_b))
+
+        if len(objlist) != nb_objects:
+            self.warning("Error in parsing the Stream Object: found %d"\
+                         "objects instead of %d" % (len(objlist), nb_object))
+
+        # List Terminator
+        objlist.append(("",-1))
+
+        bytes_read = 0
+        for i in range(len(objlist)-1):
+            # In ObjectStream, a PDF object revision is always '0'
+            number, revision = objlist[i][0], "0"
+
+            # The size of the object data is given by the position of the next
+            objsize = objlist[i+1][1] - bytes_read
+            if objsize >= 0:
+                data = stream.read(objsize)
+            else:
+                data = stream.read()
+            bytes_read += len(data)
+            self.debug("Object[%d] in stream: '%s' has %d bytes" % \
+                       (i, number, objsize))
+
+            # Build the PDF Object from stream data
+            pdfobj = PDFObject(number, revision)
+            pdfobj.append_string(data)
+            pdfobj.compute()
+            self._pdfobjects.append(pdfobj)
+
+        stream.close()
+
+
+class PDFObject:
+    """
+    A PDF Object contains the data between the 'obj ... 'endobj' tags.
+    It has a unique identifier given by the (number,revision) pair.
+    The data contained by a PDF object can be dictionnaries (descriptors),
+    stream contents and other stuff.
+    """
+    # Extract a dictionnary '<<...>>' leaf (does not contain another dict)
+    _re_desc = re.compile("(<<(?:(?]|(?)>(?!>))*>>)",
+                          re.MULTILINE)
+
+    def __init__(self, number, revision, stream_manager=None):
+        self.string = ""
+        self.number = number
+        self.revision = revision
+        self.descriptors = []
+        self.descriptor = None
+        self.data = ""
+        self.stream = None
+        self.outfile = ""
+        self.stream_manager = stream_manager or StreamManager()
+        self._log = logging.getLogger("pdfscan.pdfobject")
+        self.debug("New Object")
+        self.re_desc = self._re_desc
+
+    def debug(self, text):
+        self._log.debug(self.logstr(text))
+    def warning(self, text):
+        self._log.warning(self.logstr(text))
+    def error(self, text):
+        self._log.error(self.logstr(text))
+    def info(self, text):
+        self._log.info(self.logstr(text))
+
+    def ident(self):
+        return "%s %s" % (self.number, self.revision)
+
+    def __repr__(self):
+        return "(%s R)" % self.ident()
+
+    def __int__(self):
+        return int(self.data)
+
+    def logstr(self, text):
+        return "Object [%s %s]: %s" % (self.number,self.revision,text)
+
+    def append_string(self, string):
+        self.string = self.string + string
+
+    def compute(self):
+        string = self.string
+
+        s = re.split("stream\s", string, re.MULTILINE)
+        if len(s) > 1:
+            self.debug("Contains stream")
+            self.stream = s[1].strip()
+
+        string = s[0]
+
+        # Iterate to build all the nested dictionnaries/descriptors,
+        # from the deepest to the main one
+        self.descriptors = []
+        while True:
+            descs = self.re_desc.findall(string)
+            if not(descs):
+                break
+            for desc_str in descs:
+                desc = PDFDescriptor(string=desc_str)
+                string = string.replace(desc_str,
+                            "{descriptor(%d)}" % len(self.descriptors))
+                self.descriptors.append(desc)
+            
+        self.debug("Found %d descriptors" % len(self.descriptors))
+
+        for descobj in self.descriptors:
+            descobj.compute(descriptors=self.descriptors)
+
+        if self.descriptors:
+            self.descriptor = self.descriptors[-1]
+        else:
+            self.descriptor = PDFDescriptor()
+
+        self.data = re.sub("{descriptor\(\d+\)}", "",
+                           string, flags=re.MULTILINE).strip()
+        self.debug("Data: '%s'" % self.data)
+
+    def stream_decode(self):
+        if not(self.stream):
+            return
+        self.debug("Try to decode stream...")
+
+        # Consolidate stream buffer from the /Length information
+        stream_size = int(self.descriptor.get("/Length"))
+        self.stream = self.stream[0:stream_size]
+
+        # Put the stream in a cache
+        self.stream_cache = self.stream_manager.cache(number=self.number,
+                                                      revision=self.revision)
+
+        method = self.descriptor.get("/Filter")
+        if method == "/FlateDecode":
+            method = "zlib"
+        elif method == "/DCTDecode":
+            # This is JPEG. Just dump it
+            self.warning("this is a JPEG stream")
+            method = ""
+        elif method != "":
+            self.error("don't know how to decode stream with filter '%s'" \
+                     % method)
+            return
+
+        self.stream_cache.write(self.stream, compress_type=method)
+
+    def stream_text(self):
+        if not(self.stream):
+            return ""
+        data = self.stream_cache.read()
+        self.stream_cache.close()
+        return data
+
+    def get_type(self):
+        _type = self.descriptor.get("/Type")
+        if _type:
+            return _type
+        if self.stream:
+            return "stream"
+        if pdfstring_is_list(self.data):
+            return "list"
+        if self.descriptor.is_name_tree_node():
+            return "name tree"
+
+    def link_to(self, pdfobjects):
+        self.debug("Link objects")
+        for desc in self.descriptors:
+            desc.link_to(pdfobjects)
+
+        if pdfstring_is_list(self.data):
+            pass
+
+
+class PDFDescriptor:
+    """
+    Contains the data between the << ... >> brackets in PDF objects. It is
+    a dictionnary that can contain other descriptors/dictionnaries.
+    """
+    # Unique identifier for these objects
+    _id = 0
+
+    # Detect the dictionnary fields covering these cases:
+    # <<
+    #  /Type /Page                    : the value is another keyword
+    #  /Contents 5 0 R                : the value is a string up next keyword
+    #  /Resources 4 0 R                   
+    #  /MediaBox [0 0 595.276 841.89] : the value is an array
+    #  /Parent 12 0 R
+    # >>
+    _re_dict = re.compile("/\w+\s*/[^/\s]+|/\w+\s*\[[^\]]*\]|/\w+\s*[^/]+")
+
+    # Extract a dictionnary keyword
+    _re_key = re.compile("(/[^ \({/\[<]*)")
+
+    # Extract the substituted descriptors
+    _re_descobj = re.compile("{descriptor\((\d+)\)}")
+
+    # Find the PDF object references
+    _re_objref = re.compile("(\d+ \d+ R)")
+
+    def __init__(self, string=""):
+        self._ident = self._get_ident()
+        self.string = string
+        self.params = {}
+        self._log = logging.getLogger("pdfscan.descriptor")
+
+        self.re_dict = self._re_dict
+        self.re_key = self._re_key
+        self.re_descobj = self._re_descobj
+        self.re_objref = self._re_objref
+
+    def _get_ident(self):
+        _id = PDFDescriptor._id
+        PDFDescriptor._id += 1
+        return _id
+
+    def ident(self):
+        return self._ident
+
+    def debug(self, text):
+        self._log.debug("Descriptor [%d]: %s" % (self._ident, text))
+    def error(self, text):
+        self._log.error("Descriptor [%d]: %s" % (self._ident, text))
+    def info(self, text):
+        self._log.info("Descriptor [%d]: %s" % (self._ident, text))
+    def warning(self, text):
+        self._log.warning("Descriptor [%d]: %s" % (self._ident, text))
+
+    def __repr__(self):
+        return "desc[%d]" % self._ident
+
+    def normalize_fields(self, string):
+        string = string.replace(">>", "")
+        string = string.replace("<<", "")
+        string = string.replace("\n", " ")
+        fields = self.re_dict.findall(string)
+        fields = [ f.strip() for f in fields if (f and f.strip()) ]
+        return fields
+
+    def compute(self, descriptors=None):
+        lines = self.normalize_fields(self.string)
+        for line in lines:
+            m = self.re_key.match(line)
+            if not(m):
+                continue
+            param = m.group(1)
+            value = line.replace(param, "").strip()
+            m = self.re_descobj.match(value)
+            if m and descriptors:
+                value = descriptors[int(m.group(1))]
+            self.params[param] = value
+
+        self.debug(self.params)
+
+    def get(self, param, default=""):
+        return self.params.get(param, default)
+    
+    def values(self):
+        return self.params.values()
+
+    def keys(self):
+        return self.params.keys()
+
+    def infos(self):
+        return self.params
+
+    def is_name_tree_node(self):
+        if self.get("/Limits") or self.get("/Names") or self.get("/Kid"):
+            return True
+        else:
+            return False
+
+    def link_to(self, pdfobjects):
+        unresolved = 0
+        for param, value in self.params.items():
+            # Point to something else than a string? Skip it
+            if not(isinstance(value, str)):
+                continue
+
+            objects = []
+            objrefs = self.re_objref.findall(value)
+            value2 = value
+            #print value, objrefs
+            for objref in objrefs:
+                o = pdfobjects.get(objref.replace(" R", ""), None)
+                # If the object is missing, keep the reference for another trial
+                if not(o):
+                    self.warning("Object '%s' not resolved" % objref)
+                    unresolved += 1
+                    o = objref
+                objects.append(o)
+                value2 = value2.replace(objref, "", 1)
+
+            if not(objects):
+                continue
+
+            if pdfstring_is_list(value):
+                if (value2[1:-1].strip()):
+                    #print value2, objects
+                    self.warning("Problem: cannot substitute objects: '%s'" \
+                                 % value)
+                else:
+                    self.params[param] = objects
+                    self.debug("Substitute %s: %s" % (param, objects))
+            else:
+                if value2.strip() or len(objects) > 1:
+                    self.warning("Problem: cannot substitute object" % value)
+                else:
+                    self.params[param] = objects[0]
+                    self.debug("Substitute %s: %s" % (param, objects[0]))
+
+        return unresolved
+ 
+
+class StreamManager(PDFBaseObject):
+    CACHE_REFRESH = 1
+    CACHE_REMANENT = 2
+    CACHE_TMPDIR = 4
+    CACHE_DELONCLOSE = 8
+
+    _log = logging.getLogger("pdfscan.pdffile")
+
+    def __init__(self, cache_method="file", cache_dirname="", flags=0):
+        self.cache_method = cache_method
+        self.cache_format = "pdfstream.%(number)s.%(revision)s"
+        self.cache_dirname = cache_dirname
+        self.cache_files = []
+        self.flags = flags
+        # Don't want to remove something in a user directory
+        if cache_dirname: self.flags = self.flags | self.CACHE_REMANENT
+
+    def cleanup(self):
+        if (self.cache_method != "file"):
+            return
+
+        if (self.flags & self.CACHE_REMANENT):
+            if (self.flags & self.CACHE_TMPDIR):
+                self.warning("'%s' not removed" % (self.cache_dirname))
+            return
+
+        if (self.flags & self.CACHE_TMPDIR):
+            self.debug("Remove cache directory '%s'" % (self.cache_dirname))
+            shutil.rmtree(self.cache_dirname)
+        else:
+            for fname in self.cache_files:
+                print "shutil.remove(", fname
+
+    def cache(self, **kwargs):
+        if self.cache_method == "file":
+            return self.cache_file(kwargs)
+        else:
+            return self.cache_memory(kwargs)
+    
+    def cache_file(self, kwargs):
+        if not(self.cache_dirname):
+            self.cache_dirname = tempfile.mkdtemp()
+            self.flags = self.flags | self.CACHE_TMPDIR | self.CACHE_DELONCLOSE
+
+        if not(os.path.exists(self.cache_dirname)):
+            os.mkdir(self.cache_dirname)
+
+        cache_path = os.path.join(self.cache_dirname,
+                                  self.cache_format % kwargs)
+        stream_cache = StreamCacheFile(cache_path, flags=self.flags)
+        self.cache_files.append(cache_path)
+        return stream_cache
+
+    def cache_memory(self, kwargs):
+        stream_cache = StreamCacheMemory(flags=self.flags)
+        return stream_cache
+
+
+class StreamCache:
+    def __init__(self, outfile, flags=0):
+        self.flags = flags
+
+    def decompress(self, data, compress_type):
+        if not(compress_type):
+            return data
+        if compress_type == "zlib":
+            return zlib.decompress(data)
+
+class StreamCacheFile(StreamCache):
+    def __init__(self, outfile, flags=0):
+        self.flags = flags
+        self.outfile = outfile
+        self._file = None
+
+    def write(self, data, compress_type=""):
+        if ((self.flags & StreamManager.CACHE_REFRESH)
+            or not(os.path.exists(self.outfile))):
+            data = self.decompress(data, compress_type)
+            f = open(self.outfile, "w")
+            f.write(data)
+            f.close()
+
+    def read(self, size=-1):
+        if not(self._file):
+            self._file = open(self.outfile)
+        if size >= 0:
+            data = self._file.read(size)
+        else:
+            data = self._file.read()
+        return data
+
+    def close(self):
+        if (self._file):
+            self._file.close()
+        if (not(self.flags & StreamManager.CACHE_REMANENT) and \
+            (self.flags & StreamManager.CACHE_DELONCLOSE)):
+            os.remove(self.outfile)
+
+class StreamCacheMemory(StreamCache):
+    def __init__(self, flags=0):
+        self.flags = flags
+        self._buffer = ""
+        self._read_pos = 0
+
+    def write(self, data, compress_type=""):
+        self._buffer += self.decompress(data, compress_type)
+
+    def read(self, size=-1):
+        remain = len(self._buffer)-self._read_pos
+        if size >= 0:
+            size = min(size, remain)
+        else:
+            size = remain
+        _buf = self._buffer[self._read_pos:self._read_pos+size]
+        self._read_pos += size
+        return _buf
+
+    def close(self):
+        if (self.flags & StreamManager.CACHE_DELONCLOSE):
+            del self._buffer
+            self._buffer = None
+
+
+
+def extract_string_objects(data, re_pattern, replace_fmt,
+                           delims=None, object_cls=None,  object_id=0,
+                           **kwargs):
+
+    if isinstance(re_pattern, str):
+        strings_found = re.findall(re_pattern, data, re.M|re.DOTALL)
+    else:
+        strings_found = re_pattern.findall(data)
+
+    #print strings_found
+    strings_objects = []
+    for i, to in enumerate(strings_found):
+        repl = replace_fmt % (i+object_id)
+        if delims:
+            to = delims[0] + to + delims[1]
+            repl = delims[0] + repl + delims[1] 
+        data = data.replace(to, repl, 1)
+        if object_cls:
+            strings_objects.append(object_cls(to, **kwargs))
+        else:
+            strings_objects.append(to)
+    return (strings_objects, data)
+
+
+class PDFContentStream(PDFStreamHandler):
+    """
+    Data between the 'stream ... endstream' tags in a PDF object used as
+    content (and not as image or object storage).
+    """
+    def __init__(self, pdfobject, fontmgr=None):
+        PDFStreamHandler.__init__(self, pdfobject)
+        self.data = ""
+        self.qnode_root = None
+        self.textobjects = None
+        self.fontmgr = fontmgr or FontManager({})
+        pdfobject.stream_decode()
+        self.extract_textobjects(pdfobject.stream_text())
+        self.make_graph_tree()
+
+    def extract_textobjects(self, data):
+        fields = re.split("((?<=\s)BT(?=\s)|(?<=\s)ET(?=\s))", data)
+
+        start_text = False
+        textdata = ""
+        textobject = None
+        textobjects = []
+
+        for field in fields:
+            if field == "BT":
+                start_text = True
+                textdata = ""
+            elif field == "ET":
+                textobject = PDFTextObject(textdata, fontmgr=self.fontmgr)
+                data = data.replace(textdata,
+                                    " textobj(%d) " % len(textobjects), 1)
+                textobjects.append(textobject)
+                start_text = False
+            elif start_text:
+                textdata += field
+
+        self.debug("Found %d textobjects" % len(textobjects))
+        self.textobjects = textobjects
+        self.data = data
+
+    def make_graph_tree(self):
+        graph_stacks = re.split("(q\s|\sQ)", self.data)
+
+        self.qnode_root = GraphState()
+        qnode = self.qnode_root
+        for field in graph_stacks:
+            if "q" in field:
+                qnode = qnode.push(GraphState())
+            elif "Q" in field:
+                qnode = qnode.pop()
+            elif field.strip():
+                qnode.set_data(field)
+                qnode.fill_textobjects(self.textobjects)
+
+    def dump(self):
+        self.qnode_root.dump()
+
+
+
+class PDFMatrix(PDFBaseObject):
+    """
+             | a  b  0 |
+        Tm = | c  d  0 |
+             | e  f  1 |
+
+        [x , y , 1] = [x1, y1, 1] x Tm1
+        [x1, y1, 1] = [x2, y2, 1] x Tm2
+        
+     => [x , y , 1] = [x2, y2, 1] x Tm2 x Tm1
+
+    """
+    IDENT = [1, 0, 0, 1, 0, 0]
+
+    def __init__(self, vector):
+        self.vector = vector
+
+    def tx(self):
+        return self.vector[4]
+
+    def ty(self):
+        return self.vector[5]
+
+    def scale(self):
+        a, b, c, d, e, f = self.vector
+        # Horizontal orientation
+        if (abs(a) == abs(d) and b == 0 and c == 0):
+            return abs(a)
+        # vertical orientation
+        if (abs(b) == abs(c) and a == 0 and d == 0):
+            return abs(b)
+        # Always return the first even if something is weird
+        self.warning("Cannot interpret Tm matrix scale: %s" % self)
+        return a
+    
+    def __str__(self):
+        return str(self.vector)
+
+    def __len__(self):
+        return len(self.vector)
+
+    def __mul__(self, vector):
+        a, b, c, d, e, f = self.vector
+        if len(vector) == 6:
+            ar, br, cr, dr, er, fr = vector.vector
+            a2 = a * ar + b * cr + 0 * er
+            b2 = a * br + b * dr + 0 * fr
+            c2 = c * ar + d * cr + 0 * er
+            d2 = c * br + d * dr + 0 * fr
+            e2 = e * ar + f * cr + 1 * er        
+            f2 = e * br + f * dr + 1 * fr        
+
+            m = PDFMatrix([a2,b2,c2,d2,e2,f2])
+            return m
+        else:
+            x, y = vector[0:2]
+            x2 = a * x + c * y + e
+            y2 = b * x + d * y + f
+            return [x2, y2, 1]
+
+
+class GraphState:
+    """
+    Graphic state starts with 'q' and ends with 'Q' in content stream.
+    It can contain other graphic states and/or text objects.
+    """
+    def __init__(self):
+        self._parent = None
+        self._children = []
+        self._level = 0
+        self._data = ""
+        self.textobjects = []
+        self.matrix = PDFMatrix(PDFMatrix.IDENT)
+
+    def level(self):
+        return self._level
+
+    def set_parent(self, qnode):
+        self._parent = qnode
+        self._level = qnode.level()+1
+
+    def push(self, qnode):
+        self._children.append(qnode)
+        qnode.set_parent(self)
+        return qnode
+
+    def pop(self):
+        qnode = self._parent
+        return qnode
+
+    def set_data(self, data, textobjects=None):
+        self._data = data
+        if textobjects:
+            self.fill_textobjects(textobjects)
+        self.extract_matrix()
+
+    def fill_textobjects(self, textobjects):
+        #print self._data #***
+        tos = re.findall(" (textobj\(\d+\))", self._data)
+        for to in tos:
+            m = re.match("textobj\((\d+)\)", to)
+            if m:
+                textobject = textobjects[int(m.group(1))]
+                textobject.set_graphstate(self)
+                self.textobjects.append(textobject)
+
+        self._data = re.sub(" textobj\(\d+\)", "",
+                       self._data, flags=re.MULTILINE).strip()
+
+    def extract_matrix(self):
+        m = re.search("("+6*"[^\s]+\s+"+"cm"+")", self._data)
+        if m:
+            vector = [ float(v) for v in m.group(1).split()[0:6] ]
+            self.matrix = PDFMatrix(vector)
+
+    def dump(self):
+        s = self._level * "  " + "q '" + self._data + "'"
+        print s
+        for q in self._children:
+            q.dump()
+        s = self._level * "  " + "Q"
+        print s
+
+
+class PDFTextObject:
+    """
+    Data between the 'BT' and 'ET' tokens found in content streams.
+    """
+    _font_op_pattern = "/[^\s]+\s+[^\s]+\s+Tf"
+
+    # Detect a 'Tf', 'Tm', 'Tj', 'TJ', Td, TD operator sequence in a text object
+    # To use only when strings are extracted and replaced by their reference
+    _re_seq = re.compile("(" + _font_op_pattern + "|"+\
+                         6*"[^\s]+\s+"+"Tm"+"|"+\
+                         "\(textcontent\{\d+\}\)\s*Tj|"+\
+                         "\[[^\]]*\]\s*TJ|"+\
+                         "[^\s]+\s+[^\s]+\s+T[dD])", re.MULTILINE)
+
+    # Find a font setup operator, like '/F10 9.47 Tf'
+    _re_font = re.compile("("+_font_op_pattern+")", re.MULTILINE)
+
+    # Find a sequence '(...\(...\)...) Tj'
+    _re_text_show1 = re.compile("(\((?:" + "[^()]" + "|" +\
+                                      r"(?<=\\)\(" + "|" +\
+                                      r"(?<=\\)\)" + ")*\)\s*Tj)", re.M)
+                                
+    # Find a sequence '[...\[...\]...] TJ'
+    _re_text_show2 = re.compile("\[((?:" + "[^\[\]]" + "|" +\
+                                        r"(?<=\\)\[" + "|" +\
+                                        r"(?<=\\)\]" + ")*)\]\s*TJ", re.M)
+
+    def __init__(self, data, fontmgr=None):
+        self.data = data
+        self.matrix = PDFMatrix(PDFMatrix.IDENT)
+        self.fontmgr = fontmgr or FontManager({})
+        self.qnode = None
+        self.strings = []
+        self.textsegments = []
+        self.textlines = []
+        self.extract_strings()
+        self.extract_matrix()
+        self.parse_data()
+
+    def set_graphstate(self, gs):
+        self.qnode = gs
+
+    def set_fontmanager(self, fontmgr):
+        self.fontmgr = fontmgr
+
+    def matrix_absolute(self):
+        # The textobject matrix change is the last one, so on the full left
+        m = self.matrix
+
+        # We climb the graph stack from the deepest (newer) to the upper
+        # (oldest) node so:
+        # Absolute Matrix = Newest (m) x ... x Oldest (qnode.matrix)
+        qnode = self.qnode
+        while qnode:
+            m = m * qnode.matrix 
+            qnode = qnode.pop()
+        return m
+
+    def extract_matrix(self):
+        m = re.search("("+6*"[^\s]+\s+"+"Tm"+")", self.data)
+        if m:
+            vector = [ float(v) for v in m.group(1).split()[0:6] ]
+            self.matrix = PDFMatrix(vector)
+    
+    def extract_strings(self):
+        #print self.data
+        objects, data = extract_string_objects(self.data, self._re_text_show1,
+                                               "(textcontent{%d}) Tj")
+        self.strings = objects                                       
+        objects, data = extract_string_objects(data, self._re_text_show2,
+                                               "textcontent{%d}",
+                                               delims=["[","]"],
+                                               object_id=len(self.strings))
+        #print data
+        self.strings += objects
+        self.data = data
+
+    def _newline(self):
+        linerow = []
+        self.textlines.append(linerow)
+        return linerow
+
+    def get_font(self, font, size, scale):
+        return self.fontmgr.get_font(font, float(size)*scale)
+
+    def parse_data(self):
+        linerow = self._newline()
+        textline = PDFTextSegment("", PDFMatrix(PDFMatrix.IDENT))
+        linerow.append(textline)
+
+        # Find the operator sequences
+        operators = self._re_seq.findall(self.data)
+
+        font, size = "", 1
+        last_key = ""
+
+        for tx in operators:
+            fields = tx.split()
+            key = fields[-1]
+
+            # Found a font setup, memorize the fontname and fontsize base
+            if key == "Tf":
+                font = fields[0]
+                size = fields[1]
+            # Found the matrix setup, memorize it
+            elif key == "Tm":
+                vector = [ float(c) for c in fields[0:6]]
+                self.matrix = PDFMatrix(vector)
+            # Found a text positionning
+            elif key in ("Td", "TD"):
+                tx, ty = [ float(c) for c in fields[0:2]]
+                matrix = PDFMatrix([1, 0, 0, 1, tx, ty])
+                textline = PDFTextSegment("", matrix)
+                self.textsegments.append(textline)
+                if matrix.ty() != 0:
+                    linerow = self._newline()
+                linerow.append(textline)
+            # When text is shown, the current font/size setup applies and is
+            # then recorded
+            elif "Tj" in key or "TJ" in key:
+                m = re.search("textcontent\{(\d+)\}", tx)
+                text_string = self.strings[int(m.group(1))]
+                scale = self.matrix.scale()
+                #print font, size, scale #*****
+                pdffont = self.get_font(font, size, scale)
+                text_shown = PDFTextShow(text_string, pdffont)
+                textline.add_text_show(text_shown)
+            last_key = key
+
+class PDFTextSegment:
+    """
+    A text segment is a portion of text related to a text position operator 'Td'
+    or 'TD'. It contains all the texts shown related to this position, signaled
+    with the 'Tj' and 'TJ' tokens
+    """
+    def __init__(self, data, matrix):
+        self.matrix = matrix
+        self.data = data
+        self.strings = None
+        self.text_shown = []
+
+    def __str__(self):
+        s = ""
+        for o in self.text_shown:
+            s += str(o)
+        return s
+
+    def text(self):
+        s = " ".join([o.text() for o in self.text_shown])
+        return s
+
+    def set_strings(self, strings):
+        self.strings = strings
+
+    def add_text_show(self, text_shown):
+        self.text_shown.append(text_shown)
+
+
+class PDFTextShow:
+    """
+    Data between the '( )' of the 'Tj' operator or '[ ]' of the 'TJ' operator
+    that is intended to be shown.
+    """
+    _re_textascii = re.compile(r"\(((?:[^)]|(?<=\\)\))*)\)", re.M)
+    _re_textunicode = re.compile(r"<([^>]+)>", re.M)
+    _codec_handler_installed = {}
+
+    def __init__(self, data, font):
+        self.data = data
+        self.font = font
+        self.encode = codecs.getencoder("latin1")
+        if not(self._codec_handler_installed):
+            codecs.register_error("substitute", PDFTextShow._encode_subs)
+            self._codec_handler_installed["substitute"] = PDFTextShow._encode_subs
+
+    def __str__(self):
+        return self.data.replace("\n", " ")
+
+    def text(self):
+        textdata = self._re_textascii.findall(self.data)
+        textdata = "".join(textdata).replace("\(", "(").replace("\)", ")")
+        if textdata:
+            return textdata
+        if (self.font.tounicode):
+            textdata = self._re_textunicode.findall(self.data)
+            s = u" ".join(self.font.tounicode.decode(textdata))
+            return self.encode(s, "substitute")[0]
+        else:
+            return ""
+
+    def get_font(self):
+        return self.font
+
+    @classmethod
+    def _encode_subs(cls, exc):
+        if not isinstance(exc, UnicodeEncodeError):
+            return u""
+        l = []
+        for c in exc.object[exc.start:exc.end]:
+            l.append(u"&#x%x;" % ord(c))
+        return (u"".join(l), exc.end)
+
+
+class PDFFont:
+    def __init__(self, fontobject, fontsize, tounicode=None):
+        self.fontobject = fontobject
+        self.fontsize = fontsize
+        self.tounicode = tounicode
+
+    def key(self):
+        key = "%s/%6.2f" % (self.name(), self.size())
+        return key
+
+    def __cmp__(self, other):
+        a = (cmp(self.name(), other.name()) or
+             cmp(self.size(), other.size()))
+        return a
+
+    def name(self):
+        return self.fontobject.descriptor.get("/BaseFont")
+
+    def size(self):
+        return self.fontsize
+
+class FontManager:
+    def __init__(self, fontdict, global_fontmgr=None):
+        self.fontdict = fontdict
+        self.fontused = {}
+        self.tounicode = {}
+        self.global_fontmgr = global_fontmgr
+        self.resolver = PDFResolver.get_resolver()
+
+    def get_pdffont(self, fontobj, fontsize):
+        key = fontobj.descriptor.get("/BaseFont")+"/"+"%6.2f" % fontsize
+        if self.fontused.has_key(key):
+            return self.fontused.get(key)
+        elif self.global_fontmgr:
+            pdffont = self.global_fontmgr.get_pdffont(fontobj, fontsize)
+            self.fontused[key] = pdffont
+        else:
+            pdffont = self._make_pdffont(fontobj, fontsize)
+            self.fontused[key] = pdffont
+        return pdffont
+
+    def _make_pdffont(self, fontobj, fontsize):
+        fontobj.link_to(self.resolver)
+        pdfobject = fontobj.descriptor.get("/ToUnicode")
+        if pdfobject:
+            pdfobject.link_to(self.resolver)
+            tuc = self._get_tounicode(pdfobject)
+        else:
+            tuc = None
+        pdffont = PDFFont(fontobj, fontsize, tuc)
+        return pdffont
+
+    def _get_tounicode(self, pdfobject):
+        key = pdfobject.ident()
+        if self.tounicode.has_key(key):
+            tuc = self.tounicode.get(key)
+        else:
+            tuc = ToUnicode(pdfobject)
+            self.tounicode[key] = tuc
+        return tuc
+
+    def get_font(self, fontref, size):
+        fontobj = self.fontdict.get(fontref)
+        if not(fontobj):
+            return None
+        return self.get_pdffont(fontobj, size)
+
+    def get_used(self):
+        return self.fontused.values()
+
+
+class ToUnicode(PDFStreamHandler):
+    """
+    Handle the /ToUnicode CMap object found in a font, in order to be able to
+    translate the text content to readable text
+    """
+    _re_token = re.compile("(" + \
+             "(?:\d+\s+(?:begincodespacerange|beginbfchar|beginbfrange))" + "|"\
+             "(?:endcodespacerange|endbfchar|endbfrange)" + \
+             ")", re.M)
+
+    def __init__(self, pdfobject):
+        PDFStreamHandler.__init__(self, pdfobject)
+        self.charmaps = []
+        pdfobject.stream_decode()
+        self.data = pdfobject.stream_text()
+        self.parse_cmap(self.data)
+        self.debug("Create a ToUnicode object for '%s'" % pdfobject.ident())
+
+    def parse_cmap(self, data):
+        flds = self._re_token.split(data)
+
+        bfchar = None
+        bfrange = None
+        for fld in flds:
+            if "begincodespacerange" in fld:
+                # TODO
+                pass
+            elif "beginbfchar" in fld:
+                n = int(fld.split()[0])
+                bfchar = BfRange(n)
+            elif "beginbfrange" in fld:
+                n = int(fld.split()[0])
+                bfrange = BfRange(n)
+            elif "endcodespacerange" in fld:
+                pass
+            elif "endbfchar" in fld:
+                self.add_bfrange(bfchar)
+                bfchar = None
+            elif "endbfrange" in fld:
+                self.add_bfrange(bfrange)
+                bfrange = None
+            elif bfchar:
+                fld = re.sub("<\s+", "<", fld)
+                fld = re.sub("\s+>", ">", fld)
+                data = fld.split()
+                for i in range(0, len(data), 2):
+                    bfchar.add_mapstr(data[i], data[i], data[i+1])
+            elif bfrange:
+                fld = re.sub("<\s+", "<", fld)
+                fld = re.sub("\s+>", ">", fld)
+                data = fld.split()
+                for i in range(0, len(data), 3):
+                    bfrange.add_mapstr(data[i], data[i+1], data[i+2])
+ 
+    def add_bfrange(self, bfrange):
+        self.charmaps.extend(bfrange.charmaps)
+        self.charmaps.sort()
+
+    def get_uccode(self, bfchar):
+        mustbe_in_next = False
+        for m in self.charmaps:
+            if bfchar >= m.bffirst:
+                if bfchar <= m.bflast:
+                    return m.uccode + (bfchar - m.bffirst)
+                else:
+                    mustbe_in_next = True
+            elif mustbe_in_next:
+                return 0
+        return 0
+
+    def decode_string(self, data):
+        ul = []
+        for i in range(0, len(data), 4):
+            s = data[i:i+4]
+            #print s
+            ul.append(unichr(self.get_uccode(int(s,16))))
+        return u"".join(ul)
+
+    def decode(self, data):
+        if isinstance(data, list):
+            return [self.decode_string(s) for s in data]
+        else:
+            return self.decode_string(data)
+
+
+class CharMap:
+    def __init__(self, bffirst, bflast, uccode):
+        self.bffirst = bffirst
+        self.bflast = bflast
+        self.uccode = uccode
+
+    def __cmp__(self, other):
+        return cmp(self.bffirst, other.bffirst)
+
+class BfRange:
+    def __init__(self, entry_count):
+        self.entry_count = entry_count
+        self.charmaps = []
+
+    def add_mapstr(self, bffirst_str, bflast_str, ucfirst_str):
+        # Take strings like <045D>
+        bffirst = int(bffirst_str[1:-1], 16)
+        bflast = int(bflast_str[1:-1], 16)
+        ucfirst = int(ucfirst_str[1:-1], 16)
+        self.charmaps.append(CharMap(bffirst, bflast, ucfirst))
+
+
+#
+# Starting from here is the command stuff
+#
+#
+import textwrap
+
+class BasicCmd:
+    def __init__(self):
+        pass
+    def setup_parser(self, parser):
+        return True
+    def help(self, cmd):
+        if self.__doc__:
+            return self.__doc__
+        else:
+            return None
+
+class PageLayoutCmd(BasicCmd):
+    """
+    Show the position and fonts used for each text line contained by a page
+    """
+    def __init__(self, scanner):
+        self.scanner = scanner
+        layout_fmt = "%5s %5s | %5s %5s | %8s | "
+        self.padding = layout_fmt % (" "," "," "," "," ")
+        self.headline = layout_fmt % (5*"_",5*"_",5*"_",5*"_",8*"_")
+        self.header = layout_fmt % ("dX","dY","X","Y","FONTS")
+        self.width = 90
+        self.show_matrix = False
+        self.raw_text = False
+        self.pt_factor = 1
+
+    def setup_parser(self, parser):
+        parser.add_argument("-w", "--width",
+               help="Width of the printed layout information")
+        parser.add_argument("-m", "--show-matrix", action="store_true",
+               help="Print absolute Transformation Matrix for each textobject")
+        parser.add_argument("-r", "--raw-text", action="store_true",
+               help="Print the raw text contained by textobjects")
+
+    def run(self, parser, args):
+        if args.width:
+            self.width = int(args.width)
+        if args.show_matrix:
+            self.show_matrix = True
+        if args.raw_text:
+            self.raw_text = True
+        
+        for pg in self.scanner.page_groups:
+            self.print_page_layout(pg)
+
+    def print_page_layout(self, pdf_pages):
+        for page in pdf_pages:
+            fonts_used = page.find_fonts()
+            fonts_used.sort()
+            print "\nPage %d fonts used:" % page.pagenum
+            for i, font in enumerate(fonts_used):
+                print "[%d] %-40s %6.2f pt" % (i, font.name(),
+                                               self.pt_factor*font.size())
+
+            print "\nPage %d layout:" % page.pagenum
+            content_stream = page.streams[0]
+            xp, yp = 0., 0.
+            print self.header
+            print self.headline
+            for textobject in content_stream.textobjects:
+                xp, yp = self._print_textobject_layout(textobject, xp, yp,
+                                                       fonts_used)
+
+    def _print_textobject_layout(self, textobject, xp, yp, fonts_used):
+        wraplen = self.width - len(self.padding)
+
+        m2 = textobject.matrix_absolute()
+
+        for line in textobject.textlines:
+            # Track the fonts used per line
+            font_line = []
+            for seg in line:
+                for text_shown in seg.text_shown:
+                    font = text_shown.get_font()
+                    if not(font):
+                        continue
+                    idx = fonts_used.index(font)
+                    if not(idx in font_line):
+                        font_line.append(idx)
+
+            m2 = line[0].matrix * m2
+            if self.show_matrix: print "%s" % m2
+
+            x, y = m2.tx(), m2.ty()
+            x, y = float(x/72), float(y/72)
+            dx, dy = x - xp, y - yp
+            info = "%5.2f %5.2f | %5.2f %5.2f | %8s | " % \
+                  (dx, dy, x, y, font_line)
+            if self.raw_text:
+                text = "".join([str(s) for s in line])
+            else:
+                text = "".join([s.text() for s in line])
+            textw = textwrap.wrap(text, wraplen)
+
+            if textw:
+                print "%s%s" % (info, textw[0])
+                for txt in textw[1:]:
+                    print "%s%s" % (self.padding, txt)
+
+            xp, yp = x, y
+            for l in line[1:]:
+                m2 = l.matrix * m2
+
+        return (xp, yp)
+
+class PageObjectCmd(BasicCmd):
+    """
+    List the PDF objects used per page
+    """
+    def __init__(self, scanner):
+        self.scanner = scanner
+
+    def run(self, parser, args):
+        page_first = 1
+        for i, page in enumerate(self.scanner.pdf.page_objects):
+            page_num = i+page_first
+            contents = page.descriptor.get("/Contents")
+            resources = page.descriptor.get("/Resources")
+            print "Page %d %s: contents: %s, resources: %s" % \
+                                 (page_num, page, contents, resources)
+        print
+
+class PdfObjectCmd(BasicCmd):
+    """
+    Scan data on the PDF objects of the PDF File
+    """
+    def __init__(self, scanner):
+        self.scanner = scanner
+
+    def setup_parser(self, parser):
+        group = parser.add_mutually_exclusive_group()
+        group.add_argument("-list", "--list-loaded", action="store_true",
+               help="List the object loaded by the scanner")
+        group.add_argument("-dict", "--dictionnary",
+               metavar="' '",
+               help="Show the dictionnary of the object specified by its "\
+                    "reference ' '")
+        group.add_argument("-dump", "--dump-stream", nargs=2,
+               metavar=("' '","OUTFILE"),
+               help="Write the stream content of the object specified by its "\
+                    "reference ' '")
+
+    def run(self, parser, args):
+        if args.list_loaded:
+            self.list_pdfobjects()
+        elif args.dictionnary:
+            ident = self._sanitize_objref(args.dictionnary)
+            if not(ident): return
+            self.show_dictionnary(ident)
+        elif args.dump_stream:
+            ident = self._sanitize_objref(args.dump_stream[0])
+            if not(ident): return
+            self.dump_stream(ident, args.dump_stream[1])
+
+    def _sanitize_objref(self, ident):
+        flds = ident.split()
+        if len(flds) != 2:
+            print "Invalid object reference: must be in the form "\
+                  "'number generation'"
+            return ""
+        else:
+            return "%s %s" % (flds[0], flds[1])
+
+    def show_dictionnary(self, ident):
+        pdfobject = self.scanner.pdf.get_object(ident)
+        if not(pdfobject):
+            print "PDF Object '%s' not found" % ident
+            return
+        if pdfobject.stream:
+            print "PDF Object '%s' has a stream. Its dictionnary:" % ident
+        else:
+            print "PDF Object '%s' dictionnary:" % ident
+        self._print_dictionnary(pdfobject.descriptor)
+
+    def _print_dictionnary(self, descriptor, level=1):
+        indent = "  "*level
+        print "%s<<" % indent
+        for p, v in descriptor.infos().items():
+            if isinstance(v, PDFDescriptor):
+                print "%s%s:" % (indent, p)
+                self._print_dictionnary(v, level=level+1)
+            else:
+                print "%s%s: %s" % (indent, p, v)
+        print "%s>>" % indent
+
+    def list_pdfobjects(self):
+        pdfobjects = self.scanner.pdf.pdfobjects
+        print "Found %s PDFObjects" % pdfobjects.count()
+        print "Found the following PDFObject types:"
+        types = pdfobjects.types()
+        types.sort()
+        total = 0
+        for typ in types:
+            n_type = len(pdfobjects.get_objects_by_type(typ))
+            print " %20s: %5d objects" % (typ, n_type)
+            total = total + n_type
+        print " %20s: %5d objects" % ("TOTAL", total)
+
+    def dump_stream(self, ident, outfile):
+        pdfobject = self.scanner.pdf.get_object(ident)
+        if not(pdfobject):
+            print "PDF Object '%s' not found" % ident
+            return
+        if not(pdfobject.stream):
+            print "PDF Object '%s' has no stream. Give up." % ident
+            return
+        pdfobject.stream_decode()
+        f = open(outfile, "wb")
+        f.write(pdfobject.stream_text())
+        f.close()
+        print "PDF Object '%s' stream written to file %s" % (ident, outfile)
+
+
+
+class PageFontCmd(BasicCmd):
+    def __init__(self, scanner):
+        self.scanner = scanner
+        self.header_fmt = "%4s %-40s %s"
+        self.pt_factor = 1
+        self.font_unit = "pt"
+
+    def help(self, cmd):
+        if cmd == "font_summary":
+            _help = "List the fonts used and their size in the specified pages"
+        else:
+            _help = "List the fonts used and their size for each page"
+        return _help
+
+    def setup_parser(self, parser):
+        parser.add_argument("-pt", "--point-type",
+              help="Point type to use: 'dtp' (default), 'tex'")
+
+    def run(self, parser, args):
+        if args.point_type == "tex":
+            self.pt_factor = 72.27/72
+            self.font_unit = "pt tex"
+
+        if args.name == "font_summary":
+            self.print_font_summary()
+        else:
+            self.print_font_page()
+
+    def print_font_page(self):
+        for pg in self.scanner.page_groups:
+            self.print_fonts_in_pages(pg)
+
+    def print_fonts_in_pages(self, pdf_pages, show=True):
+        if show:
+            print self.header_fmt % ("PAGE", "FONT", "SIZE")
+            print self.header_fmt % (4*"-", 40*"-", 10*"-")
+
+        for page in pdf_pages:
+            fonts_used = page.find_fonts()
+            fonts_used.sort()
+            for font in fonts_used:
+                if show:
+                    print "%4d %-40s %6.2f %s" % (page.pagenum, font.name(),
+                              self.pt_factor * font.size(), self.font_unit)
+            if show: print self.header_fmt % (4*"-", 40*"-", 10*"-")
+
+    def print_font_summary(self):
+        pages = []
+        for pg in self.scanner.page_groups:
+            if not(pg):
+                continue
+            s = "%d" % (pg[0].pagenum)
+            if len(pg) > 1:
+                s += "-%d" % (pg[-1].pagenum)
+            pages.append(s)
+
+        print "\nFonts used in pages %s:" % (",".join(pages))
+        fonts_used = self.scanner.pdf.fontmgr.get_used()
+        fonts_used.sort()
+        for font in fonts_used:
+            print "%-40s %6.2f %s" % \
+                  (font.name(), self.pt_factor*font.size(), self.font_unit)
+
+
+class PDFScannerCommand:
+    def __init__(self):
+        self._commands = [
+             ("page_object", PageObjectCmd),
+             ("page_font", PageFontCmd),
+             ("page_layout", PageLayoutCmd),
+             ("font_summary", PageFontCmd),
+             ("pdfobject", PdfObjectCmd)
+            ]
+        self.commands_to_run = []
+        self.pdf = None
+        self.page_ranges = []
+        self.page_groups = []
+        self.fonts_used = {}
+
+    def commands(self):
+        return [c[0] for c in self._commands]
+
+    def setup_options(self, parser):
+        parser.add_argument("-p", "--pages", action="append",
+              help="Page range in the form '[-[]]'")
+        parser.add_argument("-v", "--verbose", action="append",
+              help="Verbose mode in the form '[group:]level' with level "\
+                   "in 'debug', 'info', 'warning', 'error' and "\
+                   "group in 'pdffile', 'pdfobject', 'descriptor'")
+        parser.add_argument("-c", "--cache-stream-dir",
+              help="Directory where to store the decompressed stream")
+        parser.add_argument("-m", "--no-cache-stream", action="store_true",
+              help="No stream cache on disk used: leave streams in memory")
+        parser.add_argument("-d", "--cache-remanent", action="store_true",
+              help="Equivalent to -fremanent")
+        parser.add_argument("-f", "--cache-flags",
+              help="Comma separated list of stream cache setup options: "\
+                   "'remanent' and/or 'refresh'")
+
+    def setup_parser(self, parser):
+        self.setup_options(parser)
+
+        if not(self._commands):
+            return
+        partial = True
+        subparsers = parser.add_subparsers() #title=title)
+        clsused = []
+        cmdobjs = []
+        for cmd, cls in self._commands:
+            # Don't duplicate objects used for several commands
+            if cls in clsused:
+                cmdobj = cmdobjs[clsused.index(cls)]
+            else:
+                cmdobj = cls(self)
+                cmdobjs.append(cmdobj)
+                clsused.append(cls)
+            kwargs = {}
+            if cmdobj.help(cmd):
+                kwargs["help"] = cmdobj.help(cmd)
+            p = subparsers.add_parser(cmd, **kwargs)
+            partial = cmdobj.setup_parser(p) or partial
+            p.set_defaults(run=cmdobj.run, name=cmd)
+        return partial
+
+    def prepare(self, parser, options, argslist, pdffile):
+        self.options = options
+        # Sort the commands in the right order
+        cmds = [ args.name for args in argslist ]
+        self.commands_to_run = []
+        for cmd in self.commands():
+            if cmd in cmds:
+                i = cmds.index(cmd)
+                self.commands_to_run.append(argslist[i])
+        
+        log_groups = self._option_group_loglevels()
+        self.logger_setup(log_groups)
+
+        self.page_ranges = self._option_page_ranges()
+
+        stream_manager = self._option_cache_setup()
+        self.pdf = PDFFile(stream_manager=stream_manager)
+
+    def cleanup(self):
+        if self.pdf:
+            self.pdf.cleanup()
+
+    def run(self, parser, options, argslist, pdffile):
+        self.prepare(parser, options, argslist, pdffile)
+        self.pdf.load(pdffile)
+        self.pdf.load_pages()
+        self._build_pages()
+        for args in self.commands_to_run:
+            args.run(parser, args)
+
+    def _build_pages(self):
+        page_count = len(self.pdf.page_objects)
+        for page_range in self.page_ranges:
+            page_first, page_last = self._page_range(page_range, page_count)
+            page_objects = self.pdf.page_objects[page_first-1:page_last]
+
+            pdf_pages = self._build_pages_from_objects(page_objects, page_first)
+            self.page_groups.append(pdf_pages)
+
+    def _build_pages_from_objects(self, page_objects, page_first):
+        pdf_pages = []
+        for i, pg in enumerate(page_objects):
+            pagenum = i+page_first
+            page = PDFPage(self.pdf, pg, pagenum)
+            pdf_pages.append(page)
+        return pdf_pages
+
+    def _page_range(self, page_range, max_range):
+        if not(page_range): page_range = [1, max_range]
+        if page_range[0] == 0: page_range[0] = 1
+        if page_range[1] == 0 or page_range[1] > max_range:
+            page_range[1] = max_range
+        return page_range
+
+    def _option_page_ranges(self):
+        page_ranges = []
+        if not(self.options.pages):
+            page_ranges.append([0, 0])
+            return page_ranges
+
+        for page_range in self.options.pages:
+            p1, p2 = (page_range + "-x").split("-")[0:2]
+            if not(p2):
+                p2 = 0
+            elif (p2 == "x"):
+                p2 = p1
+            page_ranges.append([int(p1), int(p2)])
+
+        return page_ranges
+
+    def _option_group_loglevels(self):
+        verbose = self.options.verbose
+        log_groups = {"pdffile":   "info",
+                      "pdfobject": "info",
+                      "descriptor": "error",
+                      "base": "info"}
+
+        log_levels = ("debug", "info", "warning", "error")
+
+        if not(verbose):
+            return log_groups
+
+        groups = log_groups.keys()
+        for verbose_opt in verbose:
+            group, level = ("all:" + verbose_opt).split(":")[-2:]
+            if not(level in log_levels):
+                print "Invalid verbose level: '%s'" % level
+                continue
+            if group == "all":
+                for group in groups:
+                    log_groups[group] = level
+            elif group in groups:
+                log_groups[group] = level
+            else:
+                print "Invalid verbose group: '%s'" % group
+                continue
+        return log_groups
+
+    def _option_cache_setup(self):
+        cache_in_memory = self.options.no_cache_stream
+        cache_dirname = self.options.cache_stream_dir
+        cache_flags = self.options.cache_flags
+
+        if self.options.cache_remanent:
+            if cache_flags:
+                cache_flags += ",remanent"
+            else:
+                cache_flags = "remanent"
+
+        flags = 0
+        if cache_flags:
+            cache_flags = cache_flags.split(",")
+            for cflag in cache_flags:
+                if cflag == "remanent":
+                    flags = flags | StreamManager.CACHE_REMANENT
+                elif cflag == "refresh":
+                    flags = flags | StreamManager.CACHE_REFRESH
+
+        if cache_in_memory:
+            mgr = StreamManager(cache_method="memory")
+        elif cache_dirname:
+            cache_dirname = os.path.realpath(cache_dirname)
+            if not(os.path.exists(cache_dirname)):
+                print "Invalid cache dir: '%s'. Temporary dir used instead" % \
+                      cache_dirname
+                return None
+            mgr = StreamManager(cache_method="file",
+                                cache_dirname=cache_dirname,
+                                flags=flags)
+        else:
+            mgr = StreamManager(flags=flags)
+
+        return mgr
+
+    def logger_setup(self, log_groups):
+        loglevels = { "error":   logging.ERROR,
+                      "warning": logging.WARNING,
+                      "info":    logging.INFO,
+                      "debug":   logging.DEBUG }
+
+        console = logging.StreamHandler()
+        fmt = logging.Formatter("%(message)s")
+        console.setFormatter(fmt)
+
+        for group, level in log_groups.items():
+            log = logging.getLogger("pdfscan.%s" % group)
+            log.setLevel(loglevels.get(level, logging.INFO)-1)
+            log.addHandler(console)
+
+
+def main():
+    from argparse import ArgumentParser
+    parser = ArgumentParser(description='Scan information from a PDF file')
+    parser.add_argument("-D", "--dump-stack", action="store_true",
+          help="Dump error stack (debug purpose)")
+
+    scanner = PDFScannerCommand()
+    scanner.setup_parser(parser)
+
+    options, remain_args =  parser.parse_known_args()
+ 
+    argslist = []
+    remain_args = sys.argv[1:]
+    while len(remain_args) > 1:
+        args, remain_args =  parser.parse_known_args(remain_args)
+        args.remain_args = remain_args
+        argslist.append(args)
+
+    if not(remain_args) or remain_args[0] in scanner.commands():
+        print "Missing the PDF File"
+        parser.parse_args(["-h"])
+
+    error = ErrorHandler()
+    if options.dump_stack: error.dump_stack()
+
+    try:
+        pdffile = remain_args[0]
+        scanner.run(parser, options, argslist, pdffile)
+    except Exception, e:
+        error.failure_track("Error: '%s'" % (e))
+
+    scanner.cleanup()
+    sys.exit(error.rc)
+
+if __name__ == "__main__":
+    main()
diff --git a/tools/utfdump.py b/tools/utfdump.py
new file mode 100644
index 0000000..c0b63f3
--- /dev/null
+++ b/tools/utfdump.py
@@ -0,0 +1,26 @@
+import codecs
+import sys
+
+def main():
+
+    decode = codecs.getdecoder("utf8")
+    encode = codecs.getencoder("latin-1")
+
+    f = open(sys.argv[1])
+    lineno = 0
+    for line in f:
+        line = decode(line)[0]
+        lineno += 1
+        outline = ""
+        for uchar in line:
+            try:
+                o = encode(uchar)[0]
+            except:
+                o = "?"
+            print "U%04X: %s" % (ord(uchar), o)
+            outline += o
+        print "Line %3d: %s" % (lineno, outline)
+
+
+if __name__ == "__main__":
+    main()
diff --git a/xsl/abstract.xsl b/xsl/abstract.xsl
new file mode 100644
index 0000000..325cba9
--- /dev/null
+++ b/xsl/abstract.xsl
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+  

+  % -------- 

+  % Abstract 

+  % -------- 

+  
+    \let\savabstractname=\abstractname

+    \def\abstractname{
+    
+    }
+  
+  \begin{abstract}

+  
+  
\end{abstract}

+  
+    \let\abstractname=\savabstractname

+  
+
+
+
+  
+
+
+
+
+  
+
+
+
diff --git a/xsl/admon.xsl b/xsl/admon.xsl
new file mode 100644
index 0000000..f1a1a5f
--- /dev/null
+++ b/xsl/admon.xsl
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+warning
+warning
+warning
+
+
+  \begin{DBKadmonition}{
+  }{
+   
+    
+      
+      
+     
+    
+      
+     
+  
+  }

+  
+  \end{DBKadmonition}

+
+
+
+
+
+  
+  
+    
+      
+    
+    
+      
+    
+    
+      
+    
+    
+      
+    
+    
+      
+    
+    
+  
+
+
+
diff --git a/xsl/annotation.xsl b/xsl/annotation.xsl
new file mode 100644
index 0000000..718fdce
--- /dev/null
+++ b/xsl/annotation.xsl
@@ -0,0 +1,164 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+  \documentclass
+  
+    [
+    
+    ]
+  
+  {article}

+  \usepackage[T1]{fontenc}

+  \usepackage[latin1]{inputenc}

+
+  
+  \usepackage[hyperlink]{
+  
+  }

+
+  
+  
+
+  \pagestyle{empty}

+
+  \begin{document}

+  
+  \end{document}

+
+
+
+
+  
+    
+      annot_
+      
+      .rtex
+    
+    
+    
+      
+    
+    
+  
+
+
+
+
+
+
+  
+  
+  
+
+  
+    
+      
+        
+          
+           
+        
+      
+    
+    
+      
+        
+      
+    
+  
+
+  
+    
+      
+    
+  
+  
+
+
+
+  
+  
+    
+      
+      
+        
+         
+      
+      
+        
+      
+    
+    
+      
+      
+        
+         
+      
+    
+  
+
+
+
+  
+
+  
+    
+      
+      
+      
+        
+      
+    
+    
+      
+    
+  
+
+
+
+  \attachfile
+  
+    [
+    subject={
+    
+      
+    
+    }]
+  
+  {
+  annot_
+  
+  .pdf
+  }

+
+
+
+
+
+  
+    \usepackage{attachfile}

+    
+  
+
+
+
diff --git a/xsl/appendix.xsl b/xsl/appendix.xsl
new file mode 100644
index 0000000..609d3d8
--- /dev/null
+++ b/xsl/appendix.xsl
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+  
+    % ---------------------

+    % Appendixes start here

+    % ---------------------

+    \begin{appendices}

+  
+  
+    
+    
+      
+      -1
+      0
+      1
+      
+    
+  
+
+  
+
+  
+    
\end{appendices}

+  
+
+
+
+
+
+
+
+
+
diff --git a/xsl/biblio.xsl b/xsl/biblio.xsl
new file mode 100644
index 0000000..c8df0e0
--- /dev/null
+++ b/xsl/biblio.xsl
@@ -0,0 +1,598 @@
+
+
+
+
+5
+1
+
+
+
+
+
+  
+    \bibliographystyle{
+    
+    }

+  
+
+
+
+
+
+
+  
+
+  
+  
+    
+    
+      \refname
+    
+    
+      \bibname
+    
+    
+  
+
+  
+  
+    
+    
+      
+      
+      
+      
+    
+  
+  
+    
+    
+      
+      
+      
+    
+  
+  
+    
+    
+      
+      
+      
+    
+  
+  
+
+
+
+  
+    
+    
+      
+    
+  
+
+
+
+
+  
+  
+  
+    
+      
+    
+  
+  
+    
+      
+    
+  
+  
+
+
+
+  
+
+  \begin{btSect}{}

+
+  
+  
+    
+      
+    
+  
+
+  \begin{bibgroup}

+  \begin{thebibliography}{
+  
+  }

+  
+    
+    
+      
+        
+        
+        
+      
+    
+    
+      
+        
+        
+        
+      
+    
+    
+  
+  
+    
+  
+  
\end{thebibliography}

+  \end{bibgroup}

+  
+    
+  
+  \end{btSect}

+
+
+
+
+
+
+  
+
+  
+  
+    
+      
+    
+  
+  
+    
+      
+    
+  
+  
+    
+      
+    
+  
+
+  \begin{btSect}
+
+  
+  
+    [
+    
+    ]
+  
+
+  
+  {
+  
+  
+    
+  
+  
+    
+  
+  
+  }

+
+  
+  
+    
+      
+    
+  
+
+  
+  
+
+  
+  
+  
+    \btPrintCited

+  
+  
+    \btPrintNotCited

+  
+  
+    \btPrintAll

+  
+  
+    \btPrintCited

+  
+  
+    \btPrintNotCited

+  
+  
+    \btPrintAll

+  
+  
+
+  
+    
+  
+
+  \end{btSect}

+
+
+
+
+
+
+  
+  % ------------------------------------------- 

+  % Bibliography

+  % ------------------------------------------- 

+
+  
+  
+    
+  
+
+  
+  
+    
+    
+      
+    
+  
+  
+    
+    
+      
+    
+  
+  
+   
+
+  
+  
+    
+  
+
+
+
+
+
+
+
+
+
+  
+    
+      
+    
+  
+  
+    
+  
+
+
+
+
+
+
+
+  
+    
+  
+
+
+
+
+
+
+
+  
+  
+    
+  
+  
+  
+  
+    
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  \emph{
+  
+  }
+
+
+
+
+
+  
+  
+     
+  
+  
+     
+  
+  
+     
+  
+  
+
+
+
+
+  
+  
+     
+  
+  
+     
+  
+  
+     
+  
+  
+    
+  
+  
+
+
+ 
+  
+
+
+
+
+  
+    
+  
+  

+  \bibitem
+  
+    [
+    
+      
+    
+    ] 
+  
+  {
+  
+  }
+  
+  
+    
+  
+  
 
+
+
+
+  
+  
+  
+  
+  
+    
+      
+    
+    
+  
+  
+    
+      
+       
+    
+    .
+  
+  
+  
+    


+    
+  
+  

+
+
+
+  
+  
+  

+
+
+
+
+  
+
+
+
+
+  
+
+
+
+
+  
+
+
+
+
+
+
+
+  
+
+
+
+
+  
+    
+    
+  
+  
+  
+    
+     
+  
+  .
+
+
+
+  
+  
+    
+      
+        ldquo
+      
+      
+      
+        rdquo
+      
+    
+    
+      
+    
+  
+
+
+
+
+  
+    
+      DOI
+    
+    
+      ISBN
+    
+    
+      ISSN
+    
+    
+      
+        The biblioid class '
+        
+        ' not supported!
+      
+      
+    
+  
+   
+  
+
+
+
+  
+    
+  
+  
+
+
+
+  
+    
+  
+  
+
+
+
+  
+  
+
+
+
+  
+  
+  
+    copyright
+  
+  
+  
+  
+    
+    
+  
+
+
+
+  
+  
+    , 
+  
+
+
+
+  
+  
+    
+    
+  
+
+
+
+
+
+  
+
+
+
+
+
+
+
+
+
diff --git a/xsl/bridgehead.xsl b/xsl/bridgehead.xsl
new file mode 100644
index 0000000..a9a857f
--- /dev/null
+++ b/xsl/bridgehead.xsl
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+  
+  
+    
+      
\
+      sub
+      subsub
+      section*{
+      
+      }
+      
+      

+    
+    
+      
\paragraph*{
+      
+      }
+      
+      

\noindent

+    
+  
+
+
+
diff --git a/xsl/callout.xsl b/xsl/callout.xsl
new file mode 100644
index 0000000..b9cd1b2
--- /dev/null
+++ b/xsl/callout.xsl
@@ -0,0 +1,307 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  
+  
+  
+    <
+    
+      
+    
+  
+
+  
+  
+    
+    
+      
+      
+    
+  
+  
+    
+    
+  
+  
+
+
+
+
+
+  
+  
+  
+
+  
+  
+  
+  
+    
+    
+  
+
+
+
+
+
+  
+  
+  
+    
+  
+
+  
+  
+    
+    
+      \conum{
+      
+      }
+    
+    
+      \conum{
+      
+      }
+    
+    
+      
+    
+    
+  
+
+  
+  
+  
+    
+  
+  
+    \hyperref[
+    
+    ]{
+    
+    }
+  
+  
+
+
+
+
+  
+  
+  
+    
+      
+      
+    
+    
+      , 
+    
+  
+
+
+
+
+
+  
+  
+  
+  
+    
+      
+      
+    
+    , 
+    
+      
+      
+    
+  
+  
+    
+      
+      
+    
+  
+  
+
+
+
+
+  
+  
+    [
+    
+      
+      
+    
+    ]
+  
+
+
+
+
+  
+  
+  
+  
+  
+    
+  
+  
+
+  
+    
+  
+  
+  
+    
+      \colabel{
+      
+      }
+    
+  
+  
+    \coref{
+    
+    }{
+    
+    }
+  
+  
+    \co{
+    
+    }
+  
+  
+  
+    
+  
+  
+
+
+
+
+
+  
+  
+  
+  
+  
+
+  
+  
+    
+      
+    
+    
+    
+    
+    \conum{
+    
+    }
+    
+    
+      
+    
+    
+    
+  
+  
+    
+      *** Invalid coref/@linkend='
+      
+      '
+    
+  
+  
+
+
+
+
+
+  
+  
+  
\begin{description}

+  
+    [
+    
+    ]
+  
+  

+  
+    
+  
+  \end{description}

+
+
+
+
+  
+  \item[{
+  
+    
+    
+  
+  }]
+  
+    \collabel{
+    
+    }
+  
+  
+
+
+
+
+  
{\bf 
+  
+  }

+  
+    
+  
+  
+  \nopagebreak

+
+
+
+
+
+  
+
+
+
+  
+
+
+
diff --git a/xsl/chapter.xsl b/xsl/chapter.xsl
new file mode 100644
index 0000000..819552a
--- /dev/null
+++ b/xsl/chapter.xsl
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+  

+  % ------- 

+  % Chapter 

+  % ------- 

+  
+  
+  
+
+
+
+
+  

+  % ------------------ 

+  % Unnumbered Chapter 

+  % ------------------ 

+  
+    
+    
+  
+
+
+
+
+
+
+
+  
+
+
+
+
diff --git a/xsl/chunker.xsl b/xsl/chunker.xsl
new file mode 100644
index 0000000..0365c42
--- /dev/null
+++ b/xsl/chunker.xsl
@@ -0,0 +1,211 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  
+  
+
+  
+  
+  
+  
+  
+  
+  
+  
+  
+
+  
+
+  
+    
+      Writing 
+      
+      
+         for 
+        
+        
+          (
+          
+          )
+        
+      
+    
+  
+
+  
+    
+      
+        
+        
+          
+            
+              
+                
+              
+            
+            
+              
+                
+              
+            
+            
+              
+                
+              
+            
+            
+              
+                
+              
+            
+          
+        
+        
+          
+            
+              
+                
+              
+            
+            
+              
+                
+              
+            
+            
+              
+                
+              
+            
+            
+              
+                
+              
+            
+          
+        
+      
+    
+    
+      
+      
+        Can't make chunks with 
+        
+        's processor.
+      
+    
+  
+
+
+
+
+  
+  
+  
+  
+  
+  
+
+  
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+  
+
+
+
diff --git a/xsl/citation.xsl b/xsl/citation.xsl
new file mode 100644
index 0000000..e4aef45
--- /dev/null
+++ b/xsl/citation.xsl
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+  
+    \usepackage
+    
+      [
+      
+      ]
+    
+    {natbib}

+  
+
+
+
+
+
+
+  
+
+  
+    
+    
+      
+    
+    
+      
+    
+    
+  
+
+  
+  
+    
+    
+    
+    
+    
+    
+    
+      
+    
+    
+    
+      
+    
+  
+  
+    
+  
+  
+
+
+
+
+
+
+  
+  
+    
+  
+
+  
+  
+    \cite
+  
+  
+    
+    
+      
+    
+  
+  
+    
+    
+      
+    
+  
+  
+    
+    
+      
+    
+  
+  
+    \cite
+  
+  
+
+
+
+
+  
+  {
+  
+  
+  }
+
+
+
diff --git a/xsl/classsynopsis.xsl b/xsl/classsynopsis.xsl
new file mode 100644
index 0000000..bb9fa23
--- /dev/null
+++ b/xsl/classsynopsis.xsl
@@ -0,0 +1,602 @@
+
+
+
+
+
+
+  
+    
+      
+    
+  
+
+
+
+  
+    
+      
+    
+  
+
+
+
+
+  
+    
+    
+      
+    
+    
+      
+    
+    
+  
+
+  
+    
+      
+    
+      
+    
+      
+    
+      
+    
+      
+        Unrecognized language on classsynopsis: 
+        
+      
+      
+        
+      
+    
+  
+
+
+
+
+
+
+  
+  
+     extends
+    
+    
+      
    
+    
+  
+  
+    implements
+    
+    
+      
    
+    
+  
+  
+    throws
+    
+  
+   {

+  
+  }

+
+
+
+  
+
+
+
+  
+  
+    , 
+  
+  
+     
+  
+  
+
+  
+
+
+
+  
+   
+
+
+
+  
+    , 
+  
+  
+
+
+
+  
+    , 
+  
+  
+
+
+
+  
+    , 
+  
+  
+
+
+
+    
+  
+  ;

+
+
+
+  
+   
+
+
+
+  
+   
+
+
+
+  = 
+  
+
+
+
+  void 
+
+
+
+  
+
+
+
+  0
+  
+    ,

+    
+      
+        
+        
+      
+    
+  
+  
+
+
+
+  
+
+
+
+  
+  
+  
+      
+    
+
+    
+    
+      
+    
+
+    
+  
+
+  
+  (
+  
+    
+  
+  )
+  
+    
    throws 
+    
+  
+  ;

+
+
+
+  
+  
+    , 
+  
+  
+     
+  
+  
+
+  
+
+
+
+
+
+
+  
+  
+    : 
+    
+    
+      
    
+    
+  
+  
+     implements
+    
+    
+      
    
+    
+  
+  
+     throws 
+    
+  
+   {


+  
+  }

+
+
+
+  
+
+
+
+  
+    , 
+  
+  
+
+
+
+  
+   
+
+
+
+  
+    , 
+  
+  
+
+
+
+  
+    , 
+  
+
+  
+
+
+
+  
+    , 
+  
+  
+
+
+
+    
+  
+  ;

+
+
+
+  
+   
+
+
+
+  
+
+
+
+   = 
+  
+
+
+
+  void 
+
+
+
+  
+
+
+
+  
+    , 
+  
+  
+
+
+
+  
+
+
+
+  
+  
+  
+  
+
+    
+  
+
+  
+  
+    
+  
+
+  
+  (
+  
+  )
+  
+    
    throws 
+    
+  
+  ;

+
+
+
+
+
+
+  package 
+  
+  ;

+
+  
+    @ISA = (
+    
+    );


+  
+
+  
+
+
+
+  
+
+
+
+  
+    , 
+  
+  
+
+
+
+  
+   
+
+
+
+  
+    , 
+  
+  
+
+
+
+  
+    , 
+  
+  
+
+
+
+  
+    , 
+  
+  
+
+
+
+  
+  ;


+
+
+
+  
+   
+
+
+
+  
+
+
+
+   = 
+  
+
+
+
+  void 
+
+
+
+  
+
+
+
+    my $
+  
+   = shift;

+
+
+
+  
+
+
+
+  
+  
+   
+
+  sub 
+  
+   {
+  
+    
  my $this = shift;

+    
+  
+   ... 
+  
+    

+  
+  }


+
+
+
+
+
+
+  
+
+
+
+  
+    , 
+  
+  
+
+
+
+  
+   
+
+
+
+  
+    , 
+  
+  
+
+
+
+  
+    , 
+  
+  
+
+
+
+  
+    , 
+  
+  
+
+
+
+    
+  
+  ;
+
+
+
+  
+   
+
+
+
+  
+
+
+
+   = 
+  
+
+
+
+  void 
+
+
+
+  
+
+
+
+  
+    , 
+  
+  
+
+
+
+  
+
+
+
+  
+  
+  
+  
+  
+    
+  
+
+  
+  
+    
+  
+
+  
+  (
+  
+  )
+  
+    
    raises(
+    
+    )
+  
+  ;
+  
+
+
+
+
+
diff --git a/xsl/color.xsl b/xsl/color.xsl
new file mode 100644
index 0000000..640a5ae
--- /dev/null
+++ b/xsl/color.xsl
@@ -0,0 +1,161 @@
+
+
+
+
+
+
+
+  
+
+  
+  
+    
+      
+    
+  
+  
+    
+      
+        
+      
+    
+    
+      
+        
+      
+    
+    
+  
+  
+
+
+
+  
+  
+    
+  
+
+  
+
+
+
+
+  
+  
+  
+    
+      
+    
+  
+  
+    
+      
+        
+      
+    
+    
+      
+        
+      
+    
+    
+    ,
+    
+  
+  
+
+
+
+
+  
+  
+    
+      
+    
+  
+  
+
+
+
+
+
+  
+  
+  
+    
+    
+    
+    
+    
+    
+    
+      [gray]{
+      
+        
+      
+      }
+    
+    
+      [rgb]{
+      
+        
+      
+      }
+    
+    
+  
+  
+    
+  
+  
+    {
+    
+    }
+  
+  
+
+
+
+
+
+  
+    
+  
+
+
+
+  
+    
+  
+
+
+
diff --git a/xsl/common/af.xml b/xsl/common/af.xml
new file mode 100644
index 0000000..efd38bb
--- /dev/null
+++ b/xsl/common/af.xml
@@ -0,0 +1,1174 @@
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/am.xml b/xsl/common/am.xml
new file mode 100644
index 0000000..90afb22
--- /dev/null
+++ b/xsl/common/am.xml
@@ -0,0 +1,1174 @@
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      ምልክቶች
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/ar.xml b/xsl/common/ar.xml
new file mode 100644
index 0000000..eb75b5f
--- /dev/null
+++ b/xsl/common/ar.xml
@@ -0,0 +1,1174 @@
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/az.xml b/xsl/common/az.xml
new file mode 100644
index 0000000..5a36fb1
--- /dev/null
+++ b/xsl/common/az.xml
@@ -0,0 +1,617 @@
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      İşarələr
+      A
+      a
+      B
+      b
+      C
+      c
+      Ç
+      ç
+      D
+      d
+      E
+      e
+      e
+      e
+      Ə
+      ə
+      G
+      g
+      Ğ
+      ğ
+      H
+      h
+      X
+      x
+      I
+      ı
+      İ
+      i
+      J
+      j
+      K
+      k
+      Q
+      q
+      L
+      l
+      M
+      m
+      N
+      n
+      O
+      o
+      Ö
+      ö
+      P
+      p
+      R
+      r
+      S
+      s
+      Ş
+      ş
+      T
+      t
+      U
+      u
+      Ü
+      ü
+      V
+      v
+      Y
+      y
+      Z
+      z
+   
+
diff --git a/xsl/common/bg.xml b/xsl/common/bg.xml
new file mode 100644
index 0000000..9ae3797
--- /dev/null
+++ b/xsl/common/bg.xml
@@ -0,0 +1,1174 @@
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/bn.xml b/xsl/common/bn.xml
new file mode 100644
index 0000000..f102f91
--- /dev/null
+++ b/xsl/common/bn.xml
@@ -0,0 +1,1174 @@
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/bs.xml b/xsl/common/bs.xml
new file mode 100644
index 0000000..cbe460f
--- /dev/null
+++ b/xsl/common/bs.xml
@@ -0,0 +1,607 @@
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      Simboli
+      A
+      a
+      B
+      b
+      C
+      c
+      Ć
+      ć
+      Č
+      č
+      D
+      d
+      Đ
+      đ
+      E
+      e
+      F
+      f
+      G
+      g
+      H
+      h
+      I
+      i
+      J
+      j
+      K
+      k
+      L
+      l
+      M
+      m
+      N
+      n
+      O
+      o
+      P
+      p
+      R
+      r
+      S
+      s
+      Š
+      š
+      T
+      t
+      U
+      u
+      V
+      v
+      Z
+      z
+      Ž
+      ž
+   
+
diff --git a/xsl/common/ca.xml b/xsl/common/ca.xml
new file mode 100644
index 0000000..d8d6ba7
--- /dev/null
+++ b/xsl/common/ca.xml
@@ -0,0 +1,1206 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/common.xsl b/xsl/common/common.xsl
new file mode 100644
index 0000000..6b9e1db
--- /dev/null
+++ b/xsl/common/common.xsl
@@ -0,0 +1,2030 @@
+
+
+
+
+
+
+  
+    Common » Base Template Reference
+    
+      $Id
+    
+  
+  
+  
+    Introduction
+    This is technical reference documentation for the “base”
+      set of common templates in the DocBook XSL Stylesheets.
+    This is not intended to be user documentation. It is
+      provided for developers writing customization layers for the
+      stylesheets.
+  
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Tests if a given node is a component-level element
+
+
+This template returns '1' if the specified node is a component
+(Chapter, Appendix, etc.), and '0' otherwise.
+
+
+
+
+node
+
+The node which is to be tested.
+
+
+
+
+
+
+This template returns '1' if the specified node is a component
+(Chapter, Appendix, etc.), and '0' otherwise.
+
+
+
+
+  
+  
+    1
+    0
+  
+
+
+
+
+
+Tests if a given node is a section-level element
+
+
+This template returns '1' if the specified node is a section
+(Section, Sect1, Sect2, etc.), and '0' otherwise.
+
+
+
+
+node
+
+The node which is to be tested.
+
+
+
+
+
+
+This template returns '1' if the specified node is a section
+(Section, Sect1, Sect2, etc.), and '0' otherwise.
+
+
+
+
+  
+  
+    1
+    0
+  
+
+
+
+
+
+Returns the hierarchical level of a section
+
+
+This template calculates the hierarchical level of a section.
+The element sect1 is at level 1, sect2 is
+at level 2, etc.
+
+Recursive sections are calculated down to the fifth level.
+
+
+
+
+node
+
+The section node for which the level should be calculated.
+Defaults to the context node.
+
+
+
+
+
+
+The section level, 1, 2, etc.
+
+
+
+
+
+  
+  
+    1
+    2
+    3
+    4
+    5
+    
+      
+        6
+        5
+        4
+        3
+        2
+        1
+      
+    
+    
+      
+        
+      
+    
+    
+      
+        2
+        3
+        4
+        5
+        5
+        
+          
+            5
+            4
+            3
+            2
+          
+        
+        1
+      
+    
+    1
+  
+
+
+
+Returns the hierarchical level of a QandASet
+
+
+This template calculates the hierarchical level of a QandASet.
+
+
+
+
+The level, 1, 2, etc.
+
+
+
+
+
+  
+
+  
+    1
+    
+      
+        
+          
+        
+      
+      
+    
+  
+
+
+
+
+  
+
+  
+    
+      
+    
+  
+
+  
+    
+      1
+      1
+      2
+      3
+      
+        
+          5
+          4
+          3
+          2
+          1
+        
+      
+    
+  
+
+  
+
+
+
+
+  
+  
+
+  
+    
+      
+        
+          
+        
+      
+      
+    
+    1
+  
+
+
+
+  
+    
+  
+  
+
+  
+
+
+
+  
+    
+      
+        
+      
+      
+        
+      
+    
+  
+
+  
+
+
+
+  
+    
+      
+        
+          
+            question
+            answer
+            qandadiv
+            qandaset
+          
+        
+      
+    
+    
+      
+    
+    
+      
+      
+        
+          
+          
+        
+        
+          
+        
+      
+    
+    
+      
+    
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+    
+      
+    
+    
+      
+    
+  
+
+
+
+
+
+  
+  
+    
+      
+    
+    
+      
+    
+    
+      
+    
+  
+
+
+
+  
+  
+
+  
+    
+      
+        
+      
+      
+        
+          
+          
+        
+      
+    
+  
+
+  
+    
+    
+      
+        
+      
+    
+
+    
+    
+    
+    
+    
+      
+    
+
+    
+      
+        
+        
+          
+        
+        
+          
+            
+          
+        
+        
+          
+            
+          
+        
+        
+          
+            
+          
+        
+      
+    
+  
+
+
+
+  
+
+  
+  
+  
+
+  
+     
+  
+
+  
+
+   [FAMILY Given]
+
+
+
+  
+
+  
+
+  
+    , 
+  
+
+  
+
+
+
+  
+
+  
+    
+    
+  
+
+  
+    
+       
+    
+    
+  
+
+  
+    
+       
+    
+    
+  
+
+  
+    
+       
+    
+    
+  
+
+  
+    , 
+    
+  
+
+
+
+  
+  
+  
+  
+
+  
+    
+    
+      
+        
+      
+
+      
+        
+          
+            
+            
+          
+        
+        
+          
+            
+            
+          
+        
+        
+          
+            
+            
+          
+        
+      
+
+      
+        
+        
+        
+      
+    
+  
+
+
+
+
+
+[
+]
+{
+}
+ 
+ 
+[
+]
+...
+
+
+ | 
+4pi
+
+
+
+
+
+
+
+
+  
+  
+  
+
+  
+    
+      
+        
+        
+      
+    
+    
+      
+    
+  
+
+
+
+  
+  
+
+  
+  
+    
+      
+        
+      
+      
+        
+          
+        
+      
+    
+  
+
+  
+    
+      
+        
+        
+      
+    
+    
+      
+    
+    
+  
+
+
+
+
+
+Selects and processes an appropriate media object from a list
+
+
+This template takes a list of media objects (usually the
+children of a mediaobject or inlinemediaobject) and processes
+the "right" object.
+
+This template relies on a template named 
+"select.mediaobject.index" to determine which object
+in the list is appropriate.
+
+If no acceptable object is located, nothing happens.
+
+
+
+
+olist
+
+The node list of potential objects to examine.
+
+
+
+
+
+
+Calls <xsl:apply-templates> on the selected object.
+
+
+
+
+  
+  
+  
+    
+      
+      
+    
+  
+
+  
+    
+  
+
+
+
+
+
+Selects the position of the appropriate media object from a list
+
+
+This template takes a list of media objects (usually the
+children of a mediaobject or inlinemediaobject) and determines
+the "right" object. It returns the position of that object
+to be used by the calling template.
+
+If the parameter use.role.for.mediaobject
+is nonzero, then it first checks for an object with
+a role attribute of the appropriate value.  It takes the first
+of those.  Otherwise, it takes the first acceptable object
+through a recursive pass through the list.
+
+This template relies on a template named "is.acceptable.mediaobject"
+to determine if a given object is an acceptable graphic. The semantics
+of media objects is that the first acceptable graphic should be used.
+
+
+If no acceptable object is located, no index is returned.
+
+
+
+
+olist
+
+The node list of potential objects to examine.
+
+
+count
+
+The position in the list currently being considered by the 
+recursive process.
+
+
+
+
+
+
+Returns the position in the original list of the selected object.
+
+
+
+
+  
+  1
+
+  
+    
+     
+      
+      
+      
+         
+           
+        
+      
+    
+
+    
+      
+      
+         
+           
+        
+      
+    
+    
+    
+      
+      
+         
+           
+        
+      
+    
+
+    
+    
+       
+    
+
+    
+      
+      
+        
+    
+        
+          
+            
+            
+              1 
+            
+            
+            
+              0
+            
+            
+            
+              0
+            
+            
+            
+              1
+            
+            
+            
+              0
+            
+            
+            
+               1
+            
+            
+            
+              
+                
+                
+                  
+                    
+                  
+                
+                
+                  
+                    
+                  
+                
+              
+            
+          
+        
+    
+        
+          
+            
+          
+          
+            
+              
+              
+            
+          
+        
+      
+    
+  
+
+
+
+Returns '1' if the specified media object is recognized
+
+
+This template examines a media object and returns '1' if the
+object is recognized as a graphic.
+
+
+
+
+object
+
+The media object to consider.
+
+
+
+
+
+
+0 or 1
+
+
+
+
+  
+
+  
+    
+      
+    
+  
+
+  
+    
+      
+    
+  
+
+  
+  
+
+  
+
+  
+    
+      
+        
+      
+    
+  
+
+  
+    
+      
+        
+      
+    
+  
+
+  
+    0
+    1
+    1
+    1
+    0
+  
+
+
+
+  
+
+  
+
+  
+    
+      
+        
+      
+      
+        
+      
+      
+    
+  
+
+  
+    
+      
+    
+  
+
+  
+    
+      
+        
+      
+      
+        
+      
+    
+  
+
+  
+    
+      
+    
+  
+
+  
+    
+      
+        
+          
+          .
+          
+        
+        
+          
+        
+      
+    
+    
+      
+        
+          
+          .
+          
+        
+        
+          
+        
+      
+    
+    
+      
+    
+  
+
+
+
+
+
+Warn users about references to non-unique IDs
+
+If passed an ID in linkend,
+check.id.unique prints
+a warning message to the user if either the ID does not exist or
+the ID is not unique.
+
+
+
+
+  
+  
+    
+    
+
+    
+      
+        Error: no ID for constraint linkend: 
+        
+        .
+      
+      
+    
+
+    
+      
+        Warning: multiple "IDs" for constraint linkend: 
+        
+        .
+      
+    
+  
+
+
+
+Warn users about incorrectly typed references
+
+If passed an ID in linkend,
+check.idref.targets makes sure that the element
+pointed to by the link is one of the elements listed in
+element-list and warns the user otherwise.
+
+
+
+
+  
+  
+  
+    
+    
+
+    
+      
+        
+          Error: linkend (
+          
+          ) points to "
+          
+          " not (one of): 
+          
+        
+      
+    
+  
+
+
+
+
+
+
+
+
+  
+  
+  
+    
+      
+      
+      
+        
+          
+        
+        
+          
+        
+      
+    
+    
+      
+      
+      
+    
+    
+      
+        Unexpected context in procedure.step.numeration: 
+        
+      
+    
+  
+
+
+
+  
+  
+  
+    
+  
+  
+    
+  
+  
+    
+      
+        
+      
+    
+    
+      
+    
+  
+
+
+
+
+
+  
+  
+  
+    
+      
+        
+          
+        
+        
+          
+        
+        1
+      
+    
+    
+      
+      
+        2
+        
+          
+          
+            
+              
+            
+          
+          
+        
+      
+    
+  
+
+
+
+  
+  
+  
+    
+      
+    
+    
+      
+        
+          
+        
+      
+      
+    
+    
+      
+        
+      
+    
+  
+
+
+
+  
+  
+    
+    loweralpha
+    lowerroman
+    upperalpha
+    upperroman
+    arabic
+    arabic
+  
+
+
+
+  
+
+  
+    
+      
+    
+    
+      
+        
+          
+            
+              
+                
+              
+            
+          
+        
+        
+          
+        
+      
+    
+  
+
+
+
+
+
+
+  
+  
+    
+    circle
+    square
+    disc
+  
+
+
+
+  
+
+  
+    
+      
+    
+    
+      
+    
+    
+      
+        
+          
+            
+              
+                
+              
+            
+          
+        
+        
+          
+        
+      
+    
+  
+
+
+
+
+
+Print a set of years with collapsed ranges
+
+
+This template prints a list of year elements with consecutive
+years printed as a range. In other words:
+
+1992
+1993
+1994]]>
+
+is printed 1992-1994, whereas:
+
+1992
+1994]]>
+
+is printed 1992, 1994.
+
+This template assumes that all the year elements contain only
+decimal year numbers, that the elements are sorted in increasing
+numerical order, that there are no duplicates, and that all the years
+are expressed in full century+year
+(1999 not 99) notation.
+
+
+
+
+years
+
+The initial set of year elements.
+
+
+print.ranges
+
+If non-zero, multi-year ranges are collapsed. If zero, all years
+are printed discretely.
+
+
+single.year.ranges
+
+If non-zero, two consecutive years will be printed as a range,
+otherwise, they will be printed discretely. In other words, a single
+year range is 1991-1992 but discretely it's
+1991, 1992.
+
+
+
+
+
+
+This template returns the formatted list of years.
+
+
+
+
+  
+  
+  
+  
+  
+
+  
+
+  
+    
+      
+        
+          
+        
+        
+          
+          , 
+          
+            
+            
+            
+          
+        
+      
+    
+    
+      
+      
+        
+          
+        
+        
+          
+        
+        
+          
+          , 
+          
+        
+        
+          
+          -
+          
+        
+      
+    
+    
+      
+        
+        
+        
+        
+        
+      
+    
+    
+      
+        
+        
+        
+        
+        
+      
+    
+    
+      
+      
+        
+          
+          , 
+        
+        
+          
+          , 
+          
+          , 
+        
+        
+          
+          -
+          
+          , 
+        
+      
+      
+        
+        
+        
+        
+        
+      
+    
+  
+
+
+
+
+
+Search in a table for the "best" match for the node
+
+
+This template searches in a table for the value that most-closely
+(in the typical best-match sense of XSLT) matches the current (element)
+node location.
+
+
+
+
+  
+  
+  
+    
+      
+    
+  
+
+  
+    
+      
+      
+    
+  
+
+  
+    
+      
+    
+    
+      
+        
+        
+        
+      
+    
+  
+
+
+
+  
+  
+  
+  
+    
+      
+        
+          
+        
+        
+      
+    
+  
+
+  
+    
+      
+      
+      
+    
+  
+
+  
+    
+      
+      
+      
+    
+  
+
+  
+    
+      
+    
+  
+
+  
+    
+    
+  
+  
+
+
+
+
+
+
+  
+
+  
+  
+    
+      
+    
+  
+  
+    
+  
+
+
+
+
+
+
+  
+  
+    
+    
+      
+      
+        
+      
+    
+    
+      
+        
+          
+            
+          
+          
+        
+      
+    
+    
+      
+    
+  
+
+
+
+
+
+  
+  
+    
+    /
+    
+      
+    
+  
+
+
+
+
+
+Converts a string to all uppercase letters
+
+
+Given a string, this template does a language-aware conversion
+of that string to all uppercase letters, based on the values of the
+lowercase.alpha and
+uppercase.alpha gentext keys for the current
+locale. It affects only those characters found in the values of
+lowercase.alpha and
+uppercase.alpha. All other characters are left
+unchanged.
+
+
+
+
+string
+
+The string to convert to uppercase.
+
+
+
+
+
+
+  
+  
+    
+      
+    
+  
+  
+    
+      
+    
+  
+  
+
+
+
+
+
+Converts a string to all lowercase letters
+
+
+Given a string, this template does a language-aware conversion
+of that string to all lowercase letters, based on the values of the
+uppercase.alpha and
+lowercase.alpha gentext keys for the current
+locale. It affects only those characters found in the values of
+uppercase.alpha and
+lowercase.alpha. All other characters are left
+unchanged.
+
+
+
+
+string
+
+The string to convert to lowercase.
+
+
+
+
+
+
+  
+  
+    
+      
+    
+  
+  
+    
+      
+    
+  
+  
+
+
+
+
+
+  Returns localized choice separator
+  
+    This template enables auto-generation of an appropriate
+    localized "choice" separator (for example, "and" or "or") before
+    the final item in an inline list (though it could also be useful
+    for generating choice separators for non-inline lists).
+    It currently works by evaluating a processing instruction
+    (PI) of the form <?dbchoice choice="foo"?> :
+    
+      
+        if the value of the choice
+        pseudo-attribute is "and" or "or", returns a localized "and"
+        or "or"
+      
+      
+        otherwise returns the literal value of the
+        choice pseudo-attribute
+      
+    
+    The latter is provided only as a temporary workaround because the
+    locale files do not currently have translations for the word
+    or. So if you want to generate a a
+    logical "or" separator in French (for example), you currently need
+    to do this:
+    <?dbchoice choice="ou"?>
+    
+    
+      The dbchoice processing instruction is
+      an unfortunate hack; support for it may disappear in the future
+      (particularly if and when a more appropriate means for marking
+      up "choice" lists becomes available in DocBook).
+    
+  
+
+
+  
+    
+  
+  
+    
+    
+    
+      
+        
+      
+    
+    
+    
+      
+    
+  
+
+
+
+
+
+  Evaluates an info profile
+  
+    This template evaluates an "info profile" matching the XPath
+    expression given by the profile
+    parameter. It relies on the XSLT evaluate()
+    extension function.
+
+    The value of the profile parameter
+    can include the literal string $info. If found
+    in the value of the profile parameter, the
+    literal string $info string is replaced with
+    the value of the info parameter, which
+    should be a set of *info nodes; the
+    expression is then evaluated using the XSLT
+    evaluate() extension function.
+  
+  
+    
+       
+        profile
+        
+          A string representing an XPath expression 
+        
+      
+       
+        info
+        
+          A set of *info nodes
+        
+      
+    
+  
+
+  
+    Returns a node (the result of evaluating the
+    profile parameter)
+  
+
+  
+    
+    
+    
+      
+      
+        
+      
+      
+      
+        
+      
+      
+        
+Error: The "info profiling" mechanism currently requires an XSLT
+engine that supports the evaluate() XSLT extension function. Your XSLT
+engine does not support it.
+
+      
+    
+  
+
diff --git a/xsl/common/cs.xml b/xsl/common/cs.xml
new file mode 100644
index 0000000..79dc0f5
--- /dev/null
+++ b/xsl/common/cs.xml
@@ -0,0 +1,677 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      Symboly
+      A
+      a
+      Á
+      á
+      B
+      b
+      C
+      c
+      Č
+      č
+      D
+      d
+      Ď
+      ď
+      E
+      e
+      É
+      é
+      Ě
+      ě
+      Ë
+      ë
+      F
+      f
+      G
+      g
+      H
+      h
+      Ch
+      ch
+      cH
+      CH
+      I
+      i
+      Í
+      í
+      J
+      j
+      K
+      k
+      L
+      l
+      M
+      m
+      N
+      n
+      Ň
+      ň
+      O
+      o
+      Ó
+      ó
+      Ö
+      ö
+      P
+      p
+      Q
+      q
+      R
+      r
+      Ř
+      ř
+      S
+      s
+      Š
+      š
+      T
+      t
+      Ť
+      ť
+      U
+      u
+      Ú
+      ú
+      Ů
+      ů
+      Ü
+      ü
+      V
+      v
+      W
+      w
+      X
+      x
+      Y
+      y
+      Ý
+      ý
+      Z
+      z
+      Ž
+      ž
+   
+
diff --git a/xsl/common/cy.xml b/xsl/common/cy.xml
new file mode 100644
index 0000000..1d62b2b
--- /dev/null
+++ b/xsl/common/cy.xml
@@ -0,0 +1,1190 @@
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      Ch
+      ch
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Dd
+      dd
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      Ff
+      ff
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      Ng
+      ng
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      Ll
+      ll
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Ph
+      ph
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      Rh
+      rh
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Th
+      th
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/da.xml b/xsl/common/da.xml
new file mode 100644
index 0000000..b28dc2c
--- /dev/null
+++ b/xsl/common/da.xml
@@ -0,0 +1,641 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      A
+      a
+      B
+      b
+      C
+      c
+      D
+      d
+      E
+      e
+      F
+      f
+      G
+      g
+      H
+      h
+      I
+      i
+      J
+      j
+      K
+      k
+      L
+      l
+      M
+      m
+      N
+      n
+      O
+      o
+      P
+      p
+      Q
+      q
+      R
+      r
+      S
+      s
+      T
+      t
+      U
+      u
+      V
+      v
+      W
+      w
+      X
+      x
+      Y
+      y
+      Z
+      z
+      Æ
+      æ
+      Ø
+      ø
+      Å
+      å
+   
+
diff --git a/xsl/common/de.xml b/xsl/common/de.xml
new file mode 100644
index 0000000..154f11e
--- /dev/null
+++ b/xsl/common/de.xml
@@ -0,0 +1,643 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      Symbole
+      A
+      a
+      Ä
+      ä
+      B
+      b
+      C
+      c
+      D
+      d
+      E
+      e
+      F
+      f
+      G
+      g
+      H
+      h
+      I
+      i
+      J
+      j
+      K
+      k
+      L
+      l
+      M
+      m
+      N
+      n
+      O
+      o
+      Ö
+      ö
+      P
+      p
+      Q
+      q
+      R
+      r
+      S
+      s
+      T
+      t
+      U
+      u
+      Ü
+      ü
+      V
+      v
+      W
+      w
+      X
+      x
+      Y
+      y
+      Z
+      z
+   
+
diff --git a/xsl/common/el.xml b/xsl/common/el.xml
new file mode 100644
index 0000000..1ffaaca
--- /dev/null
+++ b/xsl/common/el.xml
@@ -0,0 +1,1206 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/en.xml b/xsl/common/en.xml
new file mode 100644
index 0000000..f4affd4
--- /dev/null
+++ b/xsl/common/en.xml
@@ -0,0 +1,1174 @@
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/es.xml b/xsl/common/es.xml
new file mode 100644
index 0000000..b4736c7
--- /dev/null
+++ b/xsl/common/es.xml
@@ -0,0 +1,653 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      Símbolos
+      A
+      a
+      á
+      Á
+      B
+      b
+      C
+      c
+      CH
+      ch
+      D
+      d
+      E
+      e
+      É
+      é
+      F
+      f
+      G
+      g
+      H
+      h
+      I
+      i
+      Í
+      í
+      J
+      j
+      K
+      k
+      L
+      l
+      LL
+      ll
+      M
+      m
+      N
+      n
+      Ñ
+      ñ
+      O
+      o
+      Ó
+      ó
+      P
+      p
+      Q
+      q
+      R
+      r
+      S
+      s
+      T
+      t
+      U
+      u
+      Ú
+      ú
+      V
+      v
+      W
+      w
+      X
+      x
+      Y
+      y
+      Z
+      z
+   
+
diff --git a/xsl/common/et.xml b/xsl/common/et.xml
new file mode 100644
index 0000000..15dd2db
--- /dev/null
+++ b/xsl/common/et.xml
@@ -0,0 +1,1206 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/eu.xml b/xsl/common/eu.xml
new file mode 100644
index 0000000..64a57a8
--- /dev/null
+++ b/xsl/common/eu.xml
@@ -0,0 +1,1174 @@
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/fa.xml b/xsl/common/fa.xml
new file mode 100644
index 0000000..3255258
--- /dev/null
+++ b/xsl/common/fa.xml
@@ -0,0 +1,1174 @@
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/fi.xml b/xsl/common/fi.xml
new file mode 100644
index 0000000..e497cac
--- /dev/null
+++ b/xsl/common/fi.xml
@@ -0,0 +1,647 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      Symbole
+      A
+      a
+      B
+      b
+      C
+      c
+      D
+      d
+      E
+      e
+      F
+      f
+      G
+      g
+      H
+      h
+      I
+      i
+      J
+      j
+      K
+      k
+      L
+      l
+      M
+      m
+      N
+      n
+      O
+      o
+      P
+      p
+      Q
+      q
+      R
+      r
+      S
+      s
+      Š
+      š
+      T
+      t
+      U
+      u
+      V
+      v
+      W
+      w
+      X
+      x
+      Y
+      y
+      Z
+      z
+      Ž
+      ž
+      Å
+      å
+      Ä
+      ä
+      Ö
+      ö
+   
+
diff --git a/xsl/common/fr.xml b/xsl/common/fr.xml
new file mode 100644
index 0000000..238b479
--- /dev/null
+++ b/xsl/common/fr.xml
@@ -0,0 +1,667 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      Symboles
+      A
+      a
+      à
+      À
+      â
+      Â
+      Æ
+      æ
+      B
+      b
+      C
+      c
+      ç
+      D
+      d
+      E
+      e
+      ê
+      Ê
+      é
+      É
+      è
+      È
+      ë
+      Ë
+      
+      F
+      f
+      G
+      g
+      H
+      h
+      I
+      i
+      Î
+      î
+      Ï
+      ï
+      J
+      j
+      K
+      k
+      L
+      l
+      M
+      m
+      N
+      n
+      O
+      o
+      Ö
+      ö
+      Œ
+      œ
+      P
+      p
+      Q
+      q
+      R
+      r
+      S
+      s
+      T
+      t
+      U
+      u
+      Ù
+      ù
+      Û
+      û
+      Ü
+      ü
+      V
+      v
+      W
+      w
+      X
+      x
+      Y
+      y
+      Z
+      z
+   
+
diff --git a/xsl/common/ga.xml b/xsl/common/ga.xml
new file mode 100644
index 0000000..ced98e6
--- /dev/null
+++ b/xsl/common/ga.xml
@@ -0,0 +1,1174 @@
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      Siombailí
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/gentext.xsl b/xsl/common/gentext.xsl
new file mode 100644
index 0000000..5ed2f6e
--- /dev/null
+++ b/xsl/common/gentext.xsl
@@ -0,0 +1,836 @@
+
+
+
+
+
+
+
+
+
+  
+    
+    
+      
+    
+  
+
+
+
+  
+    
+      
+        
+        
+          
+        
+      
+    
+    
+      
+        
+        
+          
+        
+      
+    
+  
+
+
+
+  
+    
+      
+        
+        
+          
+        
+      
+    
+    
+      
+        
+        
+          
+        
+      
+    
+  
+
+
+
+  
+    
+      
+        
+        
+          
+        
+      
+    
+    
+      
+        
+        
+          
+        
+      
+    
+  
+
+
+
+  
+    
+  
+  
+    
+      
+        
+        
+          
+        
+      
+    
+    
+      
+        
+        
+          
+        
+      
+    
+  
+
+
+
+  
+    
+      
+        
+        
+          
+          .formal
+        
+      
+    
+    
+      
+        
+        
+          
+        
+      
+    
+  
+
+
+
+
+
+  
+    
+    
+      
+    
+  
+
+
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+    
+      
+    
+    
+      
+    
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+  
+  
+
+  
+  
+    
+  
+
+  
+    
+      
+      
+        
+      
+    
+  
+
+  
+    
+      
+      
+        
+      
+    
+  
+
+  
+    
+      
+         
+      
+      
+         
+      
+      
+         
+      
+    
+  
+
+  
+    
+    
+      
+    
+    
+    
+    
+  
+
+
+
+
+
+
+
+  
+  
+    
+  
+
+
+
+  
+    
+    
+  
+
+
+
+  
+    
+  
+  
+
+
+
+
+
+  
+
+  
+
+  
+    
+  
+
+
+
+
+
+  
+    
+  
+
+  
+    
+  
+
+
+
+
+
+  
+  
+  
+  
+
+  
+    
+      
+        
+          
+          
+          
+        
+      
+      
+        
+      
+      
+        
+          
+          
+          
+        
+      
+    
+  
+
+
+
+  
+    
+      object.xref.markup: empty xref template
+       for linkend="
+      
+      " and @xrefstyle="
+      
+      "
+    
+  
+
+  
+    
+    
+    
+    
+    
+  
+
+
+
+  
+
+  
+    
+      
+        
+      
+      
+        
+      
+    
+    
+      
+        Xref is only supported to listitems in an
+         orderedlist: 
+        
+      
+      ???
+    
+  
+
+
+
+  
+  
+  
+
+  
+    
+      
+        
+      
+      
+        
+      
+    
+  
+
+  
+    
+      
+      %n
+      
+        
+          
+          
+          
+        
+      
+    
+  
+
+  
+    
+    
+    
+    
+  
+
+
+
+
+
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+
+  
+    
+      
+        
+      
+      
+      
+        
+          
+            
+            
+            
+            
+              
+                
+                  
+                
+                
+                  
+                    
+                    
+                  
+                
+              
+            
+          
+        
+        
+          
+            
+            
+            
+              
+                
+                  
+                
+                
+                  
+                    
+                  
+                
+              
+            
+          
+        
+        
+          
+            
+            
+            
+              
+                
+                  
+                
+                
+                  
+                
+              
+            
+          
+        
+        
+          
+            
+            
+            
+              
+                
+                  
+                
+                
+                  
+                
+              
+            
+          
+        
+        
+          
+          
+            
+            
+            
+              
+                
+                  
+                
+                
+                  
+                
+              
+            
+          
+        
+        
+          
+            
+            
+            
+              
+                
+                  
+                    
+                      1
+                    
+                  
+                  
+                    
+                      
+                        
+                      
+                    
+                    
+                      
+                        
+                      
+                    
+                  
+                
+                
+                  Attempt to use %d in gentext with no referrer!
+                
+              
+            
+          
+        
+        
+          %
+        
+        
+          %
+        
+      
+      
+      
+      
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+      
+    
+    
+      
+        
+      
+    
+  
+
+
+
+
+
+  
+  
+  
+  
+    
+  
+  
+
+  
+  
+
+  
+    
+      
+         labelnumber
+      
+      
+         labelname
+      
+      
+         label
+      
+    
+  
+
+  
+    
+      
+         quotedtitle
+      
+      
+         title
+      
+    
+  
+
+  
+    
+      
+        
+      
+      
+        
+      
+      
+         nopage
+      
+      
+         pagenumber
+      
+      
+         pageabbrev
+      
+      
+         Page
+      
+      
+         page
+      
+    
+  
+
+  
+    
+      
+        
+      
+      
+         nodocname
+      
+      
+         docnamelong
+      
+      
+         docname
+      
+    
+  
+
+  
+    
+      
+        
+          
+            
+              
+                
+              
+              
+                
+              
+            
+          
+        
+      
+      
+        %n
+      
+      
+        
+          
+          
+            
+              
+                
+              
+              
+                
+              
+            
+          
+          
+          
+          
+        
+      
+    
+
+    
+      
+        
+      
+      
+        
+      
+    
+  
+
+  
+    
+      
+        %t
+      
+      
+        
+          
+        
+        %t
+        
+          
+        
+      
+    
+
+    
+      
+        
+      
+    
+  
+  
+  
+  
+    
+      
+      
+      
+    
+  
+
+  
+    
+      
+        
+          
+          
+        
+      
+      
+        
+          
+          
+        
+      
+      
+        
+          
+          
+        
+      
+      
+        %p
+      
+    
+
+  
+
+  
+  
+    
+    
+      
+        
+          
+          
+        
+      
+      
+        
+          
+          
+        
+      
+    
+
+  
+  
+
+
+
diff --git a/xsl/common/gu.xml b/xsl/common/gu.xml
new file mode 100644
index 0000000..92317f4
--- /dev/null
+++ b/xsl/common/gu.xml
@@ -0,0 +1,1174 @@
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/he.xml b/xsl/common/he.xml
new file mode 100644
index 0000000..5d7c543
--- /dev/null
+++ b/xsl/common/he.xml
@@ -0,0 +1,1174 @@
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/hi.xml b/xsl/common/hi.xml
new file mode 100644
index 0000000..77c3b82
--- /dev/null
+++ b/xsl/common/hi.xml
@@ -0,0 +1,1174 @@
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/hr.xml b/xsl/common/hr.xml
new file mode 100644
index 0000000..0e18cb0
--- /dev/null
+++ b/xsl/common/hr.xml
@@ -0,0 +1,1174 @@
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/hu.xml b/xsl/common/hu.xml
new file mode 100644
index 0000000..43ab0f5
--- /dev/null
+++ b/xsl/common/hu.xml
@@ -0,0 +1,1206 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/id.xml b/xsl/common/id.xml
new file mode 100644
index 0000000..9a04b3e
--- /dev/null
+++ b/xsl/common/id.xml
@@ -0,0 +1,1206 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/it.xml b/xsl/common/it.xml
new file mode 100644
index 0000000..18d577e
--- /dev/null
+++ b/xsl/common/it.xml
@@ -0,0 +1,1206 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/ja.xml b/xsl/common/ja.xml
new file mode 100644
index 0000000..84d9131
--- /dev/null
+++ b/xsl/common/ja.xml
@@ -0,0 +1,1206 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/kn.xml b/xsl/common/kn.xml
new file mode 100644
index 0000000..720949c
--- /dev/null
+++ b/xsl/common/kn.xml
@@ -0,0 +1,1174 @@
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/ko.xml b/xsl/common/ko.xml
new file mode 100644
index 0000000..c71d571
--- /dev/null
+++ b/xsl/common/ko.xml
@@ -0,0 +1,1206 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/l10n.dtd b/xsl/common/l10n.dtd
new file mode 100644
index 0000000..4a48b63
--- /dev/null
+++ b/xsl/common/l10n.dtd
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xsl/common/l10n.xml b/xsl/common/l10n.xml
new file mode 100644
index 0000000..f67c7d6
--- /dev/null
+++ b/xsl/common/l10n.xml
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+⁡
+&am;
+&ar;
+&az;
+&bg;
+&bn;
+&bs;
+&ca;
+&cs;
+&cy;
+&da;
+&de;
+⪙
+&en;
+&es;
+&et;
+&eu;
+&fa;
+&fi;
+&fr;
+&ga;
+&gu;
+&he;
+&hi;
+&hr;
+&hu;
+&id;
+⁢
+&ja;
+&kn;
+&ko;
+&la;
+&lit;
+&mn;
+&nb;
+&nl;
+&nn;
+∨
+&pa;
+&pl;
+&pt;
+&pt_br;
+&ro;
+&ru;
+&sk;
+&sl;
+&sq;
+&sr;
+&sr_Latn;
+&sv;
+&ta;
+&th;
+&tl;
+&tr;
+&uk;
+&vi;
+&xh;
+&zh_cn;
+&zh_tw;
+
diff --git a/xsl/common/l10n.xsl b/xsl/common/l10n.xsl
new file mode 100644
index 0000000..95de079
--- /dev/null
+++ b/xsl/common/l10n.xsl
@@ -0,0 +1,450 @@
+
+
+
+
+
+
+
+
+
+  
+  
+
+  
+    
+      
+        
+      
+
+      
+        
+        
+        
+        
+          
+            
+          
+          
+            
+          
+        
+      
+
+      
+        
+        
+        
+
+        
+          
+            
+          
+          
+            
+          
+        
+      
+    
+  
+
+  
+
+  
+    
+      
+        
+        _
+        
+      
+      
+        
+      
+    
+  
+
+  
+    
+      
+    
+    
+    
+      
+    
+    
+    
+      
+        No localization exists for "
+        
+        " or "
+        
+        ". Using default "
+        
+        ".
+      
+      
+    
+  
+
+
+
+  
+
+  
+    
+      
+        
+      
+
+      
+        
+        
+        
+
+        
+          
+            
+          
+          
+            
+          
+        
+      
+    
+  
+
+  
+    
+      
+        
+          
+        
+        
+          
+        
+      
+    
+  
+
+  
+  
+
+
+
+  
+  
+    
+  
+
+  
+
+  
+
+  
+  
+  
+    
+      
+    
+    
+      
+    
+    
+      
+        No "
+        
+        " localization of "
+        
+        " exists
+        
+          
+             .
+          
+          
+             ; using "en".
+          
+        
+      
+
+      
+    
+  
+  
+  
+
+
+
+  
+  
+    
+  
+
+  
+    
+    
+  
+
+
+
+   
+
+
+
+  
+    
+  
+
+
+
+  
+    
+  
+
+
+
+  bullet
+  
+    
+  
+
+  
+
+  
+
+  
+  
+    
+      
+    
+    
+      
+    
+    
+      
+        No "
+        
+        " localization of dingbat 
+        
+         exists; using "en".
+      
+
+      
+    
+  
+  
+  
+    
+  
+
+
+
+  
+    startquote
+  
+
+
+
+  
+    endquote
+  
+
+
+
+  
+    nestedstartquote
+  
+
+
+
+  
+    nestedendquote
+  
+
+
+
+  
+    
+  
+
+
+
+  
+    
+  
+
+
+
+  
+    
+  
+
+
+
+  
+    
+  
+
+
+
+
+
+  
+  
+  
+  
+  
+  
+  
+    
+  
+  
+
+  
+
+  
+
+  
+    
+      No "
+      
+      " localization exists.
+    
+  
+
+  
+
+  
+
+  
+    
+      No context named "
+      
+      " exists in the "
+      
+      " localization.
+    
+  
+
+  
+
+  
+
+  
+    
+      
+    
+    
+      
+    
+    
+      
+        
+          
+            
+            
+            
+            
+            
+            
+            
+            
+          
+        
+        
+          
+        
+        
+          
+            No template for "
+            
+            " (or any of its leaves) exists
+in the context named "
+            
+            " in the "
+            
+            " localization.
+          
+        
+      
+    
+  
+
+
+
+
+
+  
+  
+  
+  
+  
+  
+  
+    
+  
+
+  
+    
+      
+      
+      
+      
+      
+      
+      
+      
+    
+  
+  
+  
+    1
+    0
+  
+
+
+
+
diff --git a/xsl/common/la.xml b/xsl/common/la.xml
new file mode 100644
index 0000000..85dc785
--- /dev/null
+++ b/xsl/common/la.xml
@@ -0,0 +1,1174 @@
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/labels.xsl b/xsl/common/labels.xsl
new file mode 100644
index 0000000..f58eb85
--- /dev/null
+++ b/xsl/common/labels.xsl
@@ -0,0 +1,869 @@
+
+
+
+
+
+
+
+
+
+
+Provides access to element labels
+
+Processing an element in the
+label.markup mode produces the
+element label.
+Trailing punctuation is not added to the label.
+
+
+
+
+
+  .
+
+
+
+  
+  
+    
+      Request for label of unexpected element: 
+      
+    
+  
+
+
+
+  
+    
+  
+
+
+
+  
+    
+      
+    
+    
+      
+        
+          
+        
+      
+      
+    
+  
+
+
+
+  
+
+
+
+  
+    
+      
+    
+    
+      
+        
+          
+        
+        
+          
+          
+        
+      
+      
+        
+          
+        
+      
+      
+        
+          
+        
+        
+          
+        
+      
+    
+  
+
+
+
+  
+    
+      
+    
+    
+      
+        
+          
+        
+        
+          
+          
+        
+      
+      
+        
+          
+        
+      
+      
+        
+          
+        
+        
+          
+        
+      
+    
+  
+
+
+
+  
+    
+      
+    
+    
+      
+        
+          
+        
+        
+          
+          
+        
+      
+      
+        
+          
+        
+      
+      
+        
+          
+        
+        
+          
+        
+      
+    
+  
+
+
+
+  
+    
+  
+
+
+
+  
+    
+  
+
+
+
+  
+    
+      
+    
+    
+      
+        
+          
+        
+        
+          
+          
+        
+      
+      
+        
+          
+        
+      
+      
+        
+          
+        
+        
+          
+        
+      
+    
+  
+
+
+
+  
+    
+  
+
+
+
+  
+  
+    
+      
+        
+      
+    
+    
+      
+      
+    
+  
+
+  
+  
+    
+      
+    
+  
+
+  
+  
+    
+      
+    
+  
+
+  
+    
+      
+    
+    
+      
+      
+    
+  
+
+
+
+  
+    
+      
+    
+          
+      
+        
+          
+        
+      
+      
+    
+  
+
+
+
+  
+  
+    
+      
+    
+  
+
+  
+    
+      
+        
+      
+      
+        
+        
+      
+    
+  
+
+
+  
+    
+  
+
+  
+    
+      
+    
+    
+      
+        
+          
+        
+      
+      
+      
+    
+  
+
+
+
+  
+  
+    
+      
+    
+  
+  
+    
+    
+  
+
+  
+    
+  
+
+  
+    
+      
+    
+    
+      
+        
+          
+        
+      
+      
+        
+          
+        
+        
+          
+        
+        
+          
+        
+        
+          
+        
+        
+          label.markup: this can't happen!
+        
+      
+    
+  
+
+
+
+  
+  
+
+  
+
+
+
+  
+    
+      
+    
+    
+      
+        
+          
+        
+      
+      
+    
+  
+
+
+
+  
+  
+    
+  
+  
+    
+    
+  
+
+  
+    
+      
+    
+    
+      
+        
+          
+        
+      
+      
+        
+          
+        
+        
+          
+        
+      
+    
+  
+
+
+
+  
+  
+    
+      
+    
+    
+      
+      
+    
+  
+
+  
+  
+    
+      
+    
+  
+
+  
+  
+    
+      
+    
+  
+
+  
+    
+      
+    
+    
+      
+      
+    
+  
+
+  
+    
+      
+    
+    
+      
+        
+          
+        
+      
+      
+    
+  
+
+
+
+  
+
+  
+    
+  
+
+  
+    
+      
+        
+        
+      
+    
+  
+
+  
+    
+      
+        
+          
+        
+      
+      
+      
+    
+  
+
+
+
+  
+
+  
+    
+  
+
+  
+    
+      
+        
+          
+          
+        
+        
+          
+          
+        
+      
+    
+  
+
+  
+
+  
+    
+      
+        
+      
+      
+        
+      
+    
+  
+
+  
+
+  
+    
+      
+    
+
+    
+      
+        
+      
+    
+
+    
+      
+        
+      
+    
+
+    
+      
+      
+    
+  
+
+
+
+  
+    
+  
+
+
+
+  
+
+  
+    
+      
+    
+  
+
+  
+    
+      
+    
+    
+      
+        
+            
+            
+          
+        
+        
+          
+        
+      
+    
+  
+
+
+
+  
+
+  
+    
+      
+    
+  
+
+  
+    
+      
+    
+    
+      
+    
+    
+      
+        
+          
+            
+            
+          
+          
+        
+        
+          
+        
+      
+    
+  
+
+
+
+  
+
+  
+    
+      
+    
+  
+
+  
+    
+      
+    
+    
+      
+        
+          
+            
+            
+          
+          
+        
+        
+          
+        
+      
+    
+  
+
+
+
+  
+    
+      
+    
+  
+
+  
+    
+      1
+      a
+      i
+      A
+      I
+      
+      
+        
+          Unexpected numeration: 
+          
+        
+        
+      
+    
+  
+
+  
+    
+  
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+
+
+  
+
+  
+    
+  
+
+  
+          
+      
+    
+    0
+  
+
+
+
+Returns true if $section should be labelled
+
+Returns true if the specified section should be labelled.
+By default, this template returns zero unless 
+the section level is less than or equal to the value of the
+$section.autolabel.max.depth parameter, in
+which case it returns
+$section.autolabel.
+Custom stylesheets may override it to get more selective behavior.
+
+
+
+
+
+
+  
+  
+    
+      
+    
+    
+      
+    
+    1
+    
+
+  
+
+  
+  
+
+  
+    
+      
+        1
+        
+          
+        
+        
+          
+        
+        
+          
+        
+        
+          
+              
+	
+	  
+	
+        
+          
+            Unexpected .autolabel value: 
+            ; using default.
+          
+          
+        
+      
+    
+  
+
+
+
+Returns format for autolabel parameters
+
+Returns format passed as parameter if non zero. Supported
+  format are 'arabic' or '1', 'loweralpha' or 'a', 'lowerroman' or 'i', 
+  'upperlapha' or 'A', 'upperroman' or 'I', 'arabicindic' or '١'.
+  If its not one of these then 
+  returns the default format.
+
+
+
+
+
+
diff --git a/xsl/common/lib.xsl b/xsl/common/lib.xsl
new file mode 100644
index 0000000..d26a3dd
--- /dev/null
+++ b/xsl/common/lib.xsl
@@ -0,0 +1,160 @@
+
+
+
+
+
+
+
+  
+  
+  
+  
+    
+      
+        
+        
+      
+    
+    
+      
+    
+  
+
+
+
+  
+  filename
+  1
+
+  
+    
+      
+    
+    
+      
+        
+      
+      
+        
+      
+      
+        
+          
+          
+          
+        
+        
+          
+            
+            
+            
+          
+        
+      
+    
+  
+
+
+
+  
+  
+
+  
+    
+    /
+    
+  
+
+  
+    
+      
+        
+        
+      
+    
+    
+      /
+      
+    
+  
+
+
+
+  
+  
+
+  
+    
+      
+        
+        
+      
+    
+    
+      
+    
+  
+
+
+
+  
+  
+  
+
+  
+    
+      
+        
+        
+        
+      
+    
+    
+      
+        
+          
+        
+        
+          
+        
+      
+    
+  
+
+
+
+  
+  
+  
+  
+
+  
+    
+      
+        
+        
+        
+          
+          
+        
+      
+    
+    
+      
+    
+  
+
+
+
diff --git a/xsl/common/lt.xml b/xsl/common/lt.xml
new file mode 100644
index 0000000..4aa707a
--- /dev/null
+++ b/xsl/common/lt.xml
@@ -0,0 +1,623 @@
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      Simboliai
+      A
+      a
+      Ą
+      ą
+      B
+      b
+      C
+      c
+      Č
+      č
+      D
+      d
+      E
+      e
+      Ę
+      ę
+      Ė
+      ė
+      F
+      f
+      G
+      g
+      H
+      h
+      I
+      i
+      Į
+      į
+      Y
+      y
+      J
+      j
+      K
+      k
+      L
+      l
+      M
+      m
+      N
+      n
+      O
+      o
+      P
+      p
+      R
+      r
+      S
+      s
+      Š
+      š
+      T
+      t
+      U
+      u
+      Ų
+      ų
+      Ū
+      ū
+      V
+      v
+      Z
+      z
+      Ž
+      ž
+      Q
+      q
+      W
+      w
+      X
+      x
+   
+
diff --git a/xsl/common/misc.xsl b/xsl/common/misc.xsl
new file mode 100644
index 0000000..0f63821
--- /dev/null
+++ b/xsl/common/misc.xsl
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+I
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xsl/common/mkdoclist.xsl b/xsl/common/mkdoclist.xsl
new file mode 100644
index 0000000..579f2e8
--- /dev/null
+++ b/xsl/common/mkdoclist.xsl
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+  
+    
+      
+    
+    
+      
+    
+  
+  

+
+
+
+  
+    
+  
+
+
+
diff --git a/xsl/common/mklistings.xsl b/xsl/common/mklistings.xsl
new file mode 100644
index 0000000..ad06fd5
--- /dev/null
+++ b/xsl/common/mklistings.xsl
@@ -0,0 +1,215 @@
+
+
+
+
+
+iso-8859-1
+.
+
+
+
+
+
+
+  
+  
+  
+  
+    
+      
+      
+      
+        
+        
+        
+      
+    
+    
+      
+    
+  
+
+
+
+
+  
+  
+    
+      
+    
+    
+      
+    
+  
+  
+  
+    
+    
+      
+      
+    
+    
+      
+      /
+      
+    
+    
+  
+  
+  
+    
+    
+    
+  
+
+
+
+ 
+
+ 
+
+
+
+
+
+  
+
+
+
+  
+    
+  
+  
+    
+      
+        
+      
+      
+        
+      
+    
+  
+  
+    
+  
+  +    
+      
+        
+      
+      text
+      
+        
+      
+    
+  
+
+
+
+
+
+  
+
+
+
+  
+    
+  
+  
+    
+  
+  +    
+      
+        
+      
+      text
+      
+        
+      
+    
+  
+
+
+
+
+
+  
+    
+  
+  
+    
+  
+  +    
+      
+        
+      
+      text
+      
+        
+      
+    
+  
+
+
+
+
+
+
+  
+
+
+
+  
+  
+  
+
+
+
diff --git a/xsl/common/mn.xml b/xsl/common/mn.xml
new file mode 100644
index 0000000..b90a47a
--- /dev/null
+++ b/xsl/common/mn.xml
@@ -0,0 +1,623 @@
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      Symbole
+      А
+      а
+      Б
+      б
+      В
+      в
+      Г
+      г
+      Д
+      д
+      Е
+      е
+      Ё
+      ё
+      Ж
+      ж
+      З
+      з
+      И
+      и
+      Й
+      й
+      К
+      к
+      Л
+      л
+      М
+      м
+      Н
+      н
+      О
+      о
+      Ө
+      ө
+      П
+      п
+      Р
+      р
+      С
+      с
+      Т
+      т
+      У
+      у
+      Ү
+      ү
+      Ф
+      ф
+      Х
+      х
+      Ц
+      ц
+      Ч
+      ч
+      Ш
+      ш
+      Щ
+      щ
+      Ъ
+      ъ
+      Ы
+      ы
+      Ь
+      ь
+      Э
+      э
+      Ю
+      ю
+      Я
+      я
+   
+
diff --git a/xsl/common/nb.xml b/xsl/common/nb.xml
new file mode 100644
index 0000000..b014820
--- /dev/null
+++ b/xsl/common/nb.xml
@@ -0,0 +1,1230 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Symbols
+A
+a
+À
+à
+Á
+á
+Â
+â
+Ã
+ã
+Ä
+ä
+Å
+å
+Ā
+ā
+Ă
+ă
+Ą
+ą
+Ǎ
+ǎ
+Ǟ
+ǟ
+Ǡ
+ǡ
+Ǻ
+ǻ
+Ȁ
+ȁ
+Ȃ
+ȃ
+Ȧ
+ȧ
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+B
+b
+ƀ
+Ɓ
+ɓ
+Ƃ
+ƃ
+
+
+
+
+
+
+C
+c
+Ç
+ç
+Ć
+ć
+Ĉ
+ĉ
+Ċ
+ċ
+Č
+č
+Ƈ
+ƈ
+ɕ
+
+
+D
+d
+Ď
+ď
+Đ
+đ
+Ɗ
+ɗ
+Ƌ
+ƌ
+Dž
+Dz
+ȡ
+ɖ
+
+
+
+
+
+
+
+
+
+
+E
+e
+È
+è
+É
+é
+Ê
+ê
+Ë
+ë
+Ē
+ē
+Ĕ
+ĕ
+Ė
+ė
+Ę
+ę
+Ě
+ě
+Ȅ
+ȅ
+Ȇ
+ȇ
+Ȩ
+ȩ
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ế
+
+
+
+
+
+
+
+
+F
+f
+Ƒ
+ƒ
+
+
+G
+g
+Ĝ
+ĝ
+Ğ
+ğ
+Ġ
+ġ
+Ģ
+ģ
+Ɠ
+ɠ
+Ǥ
+ǥ
+Ǧ
+ǧ
+Ǵ
+ǵ
+
+
+H
+h
+Ĥ
+ĥ
+Ħ
+ħ
+Ȟ
+ȟ
+ɦ
+
+
+
+
+
+
+
+
+
+
+
+I
+i
+Ì
+ì
+Í
+í
+Î
+î
+Ï
+ï
+Ĩ
+ĩ
+Ī
+ī
+Ĭ
+ĭ
+Į
+į
+İ
+Ɨ
+ɨ
+Ǐ
+ǐ
+Ȉ
+ȉ
+Ȋ
+ȋ
+
+
+
+
+
+
+
+
+J
+j
+Ĵ
+ĵ
+ǰ
+ʝ
+K
+k
+Ķ
+ķ
+Ƙ
+ƙ
+Ǩ
+ǩ
+
+
+
+
+
+
+L
+l
+Ĺ
+ĺ
+Ļ
+ļ
+Ľ
+ľ
+Ŀ
+ŀ
+Ł
+ł
+ƚ
+Lj
+ȴ
+ɫ
+ɬ
+ɭ
+
+
+
+
+
+
+
+
+M
+m
+ɱ
+
+ḿ
+
+
+
+
+N
+n
+Ñ
+ñ
+Ń
+ń
+Ņ
+ņ
+Ň
+ň
+Ɲ
+ɲ
+ƞ
+Ƞ
+Nj
+Ǹ
+ǹ
+ȵ
+ɳ
+
+
+
+
+
+
+
+
+O
+o
+Ò
+ò
+Ó
+ó
+Ô
+ô
+Õ
+õ
+Ö
+ö
+Ø
+ø
+Ō
+ō
+Ŏ
+ŏ
+Ő
+ő
+Ɵ
+Ơ
+ơ
+Ǒ
+ǒ
+Ǫ
+ǫ
+Ǭ
+ǭ
+Ǿ
+ǿ
+Ȍ
+ȍ
+Ȏ
+ȏ
+Ȫ
+ȫ
+Ȭ
+ȭ
+Ȯ
+ȯ
+Ȱ
+ȱ
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+P
+p
+Ƥ
+ƥ
+
+
+
+
+Q
+q
+ʠ
+R
+r
+Ŕ
+ŕ
+Ŗ
+ŗ
+Ř
+ř
+Ȑ
+ȑ
+Ȓ
+ȓ
+ɼ
+ɽ
+ɾ
+
+
+
+
+
+
+
+
+S
+s
+Ś
+ś
+Ŝ
+ŝ
+Ş
+ş
+Š
+š
+Ș
+ș
+ʂ
+
+
+
+
+
+
+
+
+
+
+T
+t
+Ţ
+ţ
+Ť
+ť
+Ŧ
+ŧ
+ƫ
+Ƭ
+ƭ
+Ʈ
+ʈ
+Ț
+ț
+ȶ
+
+
+
+
+
+
+
+
+
+U
+u
+Ù
+ù
+Ú
+ú
+Û
+û
+Ü
+ü
+Ũ
+ũ
+Ū
+ū
+Ŭ
+ŭ
+Ů
+ů
+Ű
+ű
+Ų
+ų
+Ư
+ư
+Ǔ
+ǔ
+Ǖ
+ǖ
+Ǘ
+ǘ
+Ǚ
+ǚ
+Ǜ
+ǜ
+Ȕ
+ȕ
+Ȗ
+ȗ
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+V
+v
+Ʋ
+ʋ
+
+
+
+ṿ
+W
+w
+Ŵ
+ŵ
+
+
+
+
+
+
+
+
+
+
+
+X
+x
+
+
+
+
+Y
+y
+Ý
+ý
+ÿ
+Ÿ
+Ŷ
+ŷ
+Ƴ
+ƴ
+Ȳ
+ȳ
+
+
+
+
+
+
+
+
+
+
+
+Z
+z
+Ź
+ź
+Ż
+ż
+Ž
+ž
+Ƶ
+ƶ
+Ȥ
+ȥ
+ʐ
+ʑ
+
+
+
+
+
+
+
+
diff --git a/xsl/common/nl.xml b/xsl/common/nl.xml
new file mode 100644
index 0000000..5d364a9
--- /dev/null
+++ b/xsl/common/nl.xml
@@ -0,0 +1,1206 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/nn.xml b/xsl/common/nn.xml
new file mode 100644
index 0000000..4afccf5
--- /dev/null
+++ b/xsl/common/nn.xml
@@ -0,0 +1,1174 @@
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/no.xml b/xsl/common/no.xml
new file mode 100644
index 0000000..52686c6
--- /dev/null
+++ b/xsl/common/no.xml
@@ -0,0 +1,1206 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/olink.xsl b/xsl/common/olink.xsl
new file mode 100644
index 0000000..8351771
--- /dev/null
+++ b/xsl/common/olink.xsl
@@ -0,0 +1,1179 @@
+
+
+
+
+
+
+
+
+
+  
+  
+  
+
+  
+  
+
+  
+  
+    
+      
+        
+          
+        
+        
+      
+      
+        
+      
+    
+  
+
+  
+
+  
+    
+    
+      
+        Olinks not processed: must specify a 
+        $target.database.document parameter

+        when using olinks with targetdoc 
+        and targetptr attributes.
+      
+    
+    
+    
+      
+        Olink error: could not open target database '
+        
+        '.
+      
+    
+    
+      
+    
+  
+
+
+
+  
+  
+  
+  
+
+  
+    
+      
+        
+      
+    
+  
+    
+    
+      
+      
+      
+      
+      
+      
+    
+  
+  
+
+
+
+
+  
+  
+  
+  
+  
+  
+  
+  
+    
+      
+      
+    
+  
+
+  
+    Olink debug: cases for targetdoc='
+      
+      ' and targetptr='
+      
+      ' in language '
+      
+      '.
+    
+  
+
+  
+  
+    
+    
+      
+        
+        
+          
+            
+            
+              Olink debug: CaseA matched.
+            
+          
+          
+            Olink debug: CaseA NOT matched
+          
+        
+      
+    
+  
+
+  
+    
+    
+      
+        
+        
+          
+            
+            
+              Olink debug: CaseB matched.
+            
+          
+          
+            Olink debug: CaseB NOT matched
+          
+        
+      
+    
+  
+
+  
+    
+    
+      
+      
+        
+        
+          
+            
+            
+              Olink debug: CaseC matched.
+            
+          
+          
+            Olink debug: CaseC NOT matched.
+          
+        
+      
+    
+  
+
+  
+    
+    
+    
+      
+        
+        
+          
+            
+            
+              Olink debug: CaseD matched.
+            
+          
+          
+            Olink debug: CaseD NOT matched
+          
+        
+      
+    
+  
+
+  
+    
+    
+
+      
+      
+        
+          
+            
+          
+          
+            
+          
+        
+      
+
+      
+        
+        
+          
+            
+            
+              Olink debug: CaseE matched.
+            
+          
+          
+            Olink debug: CaseE NOT matched.
+          
+        
+      
+    
+  
+
+  
+    
+    
+      
+      
+        
+          
+            
+          
+          
+            
+          
+        
+      
+
+      
+        
+        
+          
+            
+            
+              Olink debug: CaseF matched.
+            
+          
+          
+            Olink debug: CaseF NOT matched.
+          
+        
+      
+    
+  
+
+  
+  
+    
+      
+        
+        
+          
+            Olink debug: CaseB key is the final selection: 
+            
+          
+        
+      
+      
+        
+        
+          
+            Olink debug: CaseA key is the final selection: 
+            
+          
+        
+      
+      
+        
+        
+          
+            Olink debug: CaseC key is the final selection: 
+            
+          
+        
+      
+      
+        
+        
+          
+            Olink debug: CaseD key is the final selection: 
+            
+          
+        
+      
+      
+        
+        
+          
+            Olink debug: CaseF key is the final selection: 
+            
+          
+        
+      
+      
+        
+        
+          
+            Olink debug: CaseE key is the final selection: 
+            
+          
+        
+      
+      
+        
+          
+            Olink debug: No case matched for lang '
+            
+            '.
+          
+        
+      
+    
+  
+
+  
+    
+      
+    
+    
+      
+    
+    
+      
+      
+        
+        
+        
+        
+        
+        
+      
+    
+  
+
+
+
+
+  
+  
+
+  
+  
+  
+  
+    
+      
+    
+    
+      
+        
+        
+      
+    
+    
+    
+  
+
+
+
+  
+
+  
+  
+
+
+
+
+  
+  
+
+  
+    
+      
+        
+      
+    
+  
+    
+      
+    
+  
+    
+    
+      
+        1
+        0
+      
+    
+  
+  
+    
+    
+      
+        
+        
+          
+            
+            
+              
+              
+                
+                  
+                
+              
+              
+                
+                  
+                    
+                      
+                      
+                    
+                  
+                
+                
+                  
+                    Olink error: cannot compute relative 
+                    sitemap path because $current.docid '
+                    
+                    ' not found in target database.
+                  
+                
+              
+            
+            
+              
+                Olink warning: cannot compute relative 
+                sitemap path without $current.docid parameter
+              
+            
+           
+          
+          
+            
+              
+            
+          
+          
+            
+          
+        
+        
+        
+          
+          
+            
+              
+            
+          
+          
+            
+          
+        
+      
+    
+  
+    
+    
+      
+      
+        
+      
+    
+    
+    
+      
+    
+  
+
+
+
+
+  
+  
+  
+  
+
+  
+    
+      
+    
+  
+
+  
+  
+    
+      
+      
+      
+      
+    
+  
+
+  
+    
+      
+    
+  
+
+  
+    
+    
+      
+    
+    
+      
+    
+    
+      
+      
+        
+        
+        
+        
+      
+    
+  
+
+
+
+
+  
+  
+  
+  
+  
+    
+      
+        
+      
+      
+        
+      
+    
+  
+
+  
+    
+    
+      
+    
+    
+      
+      
+        
+          
+            
+          
+        
+      
+
+      
+        
+          
+        
+      
+
+      
+        
+          
+        
+      
+
+      
+        
+          
+            
+          
+        
+        
+          
+            
+          
+          
+            
+          
+        
+      
+
+      
+        
+      
+
+      
+         
+          
+        
+        
+          
+            
+              xrefstyle is '
+              
+              '.
+            
+          
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+              
+                
+              
+              
+                
+                
+
+                
+                  
+                    
+                    
+                    
+                  
+                
+
+                
+                  
+                    
+                    
+                    
+                    
+                  
+                
+
+                
+                  
+                    
+                    
+                    
+                  
+                
+
+                
+                  
+                    
+                    
+                    
+                    
+                  
+                
+
+                
+                  
+                    
+                    
+                    
+                  
+                
+
+                
+                  
+                    
+                    
+                    
+                    
+                  
+                
+
+                
+                  
+                    
+                  
+                  
+                    
+                  
+                  
+                    
+                  
+                  
+                    
+                    
+                      
+                        Olink error: no gentext template
+                         exists for xrefstyle '
+                        
+                        ' for element '
+                        
+                        ' in language '
+                        
+                        ' in context 'xref-number-and-title
+                        '. Using template without @style.
+                      
+                    
+                  
+                  
+                    
+                    
+                      
+                        Olink error: no gentext template
+                         exists for xrefstyle '
+                        
+                        ' for element '
+                        
+                        ' in language '
+                        
+                        ' in context 'xref-number
+                        '. Using template without @style.
+                      
+                    
+                  
+                  
+                    
+                    
+                      
+                        Olink error: no gentext template
+                         exists for xrefstyle '
+                        
+                        ' for element '
+                        
+                        ' in language '
+                        
+                        ' in context 'xref
+                        '. Using template without @style.
+                      
+                    
+                  
+                  
+                    
+                      Olink error: no gentext template
+                       exists for xrefstyle '
+                      
+                      ' for element '
+                      
+                      ' in language '
+                      
+                      '. Trying '%t'.
+                    
+                    
+                  
+                
+              
+            
+          
+
+          
+            
+              Olink debug: xrefstyle template is '
+              
+              '.
+            
+          
+
+          
+            
+            
+              
+                
+                  
+                
+              
+            
+            
+              
+                
+              
+            
+            
+              
+                
+              
+            
+            
+              
+                
+                  
+                
+              
+            
+          
+        
+
+        
+
+          
+            
+              
+              
+              
+            
+          
+
+          
+            
+            
+              
+                
+                  
+                
+              
+            
+            
+              
+                
+              
+            
+          
+        
+        
+          
+        
+        
+          
+            Olink error: no generated text for 
+            targetdoc/targetptr/lang = '
+            
+            '.
+          
+          ????
+        
+      
+    
+    
+      
+        
+          Olink error: no generated text for 
+          targetdoc/targetptr/lang = '
+          
+          '.
+        
+      
+      ????
+    
+    
+      
+      
+        
+        
+        
+      
+    
+  
+
+
+
+  
+  
+  
+
+
+
+
+  
+
+
+
+
+  
+
+
+
+  
+
+
+
+  
+  
+
+
+  
+  
+    
+    
+      
+    
+    
+    
+        Olink error: cannot locate targetdoc  in sitemap
+    
+    
+    
+      
+      
+        
+        /
+      
+      
+      
+        
+        
+      
+    
+    
+    
+      
+        ../
+      
+      
+        
+        
+      
+    
+  
+
+
+
+  
+  
+  
+  
+  
+    
+      
+        
+      
+      
+        
+      
+    
+  
+
+  
+    
+  
+
+  
+    
+      
+        
+        
+        
+      
+    
+    
+  
+      
+        
+          
+        
+      
+  
+      
+        
+          
+            
+              
+              
+              
+            
+          
+          
+        
+      
+  
+    
+  
+
+
+
+  
+  
+  
+  
+    
+      
+        
+      
+      
+        
+      
+    
+  
+
+  
+    
+      
+    
+  
+
+  
+    
+  
+
+  
+    
+  
+
+  
+  
+    
+      
+    
+  
+
+  
+    
+      
+        
+      
+    
+  
+
+
+  
+    
+      
+        
+          
+          
+          
+        
+      
+      
+      
+    
+  
+
+
+
+  
+  
+  
+  
+    
+      
+        
+      
+      
+        
+      
+    
+  
+
+  
+    
+      
+    
+  
+
+
+
+
diff --git a/xsl/common/or.xml b/xsl/common/or.xml
new file mode 100644
index 0000000..6486b65
--- /dev/null
+++ b/xsl/common/or.xml
@@ -0,0 +1,1174 @@
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/pa.xml b/xsl/common/pa.xml
new file mode 100644
index 0000000..7342c8e
--- /dev/null
+++ b/xsl/common/pa.xml
@@ -0,0 +1,1174 @@
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/pl.xml b/xsl/common/pl.xml
new file mode 100644
index 0000000..cc431a9
--- /dev/null
+++ b/xsl/common/pl.xml
@@ -0,0 +1,1206 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/pt.xml b/xsl/common/pt.xml
new file mode 100644
index 0000000..0990266
--- /dev/null
+++ b/xsl/common/pt.xml
@@ -0,0 +1,1206 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/pt_br.xml b/xsl/common/pt_br.xml
new file mode 100644
index 0000000..db3ce45
--- /dev/null
+++ b/xsl/common/pt_br.xml
@@ -0,0 +1,1206 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/ro.xml b/xsl/common/ro.xml
new file mode 100644
index 0000000..c6a2fd1
--- /dev/null
+++ b/xsl/common/ro.xml
@@ -0,0 +1,1206 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/ru.xml b/xsl/common/ru.xml
new file mode 100644
index 0000000..3f2fb32
--- /dev/null
+++ b/xsl/common/ru.xml
@@ -0,0 +1,703 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+      A
+      a
+      B
+      b
+      C
+      c
+      D
+      d
+      E
+      e
+      F
+      f
+      G
+      g
+      H
+      h
+      I
+      i
+      J
+      j
+      K
+      k
+      L
+      l
+      M
+      m
+      N
+      n
+      O
+      o
+      P
+      p
+      Q
+      q
+      R
+      r
+      S
+      s
+      T
+      t
+      U
+      u
+      V
+      v
+      W
+      w
+      X
+      x
+      Y
+      y
+      Z
+      z
+      А
+      а
+      Б
+      б
+      В
+      в
+      Г
+      г
+      Д
+      д
+      Е
+      е
+      Ё
+      ё
+      Ж
+      ж
+      З
+      з
+      И
+      и
+      Й
+      й
+      К
+      к
+      Л
+      л
+      М
+      м
+      Н
+      н
+      О
+      о
+      П
+      п
+      Р
+      р
+      С
+      с
+      Т
+      т
+      У
+      у
+      Ф
+      ф
+      Х
+      х
+      Ц
+      ц
+      Ч
+      ч
+      Ш
+      ш
+      Щ
+      щ
+      Ъ
+      ъ
+      Ы
+      ы
+      Ь
+      ь
+      Э
+      э
+      Ю
+      ю
+      Я
+      я
+   
+
diff --git a/xsl/common/sk.xml b/xsl/common/sk.xml
new file mode 100644
index 0000000..85b4b29
--- /dev/null
+++ b/xsl/common/sk.xml
@@ -0,0 +1,1206 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/sl.xml b/xsl/common/sl.xml
new file mode 100644
index 0000000..a4c77e5
--- /dev/null
+++ b/xsl/common/sl.xml
@@ -0,0 +1,1206 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/sq.xml b/xsl/common/sq.xml
new file mode 100644
index 0000000..d3c14b0
--- /dev/null
+++ b/xsl/common/sq.xml
@@ -0,0 +1,1174 @@
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/sr.xml b/xsl/common/sr.xml
new file mode 100644
index 0000000..e09856e
--- /dev/null
+++ b/xsl/common/sr.xml
@@ -0,0 +1,1174 @@
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/sr_Latn.xml b/xsl/common/sr_Latn.xml
new file mode 100644
index 0000000..c1d4bb8
--- /dev/null
+++ b/xsl/common/sr_Latn.xml
@@ -0,0 +1,1174 @@
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/subtitles.xsl b/xsl/common/subtitles.xsl
new file mode 100644
index 0000000..c5cefa2
--- /dev/null
+++ b/xsl/common/subtitles.xsl
@@ -0,0 +1,155 @@
+
+
+
+
+
+
+
+
+
+
+Provides access to element subtitles
+
+Processing an element in the
+subtitle.markup mode produces the
+subtitle of the element.
+
+
+
+
+
+  
+    Request for subtitle of unexpected element: 
+    
+  
+  ???SUBTITLE???
+
+
+
+  
+  
+
+
+
+  
+  
+    
+  
+
+
+
+  
+  
+    
+  
+
+
+
+  
+  
+    
+  
+
+
+
+  
+  
+    
+  
+
+
+
+  
+  
+    
+  
+
+
+
+  
+  
+    
+  
+
+
+
+  
+  
+    
+  
+
+
+
+  
+  
+    
+  
+
+
+
+  
+  
+    
+  
+
+
+
+  
+  
+    
+  
+
+
+
+
diff --git a/xsl/common/sv.xml b/xsl/common/sv.xml
new file mode 100644
index 0000000..047c4c1
--- /dev/null
+++ b/xsl/common/sv.xml
@@ -0,0 +1,641 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      A
+      a
+      B
+      b
+      C
+      c
+      D
+      d
+      E
+      e
+      F
+      f
+      G
+      g
+      H
+      h
+      I
+      i
+      J
+      j
+      K
+      k
+      L
+      l
+      M
+      m
+      N
+      n
+      O
+      o
+      P
+      p
+      Q
+      q
+      R
+      r
+      S
+      s
+      T
+      t
+      U
+      u
+      V
+      v
+      W
+      w
+      X
+      x
+      Y
+      y
+      Z
+      z
+      Å
+      å
+      Ä
+      ä
+      Ö
+      ö
+   
+
diff --git a/xsl/common/ta.xml b/xsl/common/ta.xml
new file mode 100644
index 0000000..4941953
--- /dev/null
+++ b/xsl/common/ta.xml
@@ -0,0 +1,1174 @@
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/th.xml b/xsl/common/th.xml
new file mode 100644
index 0000000..7a985fd
--- /dev/null
+++ b/xsl/common/th.xml
@@ -0,0 +1,1174 @@
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/titles.xsl b/xsl/common/titles.xsl
new file mode 100644
index 0000000..16355a9
--- /dev/null
+++ b/xsl/common/titles.xsl
@@ -0,0 +1,740 @@
+
+
+
+
+
+
+
+
+
+
+Provides access to element titles
+
+Processing an element in the
+title.markup mode produces the
+title of the element. This does not include the label.
+
+
+
+
+
+  
+  
+  
+    
+    
+    
+      
+        
+      
+    
+    
+      
+      
+    
+    
+      
+        
+          Request for title of element with no title: 
+          
+          
+            
+               (id="
+              
+              ")
+            
+            
+               (xml:id="
+              
+              ")
+            
+          
+        
+      
+      ???TITLE???
+    
+  
+
+
+
+  
+
+  
+    
+      
+    
+    
+      
+    
+  
+
+
+
+
+  
+
+  
+    
+      
+    
+    
+      
+    
+  
+
+
+
+  
+  
+    
+  
+
+
+
+  
+  
+    
+  
+
+
+
+  
+  
+    
+  
+
+
+
+  
+
+
+
+  
+  
+    
+  
+
+
+
+  
+  
+    
+      
+        
+      
+    
+    
+      
+        
+      
+    
+  
+
+
+
+  
+  
+    
+      
+        
+      
+    
+    
+      
+        
+      
+    
+  
+
+
+
+  
+  
+
+  
+    
+  
+
+
+
+  
+  
+    
+  
+
+
+
+  
+  
+  
+  
+  
+  
+
+  
+    
+      
+        
+      
+      
+        
+      
+      
+        
+      
+      REFENTRY WITHOUT TITLE???
+    
+  
+
+  
+
+
+
+  
+  
+    
+      
+    
+    
+      
+    
+  
+
+
+
+  
+  
+
+  
+    
+  
+
+
+
+  
+
+
+
+  
+  
+    
+      
+        
+      
+    
+    
+      
+        
+      
+    
+  
+
+
+
+  
+  
+  
+    
+      
+        
+      
+    
+    
+      
+        
+      
+    
+  
+
+
+
+  
+  
+  
+    
+      
+        
+      
+    
+    
+      
+        
+      
+    
+  
+
+
+
+  
+  
+  
+    
+      
+        
+      
+    
+    
+      ERROR: glossdiv missing its required title
+    
+  
+
+
+
+  
+  
+    
+  
+
+
+
+  
+
+  
+    
+      
+    
+    
+      
+    
+  
+
+
+
+  
+  
+  
+    
+      
+        
+      
+    
+    
+      
+        
+      
+    
+  
+
+
+
+  
+  
+  
+    
+      
+        
+      
+    
+    
+      
+        
+      
+    
+  
+
+
+
+  
+  
+    
+  
+
+
+
+  
+  
+    
+  
+
+
+
+  
+  
+    
+  
+
+
+
+  
+  
+    
+  
+
+
+
+  
+  
+    
+  
+
+
+
+  
+  
+    
+      
+        
+      
+    
+    
+      
+        
+      
+    
+  
+
+
+
+  
+  
+  
+    
+      
+        
+      
+    
+    
+      
+        
+          
+            Note
+            Important
+            Caution
+            Warning
+            Tip
+          
+        
+      
+    
+  
+
+
+
+  
+  Question
+
+
+
+  
+  Answer
+
+
+
+  
+  Question
+
+
+
+  
+  
+  
+    
+      
+        
+      
+    
+    
+      
+        
+      
+    
+  
+
+
+
+  
+  
+    
+      
+        
+      
+    
+    
+      
+        
+      
+    
+  
+
+
+
+
+
+  
+  
+
+  
+    
+      
+        
+      
+    
+    
+      
+        
+        
+      
+    
+  
+
+
+
+  
+  
+
+  
+
+  
+    
+      
+        
+      
+    
+    
+      
+        
+        
+      
+    
+  
+
+
+
+  
+  
+
+  
+
+  
+    
+      
+        
+      
+    
+    
+      
+        
+        
+      
+    
+  
+
+
+
+  
+  
+
+  
+
+  
+    
+      
+        
+      
+    
+    
+      
+        
+        
+      
+    
+  
+
+
+
+  
+
+  
+    
+      
+    
+    
+      
+    
+  
+
+
+
+
+
+  
+  
+    
+
+      
+    
+    
+      
+    
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+  
+  
+  
+  
+    
+  
+
+  
+    
+      
+        XRef to nonexistent id: 
+        
+      
+      ???
+    
+
+    
+      
+      
+      
+        
+          
+            
+            Endterm points to nonexistent ID: 
+            
+          
+          ???
+        
+        
+          
+        
+      
+    
+
+    
+      
+        
+      
+    
+
+    
+      
+
+      
+        
+        
+          
+            
+              
+            
+            
+              
+            
+          
+        
+      
+
+      
+    
+  
+
+
+
+
+
+
diff --git a/xsl/common/tl.xml b/xsl/common/tl.xml
new file mode 100644
index 0000000..ce79640
--- /dev/null
+++ b/xsl/common/tl.xml
@@ -0,0 +1,1174 @@
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/tr.xml b/xsl/common/tr.xml
new file mode 100644
index 0000000..0e7b752
--- /dev/null
+++ b/xsl/common/tr.xml
@@ -0,0 +1,611 @@
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      Semboller
+      A
+      a
+      B
+      b
+      C
+      c
+      Ç
+      ç
+      D
+      d
+      E
+      e
+      F
+      f
+      G
+      g
+      Ğ
+      ğ
+      H
+      h
+      I
+      ı
+      İ
+      i
+      J
+      j
+      K
+      k
+      L
+      l
+      M
+      m
+      N
+      n
+      O
+      o
+      Ö
+      ö
+      P
+      p
+      R
+      r
+      S
+      s
+      Ş
+      ş
+      T
+      t
+      U
+      u
+      Ü
+      ü
+      V
+      v
+      Y
+      y
+      Z
+      z
+   
+
diff --git a/xsl/common/uk.xml b/xsl/common/uk.xml
new file mode 100644
index 0000000..ec04d42
--- /dev/null
+++ b/xsl/common/uk.xml
@@ -0,0 +1,1174 @@
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/vi.xml b/xsl/common/vi.xml
new file mode 100644
index 0000000..34a9e73
--- /dev/null
+++ b/xsl/common/vi.xml
@@ -0,0 +1,1174 @@
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/xh.xml b/xsl/common/xh.xml
new file mode 100644
index 0000000..ffc3eb6
--- /dev/null
+++ b/xsl/common/xh.xml
@@ -0,0 +1,1174 @@
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/common/zh_cn.xml b/xsl/common/zh_cn.xml
new file mode 100644
index 0000000..b2f1634
--- /dev/null
+++ b/xsl/common/zh_cn.xml
@@ -0,0 +1,637 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      其它
+      A
+      a
+      B
+      b
+      C
+      c
+      D
+      d
+      E
+      e
+      F
+      f
+      G
+      g
+      H
+      h
+      I
+      i
+      J
+      j
+      K
+      k
+      L
+      l
+      M
+      m
+      N
+      n
+      O
+      o
+      P
+      p
+      Q
+      q
+      R
+      r
+      S
+      s
+      T
+      t
+      U
+      u
+      V
+      v
+      W
+      w
+      X
+      x
+      Y
+      y
+      Z
+      z
+   
+
diff --git a/xsl/common/zh_tw.xml b/xsl/common/zh_tw.xml
new file mode 100644
index 0000000..0b29eae
--- /dev/null
+++ b/xsl/common/zh_tw.xml
@@ -0,0 +1,1206 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+ 
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+   
+
+   
+      
+   
+
+   
+      
+      
+      
+   
+
+   
+      
+      Symbols
+      A
+      a
+      À
+      à
+      Á
+      á
+      Â
+      â
+      Ã
+      ã
+      Ä
+      ä
+      Å
+      å
+      Ā
+      ā
+      Ă
+      ă
+      Ą
+      ą
+      Ǎ
+      ǎ
+      Ǟ
+      ǟ
+      Ǡ
+      ǡ
+      Ǻ
+      ǻ
+      Ȁ
+      ȁ
+      Ȃ
+      ȃ
+      Ȧ
+      ȧ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      B
+      b
+      ƀ
+      Ɓ
+      ɓ
+      Ƃ
+      ƃ
+      
+      
+      
+      
+      
+      
+      C
+      c
+      Ç
+      ç
+      Ć
+      ć
+      Ĉ
+      ĉ
+      Ċ
+      ċ
+      Č
+      č
+      Ƈ
+      ƈ
+      ɕ
+      
+      
+      D
+      d
+      Ď
+      ď
+      Đ
+      đ
+      Ɗ
+      ɗ
+      Ƌ
+      ƌ
+      Dž
+      Dz
+      ȡ
+      ɖ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      E
+      e
+      È
+      è
+      É
+      é
+      Ê
+      ê
+      Ë
+      ë
+      Ē
+      ē
+      Ĕ
+      ĕ
+      Ė
+      ė
+      Ę
+      ę
+      Ě
+      ě
+      Ȅ
+      ȅ
+      Ȇ
+      ȇ
+      Ȩ
+      ȩ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      ế
+      
+      
+      
+      
+      
+      
+      
+      
+      F
+      f
+      Ƒ
+      ƒ
+      
+      
+      G
+      g
+      Ĝ
+      ĝ
+      Ğ
+      ğ
+      Ġ
+      ġ
+      Ģ
+      ģ
+      Ɠ
+      ɠ
+      Ǥ
+      ǥ
+      Ǧ
+      ǧ
+      Ǵ
+      ǵ
+      
+      
+      H
+      h
+      Ĥ
+      ĥ
+      Ħ
+      ħ
+      Ȟ
+      ȟ
+      ɦ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      I
+      i
+      Ì
+      ì
+      Í
+      í
+      Î
+      î
+      Ï
+      ï
+      Ĩ
+      ĩ
+      Ī
+      ī
+      Ĭ
+      ĭ
+      Į
+      į
+      İ
+      Ɨ
+      ɨ
+      Ǐ
+      ǐ
+      Ȉ
+      ȉ
+      Ȋ
+      ȋ
+      
+      
+      
+      
+      
+      
+      
+      
+      J
+      j
+      Ĵ
+      ĵ
+      ǰ
+      ʝ
+      K
+      k
+      Ķ
+      ķ
+      Ƙ
+      ƙ
+      Ǩ
+      ǩ
+      
+      
+      
+      
+      
+      
+      L
+      l
+      Ĺ
+      ĺ
+      Ļ
+      ļ
+      Ľ
+      ľ
+      Ŀ
+      ŀ
+      Ł
+      ł
+      ƚ
+      Lj
+      ȴ
+      ɫ
+      ɬ
+      ɭ
+      
+      
+      
+      
+      
+      
+      
+      
+      M
+      m
+      ɱ
+      
+      ḿ
+      
+      
+      
+      
+      N
+      n
+      Ñ
+      ñ
+      Ń
+      ń
+      Ņ
+      ņ
+      Ň
+      ň
+      Ɲ
+      ɲ
+      ƞ
+      Ƞ
+      Nj
+      Ǹ
+      ǹ
+      ȵ
+      ɳ
+      
+      
+      
+      
+      
+      
+      
+      
+      O
+      o
+      Ò
+      ò
+      Ó
+      ó
+      Ô
+      ô
+      Õ
+      õ
+      Ö
+      ö
+      Ø
+      ø
+      Ō
+      ō
+      Ŏ
+      ŏ
+      Ő
+      ő
+      Ɵ
+      Ơ
+      ơ
+      Ǒ
+      ǒ
+      Ǫ
+      ǫ
+      Ǭ
+      ǭ
+      Ǿ
+      ǿ
+      Ȍ
+      ȍ
+      Ȏ
+      ȏ
+      Ȫ
+      ȫ
+      Ȭ
+      ȭ
+      Ȯ
+      ȯ
+      Ȱ
+      ȱ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      P
+      p
+      Ƥ
+      ƥ
+      
+      
+      
+      
+      Q
+      q
+      ʠ
+      R
+      r
+      Ŕ
+      ŕ
+      Ŗ
+      ŗ
+      Ř
+      ř
+      Ȑ
+      ȑ
+      Ȓ
+      ȓ
+      ɼ
+      ɽ
+      ɾ
+      
+      
+      
+      
+      
+      
+      
+      
+      S
+      s
+      Ś
+      ś
+      Ŝ
+      ŝ
+      Ş
+      ş
+      Š
+      š
+      Ș
+      ș
+      ʂ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      T
+      t
+      Ţ
+      ţ
+      Ť
+      ť
+      Ŧ
+      ŧ
+      ƫ
+      Ƭ
+      ƭ
+      Ʈ
+      ʈ
+      Ț
+      ț
+      ȶ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      U
+      u
+      Ù
+      ù
+      Ú
+      ú
+      Û
+      û
+      Ü
+      ü
+      Ũ
+      ũ
+      Ū
+      ū
+      Ŭ
+      ŭ
+      Ů
+      ů
+      Ű
+      ű
+      Ų
+      ų
+      Ư
+      ư
+      Ǔ
+      ǔ
+      Ǖ
+      ǖ
+      Ǘ
+      ǘ
+      Ǚ
+      ǚ
+      Ǜ
+      ǜ
+      Ȕ
+      ȕ
+      Ȗ
+      ȗ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      V
+      v
+      Ʋ
+      ʋ
+      
+      
+      
+      ṿ
+      W
+      w
+      Ŵ
+      ŵ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      X
+      x
+      
+      
+      
+      
+      Y
+      y
+      Ý
+      ý
+      ÿ
+      Ÿ
+      Ŷ
+      ŷ
+      Ƴ
+      ƴ
+      Ȳ
+      ȳ
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      Z
+      z
+      Ź
+      ź
+      Ż
+      ż
+      Ž
+      ž
+      Ƶ
+      ƶ
+      Ȥ
+      ȥ
+      ʐ
+      ʑ
+      
+      
+      
+      
+      
+      
+   
+
diff --git a/xsl/component.xsl b/xsl/component.xsl
new file mode 100644
index 0000000..ce213b7
--- /dev/null
+++ b/xsl/component.xsl
@@ -0,0 +1,184 @@
+
+
+
+
+0
+0
+0
+
+
+
+
+  
+    
+    
+      
+        
+      
+    
+  
+
+
+
+  
+    
+    
+      
+        
+      
+    
+  
+
+
+
+  
+    
+  
+
+
+
+  
+  
+  
+  
+
+  
+
+  
+    
+    
+    
+    
+  
+
+  
+
+  
+    
+  
+
+
+
+  
+  
+  
+  
+  
+  
+    
+  
+  
+    
+    \setcounter{secnumdepth}{-1}

+    
+      
+        
+      
+    
+    
+    
+      
+        
+          
+          
+          
+        
+      
+      
+        
+          
+          
+          
+        
+      
+    
+  
+  
+
+
+
+  
+  
+    
+    \setcounter{secnumdepth}{
+    
+    }

+    
+      
+        
+      
+    
+  
+
+
+
+
+  
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  
+  
+    
+      
+    
+  
+  
+    
+      
+      
+    
+  
+  
+  
+
+
+
+  
+    
+    0
+    1
+    
+  
+  
+    
+    
+  
+  
+
+
+
+
+  
+    
+    
+      Cannot start a new page at a specific page number
+    
+    
+      \cleardoublepage

+    
+    
+      \clearpage

+    
+    
+  
+
+
+
diff --git a/xsl/cover.xsl b/xsl/cover.xsl
new file mode 100644
index 0000000..ea7d0ba
--- /dev/null
+++ b/xsl/cover.xsl
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+
+
+  
+  
+    
+    
+  
+
+
+
+  
+  
+    
+    
+  
+
+
+
+  
+  
+
+  
+  
+
+  
+  
+    
+  
+  
+    
+  
+  
+
+
+
+  
+    
+      
+    
+  
+
+  
+
+  \putoncover{
+                
+  }

+
+
+
+  
+    
+    
+  
+
+
+
diff --git a/xsl/dingbat.xsl b/xsl/dingbat.xsl
new file mode 100644
index 0000000..18f2aed
--- /dev/null
+++ b/xsl/dingbat.xsl
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+  bullet
+  
+    
+  
+
+
+
+  bullet
+  
+     $\bullet$ 
+    
+    \textnormal{\copyright}
+    \textnormal{\textregistered}
+    \texttrademark{}
+     
+    "
+    "
+    '
+    '
+    
+    
+    
+    
+    
+       [dingbat?] 
+    
+  
+
+
+
diff --git a/xsl/docbook.xsl b/xsl/docbook.xsl
new file mode 100644
index 0000000..8289727
--- /dev/null
+++ b/xsl/docbook.xsl
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xsl/docbookng.xsl b/xsl/docbookng.xsl
new file mode 100644
index 0000000..4f8e7a6
--- /dev/null
+++ b/xsl/docbookng.xsl
@@ -0,0 +1,7 @@
+
+
+
+
+
+
diff --git a/xsl/email.xsl b/xsl/email.xsl
new file mode 100644
index 0000000..349b095
--- /dev/null
+++ b/xsl/email.xsl
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+  \href{mailto:
+  
+  }{
+  
+    
+      
+    
+  
+  }
+
+
+
diff --git a/xsl/equation.xsl b/xsl/equation.xsl
new file mode 100644
index 0000000..359822d
--- /dev/null
+++ b/xsl/equation.xsl
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+
+[H]
+
+
+
+  
+  
+    
+  
+  
+    
+    
+  
+  
+    
+  
+  
+
+
+
+  
+    
+      
+    
+  
+
+  
+  
+    
\begin{dbequation}
+    
+    
+      
+        
+      
+      
+        
+      
+    
+    

+    
+    
\caption{
+    
+       
+    
+    }

+    
+    
\end{dbequation}

+  
+  
+    
+    
+  
+  
+    
+    
\begin{equation}

+    
+    
+    
\end{equation}

+  
+  
+
+
+
+
+  
+
+
+
+
+
+
+  
+    
+  
+
+  
+    
+    
+    
+    
+      
+    
+    
+      
+      
+      
+        
+      
+      
+        
+      
+      
+        
+      
+      
+    
+    
+    
+      
+      
+      
+        
+      
+      
+      
+        
+      
+      
+    
+    
+    
+  
+  
+  
+    
+  
+
+
+
diff --git a/xsl/errors.xsl b/xsl/errors.xsl
new file mode 100644
index 0000000..286b7ef
--- /dev/null
+++ b/xsl/errors.xsl
@@ -0,0 +1,21 @@
+
+
+
+
+  
+    No template matches 
+    
+    
+       in 
+      
+    
+    .
+  
+
+  % <
+  
+  >

+   
+
+
+
diff --git a/xsl/example.xsl b/xsl/example.xsl
new file mode 100644
index 0000000..81d42e1
--- /dev/null
+++ b/xsl/example.xsl
@@ -0,0 +1,64 @@
+
+
+
+
+
+[H]
+none
+
+
+
+  
+    
+      
+    
+    
+      
+    
+  
+
+
+
+  
\begin{longfloat}{example}{
+  
+  
+  }

+  
+  
\end{longfloat}

+
+
+
+  
\begin{example}
+  
+  
+    
+      
+    
+    
+      
+    
+  
+  

+  
+  
+  
+  
\end{example}

+
+
+
+  
+  
+
+
+
+  \caption
+  
+  
+    
+  
+
+
+
diff --git a/xsl/fasttext.xsl b/xsl/fasttext.xsl
new file mode 100644
index 0000000..a44a6b6
--- /dev/null
+++ b/xsl/fasttext.xsl
@@ -0,0 +1,102 @@
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+  
+  &t1;
+  
+  &t2;
+
+
+
+
+  &t1;
+  
+  &t2;
+
+
+
+  
+  
+    &v1;
+     
+    &v2;
+  
+
+
+
+  &v1;
+   
+  &v2;
+
+
+
+
+  
+  
+
+
+
+
+  
+  
+  
+  
+    
+    
+    
+  
+
+
+
+
+  
+  &u1;
+  
+  &u2;
+
+
+
+
+  
+  &h1;
+  
+  &h2;
+
+
+
+
+  
+
+
+
+  
+  
+    
+      
+    
+  
+
+
+
diff --git a/xsl/figure.xsl b/xsl/figure.xsl
new file mode 100644
index 0000000..5939dc4
--- /dev/null
+++ b/xsl/figure.xsl
@@ -0,0 +1,127 @@
+
+
+
+
+
+
+0
+
+[htbp]
+center
+
+
+
+  \begin{figure}
+  
+  
+    
+      
+    
+    
+      [H]
+    
+    
+      
+    
+  
+  

+
+  
+  
+    
+  
+
+  
+  
+  
+  
+
+  
+  
+    
+  
+  \end{figure}

+
+
+
+
+  
+  
+  
+
+
+
+
+  
+  
+
+
+
+  
+  
+
+
+
+
+
+
+  
+
+  
+  
+
+    
+      \caption
+      
+    
+
+    
+      
+        
+      
+    
+
+  
+  
+
+    
+    
+      
+        \refstepcounter{figure}
+        
+          
+        
+      
+    
+
+    
+      
+        \addtocounter{figure}{-1}
+      
+
+      \caption
+      
+
+      
+        
+          
+        
+      
+    
+    
+  
+  
+
+
+
+
diff --git a/xsl/footnote.xsl b/xsl/footnote.xsl
new file mode 100644
index 0000000..0606e50
--- /dev/null
+++ b/xsl/footnote.xsl
@@ -0,0 +1,269 @@
+
+
+
+
+
+
+
+
+
+
+
+  endnotes
+
+  
+  \mbox{}\par
+
+  
+  \normalsize
+  %
+  \leftskip=1.8em\noindent
+  \makebox[0pt][r]{\theenmark.~~\rule{0pt}{\baselineskip}}\ignorespaces
+  
+
+
+
+
+
+
+
+  
+  
+  
+    \footnotemark{}
+  
+  
+    \footnote{
+    
+      
+    
+    
+    }
+  
+  
+
+
+
+
+  \footnotemark{}
+
+
+
+  
+  \footref{
+  
+  }
+
+
+
+
+  
+  
+    \addtocounter{footnote}{-
+    
+    }
+    
+  
+
+
+
+  \stepcounter{footnote}

+  \footnotetext{
+  
+  
+  }
+
+
+
+
+  
+  
+
+  
+    
+    
+  
+
+
+
+
+  
+
+
+
+
+  
+
+
+
+
+
+
+
+
+  
+    \makeatletter

+    
+    \let\footnote=\endnote

+    \let\footnotetext=\endnotetext

+    \let\footnotemark=\endnotemark

+    \let\c@footnote=\c@endnote

+    \makeatother

+    
+    
+      \usepackage{chngcntr}

+      \counterwithout{footnote}{chapter}

+    
+  
+
+
+
+
+
+  
+    
+  
+    
+  
+
+
+
+  
+    
+    
+    endnotes
+    
+  
+
+  \usepackage{
+  
+  }

+
+  
+    \def\enoteheading{
+    
+    }

+  
+
+  
+    \def\enotesize{
+    
+    }

+  
+
+  
+    \def\enoteformat{
+    
+    }

+  
+
+
+
+
+
+
+  
+  
+    \theendnotes

+  
+
+
+
+
+
+
+  
+
+
+
+  
+  
+    
+    
+      
+    
+    
+      
+    
+    
+  
+
+  
+
+  
+    Endnotes sections found: 
+  
+
+  
+
+    
+      
+        
+      
+    
+
+    
+      
+         Endnotes headings level: 
+         
+    
+
+    
+    
+      
+        
+          
+            
+            
+            
+            
+          
+        
+      
+    
+
+    
+    
+      
+      
+        
+      
+      
+        
+          
+          
+          
+          
+          
+        
+      
+      
+    
+
+    
+      \setcounter{endnote}{0}
+    
+    \addtoendnotes{\protect
+    
+    }

+
+  
+
+
+
diff --git a/xsl/format.xsl b/xsl/format.xsl
new file mode 100644
index 0000000..69d7c4d
--- /dev/null
+++ b/xsl/format.xsl
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+  
+  
+    
+  
+
+
+
+
+
+
+  
+  
+    1
+    
+    
+  
+
+
+
+
+
+
+  
+  
+  
+  
+  
+    
+    
+      
+        
+      
+        
+      
+        
+          
+          
+          
+        
+      
+    
+  
+  
+    
+  
+  
+
+
+
+
+
+
+  
+  
+  
+  
+  
+    *** No mapping for 
+  
+  
+
+
+
+
diff --git a/xsl/glossary.xsl b/xsl/glossary.xsl
new file mode 100644
index 0000000..a9a6568
--- /dev/null
+++ b/xsl/glossary.xsl
@@ -0,0 +1,234 @@
+
+
+
+
+5
+1
+
+
+
+
+  % --------	

+  % GLOSSARY	

+  % --------	

+
+  
+    
+  
+
+  
+    
+      
+    
+  
+
+  
+  
+    
+    
+      
+      
+      
+    
+  
+  
+    
+    
+      
+      
+    
+    
+  
+  
+    
+    
+      
+      
+    
+    
+  
+  
+
+
+
+  
+  
+  
+  
+    
+  
+
+  
+    
\noindent

+    \begin{description}

+    
+    
\end{description}

+  
+
+  
+    
+  
+
+
+
+
+
+
+
+
+
+
+
+  
+  
+    
+      
+    
+  
+  
+    
+  
+  {
+  
+    
+  
+  }

+  
+
+  
+  
+  
+  
+  
\noindent

+  \begin{description}

+  
+  
\end{description}

+
+
+
+
+
+
+
+
+  
\noindent

+  \begin{description}

+  
+  
\end{description}

+
+
+
+
+
+
+
+
+
+  
+  
+  


+
+
+
+  \item[
+  
+    \hypertarget{
+    
+    }
+  
+  {
+  
+    
+  
+  
+  }]~ 
+
+
+
+   (\texttt{}) 
+
+  
+
+   [  ]  
+
+
+
+
+  
+
+  

+  
+  
+
+
+
+  
+  
+  
+  
+    
+  
+   
+  
+    
+      


+    
+    
+    
+  
+  "
+  
+    
+      
+        
+        
+          
+          
+            
+          
+          
+            
+          
+          
+        
+      
+    
+    
+      
+    
+  
+  "
+
+  
+    
+      .
+    
+    
+      , 
+    
+  
+
+
+
+  
+
+
+
+  
+
+
+
+
diff --git a/xsl/graphic.xsl b/xsl/graphic.xsl
new file mode 100644
index 0000000..e68c4e6
--- /dev/null
+++ b/xsl/graphic.xsl
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+  
+    
+  
+  
+  
+    
+  
+
+
+
+
+
+  
+  
+    
+      
+    
+    \imgexists{
+    
+    }{
+    
+    }{[
+    
+      
+    
+     not found]}
+  
+  
+    
+  
+  
+
+
+
diff --git a/xsl/htmltbl.xsl b/xsl/htmltbl.xsl
new file mode 100644
index 0000000..818cbd2
--- /dev/null
+++ b/xsl/htmltbl.xsl
@@ -0,0 +1,1127 @@
+
+
+
+
+none
+
+
+
+
+  tabular
+  \linewidth-2\tabcolsep
+  all
+
+  
+    
+      
+    
+  
+
+  
+  
+    
+      
+    
+  
+
+  
+  
+    
+      
+        
+      
+      
+        
+          
+          
+        
+      
+    
+  
+
+  
+  
+    
+      
+        
+          
+        
+      
+      
+    
+  
+
+  
+    
+    
+      
+        
+        
+      
+    
+    
+      
+        
+        
+      
+    
+    
+  
+
+  
+  
+  
+
+  
+    
+    
+    
+      
+        
+      
+    
+    
+      
+        
+        
+        
+      
+    
+    
+
+    
+    
+    
+      
+        
+      
+    
+    
+      
+        
+        
+      
+    
+    
+    
+      
+      
+    
+  
+
+  
+  
+    
+      
+      
+    
+  
+
+  
+
+  
+
+  \begingroup%

+
+  
+  
+    \setlength{\tabcolsep}{
+    
+    
+      
+      \linewidth
+    
+    
+      
+    
+    
+    }%

+  
+
+  \setlength{\tablewidth}{
+  
+  }%

+
+  
+    
+      
+      
+    
+  
+
+  
+    
+      
+    
+  
+  
+  
+
+  
+  
+    
+    
+    
+  
+
+  
+  
+    \hline
+  
+  

+
+  
+  
+    
+      
+      
+      
+    
+  
+
+  
+    
+    
+  
+
+  
+  
+    
+    
+    
+  
+
+  
+  
+    \hline
+  
+  

+  
+  \end{
+  
+  }\endgroup%

+
+
+
+
+
+
+  
+  
+  
+
+  
+    
+    
+    
+    
+  
+
+  
+  \tabularnewline

+  
+  
+  
+    
+    
+      
+        
+        
+      
+    
+    
+      
+        
+        
+      
+    
+    
+  
+
+
+
+
+  
+  
+    
+    
+  
+
+
+
+
+  
+  
+    
+    
+  
+
+
+
+
+
+  
+  
+  
+  
+
+  
+    
+    thead
+    tbody
+    tfoot
+    
+    thead
+    tbody
+    
+  
+
+  
+    
+      
+        
+        
+        
+        
+      
+    
+
+    
+      
+      
+    
+
+    
+      
+      
+      
+      
+    
+  
+
+
+
+
+
+
+
+  
+  
+
+  
+    
+      
+        
+      
+      
+        
+      
+      
+        
+      
+      
+        
+      
+    
+  
+
+  
+
+    
+      0
+    
+
+    
+      0
+    
+
+    
+    
+      
+        
+          
+          1
+          
+          1
+          
+          1
+          1
+          1
+          
+          1
+          0
+        
+      
+
+      
+        1
+      
+    
+
+    
+    
+      1
+    
+    
+      1
+    
+  
+
+
+
+  
+  
+
+  
+  
+
+  
+    
+      
+        
+      
+      
+        
+      
+      
+        
+      
+      
+        
+      
+    
+  
+
+  
+    
+      0
+    
+    
+      0
+    
+    
+      0
+    
+    
+    
+      1
+    
+  
+
+
+
+
+
+  
+  
+  
+  
+
+  
+ 
+  
+
+    
+
+    
+    
+    
+      
+      
+
+      
+      
+        
+        
+        
+        
+      
+    
+
+      
+
+      
+        
+        
+          
+        
+        
+          
+        
+        
+      
+
+      
+        
+        
+          
+        
+        
+          
+        
+        
+      
+
+      
+
+      
+
+      
+        
+          
+            
+          
+          
+            
+          
+          
+            
+          
+        
+      
+
+      
+        
+          
+            
+          
+          
+            
+          
+          
+            
+          
+        
+      
+
+      
+        
+          
+            
+          
+          
+            
+          
+          
+            
+          
+        
+      
+
+      
+        
+        
+          
+        
+        
+          
+        
+        
+          
+        
+        
+          
+        
+        
+          
+            
+          
+        
+        
+          
+            
+          
+        
+        
+          
+            
+          
+        
+        
+          
+            
+          
+        
+        
+          
+            
+          
+        
+        
+          
+        
+      
+
+      
+      
+
+        
+          
+          
+          
+          
+        
+
+      
+      
+        
+        
+          
+          
+          
+          
+          
+          
+        
+
+      
+      
+    
+  
+
+
+
+
+  
+    
+      
+    
+  
+
+
+
+
+
+
+  
+  
+  
+  
+    
+      
+        
+      
+    
+  
+
+
+
+
+  
+  
+  
+  
+  
+    
+      
+    
+    
+      
+      
+      
+
+      
+      
+        
+          
+        
+      
+
+      
+      
+
+      
+
+      
+        
+          
+            
+            
+            
+          
+        
+        
+          
+            
+            
+            
+          
+        
+      
+    
+  
+
+
+
+
+
+  
+  
+
+  
+    
+    
+
+    
+      
+        
+        
+          
+          
+            
+          
+          
+            
+          
+          
+        
+      
+    
+    
+      
+        
+        
+          
+          
+            
+          
+          
+            
+          
+          
+        
+      
+    
+    
+      
+      
+        
+      
+      
+        
+        
+      
+      
+    
+
+    
+
+    
+      
+
+      
+      
+      
+      
+        1
+        
+        
+          \newtblstarfactor
+        
+        
+          
+        
+      
+      
+        
+          
+          \newtblstarfactor
+        
+        
+          
+        
+      
+      
+        
+          
+          \tablewidth
+        
+        
+          
+        
+        
+          
+        
+      
+      
+        
+        
+          
+          pt
+        
+        
+          
+        
+        
+          
+        
+      
+      
+        
+          
+            Warning: Unrecognized width attribute (
+            
+            ) in column of HTML table
+          
+        
+        
+        
+          \newtblstarfactor
+        
+        1
+      
+      
+    
+  
+
+
+
+
+
+  
+  
+
+  
+  
+    
+
+    
+      
+      
+        
+        
+        
+          
+        
+        
+          
+        
+        
+      
+      
+        
+      
+      
+    
+    
+      
+      
+    
+  
+  
+    
+  
+  
+
+
+
+
+  
+  
+
+  
+  
+    
+
+    
+      
+      
+        
+        
+        
+          
+        
+        
+          
+        
+        
+      
+      
+        
+      
+      
+    
+    
+      
+      
+    
+  
+  
+    
+  
+  
+
+
+
+
+
+
+  
+  
+
+  
+    
+      
+        
+      
+      
+        
+        
+      
+    
+
+    
+      
+      
+    
+  
+
+
+
+
+
+
+
+  
+  
+  
+
+  
+  
+    
+    
+      
+      
+    
+  
+  
+
+    
+      
+        
+          
+        
+        
+          
+        
+      
+    
+
+    
+    
+      
+      
+        
+      
+
+      
+        
+        
+          
+        
+        
+          
+          
+        
+        
+          
+          
+        
+      
+
+      
+        
+        
+        
+      
+    
+    
+      
+        
+        
+      
+    
+    
+    
+      
+        
+        
+      
+    
+    
+  
+  
+
+
+
+  
+  
+  
+
+  
+
+  
+    
+      
+        
+      
+      
+        
+      
+    
+  
+
+  
+  
+  
+    
+    
+      
+    
+    
+      
+      
+        
+      
+      
+        
+          
+        
+      
+      
+    
+
+    
+      
+      
+      
+        
+      
+      
+        
+        
+      
+      
+        
+        
+      
+    
+
+    
+      
+      
+      
+    
+  
+  
+  
+    
+      
+      
+    
+  
+  
+  
+    
+      
+      
+    
+  
+  
+  
+    
+      
+      
+    
+  
+  
+
+
+
diff --git a/xsl/index.xsl b/xsl/index.xsl
new file mode 100644
index 0000000..786b05a
--- /dev/null
+++ b/xsl/index.xsl
@@ -0,0 +1,186 @@
+
+
+
+
+5
+1
+
+
+
+  
+  
+  
+    
+      
+    
+    @{
+  
+  
+  
+    
+  
+  
+    }
+  
+
+
+
+  
+  
+  \index{
+  
+    
+  
+  
+    !
+    
+      
+    
+  
+  
+    !
+    
+      
+    
+  
+  
+    |see{
+    
+      
+    
+    }
+  
+  
+    |seealso{
+    
+      
+    
+    }
+  
+  
+  
+  
+    
+  
+  
+    
+    
+    
+    
+      |(
+    
+    
+      
+      Error: cannot find indexterm[@startref='
+      
+      '] end of range
+      
+    
+    
+  
+  
+  }
+  
+  
+    

+  
+
+
+
+
+
+  
+  
+    
+  
+
+
+
+
+
+  
+  
+    
+  
+
+
+
+
+
+
+
+
+
+  
+  
+  
+
+  
+    
+    
+    
+  
+
+
+
+
+
+
+ 
+
+
+
+
+
+
+
+  
+    \setcounter{secnumdepth}{-1}

+    
+      
+    
+  
+
+  \printindex

+
+  
+    
+      
+    
+  
+
+
+
+
+
+
+
+
+  
+
+
+
+  
+    
+  
+
+
+
+  
+
+
+
+
+  
+
+
+
diff --git a/xsl/inlined.xsl b/xsl/inlined.xsl
new file mode 100644
index 0000000..d22d17d
--- /dev/null
+++ b/xsl/inlined.xsl
@@ -0,0 +1,791 @@
+
+
+
+
+
+1
+monoseq,sansseq
+
+0
+
+
+
+  
+    \sloppy

+  
+
+
+
+
+  
+  
+  
+  
+    
+      
+    
+  
+  
+    
+  
+  
+
+
+
+  
+    
+  
+  \textbf{
+  
+  }
+
+
+
+  
+    
+  
+  \emph{
+  
+  }
+
+
+
+
+
+  
+    
+  
+  \textsf{
+  
+    
+    
+  
+  }
+
+
+
+  
+    
+  
+  
+
+
+
+  
+    
+  
+  {\ttfamily\bfseries{
+  
+    
+    
+  
+  }}
+
+
+
+  
+    
+  
+  $^{\text{
+  
+  }}$
+
+
+
+  
+    
+  
+  $_{\text{
+  
+  }}$
+
+
+
+  
+    
+  
+  \texttt{
+  
+    \small{
+  
+  
+    
+    
+  
+  
+    }
+  
+  }
+
+
+
+  
+    
+  
+  \texttt{\emph{\small{
+  
+    
+    
+  
+  }}}
+
+
+
+  
+    
+  
+  \underline{
+  
+  }
+
+
+
+
+
+
+  
+
+
+
+  
+
+
+
+  
+    
+  
+  
+
+
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+  
+  
+    
+    
+  
+  
+    
+  
+  
+
+
+
+
+  
+  
+    
+  
+
+
+
+  
+  
+    
+    
+  
+
+
+
+
+  
+    
+      
+    
+  
+
+
+
+  
+  
+    
+      
+        
+      
+    
+  
+
+
+
+  
+
+
+
+
+  
+     
+      
+      
+        
+          
+        
+      
+      (
+      
+      )
+    
+    
+      
+    
+  
+
+
+
+  
+  
+    , 
+  
+
+
+
+  
+  
+    , 
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+    
+      
+        
+      
+    
+  
+
+  
+    
+      
+      
+      
+    
+    
+      
+      
+      
+    
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+  
+    trademark
+  
+
+
+
+  
+  
+    
+  
+
+
+
+  
+  
+    
+  
+
+
+
+  
+    
+  
+
+  
+  
+    
+      
+      
+    
+  
+  
+    
+      
+        
+          
+        
+        
+          
+        
+      
+    
+    
+    
+    
+      
+        
+        
+      
+    
+    
+      
+        Error: no ID glossentry for glossterm: 
+        
+        .
+      
+      
+    
+    
+  
+  
+    
+  
+  
+
+
+
+  
+  
+    
+       
+      +
+      -
+      -
+      -
+      
+      -
+    
+  
+  
+    
+    
+  
+
+
+
+
+
+  
+  
+  
+    
+      
+        
+          \hspace{2pt}\ensuremath{\to{}}
+        
+        +
+      
+    
+    
+  
+  
+  
+     (
+    
+    )
+  
+
+
+
+  
+
+
+
+
+
+  
+  
+  
+
+
+
+
+
+  
+    \comment
+    
+      [title={
+      
+      }]
+    
+    {
+    
+      
+    
+    
+    }
+  
+
+
+
+
+
+  
+
+
+
+  
+
+
+
+
+
+  
+
+
+
+
+
+
+  
+  
+  
+  
+  
+
+  
+    
+    
+    
+    
+    
+  
+
+
+
+  
+  
+  
+
+  
+    
+    
+    
+  
+
+
+
+  
+  
+  
+
+  
+    
+    
+      
+    
+    
+      
+    
+    
+  
+
+  
+    
+    
+    
+    
+  
+
+
+
+  
+  
+  
+
+  
+    
+    
+    
+    
+  
+
+
+
+  
+  
+  
+
+  
+  
+    
+    
+    
+  
+  
+
+
+
diff --git a/xsl/keyword.xsl b/xsl/keyword.xsl
new file mode 100644
index 0000000..20c3fe4
--- /dev/null
+++ b/xsl/keyword.xsl
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+  
+
+
+
+
+
+  \index{
+  
+  }
+
+
+
diff --git a/xsl/labelid.xsl b/xsl/labelid.xsl
new file mode 100644
index 0000000..36494b8
--- /dev/null
+++ b/xsl/labelid.xsl
@@ -0,0 +1,236 @@
+
+
+
+
+
+
+1
+
+
+
+  
+    
+      
+        
+      
+    
+  
+
+
+
+  
+  
+  
+  
+  
+  
+  
+
+  
+    
+    
+      
+        
+        
+        
+        
+      
+    
+    
+      
+    
+    
+  
+
+  
+  
+    
+    
+      
+      Warning: only an integer in @label can be processed: '
+      
+      '
+      
+    
+    
+      
+      \setcounter{
+      
+      }{
+      
+      }

+    
+    
+  
+
+  
+  
+    
+  
+  
+  
+
+
+
+
+  
+  
+  
+  
+  
+  
+  
+
+  
+    
+    
+      
+        
+        
+        
+        
+      
+    
+    
+      
+    
+    
+  
+
+  
+  {
+  
+  }

+  
+    
+  
+
+
+
+
+  
+  
+  
+  
+  
+    
+      
+        
+      
+      
+        
+      
+    
+  
+
+  
+  
+    \label{
+    
+    }
+    
+    \hyperlabel{
+    
+    }
+    
+      %

+    
+  
+
+
+
+
+  
+  
+    
+  
+  { 
+  
+  
+  }
 
+
+
+
+
+  
+  
+  
+
+  
+  
+    
+      
+    
+  
+
+  
+  
+
+  
+     
+    
+    
+      
+      
+    
+    
+      
+      
+        
+      
+      
+    
+    
+     
+  
+
+
+
+  
+
+
+
diff --git a/xsl/lang.xsl b/xsl/lang.xsl
new file mode 100644
index 0000000..3a2ae4f
--- /dev/null
+++ b/xsl/lang.xsl
@@ -0,0 +1,291 @@
+
+
+
+
+
+DejaVu Serif
+DejaVu Sans
+DejaVu Sans Mono
+
+
+latin1
+
+CJK
+cyberbit
+
+  
+  
+  
+
+
+
+
+  
+  
+    
+      
+        
+          
+            
+            
+          
+        
+      
+    
+
+    
+      \usepackage[
+      
+      ]{babel}

+      \usepackage{cmap}

+    
+  
+
+
+
+  
+  
+    
+      
+      
+    
+  
+
+  
+  
+    \setuplocale{
+    
+    }

+  
+
+  
+  
+    
+      
+        
+      
+    
+
+    
+      \setupbabel{
+      
+      }

+    
+  
+
+
+
+
+  
+
+  
+  
+    
+      
+    
+    afrikaans
+    breton
+    catalan
+    czech
+    welsh
+    danish
+    ngerman
+    greek
+    
+      
+        canadian
+        british
+        USenglish
+        
+      
+    
+    esperanto
+    spanish
+    estonian
+    finnish
+    french
+    irish
+    scottish
+    galician
+    hebrew
+    croatian
+    hungarian
+    bahasa
+    italian
+    norsk
+    dutch
+    norsk
+    polish
+    
+      
+        brazil
+        portuges
+      
+    
+    romanian
+    russian
+    slovak
+    slovene
+    swedish
+    turkish
+    ukrainian
+  
+
+
+
+
+  
+  
+    \begin{CJK}{UTF8}{
+    
+    }

+  
+
+
+
+  
+  
+    \clearpage

+    \end{CJK}

+  
+
+
+
+
+
+
+  
+  
+    1
+    1
+    1
+    0
+  
+
+
+
+
+  
+    
+      
+      
+    
+  
+
+  
+    
+      
+    
+  
+
+  %%<params>

+  %% document.language 
+  
+  

+  
+    %% latex.encoding utf8

+  
+  
+    %% latex.engine.options 
+    
+    

+  
+  
+    %% latex.index.tool 
+    
+    

+  
+  
+    %% latex.index.language 
+    
+    

+  
+  %%</params>

+
+
+
+  
+  
+    
+      
+    
+  
+
+  
+  \IfFileExists{ifxetex.sty}{%
+    \usepackage{ifxetex}%
+  }{%
+    \newif\ifxetex
+    \xetexfalse
+  }
+  
+  \ifxetex

+  \usepackage{fontspec}

+  \usepackage{xltxtra}

+  
+  \defaultfontfeatures{Mapping=tex-text}

+  
+  \else

+
+  
+  
+  
+    
+    \usepackage{ucs}

+    \def\hyperparamadd{unicode=true}

+  
+  
+    \usepackage[T1]{fontenc}

+    \usepackage[latin1]{inputenc}

+  
+  
+    \usepackage[T2A,T2D,T1]{fontenc}

+    \usepackage{ucs}

+    \usepackage[utf8x]{inputenc}

+    \def\hyperparamadd{unicode=true}

+  
+  
+
+  \fi

+
+
+
+  
+  
+    
+      
+    
+  
+  
+  
+    \lstset{inputencoding=utf8x, extendedchars=true}

+  
+  
+    
+    \usepackage{unicode}

+  
+  
+
+
+
+
+  
+  
+    
+  
+  
+    
+  
+
+
+
diff --git a/xsl/latex_book.xsl b/xsl/latex_book.xsl
new file mode 100644
index 0000000..7dd9717
--- /dev/null
+++ b/xsl/latex_book.xsl
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+
+
+
+  
+  
+
+
+
+  
+
+
+
+  
+    
+      
\cbstart{}
+      
+      \cbend{}

+    
+    
+      \cbstart{}
+      
+      \cbend{}
+    
+    
+      
+        Revisionflag on unexpected element: 
+        
+         (Assuming block)
+      
+      
\cbstart{}
+      
+      \cbend{}

+    
+  
+
+
+
diff --git a/xsl/latex_book_fast.xsl b/xsl/latex_book_fast.xsl
new file mode 100644
index 0000000..55b11dd
--- /dev/null
+++ b/xsl/latex_book_fast.xsl
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xsl/legalnotice.xsl b/xsl/legalnotice.xsl
new file mode 100644
index 0000000..2399f8f
--- /dev/null
+++ b/xsl/legalnotice.xsl
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+  \def\DBKlegaltitle{
+  
+  }

+  \begin{DBKlegalnotice}

+  
+  \end{DBKlegalnotice}

+
+
+
+  
+
+
+
+  
+  
+    
%% Legalnotices

+    
+    
+    \def\DBKlegalblock{

+    
+    }

+  
+
+
+
diff --git a/xsl/lists.xsl b/xsl/lists.xsl
new file mode 100644
index 0000000..7334a4b
--- /dev/null
+++ b/xsl/lists.xsl
@@ -0,0 +1,974 @@
+
+
+
+
+
+
+, 
+, 
+0
+
+
+
+
+  
{\sc 
+  
+  }

+  
+    
+  
+  
+  \nopagebreak

+
+
+
+
+  
+  
+  
+  
+  
+    *** Error: itemizedlist too deeply nested (> 4)
+    [Error: itemizedlist too deeply nested]
+  
+  
+    *** Error: orderedlist too deeply nested (> 4)
+    [Error: orderedlist too deeply nested]
+  
+  
+    *** Error: lists too deeply nested (> 6)
+    [Error: lists too deeply nested]
+  
+  
+    
+    
+  
+  
+
+
+
+  
+  
+  \begin{itemize}
+  
+  
+    
+    
+  
+  

+  
+  \end{itemize}

+
+
+
+  
+  
+  \begin{enumerate}
+  
+  
+    
+    
+  
+  

+  
+  \end{enumerate}

+
+
+
+  
+  
+  
\noindent

+  \begin{description}

+  
+  \end{description}

+
+
+
+  
+  
\item{}
+  
+  
+  

+
+
+
+  \item[{
+  
+  }] 
+  
+    
+  
+  
+    
+  
+  
+  
+
+
+
+  
+  
+    
+  
+
+
+
+  
+  
+  
+    ~
+  
+  
+  
+    ~
+  
+  
+  
+    ~ 
+  
+  
+  
+    \hspace{0em}\\~

+  
+  
+  
+
+
+
+
+
+
+
+  
+  
+  
+  
+
+  
+    
+      
+        
+      
+      
+      
+        ,
+      
+      
+    
+  
+
+  
+    
+    
+    
+      
+        
+      
+      
+        
+      
+    
+    
+  
+
+
+
+  label=
+  
+    \arabic*.
+    \Alph*.
+    \alph*.
+    \Roman*.
+    \roman*.
+    \arabic*.
+  
+
+
+
+  
+    resume
+  
+
+
+
+  
+    itemsep=0pt
+  
+
+
+
+
+
+
+  
+  
+  
+    l
+    
+      
+      
+    
+  
+
+
+
+  
+  {
+  
+  }
+
+
+
+
+
+
+  
+
+
+
+  
+  
+    , 
+  
+
+
+
+
+
+
+  
+    
+      
+        
+      
+      1
+    
+  
+  
\begin{tabular*}{\linewidth}{
+  
+    
+  
+  }

+  
+    
+    
+    
+       \\

+    
+    
+       & 
+    
+    
+       \\

+    
+    
+  
+  
\end{tabular*}

+
+
+
+
+
+  
+    
+      
+        
+      
+      1
+    
+  
+  
\begin{tabular*}{\linewidth}{
+  
+    
+  
+  }

+
+  
+  
+    
+  
+  
\end{tabular*}

+
+
+
+  0
+  
+  
+    
+      
+      
+         & 
+      
+    
+     \\

+    
+      
+      
+    
+  
+
+
+
+
+
+
+  
+    
+  
+
+  
+    
+      
+    
+    
+      
+    
+    
+      
+    
+    
+      
+    
+  
+
+
+
+
+  \noindent 
+  
+  

+
+
+
+  {\bf 
+  
+  }\\

+
+
+
+
+
+
+  
+
+
+
+  
+  
+     \\
+  
+  

+
+
+
+
+
+  
+  
+  
+
+  
+
+  \emph{
+  
+  :} 
+  
+  
+    
+  
+
+
+
+
+
+
+
+
+  
+    
+  
+  
+    
+      
+    
+    
+      
+    
+  
+
+
+
+
+
+    
+     
+
+  
+    
+      
+    
+    
+      
+    
+  
+  
+   
+
+
+
+
+    
+     
+
+  
+  
+    
+      
+        
+      
+      
+        
+      
+    
+  
+
+  
+  
+    
+      
+      
+        
+          
+          1
+        
+        
+          
+            
+              
+              none
+            
+            
+              
+              1
+            
+          
+        
+        
+          
+          
+          0
+        
+      
+    
+
+    
+      
+      
+        
+          
+          0
+        
+        
+          
+            
+              0
+            
+            
+              1
+            
+          
+        
+      
+    
+  
+
+
+
+
+  
+
+
+
+
+  
+
+
+
+
+    
+
+  
+    
+      
+    
+  
+
+  
+    
+      
+        
+      
+    
+
+    
+      
+        
+          
+          
+            
+            *
+            \newtblstarfactor
+          
+        
+
+        
+          
+            
+            
+          
+        
+      
+
+      
+        
+          
+        
+      
+    
+  
+
+
+
+
+
+
+     
+
+  
+    
+  
+
+  
+  
+    
+      
+      
+    
+  
+
+  
+  
+    
+      
+      
+    
+  
+
+  
+  
+    
+      
+    
+    
+      
+        
+        
+          
+            
+          
+          
+            
+          
+        
+      
+
+      
+        
+      
+
+      
+        
+      
+
+      
+        
+        
+          
+        
+      
+    
+  
+
+
+
+
+     
+        
+
+  
+  
+    
+    
+    
+    \linewidth-2\tabcolsep
+    
+    
+      
+    
+    
+      
+      
+    
+    
+      
+    
+    
+  
+
+  
+  
+    
+    
+  
+
+
+
+
+  
+  
+
+  
+  
+    
+  
+
+  
+  
+    
+      
+    
+  
+  
+  
+
+  
+  

{\raggedright\savetablecounter
+  \begingroup%

+
+  
+  
+    
+    
+  
+
+  
+  
+  
+
+  
+  
+  
+  
+  
+  \setlength{\LTpre}{\parskip}
+
+  
+  
+  
+  
+  
+  \setlength{\LTpost}{\parskip-\fontcharht\font`i}%

+
+  \begin{longtable}[l]{
+  
+    l
+  
+  }

+
+  
+  
+
+  
+    
+  
+
+  
+    
+  
+
+  
+    
+  
+
+  \end{longtable}\endgroup%

+  \restoretablecounter%

+
+  }
+
+
+
+  {\bf 
+  
+  }
+
+
+
+  
+
+  
+  
+
+  \multicolumn{
+  
+  }{
+  
+    
+      l
+    
+    
+      p{
+      
+        
+        
+          +\tabcolsep+
+        
+      
+      }
+    
+  
+  }{\raggedright%

+  
+  %
}\tabularnewline

+
+
+
+  
+  
+  
+  
+
+  
+    
+  
+
+  
+
+  
+    
+  
+
+  
+  
+
+  \multicolumn{1}{
+  
+  
+  
+  
+    
+      
+	l
+      
+      
+	c
+      
+    
+    }{%

+  
+  
+    
+    {
+    
+    }}{
+    
+      
+	\raggedright
+      
+      
+	\centering
+      
+    
+    %

+  
+  
+  
+  
+    
+      \emph{
+      
+      }
+    
+    
+      
+    
+  
+  %
}
+  
+  
+    
+      &
+    
+    
+      
+        
+          \tabularnewline
+        
+        
+          %
+        
+      
+      

+    
+  
+
+
+
+  
+
+  
+    
+    m
+    
+  
+  
+    \endhead

+  
+
+
+
+  
+  
+    
+  
+
+
+
+  
+
+  
+    
+    p
+  
+
+
+
+
diff --git a/xsl/main.xsl b/xsl/main.xsl
new file mode 100644
index 0000000..cea13e7
--- /dev/null
+++ b/xsl/main.xsl
@@ -0,0 +1,191 @@
+
+
+
+
+
+
+  
+    
+  
+
+
+
+  
+  
+  
+    Warning: 
+    
+    
+      (
+      
+      )
+    
+     wrapped with 
+    
+  
+
+  
+    
+    
+      
+    
+
+    
+    
+      
+    
+
+    
+    
+      
+    
+
+    
+    
+  
+
+
+
+
+  
+    Warning: the root element is not an article nor a book
+  
+  
+    
+    
+      
+    
+    
+      
+    
+    
+  
+  
+    
+      
+    
+  
+
+  
+  
+
+
+
+
+  
+  
+    
+    XSLT stylesheets DocBook - LaTeX 2e 
+    (
+    )
+    
+    ===================================================
+  
+  
+  
+    
+  
+  
+    
+      Stripping NS from DocBook 5/NG document.
+    
+    
+      
+    
+    
+      Processing stripped document.
+    
+    
+      
+    
+  
+  
+    
+  
+  
+
+
+
+
+
+
+  
+    
+      
+        
+        
+      
+    
+    
+      
+        
+        
+      
+    
+  
+
+
+
+  
+  
+    
+      
+        
+          
+            
+          
+        
+        
+      
+    
+    
+      
+        
+          
+            
+          
+        
+        
+      
+    
+    
+      
+        
+        
+      
+    
+  
+
+
+
+  
+
+
+
+
diff --git a/xsl/mapping.dtd b/xsl/mapping.dtd
new file mode 100644
index 0000000..489e046
--- /dev/null
+++ b/xsl/mapping.dtd
@@ -0,0 +1,7 @@
+
+
+
+
diff --git a/xsl/mathml2/README b/xsl/mathml2/README
new file mode 100644
index 0000000..f676c9a
--- /dev/null
+++ b/xsl/mathml2/README
@@ -0,0 +1,97 @@
+README for the XSLT MathML Library 2.1.2
+
+XSLT MathML Library is a set of XSLT stylesheets to transform
+MathML 2.0 to LaTeX.
+
+For more information, see
+http://www.raleigh.ru/MathML/mmltex/index.php?lang=en
+
+Manifest
+--------
+
+README        this file
+mmltex.xsl
+tokens.xsl
+glayout.xsl
+scripts.xsl
+tables.xsl
+entities.xsl
+cmarkup.xsl
+
+Use
+---
+
+There are two ways of using the library:
+
+    * Use a local copy of the library.
+
+        1. Download the distribution (see below).
+
+        2. Unpack the distribution, using unzip.
+
+        3. In your stylesheet import or include either the main
+           stylesheet, mmltex.xsl, or the stylesheet module you
+           wish to use, such as tokens.xsl. This example assumes
+           that the distribution has been extracted into the same
+           directory as your own stylesheet:
+
+           
+
+    * Import or include either the main stylesheet, or the
+      stylesheet module you wish to use, directly from the library
+      website; http://www.raleigh.ru/MathML/mmltex/. For example:
+
+      
+
+Obtaining The Library
+---------------------
+
+The XSLT MathML Library is available for download as:
+
+    * Zip file: http://www.raleigh.ru/MathML/mmltex/xsltml_2.1.2.zip
+
+Copyright
+---------
+
+Copyright (C) 2001-2003 Vasil Yaroshevich
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the ``Software''), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or
+sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+Except as contained in this notice, the names of individuals
+credited with contribution to this software shall not be used in
+advertising or otherwise to promote the sale, use or other
+dealings in this Software without prior written authorization
+from the individuals in question.
+
+Any stylesheet derived from this Software that is publically
+distributed will be identified with a different name and the
+version strings in any derived Software will be changed so that
+no possibility of confusion between the derived package and this
+Software will exist.
+
+Warranty
+--------
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT.  IN NO EVENT SHALL NORMAN WALSH OR ANY OTHER
+CONTRIBUTOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Contacting the Author
+---------------------
+
+These stylesheets are maintained by Vasil Yaroshevich, .
diff --git a/xsl/mathml2/cmarkup.xsl b/xsl/mathml2/cmarkup.xsl
new file mode 100644
index 0000000..5d66f80
--- /dev/null
+++ b/xsl/mathml2/cmarkup.xsl
@@ -0,0 +1,1106 @@
+
+
+                
+
+
+
+
+
+
+
+
+	
+  	+
+	
+	i
+
+
+
+	
+	/
+	
+
+
+
+		
+		_{}
+
+
+
+	
+	e^{i 
+	
+	}
+
+
+
+    
+    E
+    
+
+
+
+
+	
+		
+			\mathrm{}
+		
+		
+	
+
+
+
+
+	
+	
+		
+	
+	
+ 	(
+	
+		
+		, 
+	
+ 	)
+
+
+
+ 
+	()
+
+
+
+
+	
+		
+			\left(		
+		
+		\left[ 
+	
+	
+	 , 
+	
+	
+		
+			\right)		
+		
+		\right] 
+	
+
+
+
+	\left\{\right\}
+
+
+
+
+	^{(-1)}
+
+
+
+
+
+
+
+	
+  \mapsto 
+  
+
+
+
+
+
+	
+	
+		
+		
+		\circ 
+	
+
+
+
+\mathrm{id}
+
+
+
+	\mathop{\mathrm{
+	
+	}}
+
+
+
+
+
+
+
+	\begin{cases}
+	
+	
+	\end{cases}
+
+
+
+		
+		 & \text{if $
+		
+		$}
+		\\ 
+
+
+
+	
+	 & \text{otherwise}
+
+
+
+
+	\left\lfloor\frac{
+	
+	}{
+	
+	}\right\rfloor 
+
+
+
+
+	
+		
+	
+	!
+
+
+
+
+	
+  
+  \left(
+  \frac{
+	
+
+	}{
+	
+
+	}
+	\right)
+
+
+
+
+	\
+	
+	\{
+   
+		
+   		
+   		\mid 
+			
+		
+		
+			
+				
+				 , 
+			
+		
+   
+	\}
+
+
+
+
+	-
+	
+		
+	
+
+
+
+	
+	
+		-
+		
+		
+	
+
+
+
+
+  
+  
+		(
+	
+  
+   
+    
+      -
+      +
+    
+      
+    
+      
+			
+			
+		     
+		     
+		   
+       
+      
+				
+				
+					
+					
+				
+			
+			
+				
+					
+				
+			
+		
+	
+	
+		)
+	
+
+
+
+
+	
+		
+	
+	^{
+	
+		
+	
+	}
+
+
+
+
+	
+	
+		\mod 
+		
+		
+	
+
+
+
+
+  
+  
+  (
+  
+		
+			
+				\times 
+				
+			
+		 
+		
+			
+				
+			
+		
+	
+  )
+
+
+
+
+	\sqrt
+	
+		[
+		
+		]
+	
+	{
+	
+	}
+
+
+
+\gcd 
+
+
+
+	
+	
+		
+		
+		\land 
+	
+
+
+
+
+	
+	
+		
+		
+		\lor 
+	
+
+
+
+
+	
+	
+		
+		
+		\mathop{\mathrm{xor}}
+	
+
+
+
+
+	\neg 
+	
+		
+	
+
+
+
+
+	
+	
+		\implies 
+		
+		
+	
+
+
+
+
+	\
+	
+	 
+	
+	
+		, 
+	
+	
+		\colon 
+	  
+  
+
+
+
+
+	\left|
+	
+	\right|
+
+
+
+
+	\overline{}
+
+
+
+\Re 
+
+
+\Im 
+
+
+
+	\lfloor 
+	
+	\rfloor 
+
+
+
+
+	\lceil 
+	
+	\rceil 
+
+
+
+
+	
+	
+		
+		
+		=
+	
+
+
+
+
+	
+	
+		
+		
+		\neq 
+	
+
+
+
+
+
+
+	
+	
+	> 
+
+
+
+
+
+
+
+	
+	
+	< 
+
+
+
+
+
+	
+	
+		
+		
+		\ge 
+	
+
+
+
+
+	
+	
+		
+		
+		\le 
+	
+
+
+
+
+	
+	
+		
+		
+		\equiv 
+	
+
+
+
+
+	
+	
+		
+		
+		\approx 
+	
+
+
+
+
+	
+	
+		 | 
+		
+		
+	
+
+
+
+
+	\int
+	
+		_{
+		
+		}
+	
+	
+		^{
+		
+		}
+	
+	 
+	
+	\,d 
+	
+
+
+
+
+	
+	^\prime 
+
+
+
+	\frac{
+	
+		
+			d^{
+			
+			}
+			
+			}{d
+			
+			^{
+			
+			}
+		
+		
+			d 
+			
+			}{d 
+			
+		
+	
+	}
+
+
+
+
+	D_{
+	
+		
+		, 
+	
+	}
+	
+
+
+
+	\frac{\partial^{
+	
+		
+			
+		
+		
+			
+				
+				+
+			
+			
+				+
+				
+			
+		
+		
+			
+		
+	
+	}
+	
+	}{
+	
+		\partial 
+		
+		
+			^{
+			
+			}
+		
+	
+	}
+
+
+
+
+
+
+
+	
+	, 
+
+
+
+\mathop{\mathrm{div}}
+
+
+\nabla^2 
+
+
+
+	\{\}
+
+
+
+
+	\left[\right]
+
+
+
+   
+		
+   		
+   		\colon 
+			
+		
+		
+			
+				
+				, 
+			
+		
+   
+
+
+
+
+	
+	
+		
+		
+		\cup 
+	
+
+
+
+
+	
+	
+		
+		
+		\cap 
+	
+
+
+
+
+	
+	
+		\in 
+		
+		
+	
+
+
+
+
+	
+	
+		\notin 
+		
+		
+	
+
+
+
+
+	
+	
+		
+		
+		\subseteq 
+	
+
+
+
+
+	
+	
+		
+		
+		\subset 
+	
+
+
+
+
+	
+	
+		
+		
+		\nsubseteq 
+	
+
+
+
+
+	
+	
+		
+		
+		\not\subset 
+	
+
+
+
+
+	
+	
+		
+		
+		\setminus 
+	
+
+
+
+
+	|
+	
+	|
+
+
+
+
+	
+	
+		
+		
+		\times 
+	
+
+
+
+	
+		
+	
+	^{
+	
+	}
+
+
+
+
+	\sum
+
+
+
+
+	\prod
+
+	
+
+	
+		_{
+		
+			
+			=
+		
+		
+		}
+	
+	
+		^{
+		
+		}
+	
+	 
+	
+
+
+
+
+	\lim_{
+	
+	}
+	
+
+
+
+	
+	\to 
+	
+
+
+
+
+	
+	
+		
+		
+		
+			
+				\searrow 
+				\nearrow 
+				\rightarrow 
+				\to 
+			
+		
+	
+
+
+
+
+	\
+	
+	 
+	
+		
+	
+
+
+
+	\
+	
+	 
+
+
+
+	\mathrm{
+	
+	\,}
+	
+		
+	
+
+
+
+	\mathrm{
+	
+	}
+
+
+
+
+	e^{}
+
+
+
+
+	\lg 
+	
+		
+	
+
+
+
+	\log_{
+	
+	}
+	
+		
+	
+
+
+
+
+	\langle 
+	
+		
+		, 
+	
+	\rangle 
+
+
+
+\sigma 
+
+
+
+	\sigma(
+	
+	)^2
+
+
+
+
+	\langle 
+	
+	^{
+	
+	}\rangle
+	
+		_{
+		
+		}
+	
+	 
+
+
+
+
+	\left(\begin{array}{c}
+	
+		
+		\\ 
+	
+	\end{array}\right)
+
+
+
+
+	\begin{pmatrix}
+	
+	\end{pmatrix}
+
+
+
+
+	
+		
+		 & 
+	
+	\\ 
+
+
+
+
+	\det 
+	
+		
+	
+
+
+
+	\begin{vmatrix}
+	
+	\end{vmatrix}
+
+
+
+
+	
+		
+	
+	^T
+
+
+
+
+	
+		
+	
+	_{
+	
+		
+		, 
+	
+	}
+
+
+
+
+	
+	
+		
+		
+		\cdot 
+	
+
+
+
+
+	
+	
+		
+		
+		\otimes 
+	
+
+
+
+
+
+
+	
+
+
+
+\mathbb{Z}
+
+
+\mathbb{R}
+
+
+\mathbb{Q}
+
+
+\mathbb{N}
+
+
+\mathbb{C}
+
+
+\mathbb{P}
+	
+
+e
+
+
+i
+
+
+NaN
+
+
+\mbox{true}
+
+
+\mbox{false}
+
+
+\emptyset 
+
+
+\pi 
+
+
+\gamma 
+
+
+\infty 
+
+
+
+  
+  
+  
+  (
+  
+		
+			
+		   
+		
+			
+		
+	
+  )
+
+
+
+  
+  
+  
+  (
+	
+		
+	
+	
+	
+    	
+	
+	)
+
+
+
diff --git a/xsl/mathml2/entities.xsl b/xsl/mathml2/entities.xsl
new file mode 100644
index 0000000..0b1d095
--- /dev/null
+++ b/xsl/mathml2/entities.xsl
@@ -0,0 +1,1054 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+\mathrm{'I}
+\mathrm{'O}
+\mathrm{'Y}
+\mathrm{'\Omega}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{''}
+{'''}
+
+
+
+
+''''
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+\text{'}
+
+
+
+
+
+
+
+
+
+
+\'{A}
+
+
+
+
+
+
+
+\'{E}
+
+
+
+\'{I}
+
+
+
+
+
+\'{O}
+
+
+
+
+
+
+\'{U}
+
+
+\'{Y}
+
+
+
+\'{a}
+
+
+
+
+
+
+
+\'{e}
+
+
+
+\'{\i}
+
+
+
+
+
+\'{o}
+
+
+
+
+
+
+\'{u}
+
+
+\'{y}
+
+
+
+
+
+
+
+
+\'{C}
+\'{c}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+\'{L}
+\'{l}
+
+
+
+
+
+
+\'{N}
+\'{n}
+
+
+
+
+'n
+
+
+
+
+
+
+
+
+
+
+\'{R}
+\'{r}
+
+
+
+
+\'{S}
+\'{s}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+\'{Z}
+\'{z}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xsl/mathml2/glayout.xsl b/xsl/mathml2/glayout.xsl
new file mode 100644
index 0000000..d009670
--- /dev/null
+++ b/xsl/mathml2/glayout.xsl
@@ -0,0 +1,222 @@
+
+
+
+
+
+
+
+
+
+	
+		
+			\genfrac{}{}{
+			
+				
+					
+					ex
+				
+				
+					0ex
+				
+				
+					.05ex
+				
+				
+				
+					.2ex
+				
+				
+					
+				
+			
+			}{}{
+		
+		
+			\frac{
+		
+	
+	
+		\hfill 
+	
+	
+	
+		\hfill 
+	
+	}{	
+	
+		\hfill 
+	
+	
+		
+		\hfill 
+	
+	}
+
+
+
+	\raisebox{1ex}{$
+	
+	$}\!\left/ \!\raisebox{-1ex}{$
+	
+	$}\right.
+
+
+
+
+	
+		
+			\sqrt[
+			
+			]{	
+			
+			}	
+		
+		
+		
+			exception 25:
+			\text{exception 25:} 
+		
+	
+
+
+
+	\sqrt{
+	
+	}
+
+
+
+	
+		
+			
+				\left
+			
+			
+				\
+			
+			
+				\left.
+			
+			
+		
+		\left(
+	
+			
+				
+					
+						
+					
+					,
+				
+			
+			
+				
+				
+					
+						
+							
+						
+						
+							
+						
+					
+				
+			
+	
+		
+			
+				\right
+			
+			
+				\
+			
+			
+				\right.
+			
+			
+		
+		\right)
+		
+
+
+
+	\phantom{
+	
+	}
+
+
+
+	
+		
+			\overline{
+			
+			\hspace{.2em}|}
+		
+		
+			\sqrt{
+			
+			}
+		
+		
+			\overline{)
+			
+			}
+		
+	
+
+
+
+	
+
+
+
+	
+		{\displaystyle 
+	
+	
+		{
+		
+			\textstyle 
+			\scriptstyle 
+			\scriptscriptstyle  
+		 
+		
+	
+		\colorbox[rgb]{
+		
+			
+		
+		}{$
+	
+	
+		\textcolor[rgb]{
+		
+			
+		
+		}{
+	
+	
+	
+		}
+	
+	
+		$}
+	
+	
+		}
+		
+	
+		}
+	
+
+
+
+	
+
+
+
diff --git a/xsl/mathml2/mapmmlent.xml b/xsl/mathml2/mapmmlent.xml
new file mode 100644
index 0000000..ae06915
--- /dev/null
+++ b/xsl/mathml2/mapmmlent.xml
@@ -0,0 +1,1162 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+
+ 
+
+
+
+
+
+
+
+
+
+
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+ 
+ 
+ 
+ 
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+
+
+
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+ 
+
+ 
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+ 
+ 
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+
+
+
+
+
+
+ 
+
+
+
+
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+ 
+
+
+
+
+
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+ 
+ 
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+ 
+ 
+ 
+ 
+
+
+
+
+ 
+
+
+ 
+
+
+ 
+
+
+
+ 
+
+
+ 
+
+ 
+
+
+
+
+
+ 
+ 
+ 
+
+
+
+
+
+
+
+
+
+
+ 
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+
+
+ 
+
+
+
+
+
+
+
+
+
+
+
+ 
+ 
+
+
+ 
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+
+ 
+
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+
+
+
+
+
+
+
+
+ 
+ 
+
+ 
+
+
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+
+
+
+
+
+
+
+
+
+
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xsl/mathml2/mathml.xsl b/xsl/mathml2/mathml.xsl
new file mode 100644
index 0000000..c52f1a7
--- /dev/null
+++ b/xsl/mathml2/mathml.xsl
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
+
+  
+    
+  
+
+
+
+
+
+
+  
+  
+    
+  
+  
+    
\[

+    
+     \]

+  
+  
+    
+  
+  
+
+
+
+
+
+
+
+
+  
+
+
+
+ 
+  
+
+
+
+  
+
+
+
diff --git a/xsl/mathml2/mmltex.xsl b/xsl/mathml2/mmltex.xsl
new file mode 100644
index 0000000..45cefa6
--- /dev/null
+++ b/xsl/mathml2/mmltex.xsl
@@ -0,0 +1,36 @@
+
+
+                
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	$ 
+	
+	$
+
+
+
+	
\[
	
+	
+	
\]
+
+
+
diff --git a/xsl/mathml2/scripts.xsl b/xsl/mathml2/scripts.xsl
new file mode 100644
index 0000000..23001fe
--- /dev/null
+++ b/xsl/mathml2/scripts.xsl
@@ -0,0 +1,375 @@
+
+
+                
+
+
+
+
+
+	
+	
+	
+	
+			
+			\overline{
+			
+				
+				
+			
+			}
+		
+			
+			\overbrace{
+			
+				
+				
+			
+			}
+		
+			
+			\overleftarrow{
+			
+				
+				
+			
+			}
+		
+			
+			\overrightarrow{
+			
+				
+				
+			
+			}
+		
+			
+			\overleftrightarrow{
+			
+				
+				
+			
+			}
+		
+			
+			\underline{
+			
+				
+				
+				
+			
+			}
+		
+			
+			\underbrace{
+			
+				
+				
+				
+			
+			}
+		
+			
+			\underleftarrow{
+			
+				
+				
+				
+			
+			}
+		
+			
+			\underrightarrow{
+			
+				
+				
+				
+			
+			}
+		
+			
+			\underleftrightarrow{
+			
+				
+				
+				
+			
+			}
+				
+		
+
+			
+			_{
+			
+			}^{
+			
+			}
+		
+		
+			\underset{
+			
+			}{\overset{
+			
+			}{
+			
+			}}
+		
+	
+
+
+
+	
+		
+		
+	
+
+
+
+	
+		
+		
+	
+
+
+
+	
+	
+	
+	
+			
+			\overline{
+			
+			}
+		
+			
+			\overbrace{
+			
+			}
+		
+			
+			\overleftarrow{
+			
+			}
+		
+			
+			\overrightarrow{
+			
+			}
+		
+			
+			\overleftrightarrow{
+			
+			}
+		
+			
+			\tilde{
+			
+			}
+		
+			
+			\check{
+			
+			}
+		
+				
+			\dot{
+			
+			}
+		
+			
+			\ddot{
+ 			
+ 			}
+ 		
+		 
+			
+				
+					\widehat{
+				
+				
+					\hat{
+				
+			
+			}
+		
+		
+
+			
+			^{
+			
+			}
+		
+		
+			\stackrel{
+			
+			}{
+			
+			}
+			
+		
+	
+
+
+
+	
+	
+	
+			
+			\underline{
+			
+			}
+		
+			
+			\underbrace{
+			
+			}
+		
+			
+			\underleftarrow{
+			
+			}
+		
+			
+			\underrightarrow{
+			
+			}
+		
+			
+			\underleftrightarrow{
+			
+			}
+		
+		
+
+			
+			_{
+			
+			}
+		
+		
+			\underset{		
+			
+			}{	
+			
+			}	
+		
+	
+
+
+
+	{	
+	
+	}_{
+	
+	}^{	
+	
+	}	
+
+
+
+	{	
+	
+	}^{	
+	
+	}	
+
+
+
+	{	
+	
+	}_{	
+	
+	}	
+
+
+
+	
+		
+			{}_{	
+			
+			}	
+		
+		
+			{}^{	
+			
+			}	
+		
+	
+	
+	
+		
+			{}	
+		
+		
+			_{	
+			
+			}	
+		
+		
+			^{	
+			
+			}	
+		
+	
+
+
+
+	
+		
+			
+		
+		
+			
+			
+				
+					{}	
+				
+				
+					_{	
+					
+					}	
+				
+				
+					^{	
+					
+					}	
+				
+			
+		
+	
+
+
+
diff --git a/xsl/mathml2/tables.xsl b/xsl/mathml2/tables.xsl
new file mode 100644
index 0000000..225be85
--- /dev/null
+++ b/xsl/mathml2/tables.xsl
@@ -0,0 +1,150 @@
+
+
+                
+
+
+
+
+
+	\multicolumn{
+	
+	}{c}{
+	
+	}
+	
+		& 
+	
+
+
+
+
+	
+		\hfill 
+	
+  
+	
+		
+			
+		
+		
+			
+		
+	
+	
+		\hfill 
+	
+	
+
+		& 
+	
+
+
+
+
+
+
+	
+	
+		\\ 
+	
+
+
+
+	
+	
+		\\ 
+	
+
+
+
+	\begin{array}{
+	
+		|
+	
+	
+	
+	
+		
+			
+				
+					
+				
+			
+			
+				
+					
+				
+				
+					
+					
+						
+						
+					
+				
+				
+					
+				
+			
+		
+		
+			
+				
+				
+			
+		
+	
+	
+		|
+	
+	}
+	
+		\hline 
+	
+	
+	
+		\\ \hline
+	
+	\end{array}
+
+
+
+	
+	
+		
+			
+			
+				
+			
+		
+		
+			
+		
+	
+
+
+
+
+    
+    
+
+    
+      
+
+      
+	
+	
+	  
+	  
+	
+      
+    
+
+
+
diff --git a/xsl/mathml2/tokens.xsl b/xsl/mathml2/tokens.xsl
new file mode 100644
index 0000000..a41e20c
--- /dev/null
+++ b/xsl/mathml2/tokens.xsl
@@ -0,0 +1,328 @@
+
+
+                
+
+
+
+
+
+	
+
+
+
+
+	\textcolor{red}{
+	
+	}
+
+
+
+	
+		
+			\mathrm{
+				
+			}
+		
+		
+			
+		
+	
+
+
+
+	
+		
+			\mathrm{
+				
+			}
+		
+		
+			
+		
+	
+
+
+
+
+
+		
+	
+			\left
+		
+		
+			\right
+		
+	
+
+
+
+
+
+	
+		
+			
+		
+	
+	\text{
+	
+	}
+
+
+
+	\phantom{\rule
+	
+		[-
+		
+		]
+	
+	{
+	
+		0ex
+	
+	
+	}{
+	
+		0ex
+	
+	
+	}}
+
+
+
+	
+		
+		''
+	
+		
+		''
+	
+
+
+
+	
+		\colorbox[rgb]{
+		
+			
+		
+		}{$
+	
+	 
+		\textcolor[rgb]{
+		
+			
+		
+		}{
+	
+	
+		
+			
+				\mathrm{
+			
+			
+				\mathbf{
+			
+			
+				\mathit{
+			
+			 
+				\mathit{
+				The value bold-italic for mathvariant is not supported
+			
+				
+				\mathbb{
+			
+			 
+				\mathfrak{
+				The value bold-fraktur for mathvariant is not supported
+			
+			
+				\mathcal{
+			
+			 
+				\mathcal{
+				The value bold-script for mathvariant is not supported
+			
+				
+				\mathfrak{
+			
+			
+				\mathsf{
+			
+			 
+				\mathsf{
+				The value bold-sans-serif for mathvariant is not supported
+			
+			 
+				\mathsf{
+				The value sans-serif-italic for mathvariant is not supported
+			
+			 
+				\mathsf{
+				The value sans-serif-bold-italic for mathvariant is not supported
+			
+			
+				\mathtt{
+			
+			
+				{
+				Error at mathvariant attribute
+			
+		
+	
+	
+	
+		}
+	
+	
+		}
+	
+	
+		$}
+	
+
+
+
+	
+		
+			
+		
+		
+			
+		
+		
+			
+		
+		
+			
+		
+		
+			
+		
+	
+
+
+
+
+	
+	
+	
+	
+		
+			
+				
+			
+		
+		,
+		
+			
+				
+			
+		
+		,
+		
+			
+				
+			
+		
+		
+	
+	
+		
+			
+				
+			
+		
+		
+			
+				
+			
+		
+		,
+		
+			
+				
+			
+		
+		
+			
+				
+			
+		
+		,
+		
+			
+				
+			
+		
+		
+			
+				
+			
+		
+		
+	
+
+	0,1,1
+	0,0,0
+	0,0,1
+	1,0,1
+	.5,.5,.5
+	0,.5,0
+	0,1,0
+	.5,0,0
+	0,0,.5
+	.5,.5,0
+	.5,0,.5
+	1,0,0
+	.75,.75,.75
+	0,.5,.5
+	1,1,1
+	1,1,0
+	
+		Exception at color template
+	
+	
+
+
+
+	
+	
+		
+			
+		
+		
+			
+		
+		
+			
+		
+		
+			
+		
+		
+			
+		
+		
+			
+		
+		 
+			
+		
+		
+			Exception at Hex2Decimal template
+		
+	
+
+
+
+	
+		
+	
+
+
+
diff --git a/xsl/mediaobject.xsl b/xsl/mediaobject.xsl
new file mode 100644
index 0000000..a2ffc51
--- /dev/null
+++ b/xsl/mediaobject.xsl
@@ -0,0 +1,604 @@
+
+
+
+
+
+
+\slshape
+pagebound
+1
+0
+
+
+
+
+
+  
+  
+  
+  
+    
+  
+  
+    
+  
+  
+
+
+
+
+
+  
+  
+  
+    
+    
+    
+      
+    
+    
+      
+    
+    
+  
+
+
+
+  
+    
+      
+      
+    
+  
+  
+    
+      
+      
+    
+  
+  
+    \def\imgmaxwidth{
+    
+    }

+  
+  
+    \def\imgmaxheight{
+    
+    }

+  
+
+
+
+  
+  
+    
+  
+  
+    
+  
+  
+
+
+
+  
+  
+
+  
+    
+      flushright
+    
+    
+      flushleft
+    
+    
+      center
+    
+    
+      
+    
+  
+
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+
+
+  
+
+  
+    
+      
+      
+    
+  
+
+  
+  
+  
+
+
+
+  {
+  
+   
+  
+  
+  }
+
+
+
+  {
+  
+   
+  
+  
+    
+  
+  }
+
+
+
+
+
+  
+
+  
+    
+      
+    
+  
+
+  
+    
+  
+
+  
+
+  
+  
+    
+      
+    
+  
+
+  
+  
+    
+    
+      
+    
+    
+      
+        
+      
+    
+    
+  
+
+  
+  
+    
\noindent
+    \begin{minipage}[c]{\linewidth}

+    
+  
+  
+    \noindent
+  
+  
+    
+      
+        \imgexists{
+        
+        }{
+      
+      
+      
+        }{
+        
+        }
+      
+    
+    
+      
+    
+  
+  
+  
+    
+      
+    
+   
+  
+    
+    \end{minipage}

+    

+  
+
+
+
+  
+  
+    
+    
+       
+    
+    \subfigure
+    
+      [
+      
+      ][
+      
+      ]
+    
+    {
+  
+  
+    \fbox{
+  
+  
+  
+    }
+  
+  
+    }
+  
+
+
+
+  
+  
+  
+  
+  
+    
+    
+  
+  
+  
+    Pixel unit not handled (replaced by pt)
+    
+    pt
+  
+  
+  
+    Pixel unit not handled (replaced by pt)
+    
+    pt
+  
+  
+  
+    
+  
+  
+
+
+
+  
+    
+  
+  
+  
+    
+    width=\imgwidth,height=\imgheight,keepaspectratio=true
+  
+  
+    
+    
+  
+  
+
+
+
+
+  
+  
+    
+  
+  
+    \includegraphics
+  
+  
+
+
+
+  
+    
+  
+
+
+
+
+
+
+  
+  
+    
+  
+  
+    
+  
+  
+
+
+
+
+  
+  
+    
+      
+      
+    
+    
+      
+      
+    
+    
+      
+      
+      
+    
+  
+
+
+
+
+
+  
+  
+    
+  
+  
+    
+  
+  
+
+
+
+
+
+  
+  
+
+  
+    
+  
+  
+    
+  
+  
+    
+      
+    
+  
+
+  
+    
+  
+  
+    
+      
+      
+    
+  
+  
+    
+      
+      
+    
+  
+  
+  
+    
+  
+  
+  
+    
+    
+      
+    
+    
+      
+    
+    
+  
+  
+    
+    
+      
+    
+    
+      
+    
+    
+  
+
+  {
+  
+    \begin{minipage}[c]
+    
+      
+      [
+      
+      ]
+      [
+      
+      
+      
+        b
+      
+      
+        c
+      
+      
+        t
+      
+      
+        c
+      
+      
+      ]
+    
+    
+    {
+    
+    
+      
+    
+    
+      
+    
+    
+    
+    
+      
+    
+    
+    }

+  
+  
+  
+  
+    \centering 
+  
+  
+    \raggedright 
+  
+  
+    \raggedleft 
+  
+  
+
+  
+  
+    
+  
+  
+    \imgevalsize{
+    
+    }
+  
+  {
+  
+  [
+  
+  
+    
+     
+      
+      
+      
+        scale=
+        
+      
+      
+        
+          width=
+          
+            
+            
+          
+          ,
+        
+        
+          height=
+          
+            
+            
+          
+        
+      
+      
+    
+    
+     
+      scale=
+      
+    
+    
+    
+      
+        width=
+        
+        ,
+      
+      
+        height=
+        
+        ,
+      
+      
+      keepaspectratio=true
+    
+    
+    
+      
+    
+  
+  
+  
+  
+    ,angle=270
+  
+  
+    ,angle=
+    
+  
+  
+  ]{
+  
+  }
+  
+  }
+  
+    \end{minipage}

+  
+  }
+
+
+
+
+
diff --git a/xsl/mediaobjectco.xsl b/xsl/mediaobjectco.xsl
new file mode 100644
index 0000000..c8666a6
--- /dev/null
+++ b/xsl/mediaobjectco.xsl
@@ -0,0 +1,192 @@
+
+
+
+
+
+
+
+
+  
+    

+    \begin{minipage}{\linewidth}

+    
+  
+  
+  
+  
+    
+    \end{minipage}

+    

+  
+
+
+
+  
+  
+    
+  
+  
+  
+
+
+
+  \begin{overpic}
+
+
+
+  
\picfactoreval
+  
+  \end{overpic}
+
+
+
+
+  
+  
+  
+
+  
+  
+    
+    
+      
+    
+    
+      
+    
+    
+  
+  
+    
+      
+    
+  
+  
+
+
+
+
+  
+  
+    
+    
+      
+        *** Error: 
+        
+        : invalid calspair coordinate
+      
+      
+    
+    
+      
+        *** Error: 
+        
+        : calspair out of range
+      
+      
+    
+    
+  
+
+
+
+
+
+  
+    
+  
+  
+    
+  
+
+  
+  
+    
+      
+      
+      
+    
+  
+  
+    
+      
+      
+      
+    
+  
+  
+    
+      
+      
+      
+    
+  
+  
+    
+      
+      
+      
+    
+  
+
+  
+  
+    
+      
+        *** Error: 
+        
+        : invalid calspair
+      
+      
+    
+    
+      
+    
+    
+      
+    
+    
+      
+    
+    
+      
+    
+  
+
+  
+    \calspair{
+
+    
+    
+      
+        
+      
+      
+        
+      
+    
+    }{
+    
+    
+      
+        
+      
+      
+        
+      
+    
+    }{
+    
+    
+      
+      
+      
+    
+    }

+  
+
+  
+
diff --git a/xsl/msgset.xsl b/xsl/msgset.xsl
new file mode 100644
index 0000000..c4cdc06
--- /dev/null
+++ b/xsl/msgset.xsl
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+  

+  
+
+
+
+  
+
+
+
+  {\textbf{
+  
+  }} 
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  

+  \textbf{
+  
+  : 
+  } 
+  
+  

+
+
+
+  

+  
+
+
+
+
diff --git a/xsl/newtbl.xsl b/xsl/newtbl.xsl
new file mode 100644
index 0000000..8cc6e07
--- /dev/null
+++ b/xsl/newtbl.xsl
@@ -0,0 +1,1668 @@
+
+
+
+  
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  
+  
+  
+  
+  
+  
+  
+  
+  
+    
+      
+        
+      
+      
+        
+          
+            
+            
+          
+        
+ 
+        
+          
+            1
+          
+        
+      
+    
+    
+      
+      
+      
+      
+      
+      
+      
+    
+  
+
+
+
+
+
+
+  
+  
+  
+  
+    
+      
+      
+      
+        
+        
+        
+      
+    
+    
+      
+    
+  
+
+
+
+
+  
+  
+  
+  
+    
+      
+      
+        
+          
+          
+        
+        
+          +
+        
+      
+      
+    
+    
+      
+      
+        +
+        
+          
+          
+        
+      
+    
+    
+      
+    
+  
+
+
+
+
+  
+  
+    
+      
+        
+      
+    
+    
+      
+        1
+        
+          
+          
+        
+      
+    
+  
+
+
+
+
+
+  
+  
+
+  
+  1
+  1
+  1
+  0
+  
+
+
+
+
+
+
+  
+  
+  
+  
+  
+
+  
+    
+      
+      
+         
+           
+         
+         
+           
+         
+      
+    
+  
+
+  
+    
+    
+      1
+    
+    
+      
+      
+    
+    
+    
+      
+    
+    
+    
+      
+        
+      
+    
+    
+    
+      
+        
+          
+          *
+          \newtblstarfactor
+        
+      
+      
+        
+          
+        
+      
+    
+    
+    
+      \newtblstarfactor
+      1
+    
+    
+      
+      
+    
+    
+      
+      
+    
+    
+      
+      
+    
+    
+    
+      
+    
+    
+      
+      
+    
+
+  
+  
+  
+    
+      
+      
+    
+  
+  
+  
+    
+    
+    
+    
+    
+  
+
+
+
+
+
+
+  
+  
+  
+  
+  
+  
+  
+  
+    
+      
+      
+      
+      
+    
+  
+  
+  
+  
+    
+    
+    
+    
+    
+    
+  
+
+
+
+
+
+
+
+  
+  
+  
+  
+  
+  
+  
+  
+    
+    
+      
+        
+        
+      
+      
+        
+          
+          
+            
+          
+          
+            
+          
+          
+        
+        
+        
+      
+    
+    
+      
+        
+          
+        
+        
+          
+        
+      
+    
+    
+      
+      
+      
+      
+      
+      
+    
+  
+
+
+
+
+
+  
+  
+  
+  
+
+  
+    Invalid table entry row=
+    
+    /column=
+    
+  
+  
+    
+      
+       (@colend)
+    
+  
+  
+    
+      
+       (@colstart)
+    
+  
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  
+  
+  
+  
+  
+  
+  
+  
+
+  
+ 
+  
+
+    
+    
+    
+    
+      
+      
+
+      
+      
+        
+        
+        
+        
+        
+        
+        
+        
+      
+      
+      
+      
+        
+          
+        
+      
+      
+      
+      
+        
+          
+          
+            
+          
+          
+          
+            
+          
+          
+          
+            
+          
+          
+            
+          
+        
+      
+      
+      
+      
+        
+          
+          
+            
+          
+          
+          
+            
+          
+          
+          
+            
+          
+        
+      
+
+      
+      
+        
+        
+        
+        
+      
+
+      
+      
+        
+          0
+          1
+        
+      
+      
+      
+      
+        
+        
+          
+          
+          
+          
+          
+          
+        
+      
+      
+      
+      
+        
+          
+          
+          
+          
+            
+          
+          
+            
+            
+          
+        
+      
+      
+      
+      
+        
+          
+          
+            
+          
+          
+            
+            
+          
+        
+      
+      
+      
+      
+        
+          
+          
+            
+          
+          
+          
+            
+          
+          
+            
+            
+          
+        
+      
+
+      
+      
+        
+          
+          
+            
+          
+          
+          
+            
+          
+          
+          
+            
+          
+        
+      
+
+      
+        
+      
+
+      
+        
+          
+            
+          
+          
+            
+          
+          
+            
+          
+          
+            
+          
+        
+      
+      
+      
+        
+        
+          
+        
+        
+          
+        
+        
+          
+        
+        
+          
+        
+        
+          
+            
+              
+            
+            
+              
+            
+          
+        
+        
+          
+        
+        
+          
+        
+        
+          
+        
+        
+          
+        
+        
+          
+            
+          
+        
+        
+          
+        
+        
+        
+        
+          
+        
+      
+      
+      
+      
+        
+        
+          
+          
+          
+          
+          
+          
+          
+        
+      
+      
+      
+        
+        
+        
+        
+        
+        
+        
+        
+      
+    
+    
+
+
+
+
+
+
+  
+  
+  
+  
+  
+  
+  
+  
+    
+    
+    
+
+    
+
+    
+    \multicolumn{
+    
+    }{
+    
+      
+      
+      
+    
+    }{
+    
+    
+    
+      
+      
+      
+        \setlength{\newtblcolwidth}{
+        
+        
+          
+          
+          
+        
+        }
+      
+      \multirowii
+      
+      
+      
+        
+        [p]
+        [b]
+        [m]
+        
+      
+      
+      {
+      
+      
+        
+          }{
+          
+          
+          
+          
+            -
+          
+          \newtblcolwidth}{
+        
+        
+          }{*}{
+        
+      
+    
+    
+    
+    
+      \rotatebox{90}{
+    
+    
+      
+      
+        
+          \raggedright
+        
+        
+          \raggedleft
+        
+        
+          \centering
+        
+        
+        
+          Word-wrapped alignment  not supported
+        
+      
+      
+    
+    
+    
+      
+        
+      
+      
+        
+      
+      
+        
+      
+      
+        Unknown context 
+        
+      
+    
+    
+    
+    
+      %

+      
+        
+          
+        
+        
+          
+        
+      
+      %

+    
+    
+    
+    
+      }
+    
+    
+    
+    
+      }
+    
+    
+    
+    }
+    
+    
+    
+      &
+    
+    
+   
+  
+
+
+
+
+
+  
+    
+      
+    
+  
+
+
+
+
+
+  
+    
+    
+  
+
+
+
+
+
+  
+  
+
+  
+  
+
+  
+    
+    
+      
+        
+          
+          
+            
+          
+          
+          
+            
+          
+          
+          
+            
+          
+        
+      
+      
+        \cline{
+        
+        -
+        
+        }
+      
+    
+  
+
+
+
+
+  
+  
+
+  
+  
+
+  \hhline{
+  
+    
+      
+        
+        
+          
+        
+        
+        
+          
+        
+        
+        
+          
+        
+        
+        
+          
+        
+      
+    
+    
+    
+      
+        -
+        ~
+      
+    
+    
+      
+        
+      
+      
+        *{
+        
+        }{
+        
+        }
+      
+    
+  
+  }
+
+
+
+
+
+  
+  
+  
+  
+  
+  
+  
+  
+
+  
+    
+  
+
+  
+    
+      
+        
+      
+      
+        
+      
+    
+  
+
+   
+  
+    
+      
+        
+          
+          
+          
+          
+          
+          
+          
+          
+        
+      
+      
+        
+      
+    
+  
+  
+  
+  
+  
+    
+      
+    
+
+    
+      
+      
+        \hline
+      
+      

+    
+
+    
+      
+      
+      
+      
+    
+    
+    
+    \tabularnewline

+    
+    
+    
+      
+      
+        
+          
+          
+        
+      
+      
+        
+          
+          
+        
+      
+      
+    
+  
+
+  
+  
+    
+  
+
+  
+    
+      
+        
+        
+        
+        
+        
+        
+        
+        
+      
+    
+    
+    
+    
+      
+      
+        
+          
+          
+        
+      
+
+      
+        
+        
+        
+        
+        
+        
+        
+      
+    
+  
+
+
+
+
+
+
+  
+  
+  
+  
+  
+  
+  
+    +2\tabcolsep+\arrayrulewidth+
+    
+      
+      
+      
+    
+  
+
+
+
+  
+  
+  
+  
+  
+  
+  
+    +
+    
+      
+      
+      
+    
+  
+
+
+
+
+  
+  
+  
+
+  
+  
+    
+  
+
+  
+  
+    
+      
+      
+      
+    
+    
+      +\arrayrulewidth
+    
+    
+      +2\tabcolsep
+    
+  
+  
+  
+    
+      p
+    
+    
+      b
+    
+    
+      m
+    
+  
+  
+  {
+  
+  }
+
+
+
+  
+  
+
+  
+
+  
+  
+    
+      
+      
+      
+    
+  
+
+  
+  
+    
+      
+    
+    
+    
+      
+        p
+      
+      
+        b
+      
+      
+        m
+      
+    
+    
+    {
+    
+    }
+  
+  
+    >{
+    
+    \setlength\hsize{
+    
+      
+      +
+    
+    
+    \hsize}}X
+  
+  
+
+
+
+
+
+  
+
+  
+  none
+  top
+  bottom
+  topbot
+  sides
+  all
+  all
+  
+    
+  
+  
+
+
+
+
+
+  
+  
+  
+  
+  
+
+  
+  
+    |
+  
+
+  
+  
+  
+    
+      |
+    
+  
+
+  
+  
+    @{}
+  
+
+  
+  
+    
+      \columncolor
+      
+        
+      
+    
+  
+  
+  
+  
+    
+    
+      
+        
+        
+      
+    
+    
+      
+        
+        
+        
+      
+    
+    
+  
+  
+    
+      
+    
+    
+      l
+      r
+      c
+      c
+    
+  
+  
+  
+  
+    @{}
+  
+
+  
+
+
+
+
+  
+  
+
+  
+    
+      
+    
+  
+
+  
+  
+    
+      
+        
+      
+      
+        
+      
+      
+        
+      
+      
+        
+      
+    
+  
+
+  
+  
+    
+      
+      
+    
+    
+      
+    
+  
+
+
+
+
+
+  
+  
+
+  
+  
+  \setlength{\newtblsparewidth}{
+  
+  
+    
+      -
+      
+    
+    -2\tabcolsep
+  
+  }%

+  
+  
+  
+  
+  
+  
+  
+    \setlength{\newtblstarfactor}{\newtblsparewidth / \real{
+    
+    }}%

+  
+
+
+
+
+
+  
+
+  
+    
+    p
+    b
+    
+    m
+    
+  
+
+  \def\tabularxcolumn#1{
+  
+  {#1}}
+
+
+
+
+  
+  
+  
+
+  \begin{
+  
+  }
+
+  
+  
+    {
+    
+    }{
+    
+      
+      
+        >{\hsize=
+        
+          
+          +
+        
+        
+        \hsize}X
+      
+      
+        l
+      
+      
+    
+    }
+  
+  
+    {
+    
+    
+      l
+    
+    }
+  
+  
+
+
+
+
+
+  tabular
+  \linewidth-2\tabcolsep
+  all
+
+  
+  
+    
+  
+  \begingroup%

+
+  
+  
+    \setlength{\tabcolsep}{
+    
+    }%

+  
+
+  
+  
+    
+      
+        
+      
+      
+        
+        Warning: table's tgroup lacks cols attribute. 
+        Assuming .
+        
+      
+    
+  
+  
+  
+  
+  
+  
+    Warning: 0 rows
+  
+
+  
+  
+    
+      
+    
+  
+
+  
+  
+    
+      
+        
+      
+      
+        
+          
+          
+        
+      
+    
+  
+
+  
+  
+    
+      
+        
+        
+      
+      
+    
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+    
+      
+        
+      
+      
+    
+  
+  
+  
+  
+    
+      
+      
+      
+        
+          
+          
+          
+            
+          
+          1
+        
+      
+      
+        
+          
+          
+          
+            
+          
+          1
+        
+      
+      
+        
+          
+          
+          left
+        
+      
+    
+  
+  
+  
+  
+
+  
+    
+      
+      
+    
+  
+
+  
+    
+      
+    
+  
+  
+  
+  
+    

+  
+  
+  
+  
+    
+    
+    
+  
+
+  
+    
+      
+    
+  
+ 
+  
+  
+    
+    
+    
+    
+    
+    
+  
+
+  
+  
+    
+    
+    
+    
+    
+    
+  
+
+  
+  
+    \hline
+  
+  

+  
+  \end{
+  
+  }\endgroup%

+
+
+
diff --git a/xsl/pagesetup.xsl b/xsl/pagesetup.xsl
new file mode 100644
index 0000000..d4554a2
--- /dev/null
+++ b/xsl/pagesetup.xsl
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  
+    
+  
+
+  
+    
+      
+        
+        =
+        
+        ,
+      
+    
+    
+  
+
+  
+  
+    \usepackage[includeheadfoot, 
+    
+    ]{geometry}
 
+  
+
+  
+    
+      
+      
+        
+        ,
+      
+      
+        
+        width=
+        
+        ,
+        height=
+        
+        ,
+      
+      
+        
+          Warning: crop required without crop size setup
+        
+      
+
+      
+      
+      
+    
+
+    
+      \usepackage[ 
+      
+      center,
+      
+      ]{crop}
 
+    
+  
+
+
+
+
+
diff --git a/xsl/para.xsl b/xsl/para.xsl
new file mode 100644
index 0000000..6246ddb
--- /dev/null
+++ b/xsl/para.xsl
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+  

+  
+  
+  

+
+
+
+  
{\bf 
+  
+    
+  
+  } 
+  
+  
+  

+  

+
+
+
+
+
+
+
+
+  
+    

+  
+  
+  
+  

+
+
+  
+  
+  
+
+
+
+
+  

+  
+  

+
+
+
diff --git a/xsl/param.xsl b/xsl/param.xsl
new file mode 100644
index 0000000..881bb74
--- /dev/null
+++ b/xsl/param.xsl
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+docbook
+all
+
+''
+WIDELABEL
+1
+1
+
+
+article
+report
+
+
+0
+2009
+
+
+
+, 
+
+ansi
+
+0
+java
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+: 
+ 
+
+maybe
+yes
+
+
+
+
+
+ 
+ 
+ 
+
+ 
+
+yes
+
+
+
+
+
+
+
+  % --------------------------------------------

+  \makeindex

+  \makeglossary

+  % --------------------------------------------

+
+
+
+  \begin{document}

+
+
+
+  % --------------------------------------------

+  % End of document

+  % --------------------------------------------

+  \end{document}

+
+
+
+
+
diff --git a/xsl/part.xsl b/xsl/part.xsl
new file mode 100644
index 0000000..5c07cc0
--- /dev/null
+++ b/xsl/part.xsl
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+  %

+  % PART

+  %

+  
+  
+  
+  
+  
+    \bookmarksetup{startatroot}

+  
+
+
+
+
+
+
+
+  
+
+
+
+
+
+
+
diff --git a/xsl/pdfmeta.xsl b/xsl/pdfmeta.xsl
new file mode 100644
index 0000000..488d890
--- /dev/null
+++ b/xsl/pdfmeta.xsl
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+  
+
+  
+    
+  
+
+  
+    
+      
+        
+        
+          , 
+        
+      
+    
+  
+
+  
+    
+      
+        
+        
+          , 
+        
+      
+    
+  
+
+
+  \hypersetup{%

+  
+    pdfcreator={DBLaTeX-
+    
+    },%

+  
+
+  pdftitle={
+  
+  },%

+  
+  pdfauthor={
+  
+  }
+
+  
+    ,%

+    pdfsubject={
+    
+    }
+  
+
+  
+    ,%

+    pdfkeywords={
+    
+    }
+  
+
+  }

+
+
+
+
+
+  
+
+
+
+  
+
+
+
diff --git a/xsl/pi.xsl b/xsl/pi.xsl
new file mode 100644
index 0000000..3cd316c
--- /dev/null
+++ b/xsl/pi.xsl
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+
+
+
+  
+
+
+
+  
+
+
+
+
+
+
+  
+  
+    
+    
+  
+
+
+
+  
+  
+    
+    
+  
+
+
+
+  
+  
+    
+    
+  
+
+
+
+
+
+
+  
+  
+    
+    
+  
+
+
+
+
+
+
+  
+  
+    
+    
+  
+
+
+
+  
+  
+    
+    
+  
+
+
+
+  
+  
+    
+    
+  
+
+
+
+  
+  
+    
+    
+  
+
+
+
+  
+  
+    
+    
+  
+
+
+
+  
+  
+    
+    
+  
+
+
+
+  
+  
+    
+    
+  
+
+
+
diff --git a/xsl/preamble.xsl b/xsl/preamble.xsl
new file mode 100644
index 0000000..b9923b5
--- /dev/null
+++ b/xsl/preamble.xsl
@@ -0,0 +1,529 @@
+
+
+
+
+
+0
+5
+5
+1
+0
+1
+
+coverpage toc frontmatter mainmatter index
+maybe
+1
+
+
+
+  \begin{document}

+
+
+
+  
\end{document}

+
+
+
+
+
+
+
+  
+  
+
+  % -----------------------------------------  

+  % Autogenerated LaTeX file from XML DocBook  

+  % -----------------------------------------  

+  
+  
+  \documentclass
+  
+    
+  
+  {
+  
+    
+      
+    
+    
+      
+    
+  
+  }

+
+  
+    
+  
+  
+  
+    
+  
+  \usepackage{fancybox}

+  \usepackage{makeidx}

+
+  
+  
+  
+
+  
+  
+    \usepackage{xr-hyper}

+  
+
+  
+  
+
+  \usepackage[hyperlink]{
+  
+  }

+
+  
+    
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+
+  
+  
+    
+  
+
+  
+  
+    
+      
+        
+          
+        
+        
+          
+            
+          
+        
+      
+    
+  
+
+  \title{
+  
+  }

+  \author{
+  
+  }

+
+  
+  
+    
+  
+
+  
+  
+    
+  
+
+  
+  
+    
+  
+
+  \makeindex

+  \makeglossary

+
+  
+  
+
+  
+
+
+
+
+  
+
+
+
+
+
+
+
+  
+    \def\hyperparam{
+    
+    }

+  
+  
+    \def\DBKpublisher{
+    \includegraphics{dblatex}
+    }

+  
+  
+    \def\lstparamset{\lstset{
+    
+    }}

+  
+  
+    \usepackage{ragged2e}

+    
+    
+      \Centering

+    
+    
+      \RaggedRight

+    
+    
+      \RaggedLeft

+    
+    
+      Unknown doc.alignment=''
+    
+    
+  
+
+
+
+
+  
+    \commentsetup{
+    
+    }

+  
+
+  
+    
+    1
+    0
+    1
+    0
+    
+  
+  
+  
+    
+      \renewcommand{\DBKreleaseinfo}{}

+    
+    
+      \showwatermark{
+      
+      DRAFT
+      }

+    
+  
+
+  
+    \renewcommand{\DBKrevhistory}{}

+  
+  \setcounter{tocdepth}{
+  
+  }

+  \setcounter{secnumdepth}{
+  
+  }

+
+
+
+
+
+  
+  
+  
+    % ------------------
+% Collaborators
+% ------------------
+\renewcommand{\DBKindexation}{
+\begin{DBKindtable}
+\DBKinditem{\writtenby}{
+    
+    }
+    
+    
\end{DBKindtable}
}

+  
+  
+    \renewcommand{\DBKindexation}{}

+  
+  
+
+
+
+  \DBKinditem{
+  
+  }{
+  
+   
+  
+  }

+
+
+
+
+
+  
+
+  
+  
+
+
+
+  
+  
+    \def\DBKcopyright{
+    
+    }

+  
+  
+
+
+
+
+
+  \renewcommand{\DBKsite}{
+  
+  
+  }

+
+
+
+  
+    
+    1
+    0
+    1
+    0
+    
+  
+
+  
+    \renewcommand{\DBKreleaseinfo}{
+    
+    }

+  
+
+
+
+  \renewcommand{\DBKpubdate}{
+  
+  
+  }

+
+
+
+  \renewcommand{\DBKreference}{
+  
+  
+  }

+
+
+
+
+  \renewcommand{\DBKreference}{
+  
+  
+  }

+
+
+
+  \renewcommand{\DBKedition}{
+  
+    
+  
+  }

+
+
+
+  
+  \renewcommand{\DBKdate}{
+  
+  
+  }

+
+
+
+  \def\DBKsubtitle{
+  
+    
+  
+  }

+
+
+
+
+  
+
+
+
+  \def\DBKpublishername{
+  
+  
+  }

+
+
+
+  \def\DBKpublisheraddress{
+  
+  
+  }

+
+
+
+  
+
+
+
+  
+  
+    , 
+  
+
+
+
+  \noindent 
+  
+    
+  
+  
+  
+    copyright
+  
+  
+  
+    
+    
+    
+  
+  
+  
+  
+    \par

+  
+
+
+
+
+
+
+  
+    
+      
+        index 
+      
+    
+  
+
+
+
+  
+
+  
+  
+    
+      
+      
+    
+  
+
+  
+  
+    
+  
+
+  
+  
+    
+  
+  
+
+  
+  
+
+  
+  
+    
+  
+
+  
+
+  
+    
+  
+
+  
+    \maketitle

+  
+
+  
+
+  
+  
+    
+  
+
+  
+  
+  
+
+  
+  
+    
+  
+  
+
+  
+  
+    
+  
+
+  
+  
+    
+      
+    
+  
+  
+  
+    
+  
+
+  
+
+  
+
+
+
+
+
+
+
+
diff --git a/xsl/procedure.xsl b/xsl/procedure.xsl
new file mode 100644
index 0000000..98ebfed
--- /dev/null
+++ b/xsl/procedure.xsl
@@ -0,0 +1,41 @@
+
+
+
+
+  
+  \begin{enumerate}

+  
+  \end{enumerate}

+
+
+
+  {\sc 
+  
+  }

+  
+    
+  
+  
+  \nopagebreak

+
+
+
+  {\sc 
+  
+  }


+
+
+
+  \item{
+  
+  
+  }

+
+
+
+  \begin{enumerate}

+  
+  \end{enumerate}

+
+
+
diff --git a/xsl/qandaset.xsl b/xsl/qandaset.xsl
new file mode 100644
index 0000000..3bb0a24
--- /dev/null
+++ b/xsl/qandaset.xsl
@@ -0,0 +1,177 @@
+
+
+
+
+
+
+number
+
+
+
+  
+  
+
+  
+    
+      
+        
+      
+      
+      
+    
+  
+
+  
+
+
+
+
+
+
+
+
+
+
+
+  
+  
+    
+  
+  
+    
+      
+    
+  
+
+  
+    
+      
+        
+        
+          
+        
+        
+          
+        
+        
+      
+    
+  
+
+  
+
+
+
+
+
+
+
+
+
+  
+    
+    
+      
+    
+    
+      
+    
+    
+  
+
+  
+  
+    
\begin{enumerate}

+  
+
+  
+    
+  
+  
+    
+  
+
+  
+    
\end{enumerate}
+  
+
+
+
+  
+
+  
+  
+    \item
+    
+      
+      [\textbf{
+      
+      }]
+    
+    {}
+  
+  
+    \textbf{
+    
+    }~
+  
+  
+    \textbf{
+    
+      
+    
+    }~
+  
+  
+    

+  
+  
+
+  
+  {\it 
+  
+  }

+
+
+
+  
+
+  
+  
+    
+    

+  
+  
+    
\noindent\textbf{
+    
+    }~
+  
+  
+    
\noindent\textbf{
+    
+      
+    
+    }~
+  
+  
+    

+  
+  
+
+  
+  


+
+
+
+
diff --git a/xsl/quote.xsl b/xsl/quote.xsl
new file mode 100644
index 0000000..736172a
--- /dev/null
+++ b/xsl/quote.xsl
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+  \begin{quote}

+  
+  

+  
+  \end{quote}

+
+
+
+  {\sc 
+  
+  }


+
+
+
+  \hspace*\fill---
+  
+
+
+
diff --git a/xsl/refentry.xsl b/xsl/refentry.xsl
new file mode 100644
index 0000000..916ca10
--- /dev/null
+++ b/xsl/refentry.xsl
@@ -0,0 +1,254 @@
+
+
+
+
+5
+1
+
+
+
+
+  
+  
+    
+      
+    
+  
+  
+  
+    
+    1
+    1
+    2
+    3
+    
+      
+    
+    1
+    
+  
+  
+
+
+
+
+
+  

+  % Reference 

+  % ---------

+  
+    
+    
+      
+      -1
+      0
+      
+    
+  
+  
+  
+
+
+
+  
+
+
+
+
+
+
+  
+  
+  
+  
+  
+    
+    
+      
+    
+    
+      
+    
+    
+  
+  
+  

+  % Refentry 

+  % ---------

+
+  
+    
+  
+
+  
+  
+    
+    
+      
+      
+      
+    
+  
+  
+    
+    
+      
+      
+    
+    
+  
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+    (
+    
+    )
+  
+
+
+
+
+
+
+  
+  
+    
+    
+      
+    
+    
+      
+        
+      
+    
+  
+
+  
+
+
+
+
+
+
+
+
+  
+  
+    
+      
+      
+        
+      
+      
+        
+          
+        
+      
+    
+  
+
+  
+  
+  
+    
+  
+  
+    
+  
+  
+  
+
+
+
+  
+  
+    , 
+  
+
+
+
+   --- 
+  
+
+
+
+  
+
+
+
+  
+    
+    


+    
+      
+      : 
+    
+    
+    

+  
+
+
+
+
+
+
+
+
+
+
+
+
+
+  
+    
+      
+    
+    
+  
+  
+
+
+
+  
+  
+
+  
+    
+      
+    
+    
+    
+  
+  
+
+
+
diff --git a/xsl/revision.xsl b/xsl/revision.xsl
new file mode 100644
index 0000000..527b614
--- /dev/null
+++ b/xsl/revision.xsl
@@ -0,0 +1,79 @@
+
+
+
+
+
+
+
+  
+    
+%% ----------------------
+%% Revision History Table
+%% ----------------------
+\renewcommand{\DBKrevhistory}{
+\begin{DBKrevtable}
+
+    
+    
+\end{DBKrevtable}}
+
+    
+  
+
+
+
+  
+  
+  
+  
+  ~\par

+  
+  
+    
+  
+  ~\par

+  
& 
+  ~\par

+  
+  
& 
+  ~\par

+   
+     
+  
+  
& 
+  ~\par

+  
+    
+  
+  
\tabularnewline

+  \hline

+
+
+
+  
+
+
+
+  
+
+
+
+  , 
+  
+
+
+
+  
+
+
+
+  
+
+
+
+  
+
+
+
diff --git a/xsl/scape.xsl b/xsl/scape.xsl
new file mode 100644
index 0000000..db88280
--- /dev/null
+++ b/xsl/scape.xsl
@@ -0,0 +1,202 @@
+
+
+
+
+
+
+  
+  
+  
+
+
+
+   
+
+
+
+  
+  
+  
+    
+      
+    
+    /\-
+    
+      
+    
+  
+  
+    
+      
+    
+  
+  
+
+
+
+  
+  
+    
+      
+        
+      
+    
+    
+    
+      
+    
+  
+  
+    
+      
+    
+  
+  
+
+
+
+
+
+  
+  
+  @
+  "@
+  
+    
+    !
+    "!
+    
+      
+      |
+      \ensuremath{"|}
+      
+        
+        
+        \tbleft 
+        \textbraceleft{}
+        
+          
+          \tbright 
+          \textbraceright{}
+          
+            
+            
+            {
+            \tbleft 
+            
+              
+              }
+              \tbright 
+              
+                
+                "
+                ""
+                
+                   
+                    
+                  
+                
+                
+              
+            
+          
+        
+      
+    
+  
+
+
+
+
+
+  
+  
+     
+  
+
+
+
+  
+  
+    
+  
+
+
+
+
+
+  
+  
+  
+
+  
+  
+    
+  
+  
+    
+    
+      
+        
+        
+      
+    
+    
+      
+      

+      
+        
+        
+      
+    
+    
+  
+  
+    
+    

+    
+    
+      
+        
+        
+      
+    
+  
+  
+
+
+
+
+
+  
+  
+  
+  
+    
+      
+      
+      
+        
+        
+        
+      
+    
+    
+      
+    
+  
+
+
+
diff --git a/xsl/secmap.xml b/xsl/secmap.xml
new file mode 100644
index 0000000..91e5787
--- /dev/null
+++ b/xsl/secmap.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xsl/sections.xsl b/xsl/sections.xsl
new file mode 100644
index 0000000..552b3a7
--- /dev/null
+++ b/xsl/sections.xsl
@@ -0,0 +1,160 @@
+
+
+
+
+
+
+  
+  
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  
+  
+  
+  
+  

+  
+  
+    
+      \section
+      \subsection
+      \subsubsection
+      \paragraph
+      \subparagraph
+      
+      \chapter
+      \part
+    
+  
+  
+    
+      \section
+      \subsection
+      \subsubsection
+      \paragraph
+      \subparagraph
+    
+  
+  
+    
+      Section level > 6 not well supported for 
+      
+      
+        (id=
+        
+        )
+      
+     
+    \subparagraph
+  
+  
+  
+  
+  
+    *
+  
+  
+    *
+  
+  
+
+
+
+  
+    
+    
+      
+    
+    
+      
+    
+    
+  
+  
+    
+  
+  
+
+
+
+  
+  
+  
+    
+  
+  1
+  1
+  2
+  3
+  4
+  5
+  6
+  1
+  1
+  
+    
+      
+        
+      
+    
+    
+  
+  
+    
+    -1
+    0
+    
+  
+  0
+  
+    
+    1
+    2
+    
+  
+  7
+  
+
+
+
+  
+    
+      
+    
+  
+  
+
+
+
+
+
+
+  
+
+
+
+
+
diff --git a/xsl/set.xsl b/xsl/set.xsl
new file mode 100644
index 0000000..b24d333
--- /dev/null
+++ b/xsl/set.xsl
@@ -0,0 +1,113 @@
+
+
+
+
+
+1
+
+
+
+
+
+
+  
+  
+    
+      Output all the books from the set
+    
+    
+    
+  
+  
+    
+      Warning: only print the book [
+      
+      ]
+    
+    
+  
+  
+
+
+
+
+  
+    
+      
+      .rtex
+    
+    
+    
+      
+    
+  
+
+
+
+
+
+  
+  
+
+  
+    
+  
+
+  
+    
+      
+      
+        
+      
+      
+        
+      
+      
+    
+
+    
+      
+      
+      
+    
+  
+
+
+
+
+
+  
+  
+    
+  
+
+  
+  
+    
+      
+      
+    
+  
+
+
+
+
+
+
+
+
+
+
+  
+
+
+
diff --git a/xsl/sgmltag.xsl b/xsl/sgmltag.xsl
new file mode 100644
index 0000000..0df89df
--- /dev/null
+++ b/xsl/sgmltag.xsl
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+  
+    
+      
+        
+      
+      element
+    
+  
+
+  
+    
+      
+    
+    
+      
+    
+    
+      
+    
+    
+      
+        
+          $<$/
+          
+          $>$
+        
+      
+    
+    
+      
+        
+          \&
+          
+          ;
+        
+      
+    
+    
+      
+        
+          \&\#
+          
+          ;
+        
+      
+    
+    
+      
+        
+          \%
+          
+          ;
+        
+      
+    
+    
+      
+        
+          $<$?
+          
+          ?$>$
+        
+      
+    
+    
+      
+        
+          $<$?
+          
+          ?$>$
+        
+      
+    
+    
+      
+        
+          $<$
+          
+          $>$
+        
+      
+    
+    
+      
+        
+          $<$
+          
+          /$>$
+        
+      
+    
+    
+      
+        
+          $<$!$--$
+          
+          $-->$
+        
+      
+    
+    
+      
+    
+  
+
+
+
diff --git a/xsl/sidebar.xsl b/xsl/sidebar.xsl
new file mode 100644
index 0000000..af7a7c3
--- /dev/null
+++ b/xsl/sidebar.xsl
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+  

\begin{sidebar}
+  
+    [
+    
+    ]
+  
+  

+  
+  
+  
+  \end{sidebar}

+
+
+
+  \textbf{
+  
+  }


+
+
+
+
diff --git a/xsl/synopsis.xsl b/xsl/synopsis.xsl
new file mode 100644
index 0000000..e7eefb0
--- /dev/null
+++ b/xsl/synopsis.xsl
@@ -0,0 +1,260 @@
+
+
+
+
+
+
+
+
+
+  
+  
+
+
+
+  
+
+
+
+
+  
+  
+  
+
+
+
+
+
+
+  

+  
+  
+  

+
+
+
+  
 
+  
+   
+
+
+
+  
+   
+
+
+
+  
+  
+  
+    
+      
+        
+      
+      
+         
+      
+    
+  
+  
+    
+  
+  
+    
+      
+    
+    
+      
+    
+    
+      
+    
+    
+      
+    
+  
+  
+  
+    
+      
+    
+    
+      
+    
+    
+      
+    
+  
+  
+    
+      
+    
+    
+      
+    
+    
+      
+    
+    
+      
+    
+  
+
+
+
+  
+    
+  
+  
+
+
+
+  \newline

+
+
+
+  
+  
+    
+  
+
+  {\em (
+  
+  )
+  
+  }
+
+
+
+  
+
+
+
+  
+    
+  
+
+  

+  
(
+  
+  ) 
+  
+  

+   
+
+
+
+
+
+  

+  
+  
+  

+
+
+
+  
+
+
+
+  
+  
+    
+  
+  
+    \newline
+  
+  

+
+
+
+  
+
+
+
+  
+    
+      \textbf{
+      
+      }
+    
+    
+      
+    
+  
+
+
+
+  
+    
+      (void);
+    
+    
+      ();
+    
+  
+
+
+
+  ( ... );
+
+
+
+  
+    
+  
+  
+  (
+  
+    
+      
+    
+    
+      
+    
+  
+  
+    
+      , 
+    
+    
+      );
+    
+  
+
+
+
+  
+    
+      
+    
+    
+      
+    
+  
+  
+    , 
+  
+
+
+
+  
+    \newline

+    
+    ;
+  
+
+
+
+  (
+  
+  )
+
+
+
diff --git a/xsl/tablen.xsl b/xsl/tablen.xsl
new file mode 100644
index 0000000..84505a0
--- /dev/null
+++ b/xsl/tablen.xsl
@@ -0,0 +1,420 @@
+
+
+
+
+
+
+
+\bfseries%

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  
+  
+    
+  
+  
+    
+  
+  
+  
+
+
+
+
+  tabular
+  \linewidth-2\tabcolsep
+
+  
+    
+      
+        
+        
+      
+    
+    
+      
+        
+        
+      
+    
+  
+
+
+
+
+
+  
+  
+    
+    
+      
+    
+    
+      normal
+    
+    
+  
+  
+  
+    table
+    
+      *
+    
+  
+  
+  
+    
+    
+      
+    
+    
+      
+    
+    tabular
+    
+  
+
+  
+    \begin{landscape}

+  
+  
+  
+  
+    
+      
+    
+    
+      
+    
+  
+  

+  
+  
+    
+  
+  
+    \begin{
+    
+    }

+  
+  \begin{center}

+
+  
+  
+    
+  
+
+  
\end{center}

+  
+    \end{
+    
+    }

+  
+  
+    
+  
+  
+  
+    \end{landscape}

+  
+
+
+
+  
\caption
+  
+  
+    
+  
+
+
+
+
+
+  
+  
+    
+    
+      
+    
+    
+      normal
+    
+    
+  
+  
+    \begin{landscape}

+  
+
+  
+    \begin{
+    
+    }

+  
+  \begin{center}

+
+  
+  
+    
+  
+
+  
\end{center}

+  
+    \end{
+    
+    }

+  
+  
+    \end{landscape}

+  
+
+
+
+  
+    
+  
+  
+    
+  
+  \caption
+  
+  
+  
+    
+  
+  
+    [{
+    
+    }]
+  
+  
+  {
+  
+  
+    
+  
+  }\tabularnewline

+
+
+
+
+
+  
+  
+
+  
+    
+      flushright
+    
+    
+      flushleft
+    
+    
+      center
+    
+    
+      
+    
+  
+
+
+
+  
+
+  
+  
+
+  
+  
+    
+    
+      \raggedright
+    
+    
+      \raggedleft
+    
+    
+      \centering
+    
+    
+    
+      Word-wrapped alignment  not supported
+    
+    
+  
+  
+    
+      
+        
+      
+    
+    
+  
+  
+
+
+
+  
+
+  
+  
+
+  
+    
+      
+        
+      
+    
+    
+  
+
+
+
+
+
+  
+  
+    
+    
+      
+    
+    
+      normal
+    
+    
+  
+
+  
+  
+
+  
+  
+    
+    tabular
+    
+      
+    
+    
+      
+    
+    longtable
+    
+  
+
+  
+    \begin{landscape}

+  
+  
+    \begin{
+    
+    }

+  
+  
+  
+    

{
+    
+    
+      
+    
+    
+    
+      \savetablecounter 
+    
+
+    
+      
+    
+
+    
+      \restoretablecounter%

+    
+    
+      
+    
+    }

+  
+  
+    
+      
+      
+    
+  
+  
+  
+    \end{
+    
+    }

+  
+  
+    \end{landscape}

+  
+  
+
+
+
+
+  
+  
+  
+  
+    
+    \endhead

+  
+
+
+
+  
+  
+  
+  
+    
+    
+    
+      
+      
+      \endfirsthead

+      \caption[]
+      {
+      
+      }\tabularnewline

+      
+      \endhead

+    
+    
+      
+      \endhead

+    
+    
+  
+  
+    
+  
+  
+
+
+
diff --git a/xsl/texmap.xml b/xsl/texmap.xml
new file mode 100644
index 0000000..2104009
--- /dev/null
+++ b/xsl/texmap.xml
@@ -0,0 +1,33 @@
+
+
+
+
+  
+  
+  
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xsl/toc_lot.xsl b/xsl/toc_lot.xsl
new file mode 100644
index 0000000..0068c12
--- /dev/null
+++ b/xsl/toc_lot.xsl
@@ -0,0 +1,98 @@
+
+
+
+
+
+
+figure,table
+1
+
+
+
+
+
+
+
+
+
+
+
+
+  
+
+  
+  
+    \listoffigures

+  
+  
+    \listoftables

+  
+  
+    
+    \listof{
+    
+    }{
+    
+      
+    
+    }

+  
+  
+    
+    \listof{dbequation}
+    {
+    
+      
+    
+    }

+  
+  
+
+
+
+
+  
+    \tableofcontents

+  
+  
+
+
+
+
+  
+
+  
+  
+    
+      
+    
+    
+      
+    
+  
+  
+    
+      
+    
+  
+  
+
+
+
+
+
+  
+  
+  \addtocontents{toc}{\protect\setcounter{tocdepth}{
+  
+  }\ignorespaces}

+  
+  \setcounter{tocdepth}{
+  
+  }

+
+
+
diff --git a/xsl/url.xsl b/xsl/url.xsl
new file mode 100644
index 0000000..b019b44
--- /dev/null
+++ b/xsl/url.xsl
@@ -0,0 +1,250 @@
+
+
+
+
+
+
+  
+  
+  
+  {
+  
+    
+  
+  }
+
+
+
+
+  
+  
+  
+  
+    
+      
+        
+      
+    
+    
+    {
+    
+      
+    
+    
+       
+    
+    }
+  
+
+
+
+
+
+  
+  
+
+  
+  
+    
+  
+  
+    
+      
+      
+    
+  
+  
+    
+  
+  
+
+
+
+
+
+  
+  
+  
+    
+      
+      
+        
+          
+          
+          
+        
+      
+      
+        
+      
+    
+  
+
+  
+  
+    
+      
+      
+    
+    
+  
+  
+    
+      
+      
+      
+    
+  
+  
+
+
+
+
+
+  
+  
+
+  
+  
+    
+  
+  
+    
+    
+      
+    
+    
+      
+    
+    
+  
+  
+    
+    
+    
+    
+      
+        
+        
+      
+    
+    
+      
+        
+        
+      
+    
+    
+  
+  
+
+  
+
+  
+  
+  
+  
+
+  
+
+  
+    
+      
+      
+    
+  
+
+  
+  
+    
+      \texttt{
+      
+      }
+    
+    
+      
+        
+        
+      
+    
+  
+  
+    
+      
+      
+      
+      
+    
+  
+  
+    
+      \texttt{
+      
+      }
+    
+    
+      
+      
+    
+    
+      
+      
+      
+      
+    
+  
+  
+
+
+
+
+
+  
+    
+  
+
+
+
diff --git a/xsl/verbatim.xsl b/xsl/verbatim.xsl
new file mode 100644
index 0000000..9313613
--- /dev/null
+++ b/xsl/verbatim.xsl
@@ -0,0 +1,623 @@
+
+
+
+
+
+
+0
+
+1
+
+monospaced
+
+
+
+
+
+
+  
+  
+    lstcode
+  
+  
+    lstlisting
+  
+  
+
+
+
+
+  
+  
+    
+      Error: 
+      
+      : a listing environment must start with 'lst'
+    
+  
+  
+
+
+
+  \lstsetup

+
+
+
+
+  
+
+
+
+
+
+  
+
+
+
+  
+    
+  
+  
\begin{SaveVerbatim}{
+  
+  }

+  
+  
\end{SaveVerbatim}

+
+
+
+  
+    
+  
+  
+  
+  
+    \UseVerbatim{
+    
+    }
+  
+  
+    
\begin{verbatim}
+    
+    \end{verbatim}

+  
+  
+
+
+
+
+
+
+
+  
+  
+    
+  
+  
+    
+  
+  
+
+
+
+
+
+
+
+  
+  
+  
+  
+
+  
+  
+    
+      
+        
+      
+      
+        
+      
+    
+  
+  
+
+
+
+
+
+  
+  
+  
+  
+  
+
+  
+  
+    
+      
+        
+      
+      
+        
+          
+          
+          
+        
+      
+    
+  
+  
+
+
+
+
+
+  
+  
+  
+
+  
+  
+  
+
+
+
+
+
+
+
+  
+  
+  
+
+  
+    
+      
+      : default template used in programlisting or screen
+    
+  
+
+  
+    
+    
+    
+  
+
+
+
+
+
+
+
+
+
+
+  
+  
+  
+  
+
+
+  
\begin{
+  
+  }
+  
+    [
+    
+    ]
+  
+  
+  
+    

+  
+  
+    
+    
+  
+  
+  
+    

+  
+  \end{
+  
+  }

+
+
+
+
+
+  
+    1
+    0
+    1
+    0
+  
+
+ 
+
+  
+
+  
+  
+    
+      \setlength{\lstwidth}{
+      
+      \lstcharwidth+2\lstframesep}
+    
+  
+
+  
+  
+    
+      
+    
+  
+
+  
+  
+    
+      
+    
+  
+
+  
+    
+  
+
+  
+    
+    
+      
+    
+    
+      
+    
+    
+  
+
+  
+    
+    
+      showlines=false,
+    
+    
+    
+      breaklines=false,
+    
+    
+    
+      
+      
+        scale=true,
+        
+        
+          breaklines=false,
+        
+      
+      
+        scale=false,
+      
+      
+    
+    
+    
+      language={
+      
+      },
+    
+    
+    
+      linewidth=\lstwidth,
+    
+    
+    
+      numbers=left,
+      
+        stepnumber=
+        
+        ,
+      
+    
+    
+    
+    
+      firstnumber=
+      
+      ,
+    
+    
+      
+      firstnumber=last
+      ,
+    
+    
+      
+      firstnumber=1
+      ,
+    
+    
+    
+    
+      backgroundcolor={},
+      
+      
+        basicstyle=\ttfamily,
+      
+      
+        basicstyle=\normalfont,flexiblecolumns,
+      
+      
+    
+    
+    
+      
+        
+      
+    
+  
+
+  
+  
+    

+    
+  
+  
+  
+    
+    
\lstinputlisting
+    
+      [
+      
+      ]
+    
+    {
+    
+    }

+  
+  
+    
+    
+      
+      
+      
+      
+    
+  
+  
+
+
+
+
+
+
+
+  
+  
+  
+  
+
+  escapeinside={
+  
+  }{</t>}
+  ,
+  moredelim={**[is][\bfseries]{
+  
+  }{</b>}},
+  moredelim={**[is][\itshape]{
+  
+  }{</i>}},
+
+
+
+
+
+
+
+  
+    
+  
+
+
+
+
+
+
+  
+    
+    
+      
+    
+
+    \begin{VerbatimOut}{tmplst-
+    
+    }
+    
+    
+      

+    
+    
+    
+    
+      

+    
+    \end{VerbatimOut}

+  
+
+
+
+
+
+
+  
+    
+    
+      language=
+      
+      ,
+    
+  
+
+  
+    
+  
+
+  
+    
+    
+      numbers=left,
+      
+        stepnumber=
+        
+        ,
+      
+      
+      
+      
+        firstnumber=
+        
+        ,
+      
+      
+        
+        firstnumber=last
+        ,
+      
+      
+        
+        firstnumber=1
+        ,
+      
+      
+    
+    
+    
+      
+      
+        fontfamily=tt,
+      
+      
+      
+    
+    
+    
+  
+
+  \begin{fvlisting}
+  
+    [
+    
+    ]
+  
+  

+
+  \VerbatimInput
+  
+    [
+    
+    ]
+  
+
+  {
+  
+  
+    
+    
+  
+  
+    
+    tmplst-
+    
+  
+  
+  }

+
+  \end{fvlisting}

+
+
+
+
+
+
+  
+  
+    
+  
+  
+    
+    
+  
+  
+    
+    
+  
+  
+    
+    
+    /
+    
+  
+  
+
+
+
diff --git a/xsl/verbatimco.xsl b/xsl/verbatimco.xsl
new file mode 100644
index 0000000..1d0a99e
--- /dev/null
+++ b/xsl/verbatimco.xsl
@@ -0,0 +1,229 @@
+
+
+
+
+
+
+
+
+
+  
+  
+     
+    
+      
+    
+  
+
+
+
+
+
+  
+  
+  
+  
+  
+
+  
+  
+    
+    
+      
+    
+    
+      
+    
+    
+  
+  
+
+  
+  
+    
+  
+  
+    
+    
+  
+  
+    
+    
+    
+    

+    
+      
+      
+      
+      
+    
+  
+  
+    
+    
+      
+      
+        
+      
+      
+        
+      
+      
+    
+
+    
+    
+      
+    
+
+    
+    
+      
+      
+        
+      
+      
+        
+      
+      
+    
+
+    
+    
+      
+      
+        
+      
+      
+        
+      
+      
+    
+
+    
+    
+      
+    
+
+    
+    
+      
+        
+      
+    
+
+    
+    
+      
+        
+    
+    
+    
+      
+      
+      
+      
+      
+    
+  
+  
+
+
+
+
+
+  
+  
+
+  
+    
+  
+
+  
+    
+    
+      
+    
+
+    
+      
+      
+    
+  
+
+
+
+
+
+  
+  
+    
+      
+      
+    
+  
+  
+    
+  
+  
+    
+  
+
+
+
+
+
+
+
+
+
+  
+  
+  
+    
+  
+  
+
+  
+    Load external file 
+      
+      [
+      
+      ]
+      
+        (failed) 
+      
+    
+  
+
+  
+
+
+
+
+  
+
+
+
+
+  
+
+
+
diff --git a/xsl/version.xsl b/xsl/version.xsl
new file mode 100644
index 0000000..74f623d
--- /dev/null
+++ b/xsl/version.xsl
@@ -0,0 +1,10 @@
+
+
+
+
+
+0.3.10
+
+
diff --git a/xsl/xref.xsl b/xsl/xref.xsl
new file mode 100644
index 0000000..d893453
--- /dev/null
+++ b/xsl/xref.xsl
@@ -0,0 +1,1202 @@
+
+
+
+
+
+\textbullet
+
+
+
+  
+    
+  
+
+
+
+
+
+  
+  
+  
+
+  
+
+  
+
+  
+    
+  
+
+  
+    
+  
+
+  
+  
+  
+    \href{
+    
+    
+  
+  
+    \hyperlink{
+    
+  
+  
+  
+  }{
+  
+  }
+
+
+
+
+
+  
+  
+  
+  
+
+  
+    
+      
+      
+      
+      
+    
+  
+
+  
+    
+    
+      
+      
+        
+          
+          
+          
+        
+      
+      
+      
+        
+        
+        
+      
+    
+    
+      
+    
+  
+
+
+
+
+
+  
+  
+  
+  
+    
+    
+    
+      
+        Endterm points to nonexistent ID: 
+        
+      
+      [??]
+    
+    
+      
+    
+    
+  
+  
+  
+    
+      
+    
+  
+  
+  
+  
+
+
+
+  
+
+  
+    
+  
+
+  
+    
+      
+        
+      
+      
+        
+      
+    
+  
+
+  
+  
+    
+      XRef to nonexistent id: 
+      
+    
+    [?]
+  
+  
+    
+      
+    
+
+    
+    
+    
+      
+        
+        
+      
+    
+    
+      
+        
+        
+      
+    
+    
+  
+  
+
+  
+  
+  
+    
+  
+  
+    
+  
+  
+    
+      
+    
+  
+  
+
+
+
+
+
+
+  
+
+
+
+
+
+  
+
+  
+  
+    
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                
+              
+              
+              
+            
+          
+          
+          
+        
+      
+      
+        
+      
+      
+    
+  
+
+
+
+
+  
+    
+      
+    
+    
+      
+    
+    
+      
+    
+  
+
+
+
+
+  
+  
+    
+      
+      
+      
+    
+  
+
+  
+    
+      
+    
+    
+      
+    
+    
+      
+    
+  
+
+
+
+  
+    
+  
+
+  
+  
+    \url{
+    
+    }
+  
+  
+    \href{
+    
+    }{
+    
+    
+    }
+
+    
+      
+    
+
+    
+      
+        
+      
+    
+
+    
+      
+      
+        
+          \footnote{
+          \url{
+          
+          
+            
+          
+          }
+          }
+        
+        
+          
+           [
+          \url{
+          
+          }
+          ]
+        
+      
+    
+
+  
+  
+
+
+
+
+
+
+  


+   
+  
+  
+  
+  
+    \enspace
+  
+  
+    \space
+  
+  
+  
+  


+
+
+
+  
+  
+
+  
+  
+    
+  
+  
+    
+  
+  
+
+
+
+
+
+
+
+  
+  
+    
+      
+        
+      
+    
+  
+  
+    
+    
+    
+      
+        Endterm points to nonexistent ID: 
+        
+      
+      ???
+    
+    
+      
+    
+    
+  
+  
+  
+
+
+
+  
+    
+    
+      
+    
+  
+
+
+
+
+
+  
+
+
+
+  
+    
+  
+  
+
+
+
+
+  
+
+
+
+
+
+  
+    
+  
+
+  
+  
+    
+      
+      
+      
+    
+  
+
+  
+  
+    
+      
+      
+    
+    
+      
+    
+  
+
+
+
+
+  
+    
+  
+
+  
+    
+      
+    
+    
+      
+    
+  
+
+
+
+  
+  
+    
+  
+  
+    
+    
+  
+  
+
+
+
+  
+
+
+
+
+
+
+  
+  
+  
+
+  
+  
+    Don't know what gentext to create for xref to: "
+    
+    " (linkend=
+    
+    )
+  
+  [?]
+
+
+
+  
+  
+  
+
+  
+    
+  
+   
+  
+
+
+
+  
+
+
+
+  
+
+  
+    \emph{
+    
+    
+      
+    
+    
+      
+    
+    
+    }
+  
+
+  
+    
+    
+    
+  
+
+
+
+
+  
+  
+  
+
+  
+
+  
+    
+      
+        
+        
+        
+      
+    
+    
+      
+        
+          WARNING: xref to <
+          
+           id="
+          
+          "> has no generated text. Trying its ancestor elements.
+        
+      
+      
+        
+        
+        
+      
+    
+  
+
+
+
+  
+  
+  
+
+  
+    
+    
+    
+    
+  
+
+
+
+  
+  
+  
+
+  
+    
+    
+    
+    
+  
+
+
+
+  
+  
+  
+
+  
+    
+    
+    
+    
+  
+
+
+
+  
+  
+  
+
+  
+    
+    
+    
+    
+  
+
+
+
+
+  
+  
+  
+
+  
+    
+    
+    
+    
+  
+
+
+
+
+  
+  
+  
+
+  
+    
+    
+      
+    
+    
+    
+    
+  
+
+
+
+  
+
+  
+    
+    
+    
+      
+      
+    
+  
+
+
+
+  
+
+  
+    
+    
+    
+      
+    
+  
+
+
+
+  
+
+  
+    
+    
+    
+      
+      
+        
+      
+      
+        
+      
+      
+    
+  
+
+
+
+  \cite{
+  
+  }
+
+
+
+  
+
+  
+    
+    
+    
+      
+        
+          
+        
+      
+    
+  
+
+
+
+  
+  
+
+
+
+  
+  
+
+
+
+  
+  
+  
+
+  
+    
+    
+    
+    
+  
+
+
+
+  
+  
+  
+
+  
+    
+    
+    
+    
+  
+
+
+
+
+  
+  
+  
+
+  
+    
+    
+    
+    
+  
+
+
+
+  
+  
+  
+
+  
+    
+    
+    
+    
+  
+
+
+
+  
+  
+  
+
+  
+    
+    
+    
+    
+  
+
+
+
+  
+  
+  
+
+  
+    
+    
+    
+    
+  
+
+
+
+
+  
+
+
+
+  
+    
+    
+  
+
+
+
+
+
+  
+
+  
+    
+    
+      
+      
+
+      
+        
+          
+        
+      
+    
+      
+        
+          
+          
+          
+        
+      
+    
+      
+    
+      
+        
+          Olink debug: root element of target.database is '
+          
+          '.
+        
+      
+
+      
+        
+          
+          
+          
+          
+        
+      
+    
+      
+        
+          Error: unresolved olink: 
+          targetdoc/targetptr = '
+          
+          /
+          
+          '.
+        
+      
+
+      
+        
+          
+          
+        
+      
+
+      
+      
+        
+          
+          
+          
+        
+      
+
+      
+        
+          
+          
+          
+        
+      
+
+      
+        
+          
+          
+          
+        
+      
+
+      
+        
+          
+          
+          
+          
+        
+      
+
+      
+        
+          
+          
+            
+            
+          
+        
+        
+          
+          
+            
+            
+          
+          
+          
+        
+        
+          
+          
+          
+        
+      
+    
+
+    
+    
+      
+    
+  
+
+
+
+  
+  
+  
+
+  
+    
+  
+
+  
+    
+  
+
+  
+    
+      
+        
+      
+    
+    
+      
+        
+      
+      
+        
+      
+    
+  
+
+  
+  
+    
+    
+    
+      
+    
+  
+
+
+
+
+
+
+  
+  
+  
+  
+  \hyperref{
+  
+  
+  }{}{
+  
+  }{
+  
+  }
+
+
+
+
+
+  
+
+
+
+  
+
+
+
+
+
+  
+
+  
+    
+      
+        
+        
+      
+    
+  
+
+
+
+
+
+  
+
+
+
+
+  
+
+
+
+
+
+  \ref{
+  
+  }
+
+
+
+  \ref{
+  
+  }
+
+
+
+  \ref{
+  
+  }
+
+
+
+  \pageref{
+  
+  }
+
+
+
+
+
+  
+  
+  
+  
+
+  
+    
+    
+    
+  
+
+
+
+  
+  
+  
+
+  
+
+
+
+  
+  
+  
+
+  
+
+
+
+  
+  
+  
+
+  
+
+
+
+  
+  
+  
+
+  
+
+
+
+  
+  
+  \emph{
+  
+  }
+
+
+