diff options
26 files changed, 5822 insertions, 21 deletions
diff --git a/docs/Makefile.in b/docs/Makefile.in index 785be9a91a..7602476cb4 100644 --- a/docs/Makefile.in +++ b/docs/Makefile.in @@ -32,13 +32,14 @@ endif # Paths OUTPUTDIR = output +ARCHIVEDIR = output/archive SRCDIR = @srcdir@ MANDIR=$(OUTPUTDIR)/manpages EPSTOPDF = @EPSTOPDF@ -MANPROJDOC = manpages -PROJDOC = projdoc +MANPAGEDIR = manpages +HOWTODIR = howto MAKEINDEX = @MAKEINDEX@ -IMAGEPROJDIR = $(PROJDOC)/imagefiles +IMAGEPROJDIR = $(HOWTODIR)/imagefiles GUIDEDOC = guide EXAMPLESDIR = examples DEVDOC = devdoc @@ -47,21 +48,21 @@ PSDIR = $(OUTPUTDIR) PDFDIR = $(OUTPUTDIR) DVIDIR = $(OUTPUTDIR) TXTDIR = $(OUTPUTDIR)/textdocs -FAQPROJDOC = faq +FAQHOWTODIR = faq FAQDIR = $(OUTPUTDIR)/faq HTMLDIR=$(OUTPUTDIR)/htmldocs PLUCKERDIR=$(OUTPUTDIR)/plucker # Lists of files to process LATEX_FIGURES = xslt/figures/caution.pdf xslt/figures/important.pdf xslt/figures/note.pdf xslt/figures/tip.pdf xslt/figures/warning.pdf -MANPAGES_SOURCES = $(wildcard $(MANPROJDOC)/*.?.xml) -MANPAGES = $(patsubst $(MANPROJDOC)/%.xml,$(MANDIR)/%,$(MANPAGES_SOURCES)) $(MANDIR)/smb.conf.5 -MANPAGES_HTML = $(patsubst $(MANPROJDOC)/%.xml,$(HTMLDIR)/%.html,$(MANPAGES_SOURCES)) $(HTMLDIR)/smb.conf.5.html -MANPAGES_PLUCKER = $(patsubst $(MANPROJDOC)/%.xml,$(PLUCKERDIR)/%.pdb,$(MANPAGES_SOURCES)) $(PLUCKERDIR)/smb.conf.5.pdb - -PROJDOC_IMAGES_PNG = $(wildcard $(IMAGEPROJDIR)/*.png) -PROJDOC_IMAGES_EPS=$(patsubst %.png,%.eps,$(wildcard $(IMAGEPROJDIR)/*.png)) -PROJDOC_DEPS = $(PROJDOC)/*.xml $(PROJDOC)/attributions.xml $(MANPROJDOC)/*.xml $(SMBDOTCONFDOC)/smb.conf.5.xml $(SMBDOTCONFDOC)/parameters.all.xml $(SMBDOTCONFDOC)/parameters.global.xml $(SMBDOTCONFDOC)/parameters.service.xml +MANPAGES_SOURCES = $(wildcard $(MANPAGEDIR)/*.?.xml) +MANPAGES = $(patsubst $(MANPAGEDIR)/%.xml,$(MANDIR)/%,$(MANPAGES_SOURCES)) $(MANDIR)/smb.conf.5 +MANPAGES_HTML = $(patsubst $(MANPAGEDIR)/%.xml,$(HTMLDIR)/%.html,$(MANPAGES_SOURCES)) $(HTMLDIR)/smb.conf.5.html +MANPAGES_PLUCKER = $(patsubst $(MANPAGEDIR)/%.xml,$(PLUCKERDIR)/%.pdb,$(MANPAGES_SOURCES)) $(PLUCKERDIR)/smb.conf.5.pdb + +HOWTODIR_IMAGES_PNG = $(wildcard $(IMAGEPROJDIR)/*.png) +HOWTODIR_IMAGES_EPS=$(patsubst %.png,%.eps,$(wildcard $(IMAGEPROJDIR)/*.png)) +HOWTODIR_DEPS = $(HOWTODIR)/*.xml $(HOWTODIR)/attributions.xml $(MANPAGEDIR)/*.xml $(SMBDOTCONFDOC)/smb.conf.5.xml $(SMBDOTCONFDOC)/parameters.all.xml $(SMBDOTCONFDOC)/parameters.global.xml $(SMBDOTCONFDOC)/parameters.service.xml DEVDOC_DEPS = $(DEVDOC)/*.xml $(DEVDOC)/attributions.xml all: @@ -101,7 +102,7 @@ txt: $(TXTDIR) $(TXTDIR)/Samba-HOWTO-Collection.txt $(TXTDIR)/Samba-Developers-G htmlman: $(HTMLDIR) $(MANPAGES_HTML) CSS htmlfaq: $(HTMLDIR) CSS - $(XSLTPROC) --stringparam base.dir "$(FAQDIR)/" --stringparam root.filename samba-faq xslt/html-chunk.xsl $(FAQPROJDOC)/sambafaq.xml + $(XSLTPROC) --stringparam base.dir "$(FAQDIR)/" --stringparam root.filename samba-faq xslt/html-chunk.xsl $(FAQHOWTODIR)/sambafaq.xml html-single: $(HTMLDIR) CSS $(HTMLDIR)/Samba-HOWTO-Collection.html $(HTMLDIR)/Samba-Developers-Guide.html @if [ ! -d $(HTMLDIR)/images/ ]; then \ mkdir $(HTMLDIR)/images/; \ @@ -122,7 +123,7 @@ tex: Samba-HOWTO-Collection.tex Samba-Developers-Guide.tex gpl.tex plucker: html-single htmlman htmlfaq $(PLUCKERDIR) $(MANPAGES_PLUCKER) $(PLUCKERDIR)/Samba-Developers-Guide.pdb $(PLUCKERDIR)/Samba-HOWTO-Collection.pdb $(PLUCKERBUILD) -v -M2 --stayonhost --noimages --zlib-compression -H file:$(FAQDIR)/samba-faq.html -f samba-faq -p $(PLUCKERDIR) -Samba-HOWTO-Collection.xml: $(PROJDOC)/samba-doc.xml $(PROJDOC_DEPS) +Samba-HOWTO-Collection.xml: $(HOWTODIR)/index.xml $(HOWTODIR_DEPS) $(XSLTPROC) --stringparam noreference 1 --xinclude --output $@ xslt/expand-sambadoc.xsl $< Samba-Guide.xml: $(GUIDEDOC)/guide-main.xml @@ -131,7 +132,7 @@ Samba-Guide.xml: $(GUIDEDOC)/guide-main.xml Samba-Developers-Guide.xml: $(DEVDOC)/dev-doc.xml $(DEVDOC_DEPS) $(XSLTPROC) --stringparam noreference 1 --xinclude --output $@ xslt/expand-sambadoc.xsl $< -$(PROJDOC)/attributions.xml: $(PROJDOC)/samba-doc.xml +$(HOWTODIR)/attributions.xml: $(HOWTODIR)/index.xml @echo > $@ # Make sure we don't get recursive dependencies, etc! $(XSLTPROC) --output $@ xslt/generate-attributions.xsl $< @@ -144,11 +145,11 @@ clean: $(PDFDIR)/*.pdf $(FAQDIR)/*.html $(HTMLDIR)/*html $(HTMLDIR)/samba.css rm -f xslt/figures/*pdf rm -f $(SMBDOTCONFDOC)/parameters.*.xml $(DVIDIR)/*.dvi - rm -f samba-doc.* dev-doc.* $(PROJDOC)/changelog.xml $(PROJDOC)/attributions.xml $(DEVDOC)/attributions.xml + rm -f samba-doc.* dev-doc.* $(HOWTODIR)/changelog.xml $(HOWTODIR)/attributions.xml $(DEVDOC)/attributions.xml rm -f Samba-HOWTO-Collection.* rm -f Samba-Developers-Guide.* rm -f Samba-Guide.* - rm -f $(IMAGEPROJDIR)/*.eps $(MANPROJDOC)/smb.conf.5.xml + rm -f $(IMAGEPROJDIR)/*.eps $(MANPAGEDIR)/smb.conf.5.xml rm -f $(PLUCKERDIR)/*.pdb # Text files @@ -175,7 +176,7 @@ $(PDFDIR)/%.pdf: %.tex latexfigures gpl.tex -$(PDFLATEX) $< mv $(patsubst %.tex,%.pdf,$<) $@ -epsimages: $(PROJDOC_IMAGES_EPS) +epsimages: $(HOWTODIR_IMAGES_EPS) # DVI files $(DVIDIR)/%.dvi: %.tex epsimages gpl.tex @@ -206,7 +207,7 @@ $(PLUCKERDIR): CSS: $(HTMLDIR) xslt/html/samba.css cp xslt/html/samba.css $(HTMLDIR)/ -$(HTMLDIR)/Samba-HOWTO-Collection.html: Samba-HOWTO-Collection.xml $(PROJDOC_DEPS) $(PROJDOC_IMAGES_PNG) +$(HTMLDIR)/Samba-HOWTO-Collection.html: Samba-HOWTO-Collection.xml $(HOWTODIR_DEPS) $(HOWTODIR_IMAGES_PNG) $(XSLTPROC) --output $@ xslt/html.xsl $< $(HTMLDIR)/Samba-Developers-Guide.html: Samba-Developers-Guide.xml $(DEVDOC_DEPS) @@ -218,7 +219,7 @@ $(HTMLDIR)/%.html: %.xml $(PLUCKERDIR)/%.pdb: $(HTMLDIR)/%.html $(PLUCKERBUILD) -v -M1 --stayonhost --noimages --zlib-compression -H file:$< -f $(patsubst $(PLUCKERDIR)/%.pdb,%,$@) -p $(PLUCKERDIR) -%.xml: $(MANPROJDOC)/%.xml +%.xml: $(MANPAGEDIR)/%.xml $(XSLTPROC) --stringparam noreference 1 --output $@ xslt/expand-sambadoc.xsl $< # Manpages @@ -263,7 +264,7 @@ undocumented: $(SMBDOTCONFDOC)/parameters.all.xml $(EXAMPLESDIR): mkdir $(EXAMPLESDIR) -files: $(PROJDOC)/samba-doc.xml $(PROJDOC)/attributions.xml $(EXAMPLESDIR) +files: $(HOWTODIR)/index.xml $(HOWTODIR)/attributions.xml $(EXAMPLESDIR) $(XSLTPROC) xslt/extract-smbfiles.xsl $< > /dev/null samples: $(EXAMPLESDIR) Samba-HOWTO-Collection.xml @@ -275,3 +276,10 @@ guide: $(PDFDIR)/Samba-Guide.pdf %/changelog.xml: % $(wildcard %/CVS/*) $(CVS2CL) --stdout --xml $< | $(XSLTPROC) --output $@ xslt/genchangelog.xsl - + +$(ARCHIVEDIR): + mkdir $(ARCHIVEDIR) + +archive: $(ARCHIVEDIR) guide howto + cp $(PDFDIR)/Samba-HOWTO-Collection.pdf $(ARCHIVEDIR)/TOSHARG-`date +%Y%m%d`.pdf + cp $(PDFDIR)/Samba-Guide.pdf $(ARCHIVEDIR)/S3bE-`date +%Y%m%d`.pdf diff --git a/docs/howto/DOMAIN_MEMBER.xml b/docs/howto/DomainMember.xml index 72b00663f7..72b00663f7 100644 --- a/docs/howto/DOMAIN_MEMBER.xml +++ b/docs/howto/DomainMember.xml diff --git a/docs/howto/GROUP-MAPPING-HOWTO.xml b/docs/howto/Group-Mapping.xml index 41860d1757..41860d1757 100644 --- a/docs/howto/GROUP-MAPPING-HOWTO.xml +++ b/docs/howto/Group-Mapping.xml diff --git a/docs/howto/UNIX_INSTALL.xml b/docs/howto/Install.xml index a4ba1c0aa7..a4ba1c0aa7 100644 --- a/docs/howto/UNIX_INSTALL.xml +++ b/docs/howto/Install.xml diff --git a/docs/howto/PAM-Authentication-And-Samba.xml b/docs/howto/PAM.xml index 7e5911bb19..7e5911bb19 100644 --- a/docs/howto/PAM-Authentication-And-Samba.xml +++ b/docs/howto/PAM.xml diff --git a/docs/xslt/docbook.xsl b/docs/xslt/docbook.xsl new file mode 100644 index 0000000000..1044b11791 --- /dev/null +++ b/docs/xslt/docbook.xsl @@ -0,0 +1,154 @@ +<?xml version='1.0'?> +<!--############################################################################# +| PURPOSE: +| This is the "parent" stylesheet. The used "modules" are included here. +| output encoding text in ISO-8859-1 indented. ++ ############################################################################## --> + +<xsl:stylesheet + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" + xmlns:exsl="http://exslt.org/common" + extension-element-prefixes="exsl" + exclude-result-prefixes="doc" version='1.0'> + + <xsl:output method="text" encoding="ISO-8859-1" indent="yes"/> + + <xsl:include href="http://db2latex.sourceforge.net/xsl/common/l10n.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/common/common.xsl"/> + + <xsl:include href="http://db2latex.sourceforge.net/xsl/VERSION.xml"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/vars.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/latex.mapping.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/preamble.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/font.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/labelid.mod.xsl"/> + + <xsl:include href="http://db2latex.sourceforge.net/xsl/book-article.mod.xsl"/> + +<!-- + ## commented out to prevent breaking the build - jerry + <xsl:include href="http://db2latex.sourceforge.net/xsl/dedication.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/preface.mod.xsl"/> +--> + + <xsl:include href="http://db2latex.sourceforge.net/xsl/part-chap-app.mod.xsl"/> + + <xsl:include href="http://db2latex.sourceforge.net/xsl/sections.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/bridgehead.mod.xsl"/> + + <xsl:include href="http://db2latex.sourceforge.net/xsl/abstract.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/biblio.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/revision.mod.xsl"/> + + <xsl:include href="http://db2latex.sourceforge.net/xsl/admonition.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/verbatim.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/email.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/sgmltag.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/citation.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/qandaset.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/procedure.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/lists.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/callout.mod.xsl"/> + + + <xsl:include href="http://db2latex.sourceforge.net/xsl/figure.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/graphic.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/mediaobject.mod.xsl"/> + + <xsl:include href="http://db2latex.sourceforge.net/xsl/index.mod.xsl"/> + + + <xsl:include href="http://db2latex.sourceforge.net/xsl/xref.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/formal.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/example.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/table.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/inline.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/authorgroup.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/dingbat.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/info.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/keywords.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/refentry.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/component.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/glossary.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/block.mod.xsl"/> + + + <xsl:include href="http://db2latex.sourceforge.net/xsl/synop-oop.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/synop-struct.mod.xsl"/> + + <xsl:include href="http://db2latex.sourceforge.net/xsl/pi.mod.xsl"/> + + <xsl:include href="http://db2latex.sourceforge.net/xsl/footnote.mod.xsl"/> + + <xsl:include href="http://db2latex.sourceforge.net/xsl/texmath.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/mathelem.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/mathml/mathml.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/mathml/mathml.presentation.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/mathml/mathml.content.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/mathml/mathml.content.token.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/mathml/mathml.content.functions.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/mathml/mathml.content.constsymb.mod.xsl"/> + + <xsl:include href="http://db2latex.sourceforge.net/xsl/para.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/msgset.mod.xsl"/> + <xsl:include href="http://db2latex.sourceforge.net/xsl/errors.mod.xsl"/> + + <xsl:include href="normalize-scape.mod.xsl"/> + + + <xsl:template match="/"> + <xsl:variable name="xsl-vendor" select="system-property('xsl:vendor')"/> + <xsl:message>################################################################################</xsl:message> + <xsl:message> XSLT stylesheets DocBook - LaTeX 2e </xsl:message> + <xsl:message> Reqs: LaTeX 2e installation common packages </xsl:message> + <xsl:message>################################################################################</xsl:message> + <xsl:message> RELEASE : <xsl:value-of select="$VERSION"/> </xsl:message> + <xsl:message> VERSION : <xsl:value-of select="$CVSVERSION"/> </xsl:message> + <xsl:message> TAG : <xsl:value-of select="$TAG"/> </xsl:message> + <xsl:message> WWW : http://db2latex.sourceforge.net </xsl:message> + <xsl:message> SUMMARY : http://www.sourceforge.net/projects/db2latex </xsl:message> + <xsl:message> AUTHOR : Ramon Casellas casellas@infres.enst.fr </xsl:message> + <xsl:message> AUTHOR : James Devenish j-devenish@users.sf.net </xsl:message> + <xsl:message> USING : <xsl:call-template name="set-vendor"/> </xsl:message> + <xsl:message>################################################################################</xsl:message> + <xsl:apply-templates/> + </xsl:template> + + + <!--############################################################################# --> + <!-- XSL Processor Vendor --> + <!-- XSL Mailing Lists http://www.dpawson.co.uk/xsl/N10378.html --> + <!--############################################################################# --> + <xsl:template name="set-vendor"> + <xsl:variable name="xsl-vendor" select="system-property('xsl:vendor')"/> + <xsl:choose> + <xsl:when test="contains($xsl-vendor, 'SAXON 6.4')"> + <xsl:text>SAXON 6.4.X</xsl:text> + </xsl:when> + <xsl:when test="contains($xsl-vendor, 'SAXON 6.2')"> + <xsl:text>SAXON 6.2.X</xsl:text> + </xsl:when> + <xsl:when test="starts-with($xsl-vendor,'SAXON')"> + <xsl:text>SAXON</xsl:text> + </xsl:when> + <xsl:when test="contains($xsl-vendor,'Apache')"> + <xsl:text>XALAN</xsl:text> + </xsl:when> + <xsl:when test="contains($xsl-vendor,'Xalan')"> + <xsl:text>XALAN</xsl:text> + </xsl:when> + <xsl:when test="contains($xsl-vendor,'libxslt')"> + <xsl:text>libxslt/xsltproc</xsl:text> + </xsl:when> + <xsl:when test="contains($xsl-vendor,'Clark')"> + <xsl:text>XT</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>UNKNOWN</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + +</xsl:stylesheet> diff --git a/docs/xslt/expand-sambadoc.xsl b/docs/xslt/expand-sambadoc.xsl new file mode 100644 index 0000000000..2c9aa0a82a --- /dev/null +++ b/docs/xslt/expand-sambadoc.xsl @@ -0,0 +1,486 @@ +<?xml version='1.0'?> +<!-- + Samba-documentation specific stylesheets + Published under the GNU GPL + + (C) Jelmer Vernooij 2002-2004 + (C) Alexander Bokovoy 2002-2004 +--> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:exsl="http://exslt.org/common" + xmlns:samba="http://samba.org/common" + version="1.1" + extension-element-prefixes="exsl"> + + <xsl:import href="../settings.xsl"/> + + <xsl:output method="xml"/> + + <xsl:param name="xmlSambaNsUri" select="'http://samba.org/common'"/> + + <xsl:template match="reference/refentry/refsect1"> + <xsl:if test="title!='VERSION' and title!='AUTHOR'"> + <xsl:element name="refsect1"> + <xsl:if test="@id!=''"> + <xsl:attribute name="id"> + <xsl:value-of select="@id"/> + </xsl:attribute> + </xsl:if> + <xsl:apply-templates/> + </xsl:element> + </xsl:if> + </xsl:template> + + <xsl:template match="translator"> + <xsl:element name="othercredit"> + <xsl:element name="author"> + <xsl:apply-templates/> + <xsl:element name="contrib"> + <xsl:text>Translation to </xsl:text><xsl:value-of select="@lang"/> + </xsl:element> + </xsl:element> + </xsl:element> + </xsl:template> + + <xsl:template match="reference/refentry"> + <xsl:element name="section"> + <xsl:attribute name="id"> + <xsl:value-of select="@id"/> + </xsl:attribute> + <xsl:element name="title"> + <xsl:value-of select="refmeta/refentrytitle"/> + <!-- <xsl:text> (</xsl:text> + <xsl:value-of select="refnamediv/refpurpose"/> + <xsl:text>)</xsl:text>--> + </xsl:element> + <xsl:apply-templates/> + </xsl:element> + </xsl:template> + + <xsl:template match="reference/refentry/refmeta"/> + + <xsl:template match="reference/refentry/refnamediv"/> + + <xsl:template match="reference"> + <xsl:element name="appendix"> + <xsl:attribute name="id"> + <xsl:value-of select="@id"/> + </xsl:attribute> + <xsl:apply-templates/> + </xsl:element> + </xsl:template> + + <xsl:template match="/node()"> + <xsl:text disable-output-escaping="yes"> + <!DOCTYPE </xsl:text><xsl:value-of select="name(.)"/><xsl:text disable-output-escaping="yes"> PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ + + <!ENTITY % globalentities SYSTEM 'global.ent'> %globalentities; + ]> + </xsl:text> + <xsl:copy> + <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute> + <xsl:apply-templates/> + </xsl:copy> + </xsl:template> + + + <!-- This is needed to copy content unchanged --> + <xsl:template match="@*|node()"> + + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <xsl:template match="smbconfexample/smbconfoption|smbconfblock/smbconfoption"> + + <xsl:element name="member"> + <xsl:element name="indexterm"> + <xsl:element name="primary"> + <xsl:value-of select="name"/> + </xsl:element> + </xsl:element> + <xsl:element name="parameter"> + <xsl:text disable-output-escaping="yes"> + <?latex \hspace{1cm} ?> + </xsl:text> + <xsl:value-of select="name"/> + <xsl:choose> + <xsl:when test="value != ''"> + <xsl:text> = </xsl:text> + <xsl:value-of select="value"/> + </xsl:when> + </xsl:choose> + </xsl:element> + </xsl:element> + </xsl:template> + + <xsl:template match="smbconfexample/smbconfcomment|smbconfblock/smbconfcomment"> + <xsl:text disable-output-escaping="yes"> + <?latex \hspace{1cm} ?> + </xsl:text> + <xsl:element name="member"> + <xsl:text># </xsl:text> + <xsl:apply-templates/> + </xsl:element> + </xsl:template> + + <xsl:template match="smbconfexample/smbconfsection|smbconfblock/smbconfsection"> + <xsl:element name="member"> + <xsl:text> </xsl:text> + </xsl:element> + <xsl:element name="member"> + <xsl:element name="parameter"> + <xsl:apply-templates/> + </xsl:element> + </xsl:element> + </xsl:template> + + <xsl:template match="smbconfoption"> + <!-- Include an index term --> + <xsl:element name="indexterm"> + <xsl:element name="primary"> + <xsl:value-of select="name"/> + </xsl:element> + </xsl:element> + + <xsl:variable name="linkcontent"> + <xsl:element name="parameter"> + <xsl:attribute name="moreinfo"> + <xsl:text>none</xsl:text> + </xsl:attribute> + <xsl:value-of select="name"/> + </xsl:element> + + <xsl:choose> + <xsl:when test="value != ''"> + <xsl:text> = </xsl:text> + <xsl:value-of select="value"/> + </xsl:when> + </xsl:choose> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$noreference = 1"> + <xsl:value-of select="$linkcontent"/> + </xsl:when> + <xsl:otherwise> + <xsl:element name="link"> + <xsl:attribute name="linkend"> + <xsl:value-of select="translate(translate(string(name),' ',''),'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/> + </xsl:attribute> + <xsl:value-of select="$linkcontent"/> + </xsl:element> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- FIXME: Needs extension sometime --> + <xsl:template match="ntgroup|ntuser"> + <xsl:element name="emphasis"> + <xsl:apply-templates/> + </xsl:element> + </xsl:template> + + <xsl:template match="smbconfexample"> + <xsl:choose> + <xsl:when test="title = ''"> + <xsl:message> + <xsl:text>Warning: smbconfexample does not have title!</xsl:text> + </xsl:message> + </xsl:when> + </xsl:choose> + <xsl:element name="example"> + <xsl:choose> + <xsl:when test="@id != ''"> + <xsl:attribute name="id"> + <xsl:value-of select="@id"/> + </xsl:attribute> + </xsl:when> + </xsl:choose> + + <xsl:element name="title"> + <xsl:value-of select="title"/> + </xsl:element> + <xsl:element name="simplelist"> + <xsl:apply-templates/> + </xsl:element> + </xsl:element> + </xsl:template> + + <xsl:template match="smbconfexample/title"> + </xsl:template> + + <xsl:template match="smbconfblock"> + <xsl:element name="simplelist"> + <xsl:apply-templates/> + </xsl:element> + </xsl:template> + + <xsl:template match="smbconfsection"> + <xsl:element name="parameter"> + <xsl:apply-templates/> + </xsl:element> + </xsl:template> + + <xsl:template match="smbconfcomment"> + <xsl:text># </xsl:text> + <xsl:apply-templates/> + </xsl:template> + + <xsl:template match="smbfile"> + <xsl:apply-templates/> + </xsl:template> + + <xsl:template match="image"> + <xsl:element name="figure"> + <xsl:attribute name="id"> + <xsl:choose> + <xsl:when test="@id != ''"> + <xsl:value-of select="@id"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="imagefile"/> + </xsl:otherwise> + </xsl:choose> + </xsl:attribute> + + <xsl:element name="title"> + <xsl:value-of select="imagedescription"/> + </xsl:element> + <xsl:element name="mediaobject"> + <xsl:element name="imageobject"> + <xsl:attribute name="role"><xsl:text>latex</xsl:text></xsl:attribute> + <xsl:element name="imagedata"> + <xsl:attribute name="fileref"> + <xsl:text>projdoc/imagefiles/</xsl:text><xsl:value-of select="imagefile"/></xsl:attribute> + <xsl:attribute name="scale"> + <xsl:choose> + <xsl:when test="@scale != ''"> + <xsl:value-of select="@scale"/> + </xsl:when> + + <xsl:otherwise> + <xsl:text>50</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:attribute> + <xsl:attribute name="scalefit"><xsl:text>1</xsl:text></xsl:attribute> + </xsl:element> + </xsl:element> + <xsl:element name="imageobject"> + <xsl:element name="imagedata"> + <xsl:attribute name="fileref"> + <xsl:text>projdoc/imagefiles/</xsl:text><xsl:value-of select="imagefile"/><xsl:text>.png</xsl:text></xsl:attribute> + <xsl:attribute name="scale"><xsl:text>50</xsl:text></xsl:attribute> + <xsl:attribute name="scalefit"><xsl:text>1</xsl:text></xsl:attribute> + </xsl:element> + </xsl:element> + </xsl:element> + </xsl:element> + </xsl:template> + + <xsl:template match="description"><xsl:apply-templates/></xsl:template> + + <xsl:template match="value"><xsl:apply-templates/></xsl:template> + + <xsl:template match="synonym"><xsl:apply-templates/></xsl:template> + + <xsl:template match="related"><xsl:apply-templates/></xsl:template> + + <xsl:template match="filterline"> + <xsl:element name="programlisting"> + <xsl:apply-templates/> + </xsl:element> + </xsl:template> + + <xsl:template match="//samba:parameterlist"> + <xsl:apply-templates> + <xsl:sort select="varlistentry/term/anchor"/> + </xsl:apply-templates> + </xsl:template> + + <xsl:template match="value/comment"> + <xsl:text> # </xsl:text> + <xsl:apply-templates/> + </xsl:template> + + <xsl:template match="//samba:parameter"> + <!-- reconstruct varlistentry - not all of them will go into separate files + and also we must repair the main varlistentry itself. + --> + <xsl:variable name="cname"><xsl:value-of select="translate(translate(string(@name),' ',''), + 'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/> + </xsl:variable> + + <xsl:variable name="name"><xsl:value-of select="@name"/></xsl:variable> + + <xsl:variable name="anchor"> + <xsl:element name="anchor"> + <xsl:attribute name="id"> + <xsl:value-of select="$cname"/> + </xsl:attribute> + </xsl:element> + </xsl:variable> + + <xsl:variable name="context"> + <xsl:text> (</xsl:text> + <xsl:value-of select="@context"/> + <xsl:text>)</xsl:text> + </xsl:variable> + + <xsl:variable name="term"> + <xsl:element name="term"> + <xsl:copy-of select="$anchor"/> + <xsl:value-of select="@name"/> + <xsl:value-of select="$context"/> + </xsl:element> + </xsl:variable> + + + <!-- Generate list of examples --> + <xsl:variable name="examples"> + <xsl:for-each select="value"> + <xsl:if test="@type = 'example'"> + <xsl:element name="para"> + <xsl:text>Example: </xsl:text> + <xsl:element name="emphasis"> + <xsl:element name="parameter"> + <xsl:copy-of select="$name"/> + </xsl:element> + <xsl:text> = </xsl:text> + <xsl:apply-templates select="."/> + <xsl:text> </xsl:text> + </xsl:element> + <xsl:text> </xsl:text> + </xsl:element> + </xsl:if> + </xsl:for-each> + </xsl:variable> + + <xsl:variable name="tdefault"> + <xsl:for-each select="value"> + <xsl:if test="@type = 'default'"> + <xsl:element name="para"> + <xsl:text>Default: </xsl:text> + <xsl:element name="emphasis"> + <xsl:element name="parameter"> + <xsl:copy-of select="$name"/> + </xsl:element> + <xsl:text> = </xsl:text> + <xsl:apply-templates select="."/> + <xsl:text> </xsl:text> + </xsl:element> + <xsl:text> </xsl:text> + </xsl:element> + </xsl:if> + </xsl:for-each> + </xsl:variable> + + <xsl:variable name="default"> + <xsl:choose> + <xsl:when test="$tdefault = ''"> + <xsl:element name="para"> + <xsl:element name="emphasis"> + <xsl:text>No default</xsl:text> + </xsl:element> + </xsl:element> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$tdefault"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="content"> + <xsl:apply-templates select="description"/> + </xsl:variable> + + <xsl:for-each select="synonym"> + <xsl:element name="varlistentry"> + <xsl:text> </xsl:text> + <xsl:element name="indexterm"> + <xsl:attribute name="significance"> + <xsl:text>preferred</xsl:text> + </xsl:attribute> + <xsl:element name="primary"> + <xsl:value-of select="."/> + </xsl:element> + <xsl:element name="see"> + <xsl:value-of select="$name"/> + </xsl:element> + </xsl:element> + + <xsl:element name="term"> + <xsl:element name="anchor"> + <xsl:attribute name="id"> + <xsl:value-of select="translate(translate(string(.),' ',''), 'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/> + </xsl:attribute> + </xsl:element> + <xsl:value-of select="."/> + </xsl:element> + + <xsl:element name="listitem"> + <xsl:element name="para"><xsl:text>This parameter is a synonym for </xsl:text><xsl:copy-of select="$name"/><xsl:text>.</xsl:text></xsl:element> + </xsl:element> + </xsl:element> + </xsl:for-each> + + <xsl:element name="varlistentry"> + <xsl:text> </xsl:text> + <xsl:element name="indexterm"> + <xsl:attribute name="significance"> + <xsl:text>preferred</xsl:text> + </xsl:attribute> + <xsl:element name="primary"> + <xsl:value-of select="@name"/> + </xsl:element> + </xsl:element> + <xsl:copy-of select="$term"/> + <xsl:element name="listitem"> + <xsl:copy-of select="$content"/> <xsl:text> </xsl:text> + <xsl:copy-of select="$default"/> <xsl:text> </xsl:text> + <xsl:copy-of select="$examples"/> <xsl:text> </xsl:text> + </xsl:element> + </xsl:element> + </xsl:template> + + <xsl:template match="ulink"> + <xsl:element name="ulink"> + <xsl:attribute name="url"> + <xsl:value-of select="@url"/> + </xsl:attribute> + + <xsl:apply-templates/> + <xsl:if test="contains(@url,'http://') or contains(@url,'ftp://')"> + <xsl:if test="$duplicate_ulinks='brackets'"> + <xsl:text> (</xsl:text> + <xsl:value-of select="@url"/> + <xsl:text>)</xsl:text> + </xsl:if> + <xsl:if test="$duplicate_ulinks='footnote'"> + <xsl:element name="footnote"> + <xsl:element name="para"> + <xsl:value-of select="@url"/> + </xsl:element> + </xsl:element> + </xsl:if> + </xsl:if> + </xsl:element> + </xsl:template> + + <!-- Just ignore these --> + <xsl:template match="smbfile"> + <xsl:apply-templates/> + </xsl:template> + + <xsl:template match="quote"> + <xsl:element name="quote"> + <xsl:element name="emphasis"> + <xsl:apply-templates/> + </xsl:element> + </xsl:element> + </xsl:template> + +</xsl:stylesheet> diff --git a/docs/xslt/extract-examples.xsl b/docs/xslt/extract-examples.xsl new file mode 100644 index 0000000000..f31e13eec6 --- /dev/null +++ b/docs/xslt/extract-examples.xsl @@ -0,0 +1,50 @@ +<?xml version='1.0'?> +<!-- + Extract examples out of XML file + (C) Jelmer Vernooij 2003 +--> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:exsl="http://exslt.org/common" + xmlns:samba="http://samba.org/common" + version="1.1" + extension-element-prefixes="exsl"> + +<xsl:output method="xml"/> + +<xsl:template match="example/title"></xsl:template> + +<xsl:template match="example/simplelist/title"></xsl:template> + +<!-- Parse all varlistentries and extract those of them which are descriptions of smb.conf + parameters. We determine them by existence of <anchor> element inside <term> element. + If <anchor> is there, then its 'id' attribute is translated to lower case and is used + as basis for file name for that parameter. +--> +<xsl:template match="example"> + <!-- reconstruct varlistentry - not all of them will go into separate files + and also we must repair the main varlistentry itself. + --> + <xsl:variable name="content"> + <xsl:apply-templates/> + </xsl:variable> + <!-- Now put varlistentry into separate file _if_ it has anchor associated with it --> + <xsl:variable name="filename"><xsl:text>examples/</xsl:text><xsl:value-of select="@id"/>.conf</xsl:variable> + <!-- Debug message for an operator, just to show progress of processing :) --> + <xsl:message> + <xsl:text>Writing </xsl:text> + <xsl:value-of select="$filename"/> + <xsl:text> for </xsl:text> + <xsl:value-of select="title"/> + </xsl:message> + <!-- Write finally varlistentry to a separate file --> + <exsl:document href="{$filename}" + method="xml" + encoding="UTF-8" + indent="yes" + omit-xml-declaration="yes"> + <xsl:copy-of select="$content"/> + </exsl:document> +</xsl:template> + +</xsl:stylesheet> + diff --git a/docs/xslt/figures/caution.eps b/docs/xslt/figures/caution.eps new file mode 100644 index 0000000000..0c10b371b1 --- /dev/null +++ b/docs/xslt/figures/caution.eps @@ -0,0 +1 @@ +%!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
\ No newline at end of file diff --git a/docs/xslt/figures/important.eps b/docs/xslt/figures/important.eps new file mode 100644 index 0000000000..0c10b371b1 --- /dev/null +++ b/docs/xslt/figures/important.eps @@ -0,0 +1 @@ +%!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
\ No newline at end of file diff --git a/docs/xslt/figures/note.eps b/docs/xslt/figures/note.eps new file mode 100644 index 0000000000..39be23fa77 --- /dev/null +++ b/docs/xslt/figures/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/docs/xslt/figures/tip.eps b/docs/xslt/figures/tip.eps new file mode 100644 index 0000000000..a28ad883eb --- /dev/null +++ b/docs/xslt/figures/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/docs/xslt/figures/warning.eps b/docs/xslt/figures/warning.eps new file mode 100644 index 0000000000..0c10b371b1 --- /dev/null +++ b/docs/xslt/figures/warning.eps @@ -0,0 +1 @@ +%!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
\ No newline at end of file diff --git a/docs/xslt/generate-attributions.xsl b/docs/xslt/generate-attributions.xsl new file mode 100644 index 0000000000..79bf942504 --- /dev/null +++ b/docs/xslt/generate-attributions.xsl @@ -0,0 +1,81 @@ +<?xml version='1.0'?> +<!-- + Generate Docbook/XML file with attributions based on chapter/author tags + (C) Jelmer Vernooij 2003 +--> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:exsl="http://exslt.org/common" + xmlns:samba="http://samba.org/common" + version="1.1" + extension-element-prefixes="exsl"> + +<xsl:output method="xml" omit-xml-declaration="yes"/> + +<!-- Remove all character data --> +<xsl:template match="@*|node()"> + <xsl:apply-templates select="@*|node()"/> +</xsl:template> + +<xsl:template match="chapter"> + <xsl:choose> + <xsl:when test="chapterinfo/author != ''"> + <xsl:element name="para"> + <xsl:element name="link"> + <xsl:attribute name="linkend"><xsl:value-of select="@id"/></xsl:attribute> + <xsl:value-of select="title"/> + </xsl:element> + <xsl:text> 	</xsl:text> + <xsl:element name="itemizedlist"> + <xsl:apply-templates/> + <xsl:text>	</xsl:text> + </xsl:element> + <xsl:text> </xsl:text> + </xsl:element> + </xsl:when> + </xsl:choose> +</xsl:template> + +<xsl:template match="author"> + <xsl:choose> + <xsl:when test="firstname != ''"> + <xsl:text>	</xsl:text> + <xsl:element name="listitem"> + <xsl:element name="para"> + <xsl:value-of select="firstname"/> + <xsl:if test="othername != ''"> + <xsl:text> </xsl:text> + <xsl:value-of select="othername"/> + <xsl:text> </xsl:text> + </xsl:if> + <xsl:text> </xsl:text><xsl:value-of select="surname"/> + <xsl:choose> + <xsl:when test="affiliation/address/email != ''"> + <xsl:text> <</xsl:text> + <xsl:element name="ulink"> + <xsl:attribute name="noescape"> + <xsl:text>1</xsl:text> + </xsl:attribute> + <xsl:attribute name="url"> + <xsl:text>mailto:</xsl:text> + <xsl:value-of select="affiliation/address/email"/> + </xsl:attribute> + <xsl:value-of select="affiliation/address/email"/> + </xsl:element> + <xsl:text>></xsl:text> + </xsl:when> + </xsl:choose> + <xsl:choose> + <xsl:when test="contrib != ''"> + <xsl:text> (</xsl:text> + <xsl:value-of select="contrib"/> + <xsl:text>) </xsl:text> + </xsl:when> + </xsl:choose> + </xsl:element> + </xsl:element> + <xsl:text> </xsl:text> + </xsl:when> + </xsl:choose> +</xsl:template> + +</xsl:stylesheet> diff --git a/docs/xslt/html-chunk.xsl b/docs/xslt/html-chunk.xsl new file mode 100644 index 0000000000..e98a3df8dc --- /dev/null +++ b/docs/xslt/html-chunk.xsl @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- This file is generated from param.xweb; do not edit this file! --> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> + +<xsl:import href="../settings.xsl"/> + +<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl"/> +<xsl:import href="html-common.xsl"/> +<xsl:param name="chunk.first.sections" select="1"/> +<xsl:param name="chunk.quietly" select="0"/> +<xsl:param name="chunk.section.depth" select="0"/> +<xsl:param name="chunk.toc" select="''"/> +<xsl:param name="chunk.tocs.and.lots" select="0"/> + +</xsl:stylesheet> diff --git a/docs/xslt/html-common.xsl b/docs/xslt/html-common.xsl new file mode 100644 index 0000000000..dce900ef67 --- /dev/null +++ b/docs/xslt/html-common.xsl @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- This file is generated from param.xweb; do not edit this file! --> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> + +<xsl:param name="base.dir" select="'../htmldocs/'"/> +<xsl:param name="bridgehead.in.toc" select="1"/> +<xsl:param name="citerefentry.link" select="'1'"/> +<xsl:param name="css.decoration" select="1"/> +<xsl:param name="html.stylesheet" select="'samba.css'"/> +<xsl:param name="html.stylesheet.type">text/css</xsl:param> +<xsl:param name="use.extensions" select="'0'"/> +<xsl:param name="use.id.as.filename" select="'1'"/> +<xsl:param name="use.local.olink.style" select="1"/> +<xsl:param name="use.role.as.xrefstyle" select="1"/> +<xsl:param name="use.role.for.mediaobject" select="1"/> + +<xsl:template name="generate.citerefentry.link"> + <xsl:value-of select="refentrytitle"/><xsl:text>.</xsl:text><xsl:value-of select="manvolnum"/><xsl:text>.html</xsl:text> +</xsl:template> + +<xsl:template match="author"> +</xsl:template> + +</xsl:stylesheet> diff --git a/docs/xslt/html.xsl b/docs/xslt/html.xsl new file mode 100644 index 0000000000..bb07516ad2 --- /dev/null +++ b/docs/xslt/html.xsl @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- This file is generated from param.xweb; do not edit this file! --> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> + +<xsl:import href="../settings.xsl"/> + +<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl"/> +<xsl:import href="html-common.xsl"/> + +</xsl:stylesheet> diff --git a/docs/xslt/html/samba.css b/docs/xslt/html/samba.css new file mode 100644 index 0000000000..3d926e8e74 --- /dev/null +++ b/docs/xslt/html/samba.css @@ -0,0 +1,80 @@ +BODY { + font-family: helvetica, arial, lucida sans, sans-serif; + background-color: white; +} + +H1, H2, H3 { + color: blue; + font-size: 120%; + padding: 2px; + margin-top: 0px; +} + +H1 { + background-color: #EEEEFF; + color: blue; +} + +H2 { + background-color: #DDDDFF; + color: blue; +} + +H3 { + background-color: #CCCCFF; + color: blue; +} + +H4 { + color: blue; +} + +TR.qandadiv TD { + padding-top: 1em; +} + +DIV.navhead { + font-size: 80%; +} + +A:link { + color: #36F; +} + +A:visited { + color: #96C; +} + +A:active { + color: #F63; +} + +TR.question { + color: #33C; + font-weight: bold; +} + +TR.question TD { + padding-top: 1em; +} + +DIV.variablelist { + padding-left: 2em; + color: #33C; +} + +P { + color: black; +} + +DIV.note, DIV.warning, DIV.caution, DIV.tip, DIV.important { + border: dashed 1px; + background-color: #EEEEFF; + width: 40em; +} + +PRE.programlisting, PRE.screen { + border: #630 1px dashed; + color: #630; +} + diff --git a/docs/xslt/latex.xsl b/docs/xslt/latex.xsl new file mode 100644 index 0000000000..8cc6b0d546 --- /dev/null +++ b/docs/xslt/latex.xsl @@ -0,0 +1,107 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'> +<xsl:import href="../settings.xsl"/> +<!--<xsl:import href="docbook.xsl"/>--> +<xsl:import href="http://db2latex.sourceforge.net/xsl/docbook.xsl"/> + +<xsl:output method="text" encoding="ISO-8859-1" indent="yes"/> +<xsl:param name="l10n.gentext.default.language" select="'en'"/> +<xsl:param name="latex.example.caption.style"></xsl:param> +<xsl:variable name="latex.documentclass">sambadoc</xsl:variable> +<xsl:variable name="latex.documentclass.common">twoside,11pt,letterpaper</xsl:variable> +<xsl:variable name="latex.documentclass.book"></xsl:variable> +<xsl:variable name="latex.hyperref.param.pdftex">hyperfigures,hyperindex,citecolor=black,urlcolor=black,filecolor=black,linkcolor=black,menucolor=red,pagecolor=black</xsl:variable> +<xsl:variable name="latex.document.font">default</xsl:variable> +<xsl:variable name="latex.admonition.path">xslt/figures</xsl:variable> +<xsl:variable name="latex.use.tabularx">1</xsl:variable> +<xsl:variable name="latex.fancyhdr.lh"></xsl:variable> +<xsl:variable name="latex.use.fancyhdr"></xsl:variable> +<xsl:variable name="latex.use.parskip">1</xsl:variable> +<!--<xsl:variable name="latex.use.ltxtable">1</xsl:variable>--> +<xsl:variable name="latex.hyphenation.tttricks">1</xsl:variable> +<xsl:variable name="latex.book.varsets"></xsl:variable> +<xsl:variable name="latex.titlepage.file"></xsl:variable> +<!--<xsl:variable name="formal.title.placement"> + figure not_before + example not_before + equation not_before + table not_before + procedure before +</xsl:variable>--> +<!--<xsl:variable name="latex.procedure.title.style"><xsl:text>\subsubsection</xsl:text></xsl:variable>--> +<xsl:template name="latex.thead.row.entry"> +<xsl:text>{\bfseries </xsl:text><xsl:apply-templates/><xsl:text>}</xsl:text> +</xsl:template> +<xsl:variable name="latex.book.preamblestart"> +\documentclass[twoside,openright,<xsl:value-of select="$fontsize"/>pt]{xslt/latex/sambadoc} + +\usepackage[twoside,dvips]{geometry} + +%\usepackage[section]{placeins} + +\geometry{% +paperwidth=7in, +paperheight=9.25in, +lmargin=.75in, +rmargin=.75in, +bmargin=.625in, +tmargin=.625in, +width=5.5in, +height=7.525in, %7.3 +marginparwidth=0.35in, +headheight=0.2in, +headsep=.25in, +footskip=.025in} + +\setlength{\headwidth}{\textwidth} + +<xsl:if test="$docrop != '0'"> +\usepackage[letter,center,dvips]{crop} +</xsl:if> +\usepackage{amsmath}% +\usepackage{amsfonts}% +\usepackage{amssymb} + +<xsl:if test="$docrop != '0'"> +\special{papersize=11in,8.5in} + +%\crop[frame] +\crop +</xsl:if> + +\makeindex + +%% Preamble: + +% New commands and/or command redefinitions +% +% Added for the samba book +%----------------------- paragraph ---------------------------------- +\cleardoublepage +\pagenumbering{roman} + +\setcounter{page}{2} +\setcounter{totalnumber}{8} +\setcounter{bottomnumber}{3} +\setcounter{topnumber}{3} +\renewcommand{\textfraction}{0.1} +\renewcommand{\topfraction}{1.0} +\renewcommand{\bottomfraction}{1.0} + +%% Document Parts +</xsl:variable> +<xsl:param name="latex.babel.language">english</xsl:param> +<xsl:param name="ulink.url">1</xsl:param> + +<xsl:template match="//title/filename|//title/command|//title/parameter|//title/constant"> + <xsl:variable name="content"> + <xsl:apply-templates/> + </xsl:variable> + <xsl:if test="$content != ''"> + <xsl:value-of select="$content" /> + </xsl:if> +</xsl:template> + + +</xsl:stylesheet> + diff --git a/docs/xslt/latex/sambadoc.cls b/docs/xslt/latex/sambadoc.cls new file mode 100644 index 0000000000..c55bc970a5 --- /dev/null +++ b/docs/xslt/latex/sambadoc.cls @@ -0,0 +1,466 @@ +% +% $Id: sambadoc.cls,v 1.4 2003/12/11 19:30:50 jelmer Exp $ +% + +% phstyle.cls -- Macros for formatting Prentice-Hall Books +% -- Compiled by J.K. Shultis, Dec. 1993 +% -- Modified and enhanced for LaTeX2e mdh/rlm 1997/02 +% -- Style Modifications Lori Hughes June 2002 + +\NeedsTeXFormat{LaTeX2e}% +\ProvidesClass{sambadoc}[1997/02/20 Prentice Hall Book Class, February 1997] + +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{report}} + +\ProcessOptions% + +% Base everything on the default class 'article'. +\LoadClass{report}% + + +%================================================================================ +% 1. Page layout dimensions +% 3. Define new fonts for headings +% 4. Define LaTeX logos (usually ot needed) +% 5. Redefines the way "figure" amd "table" are formated in a \caption +% 6. Defines a \capt macro which defines (1) \captwidth, (2) \captsize +% and \beforetableskip. +% 7. New Environemnts: Eqnarray, reflist, exerlist +% 8. Defines and modifies FANCYHDS.STY for headers and foots +% 9. Change sectioning headings to bold sans serif fonts +%10. Turn off leader dots in Table of Contents +%====================================================================== + +%====================== Page Layout +% \oddsidemargin 0.750in \evensidemargin 0.750in \textwidth 5.00in +% \topmargin 0.625in \headheight 0.3in \headsep 0.2in +% \textheight 7.3in %\footheight .2in +% \footskip 0.3in +% \parskip 0ex \marginparwidth 1.00in \marginparsep 0.5in +%\setlength\arraycolsep{1pt} + +\textwidth 5.00in + +%====================== Define special fonts +\newfont{\BIG}{cminch} %--- One-inch font +\newfont{\sfbHuge}{cmssbx10 scaled\magstep5} %-- 25pt sans serif bold +\newfont{\sfblarge}{cmssbx10 scaled\magstep1} %-- 12pt sans serif bold +\newfont{\sfbeleven}{cmssbx10 scaled\magstephalf} %-- 11pt sans serif bold +\newfont{\sfb}{cmssbx10} %-- 10pt sans serif bold +\newfont{\sfeight}{cmss8} %-- 8pt sans serif +\newfont{\sfnine}{cmss8 at 9pt} %-- 9pt sans serif + +\newfont{\defnem}{cmbxti10} %-- 10pt sans serif bold +\def\spacingset#1{\def\baselinestretch{#1}\small\normalsize} + +%-----------Change section heading font sizes here---- +\newfont{\sfbsection}{cmssbx10 at 13pt} +\newfont{\sfbsubsec}{cmssbx10 at 12pt} +\newfont{\sfbsubsub}{cmssbx10 at 11pt} +\newfont{\sfbpara}{cmssbx10} +%--------------------------------------------------- + + +%===================== LaTeX and TeX type logos +\newcount\TestCount +\def\La{\TestCount=\the\fam \leavevmode L\raise.42ex + \hbox{$\fam\TestCount\scriptstyle\kern-.3em A$}} +\def\LaTeX{\La\kern-.15em\TeX} +\def\AllTeX{{(\La)\TeX}} + +% +% Theorem hack +% + +\def\@begintheorem#1#2{\trivlist + \item[\hskip \labelsep{\bfseries #1\ #2:}]\itshape} + +%===================== Redefine the \@makecaption command + \long\def\@makecaption#1#2{\vskip 10\p@ +%% \setbox\@tempboxa\hbox{#1: #2}% %% original label definition + \setbox\@tempboxa\hbox{\textbf{ \small #1.} \small #2}% %% bold and . instead of : + \ifdim \wd\@tempboxa >\hsize +%% #1: #2\par %% original definition + \textbf{ \small #1.} \small #2\par %% bold and . instead of : + \else + \hbox to\hsize{\hfil\box\@tempboxa\hfil}% %% original +%% \hbox to\hsize{\box\@tempboxa\hfil}% %% no centering + \fi} + +%===================== New caption macro +\newlength{\captsize} \let\captsize=\footnotesize +\newlength{\captwidth} \setlength{\captwidth}{\textwidth} +\newlength{\beforetableskip} \setlength{\beforetableskip}{.5\baselineskip} +\newcommand{\capt}[1]{\begin{minipage}{\captwidth} + \let\normalsize=\captsize + \caption[#1]{#1} + \end{minipage}\\ \vspace{\beforetableskip}} + + +%---------- Change Figure Label +\newcommand{\thefigurename}{Figure} %-- set default: Figure +\def\fnum@figure{\thefigurename\ \thefigure} + +% This is to get the equation numbers in the form (section.equation), +% and to have the equation counter reset every time the section +% counter is incremented. + +\def\theequation{\thechapter.\arabic{equation}} +\@addtoreset{equation}{chapter} + + +%===================== New Environments + +%------ Reference List Macro +\newenvironment{reflist}{\begin{list}{}{\leftmargin 1em \labelwidth 0in +\labelsep 0in \itemsep 0ex \rightmargin 0in}}{\end{list}} +\newcommand{\refitem}{\item \hspace*{-1em}} %--- item for ref list +\newcommand{\SC}{\scriptsize} %--- small capitals for reference lists + + +%------ New environment for better spacing in Eqnarray +\def\eqnarray{% + \stepcounter{equation}% + \def\@currentlabel{\p@equation\theequation}% + \global\@eqnswtrue + \m@th + \global\@eqcnt\z@ + \tabskip\@centering + \let\\\@eqncr + $$\everycr{}\halign to\displaywidth\bgroup + \hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel + &\global\@eqcnt\@ne\hskip \arraycolsep \hfil${##}$\hfil + &\global\@eqcnt\tw@ \hskip \arraycolsep + $\displaystyle{##}$\hfil\tabskip\@centering + &\global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss##\egroup + \tabskip\z@skip + \cr +} + + + + + +%\newenvironment{Eqnarray}{\arraycolsep 0.14em\begin{eqnarray}}{\end{eqnarray}} + +% The hangitem environment -- like description, but text lines up with +% the item descriptor. You give an additional argument containing text +% of the width that you want indentations. +% +\def\hangitem#1{\list{}{\settowidth\labelwidth{#1} + \leftmargin\labelwidth\advance\leftmargin\labelsep }} +\let\endhangitem\endlist + +%------ Problem List Macro +\newcounter{probnum} +\newenvironment{exerlist}% + {\begin{list}{\bf \theprobnum.}% + {\usecounter{probnum} \itemsep 1ex \leftmargin 2.0em \labelsep 0.5em + \rightmargin 0in}}{\end{list}} + + + + +%===================== Define FANCYHDS.STY +% fancyheadings.sty version 1.1 +% Fancy headers and footers. +% Piet van Oostrum, Dept of Computer Science, University of Utrecht +% Padualaan 14, P.O. Box 80.089, 3508 TB Utrecht, The Netherlands +% Telephone: +31-30-531806. piet@cs.ruu.nl (mcvax!hp4nl!ruuinf!piet) +% Sep 23, 1992. + +\def\lhead{\@ifnextchar[{\@xlhead}{\@ylhead}} +\def\@xlhead[#1]#2{\gdef\@elhead{#1}\gdef\@olhead{#2}} +\def\@ylhead#1{\gdef\@elhead{#1}\gdef\@olhead{#1}} + +\def\chead{\@ifnextchar[{\@xchead}{\@ychead}} +\def\@xchead[#1]#2{\gdef\@echead{#1}\gdef\@ochead{#2}} +\def\@ychead#1{\gdef\@echead{#1}\gdef\@ochead{#1}} + +\def\rhead{\@ifnextchar[{\@xrhead}{\@yrhead}} +\def\@xrhead[#1]#2{\gdef\@erhead{#1}\gdef\@orhead{#2}} +\def\@yrhead#1{\gdef\@erhead{#1}\gdef\@orhead{#1}} + +\def\lfoot{\@ifnextchar[{\@xlfoot}{\@ylfoot}} +\def\@xlfoot[#1]#2{\gdef\@elfoot{#1}\gdef\@olfoot{#2}} +\def\@ylfoot#1{\gdef\@elfoot{#1}\gdef\@olfoot{#1}} + +\def\cfoot{\@ifnextchar[{\@xcfoot}{\@ycfoot}} +\def\@xcfoot[#1]#2{\gdef\@ecfoot{#1}\gdef\@ocfoot{#2}} +\def\@ycfoot#1{\gdef\@ecfoot{#1}\gdef\@ocfoot{#1}} + +\def\rfoot{\@ifnextchar[{\@xrfoot}{\@yrfoot}} +\def\@xrfoot[#1]#2{\gdef\@erfoot{#1}\gdef\@orfoot{#2}} +\def\@yrfoot#1{\gdef\@erfoot{#1}\gdef\@orfoot{#1}} + +\newdimen\headrulewidth +\newdimen\footrulewidth +\newdimen\plainheadrulewidth +\newdimen\plainfootrulewidth +\newdimen\headwidth +\newif\if@fancyplain \@fancyplainfalse +\def\fancyplain#1#2{\if@fancyplain#1\else#2\fi} + +% Initialization of the head and foot text. + +\headrulewidth 0.4pt +\footrulewidth\z@ +\plainheadrulewidth\z@ +\plainfootrulewidth\z@ + +\lhead[\fancyplain{}{\sl\rightmark}]{\fancyplain{}{\sl\leftmark}} +% i.e. empty on ``plain'' pages \rightmark on even, \leftmark on odd pages +\chead{} +\rhead[\fancyplain{}{\sl\leftmark}]{\fancyplain{}{\sl\rightmark}} +% i.e. empty on ``plain'' pages \leftmark on even, \rightmark on odd pages +\lfoot{} +\cfoot{\rm\thepage} % page number +\rfoot{} + +% Put together a header or footer given the left, center and +% right text, fillers at left and right and a rule. +% The \lap commands put the text into an hbox of zero size, +% so overlapping text does not generate an errormessage. + +\def\@fancyhead#1#2#3#4#5{#1\hbox to\headwidth{\vbox{\hbox +{\rlap{\parbox[b]{\headwidth}{\raggedright#2\strut}}\hfill +\parbox[b]{\headwidth}{\centering#3\strut}\hfill +\llap{\parbox[b]{\headwidth}{\raggedleft#4\strut}}}\headrule}}#5} + + +\def\@fancyfoot#1#2#3#4#5{#1\hbox to\headwidth{\vbox{\footrule +\hbox{\rlap{\parbox[t]{\headwidth}{\raggedright#2\strut}}\hfill +\parbox[t]{\headwidth}{\centering#3\strut}\hfill +\llap{\parbox[t]{\headwidth}{\raggedleft#4\strut}}}}}#5} + +\def\headrule{{\if@fancyplain\headrulewidth\plainheadrulewidth\fi +\hrule\@height\headrulewidth\@width\headwidth \vskip-\headrulewidth}} + +\def\footrule{{\if@fancyplain\footrulewidth\plainfootrulewidth\fi +\vskip-0.3\normalbaselineskip\vskip-\footrulewidth +\hrule\@width\headwidth\@height\footrulewidth\vskip-0.3\normalbaselineskip}} + +\def\ps@fancy{ +\let\@mkboth\markboth +\@ifundefined{chapter}{\def\sectionmark##1{\markboth +{{\ifnum \c@secnumdepth>\z@ %MEUH + \thesection\hskip 1em\relax \fi ##1}}{}} +\def\subsectionmark##1{\markright {\ifnum \c@secnumdepth >\@ne + \thesubsection\hskip 1em\relax \fi ##1}}} +% +{\def\chaptermark##1{\markboth {{\ifnum \c@secnumdepth>\m@ne %MEUH + \@chapapp\ \thechapter. \ \fi ##1}}{}} +\def\sectionmark##1{\markright{{\ifnum \c@secnumdepth >\z@ %MEUH + \thesection. \ \fi ##1}}}} +\ps@@fancy +\headwidth\textwidth} +\def\ps@fancyplain{\ps@fancy \let\ps@plain\ps@plain@fancy} +\def\ps@plain@fancy{\@fancyplaintrue\ps@@fancy} +\def\ps@@fancy{ +\def\@oddhead{\@fancyhead\relax\@olhead\@ochead\@orhead\hss} +\def\@oddfoot{\@fancyfoot\relax\@olfoot\@ocfoot\@orfoot\hss} +\def\@evenhead{\@fancyhead\hss\@elhead\@echead\@erhead\relax} +\def\@evenfoot{\@fancyfoot\hss\@elfoot\@ecfoot\@erfoot\relax} +} +%------------------- Modify Headers for Prentice-Hall Book Style +%---------- Setup headers and footers +\pagestyle{fancyplain} +\plainfootrulewidth 0pt %---- no foot rule for chapter page +\footrulewidth 0pt %---- no rule for foot + +%--- Redefine Headers +\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}} +% +\lhead[\fancyplain{}{\bf\thepage}]{\fancyplain{}{\sfnine\rightmark}} +% +%\rhead[\fancyplain{}{\footnotesize\sf\CHHEAD}]{\fancyplain{}{\bf\thepage}} + \rhead[\fancyplain{}{\sfnine \leftmark}]{\fancyplain{}{\bf\thepage}} +%--- Empty footers on every page (except initial chapter page which has +%--- page number) and optionally a small date stamp +\cfoot[\fancyplain{}{}]{\fancyplain{}{}} +\rfoot[\fancyplain{}{}]{\fancyplain{\hspace{\fill}\\ \bf\thepage}{}} +\lfoot[\fancyplain{\hspace{\fill}\\ \bf\thepage}{}]{\fancyplain{}{}} +%-- replace the two lines above with the two below for a date stamp footer +%\rfoot[\fancyplain{\scriptsize \today}{\scriptsize \today}]{\fancyplain{\bf\thepage}{}} +%\lfoot[\fancyplain{\bf\thepage}{}]{\fancyplain{\scriptsize \today}{\scriptsize \today}} +%--- Change format of section header +% +% rlm added chaptermark 10/11/96 +\def\sectionmark#1{\markright{\ifnum \c@secnumdepth >\z@ + {\sfeight Section}~\thesection.\quad \fi #1}} +\def\sectionsmark#1{\markright{#1}{#1}} +% +\def\chaptermark#1{\markboth{#1 \quad \@chapapp{}~\thechapter}{}} +\def\chaptersmark#1{\markboth{#1}{#1}} + + + + +%===================== Change Section Heads to Bold Sans Serif +% Create bolds sans serif sectioning headings. Also the headings have +% been reduced in size with less space before and after the heading. +% Modified from macros given in BK10.STY +% +%----------------------------- part --------------------------------- +\def\@part[#1]#2{% + \thispagestyle{empty} + \ifodd\c@page\hbox{}\else\clearpage\fi + \addtocounter{page}{-2} + \thispagestyle{empty} + \ifnum \c@secnumdepth >-2\relax + \refstepcounter{part}% + \addcontentsline{toc}{part}{Part \thepart\hspace{1em}#1}% + \else + \addcontentsline{toc}{part}{Part #1}% + \fi + {\centering + \interlinepenalty \@M + \normalfont + \ifnum \c@secnumdepth >-2\relax + \huge\bfseries \partname\nobreakspace\thepart + \par + \vskip 20\p@ + \fi + \Huge \bfseries #2\par}% + \@endpart} + +%------------------------- appendix ----------------------------------- + +\let\oldappendix\appendix +\def\appendix{\oldappendix\def\addchaptertoloe{}} + +%------------------------- chapter ----------------------------------- +\def\addchaptertoloe{% + \addtocontents{loe}{\protect\addvspace{14pt}}% + \addtocontents{loe}{\noindent {\bfseries Chapter~\thechapter}\protect\par}% + \addtocontents{loe}{\protect\addvspace{10pt}}% +} + +\def\chapter{\clearpage \thispagestyle{plain} \global\@topnum\z@ +\@afterindentfalse \secdef\@chapter\@schapter} +\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne + \refstepcounter{chapter} + \typeout{\@chapapp\space\thechapter.} + \addcontentsline{toc}{chapter}{Chapter~\protect + \numberline{\thechapter}\uppercase{#1}}\else + \addcontentsline{toc}{chapter}{Chapter~\uppercase{#1}}\fi + \chaptermark{#1} + \addchaptertoloe + \addtocontents{lof}{\protect\addvspace{10pt}} +\addtocontents{lot}{\protect\addvspace{10pt}} \if@twocolumn +\@topnewpage[\@makechapterhead{#2}] + \else \@makechapterhead{#2} + \@afterheading \fi} +% +\def\@schapter#1{\if@twocolumn \@topnewpage[\@makeschapterhead{#1}] + \else \@makeschapterhead{#1}\chaptersmark{#1} + \@afterheading\fi\addcontentsline{toc}{chapter}{\uppercase{#1}}} + + + +\def\@makechapterhead#1{\vspace*{-20pt}{\parindent0pt\raggedright +\ifnum\c@secnumdepth>\m@ne\LARGE\sf\@chapapp{}~\thechapter\par +\vskip3pt\hrule\vskip3pt\hrule +\vskip30pt\fi\raggedright\Huge\sfbHuge\uppercase{#1}\par +\nobreak\vskip70pt}}%\chaptermark{#1}} + +\def\@makeschapterhead#1{\vspace*{4pt}{\parindent0pt +\vskip3pt\hrule\vskip3pt\hrule +\vskip36pt\raggedright\Huge\sfbHuge\uppercase{#1}\par +\nobreak\vskip70pt}}%\chaptersmark{#1}} + +%------------------------ section ----------------------------------- +\def\section{\@startsection{section}{1}{\z@}{-3.5ex plus-1ex + minus -.2ex}{1.8ex}{\sfbsection}} + +%--------------------- subsection ----------------------------------- +\def\subsection{\@startsection{subsection}{2}{\z@}{-2.75ex plus -1ex + minus -.2ex}{1.2ex}{\sfbsubsec}} + +%-------------------- subsubsection -------------------------------- +\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{-2.75ex + plus -1ex minus -.2ex}{1.2ex}{\sfbsubsub}} + +%----------------------- paragraph ---------------------------------- +\def\paragraph{\@startsection{paragraph}{4}{\z@}{1.25ex plus + 1ex minus .2ex}{-1em}{\sfbpara}} + +%---------------------- subparagraph -------------------------------- +\def\subparagraph{\@startsection{subparagraph}{4}{\parindent}{1.25ex + plus 1ex minus .2ex}{-1em}{\normalsize\sfb}} + + + +%====================== Turn off leader dots in Table of Contents +\renewcommand{\@dotsep}{500} + +\def\tableofcontents{\markboth{}{}\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn + \fi\thispagestyle{plain} \@makeschapterhead{Contents} + \@afterheading + \chaptersmark{Contents} + \sectionsmark{Contents} + \@starttoc{toc}\if@restonecol\twocolumn\fi} + + +\def\thebibliography#1{\chapter*{Bibliography}\list +% \addcontentsline{toc}{chapter}{Bibliography} + {[\arabic{enumi}]}{\settowidth\labelwidth{2em}\leftmargin\labelwidth +% \advance\leftmargin\labelsep + \usecounter{enumi}} + \def\newblock{\hskip .11em plus .33em minus .07em} + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=1000\relax} +\let\endthebibliography=\endlist + + +%% BIBLIOGRAPHY +% +%% separate citations with "], [" +\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi +\def\@citea{}\@cite{\@for\@citeb:=#2\do {\@citea\def\@citea{], +[}\@ifundefined {b@\@citeb}{{\bf ?}\@warning {Citation `\@citeb' on +page \thepage \space undefined}}% +{\csname b@\@citeb\endcsname}}}{#1}} + +\def\@cite#1#2{[{#1\if@tempswa, #2\fi}]} + + +%% index + +%\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi +%\columnseprule \z@ +%\columnsep 35pt\twocolumn[\@makeschapterhead{Subject Index}] +% \addcontentsline{toc}{chapter}{SUBJECT INDEX} +% \thispagestyle{plain}\parindent\z@ +% \parskip\z@ plus .3pt\relax\let\item\@idxitem} + +\def\theindex{\cleardoublepage\@restonecoltrue\if@twocolumn\@restonecolfalse\fi +\columnseprule \z@ +\columnsep 35pt\twocolumn[\@makeschapterhead{Subject Index}] + \chaptersmark{Subject Index}% + \addcontentsline{toc}{chapter}{SUBJECT INDEX} + \thispagestyle{plain}\parindent\z@ + \parskip\z@ plus .3pt\relax\let\item\@idxitem} + + +\renewcommand{\cleardoublepage}{\clearpage\if@twoside \ifodd\c@page\else +\hbox{}\thispagestyle{empty}\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi} + +\renewcommand{\numberline}[1]{\sbox\@tempboxa{#1\hspace{2pt}}% + \ifdim\wd\@tempboxa>\@tempdima \else \wd\@tempboxa\@tempdima\fi + \box\@tempboxa} + +\def\listofexamples{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn + \fi\chapter*{List of Examples} + \renewcommand\@pnumwidth{0em} + \@starttoc{loe}\if@restonecol + \twocolumn\fi} + +\def\l@example{\noindent\@dottedtocline{1}{0em}{3.5em}} + +\parskip 1.5ex +\parindent 0pt + +\renewcommand\listfigurename{\uppercase{List Of Figures}} +\renewcommand\listtablename{\uppercase{List Of Tables}} + diff --git a/docs/xslt/lists.mod.xsl b/docs/xslt/lists.mod.xsl new file mode 100644 index 0000000000..49e39d5e7f --- /dev/null +++ b/docs/xslt/lists.mod.xsl @@ -0,0 +1,29 @@ +<?xml version='1.0'?> +<!--############################################################################# +|- ############################################################################# +| +| PURPOSE: ++ ############################################################################## --> + +<xsl:stylesheet + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" + exclude-result-prefixes="doc" version='1.0'> + + + <xsl:template match="simplelist"> + <xsl:if test="title"> <xsl:apply-templates select="title"/></xsl:if> + <xsl:text> \begin{itemize} </xsl:text> + <xsl:apply-templates select="member"/> + <xsl:text> \end{itemize} </xsl:text> + </xsl:template> + + + <xsl:template match="member"> + <xsl:text> %--- Item </xsl:text> + <xsl:text>\item[] </xsl:text> + <xsl:apply-templates/> + <xsl:text> </xsl:text> + </xsl:template> + +</xsl:stylesheet> diff --git a/docs/xslt/man.xsl b/docs/xslt/man.xsl new file mode 100644 index 0000000000..2a27bc4c04 --- /dev/null +++ b/docs/xslt/man.xsl @@ -0,0 +1,169 @@ +<?xml version='1.0'?> +<!-- vim:set sts=2 shiftwidth=2 syntax=xml: --> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version='1.0'> + +<xsl:import href="../settings.xsl"/> + +<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"/> + +<xsl:param name="chunk.section.depth" select="0"/> +<xsl:param name="chunk.first.sections" select="1"/> +<xsl:param name="use.id.as.filename" select="1"/> +<xsl:param name="base.dir" select="'../manpages/'"/> + +<!-- + Our ulink stylesheet omits @url part if content was specified +--> +<xsl:template match="ulink"> + <xsl:variable name="content"> + <xsl:apply-templates/> + </xsl:variable> + <xsl:if test="$content = ''"> + <xsl:text>: </xsl:text> + </xsl:if> + <xsl:if test="$content != ''"> + <xsl:value-of select="$content" /> + </xsl:if> + <xsl:if test="$content = ''"> + <xsl:apply-templates mode="italic" select="@url" /> + </xsl:if> +</xsl:template> + +<xsl:template match="refentry"> + + <xsl:variable name="section" select="refmeta/manvolnum"/> + <xsl:variable name="name" select="refnamediv/refname[1]"/> + <xsl:variable name="base.dir" select="$base.dir"/> + <!-- standard man page width is 64 chars; 6 chars needed for the two + (x) volume numbers, and 2 spaces, leaves 56 --> + <xsl:variable name="twidth" select="(74 - string-length(refmeta/refentrytitle)) div 2"/> + + <xsl:variable name="reftitle" + select="substring(refmeta/refentrytitle, 1, $twidth)"/> + + <xsl:variable name="title"> + <xsl:choose> + <xsl:when test="refentryinfo/title"> + <xsl:value-of select="refentryinfo/title"/> + </xsl:when> + <xsl:when test="../referenceinfo/title"> + <xsl:value-of select="../referenceinfo/title"/> + </xsl:when> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="date"> + <xsl:choose> + <xsl:when test="refentryinfo/date"> + <xsl:value-of select="refentryinfo/date"/> + </xsl:when> + <xsl:when test="../referenceinfo/date"> + <xsl:value-of select="../referenceinfo/date"/> + </xsl:when> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="productname"> + <xsl:choose> + <xsl:when test="refentryinfo/productname"> + <xsl:value-of select="refentryinfo/productname"/> + </xsl:when> + <xsl:when test="../referenceinfo/productname"> + <xsl:value-of select="../referenceinfo/productname"/> + </xsl:when> + </xsl:choose> + </xsl:variable> + + <xsl:call-template name="write.text.chunk"> + <xsl:with-param name="filename" + select="concat($base.dir, normalize-space ($name), '.', $section)"/> + <xsl:with-param name="content"> + <xsl:text>.\"Generated by db2man.xsl. Don't modify this, modify the source. +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "</xsl:text> + <xsl:value-of select="translate($reftitle,'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/> + <xsl:text>" </xsl:text> + <xsl:value-of select="refmeta/manvolnum[1]"/> + <xsl:text> "</xsl:text> + <xsl:value-of select="normalize-space($date)"/> + <xsl:text>" "</xsl:text> + <xsl:value-of select="normalize-space($productname)"/> + <xsl:text>" "</xsl:text> + <xsl:value-of select="$title"/> + <xsl:text>" +</xsl:text> + <xsl:apply-templates/> + <xsl:text> </xsl:text> + + <!-- Author section --> + <xsl:choose> + <xsl:when test="refentryinfo//author"> + <xsl:apply-templates select="refentryinfo" mode="authorsect"/> + </xsl:when> + </xsl:choose> + </xsl:with-param> + </xsl:call-template> +</xsl:template> + +<xsl:template match="informalexample|screen|programlisting"> + <xsl:text>.nf </xsl:text> + <xsl:apply-templates/> + <xsl:text>.fi </xsl:text> +</xsl:template> + +<xsl:template match="//emphasis"> + <xsl:text>\fB</xsl:text> + <xsl:apply-templates/> + <xsl:text>\fR</xsl:text> +</xsl:template> + +<xsl:template match="para|simpara|remark" mode="list"> + <xsl:variable name="foo"> + <xsl:apply-templates/> + </xsl:variable> + <xsl:choose match="node()"> + <!-- Don't normalize-space() for verbatim paragraphs --> + <xsl:when test="informalexample|screen|programlisting"> + <xsl:value-of select="$foo"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="normalize-space($foo)"/> + <xsl:text> </xsl:text> + </xsl:otherwise> + </xsl:choose> + <xsl:text> </xsl:text> + <xsl:if test="following-sibling::para or following-sibling::simpara or + following-sibling::remark"> + <!-- Make sure multiple paragraphs within a list item don't --> + <!-- merge together. --> + <xsl:text> </xsl:text> + </xsl:if> +</xsl:template> + +<xsl:template match="refsect3"> + <xsl:text> .SS "</xsl:text> + <xsl:value-of select="title[1]"/> + <xsl:text>" </xsl:text> + <xsl:apply-templates/> +</xsl:template> + + +</xsl:stylesheet> diff --git a/docs/xslt/normalize-scape.mod.xsl b/docs/xslt/normalize-scape.mod.xsl new file mode 100644 index 0000000000..1ea5cbe8de --- /dev/null +++ b/docs/xslt/normalize-scape.mod.xsl @@ -0,0 +1,395 @@ +<?xml version='1.0'?> +<!--############################################################################# +| $Id: normalize-scape.mod.xsl,v 1.1 2003/12/05 06:53:48 ab Exp $ +|- ############################################################################# +| $Author: ab $ +| +| PURPOSE: +| Escape LaTeX and normalize-space templates. +| < > # $ % & ~ _ ^ \ { } | ++ ############################################################################## --> + +<xsl:stylesheet + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" + xmlns:exsl="http://exslt.org/common" + exclude-result-prefixes="doc" + extension-element-prefixes="exsl" + version='1.0'> + + + <!--############################################################################# --> + <!-- DOCUMENTATION --> + <doc:reference id="normalize-scape" xmlns=""> + <referenceinfo> + <releaseinfo role="meta"> + $Id: normalize-scape.mod.xsl,v 1.1 2003/12/05 06:53:48 ab Exp $ + </releaseinfo> + <authorgroup> + <author> <firstname>Ramon</firstname> <surname>Casellas</surname> </author> + <author> <firstname>James</firstname> <surname>Devenish</surname> </author> + </authorgroup> + <copyright><year>2000</year><year>2001</year><year>2002</year><year>2003</year> + <holder>Ramon Casellas</holder> + </copyright> + </referenceinfo> + <title>Normalize and Scape strings.</title> + <partintro> + <section><title>Introduction</title> + <para></para> + </section> + </partintro> + </doc:reference> + <!--############################################################################# --> + + <xsl:key name="character" match="character" use="unicode"/> + <xsl:param name="unicode.mapping.local" select="''"/> + <xsl:param name="unicode.mapping.default" select="'unicode.mapping.xml'"/> + <xsl:param name="unicode.mapping.languages" select="''"/> + <xsl:variable name="unicode.mapping.sources"> + <xsl:if test="not(function-available('exsl:node-set'))"> + <xsl:message terminate="yes"> + <xsl:text>Error: this style requires support for extension 'exsl:node-set()'</xsl:text> + </xsl:message> + </xsl:if> + <file><xsl:value-of select="$unicode.mapping.local"/></file> + <xsl:call-template name="parse.unicode.mapping.languages"> + <xsl:with-param name="languages" select="$unicode.mapping.languages"/> + </xsl:call-template> + <file><xsl:value-of select="$unicode.mapping.default"/></file> + </xsl:variable> + + <xsl:variable name="unicode.mapping.database" select="document(exsl:node-set($unicode.mapping.sources)/file,document(''))/mapping"/> + + <xsl:template name="parse.unicode.mapping.languages"> + <xsl:param name="languages"/> + <xsl:if test="contains($languages,' ')"> + <xsl:variable name="unicode.mapping.lang.file" select="concat('unicode.mapping.',substring-before($languages,' '),'.xml')"/> + <xsl:if test="document($unicode.mapping.lang.file)"> + <file><xsl:value-of select="$unicode.mapping.lang.file"/></file> + </xsl:if> + <xsl:call-template name="parse.unicode.mapping.languages"> + <xsl:with-param name="languages" select="substring-after($languages,' ')"/> + </xsl:call-template> + </xsl:if> + <xsl:if test="not(string-length($languages)=0)"> + <xsl:variable name="unicode.mapping.lang.file" select="concat('unicode.mapping.',$languages,'.xml')"/> + <xsl:if test="document($unicode.mapping.lang.file)"> + <file><xsl:value-of select="$unicode.mapping.lang.file"/></file> + </xsl:if> + </xsl:if> + </xsl:template> + + <xsl:template name="scape"> + <xsl:param name="string"/> + <xsl:if test="not(string-length($string)=0)"> + <xsl:variable name="char" select="substring($string,1,1)"/> + <xsl:variable name="preferred"> + <xsl:for-each select="$unicode.mapping.database"> + <preferred><xsl:value-of select="key('character',$char)/preferred"/></preferred> + </xsl:for-each> + </xsl:variable> + <xsl:choose> + <!-- Do not optimize it to variable calculation. I already test it for speed with xsltproc :) --> + <xsl:when test="exsl:node-set($preferred)/preferred[not(string-length(.)=0)][1]"> + <xsl:value-of select="exsl:node-set($preferred)/preferred[not(string-length(.)=0)][1]"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$char"/> + </xsl:otherwise> + </xsl:choose> + <xsl:call-template name="scape"> + <xsl:with-param name="string" select="substring($string,2)"/> + </xsl:call-template> + </xsl:if> + </xsl:template> + + <xsl:template name="scape-href"> + <xsl:param name="string"/> + <xsl:call-template name="scape"> + <xsl:with-param name="string" select="$string"/> + </xsl:call-template> + </xsl:template> + + <xsl:template name="scape-verbatim"> + <xsl:param name="string"/> + <xsl:call-template name="scape"> + <xsl:with-param name="string" select="$string"/> + </xsl:call-template> + </xsl:template> + + <xsl:template name="scape.slash.hyphen"> + <xsl:param name="string"/> + <xsl:call-template name="scape"> + <xsl:with-param name="string" select="$string"/> + </xsl:call-template> + </xsl:template> + + <xsl:template name="scape-url"> + <xsl:param name="string"/> + <xsl:call-template name="scape"> + <xsl:with-param name="string" select="$string"/> + </xsl:call-template> + </xsl:template> + + <xsl:template match="example"> + <xsl:variable name="placement"> + <xsl:call-template name="generate.formal.title.placement"> + <xsl:with-param name="object" select="local-name(.)" /> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="caption"> + <xsl:text>{</xsl:text> + <xsl:value-of select="$latex.example.caption.style"/> + <xsl:text>{\caption{</xsl:text> + <!-- WARNING: do not scape if title output already scaped by original title parsing --> + <xsl:call-template name="scape"> + <xsl:with-param name="string"> + <xsl:apply-templates select="title" mode="caption.mode"/> + </xsl:with-param> + </xsl:call-template> + <xsl:text>}</xsl:text> + <xsl:text>}} </xsl:text> + </xsl:variable> + <xsl:call-template name="map.begin"/> + <xsl:if test="$placement='before'"> + <xsl:text>\captionswapskip{}</xsl:text> + <xsl:value-of select="$caption"/> + <xsl:text>\captionswapskip{}</xsl:text> + </xsl:if> + <xsl:apply-templates /> + <xsl:if test="$placement!='before'"> + <xsl:value-of select="$caption"/> + </xsl:if> + <xsl:call-template name="map.end"/> + </xsl:template> + + + <!--############################################################################# --> + <!-- DOCUMENTATION --> + <doc:template name="normalize-scape" xmlns=""> + <refpurpose> Abstract XSL template. </refpurpose> + <refdescription> + </refdescription> + </doc:template> + <!--############################################################################# --> + + <xsl:template match="text()" name="text"> + <xsl:call-template name="trim-outer"> + <xsl:with-param name="string"> + <xsl:choose> + <xsl:when test="ancestor::literal|ancestor::filename|ancestor::userinput|ancestor::systemitem|ancestor::prompt|ancestor::email|ancestor::sgmltag"> + <xsl:call-template name="scape-verbatim"> + <xsl:with-param name="string" select="."/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="scape"> + <xsl:with-param name="string" select="."/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- + <xsl:template match="abbrev/text()"> + <xsl:variable name="string"> + <xsl:call-template name="text()"/> + </xsl:variable> + <xsl:call-template name="string-replace"> + <xsl:with-param name="to">.\ </xsl:with-param> + <xsl:with-param name="from">. </xsl:with-param> + <xsl:with-param name="string" select="$string"/> + </xsl:call-template> + </xsl:template> + --> + + <xsl:template match="text()" mode="xref.text"> + <xsl:call-template name="trim-outer"> + <xsl:with-param name="string"> + <xsl:call-template name="scape"> + <xsl:with-param name="string" select="."/> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> + </xsl:template> + + <xsl:template match="text()" mode="xref-to"> + <xsl:call-template name="trim-outer"> + <xsl:with-param name="string"> + <xsl:call-template name="scape"> + <xsl:with-param name="string" select="."/> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> + </xsl:template> + + <xsl:template match="text()" mode="latex.verbatim"> + <!-- + <xsl:call-template name="trim-outer"> + <xsl:with-param name="string"> + --> + <xsl:value-of select="."/> + <!-- + </xsl:with-param> + </xsl:call-template> + --> + </xsl:template> + + <!-- this template is noly used by xref.mod.xsl and only when + $latex.hyphenation.tttricks != 1. --> + <xsl:template match="text()" mode="slash.hyphen"> + <xsl:call-template name="trim-outer"> + <xsl:with-param name="string"> + <xsl:call-template name="scape.slash.hyphen"> + <xsl:with-param name="string" select="." /> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> + </xsl:template> + + <xsl:template name="trim-outer"> + <xsl:param name="string"/> + <xsl:variable name="trimleft" select="position()=1"/> + <xsl:variable name="trimright" select="position()=last()"/> + <xsl:choose> + <xsl:when test="$trimleft and not($trimright)"> + <xsl:value-of select="substring-before(normalize-space(concat($string,'$$')),'$$')"/> + </xsl:when> + <xsl:when test="$trimright and not($trimleft)"> + <xsl:value-of select="substring-after(normalize-space(concat('$$',$string)),'$$')"/> + </xsl:when> + <xsl:when test="$trimleft and $trimright"> + <xsl:value-of select="normalize-space($string)"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$string"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="scape.slash.hyphen"> + <xsl:param name="string" /> + <xsl:choose> + <xsl:when test="contains($string,'://')"> + <xsl:call-template name="string-replace"> + <xsl:with-param name="to">/\dbz{}</xsl:with-param> + <xsl:with-param name="from">/</xsl:with-param> + <xsl:with-param name="string"> + <xsl:call-template name="string-replace"> + <xsl:with-param name="to">.\dbz{}</xsl:with-param> + <xsl:with-param name="from">.</xsl:with-param> + <xsl:with-param name="string"> + <xsl:value-of select="substring-before($string,'://')"/> + <xsl:value-of select="'://'"/> + <xsl:call-template name="scape"> + <xsl:with-param name="string" select="substring-after($string,'://')"/> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="string-replace"> + <xsl:with-param name="to">/\dbz{}</xsl:with-param> + <xsl:with-param name="from">/</xsl:with-param> + <xsl:with-param name="string"> + <xsl:call-template name="string-replace"> + <xsl:with-param name="to">.\dbz{}</xsl:with-param> + <xsl:with-param name="from">.</xsl:with-param> + <xsl:with-param name="string"> + <xsl:call-template name="scape"> + <xsl:with-param name="string" select="$string"/> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="normalize-scape" > + <xsl:param name="string"/> + <xsl:variable name="result"> + <xsl:call-template name="scape"><xsl:with-param name="string" select="$string"/></xsl:call-template> + </xsl:variable> + <xsl:value-of select="normalize-space($result)"/> + </xsl:template> + + + <doc:template name="scape-optionalarg" xmlns=""> + <refpurpose> Escape the ] character in LaTeX optional arguments (experimental) </refpurpose> + <refdescription> + </refdescription> + </doc:template> + <xsl:template name="scape-optionalarg" > + <xsl:param name="string"/> + <xsl:call-template name="string-replace"> + <xsl:with-param name="to">{\rbrack}</xsl:with-param> + <xsl:with-param name="from">]</xsl:with-param> + <xsl:with-param name="string" select="$string"/> + </xsl:call-template> + </xsl:template> + + + + + <xsl:template name="string-replace"> + <xsl:param name="string"/> + <xsl:param name="from"/> + <xsl:param name="to"/> + + <xsl:choose> + <xsl:when test="contains($string, $from)"> + + <xsl:variable name="before" select="substring-before($string, $from)"/> + <xsl:variable name="after" select="substring-after($string, $from)"/> + <xsl:variable name="prefix" select="concat($before, $to)"/> + + <xsl:value-of select="$before"/> + <xsl:value-of select="$to"/> + <xsl:call-template name="string-replace"> + <xsl:with-param name="string" select="$after"/> + <xsl:with-param name="from" select="$from"/> + <xsl:with-param name="to" select="$to"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$string"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + + + + <!-- + (c) David Carlisle + replace all occurences of the character(s) `from' + by the string `to' in the string `string'. + <xsl:template name="string-replace" > + <xsl:param name="string"/> + <xsl:param name="from"/> + <xsl:param name="to"/> + <xsl:choose> + <xsl:when test="contains($string,$from)"> + <xsl:value-of select="substring-before($string,$from)"/> + <xsl:value-of select="$to"/> + <xsl:call-template name="string-replace"> + <xsl:with-param name="string" select="substring-after($string,$from)"/> + <xsl:with-param name="from" select="$from"/> + <xsl:with-param name="to" select="$to"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$string"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + --> + +</xsl:stylesheet> diff --git a/docs/xslt/table.mod.xsl b/docs/xslt/table.mod.xsl new file mode 100644 index 0000000000..b20752d91d --- /dev/null +++ b/docs/xslt/table.mod.xsl @@ -0,0 +1,743 @@ +<?xml version='1.0'?> +<!--############################################################################# +|- ############################################################################# +| +| PURPOSE: ++ ############################################################################## --> +<xsl:stylesheet + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" + exclude-result-prefixes="doc" version='1.0'> + + + + <!--############################################################################# --> + <!-- DOCUMENTATION --> + <doc:reference id="table" xmlns=""> + <referenceinfo> + <releaseinfo role="meta"> + </releaseinfo> + <authorgroup> + <firstname>Ramon</firstname> <surname>Casellas</surname> + <firstname>James</firstname> <surname>Devenish</surname> + </authorgroup> + <copyright> + <year>2000</year> <year>2001</year> <year>2002</year> <year>2003</year> + <holder>Ramon Casellas</holder> + </copyright> + </referenceinfo> + + <title>Tables <filename>table.mod.xsl</filename></title> + <partintro> + <section><title>Introduction</title> + <para></para> + </section> + </partintro> + </doc:reference> + + + + + <!--############################################################################# --> + <!-- DOCUMENTATION --> + <doc:template match="table|informaltable" xmlns=""> + <refpurpose>XSL template for docbook tables. </refpurpose> + <refdescription> + <para></para> + <formalpara><title>Remarks and Bugs</title> + <itemizedlist> + </itemizedlist> + </formalpara> + <formalpara><title>Default Behaviour</title> + <screen></screen> + </formalpara> + </refdescription> + </doc:template> + <!--############################################################################# --> + + <xsl:template match="table"> + <xsl:variable name="placement"> + <xsl:call-template name="generate.formal.title.placement"> + <xsl:with-param name="object" select="local-name(.)" /> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="caption"> + <xsl:text>\caption{</xsl:text> + <xsl:apply-templates select="title" mode="caption.mode"/> + <xsl:text>} </xsl:text> + </xsl:variable> + <xsl:call-template name="map.begin"/> + <xsl:if test="$placement='before'"> + <xsl:text>\captionswapskip{}</xsl:text> + <xsl:value-of select="$caption" /> + <xsl:text>\captionswapskip{}</xsl:text> + </xsl:if> + <xsl:apply-templates/> + <xsl:if test="$placement!='before'"><xsl:value-of select="$caption" /></xsl:if> + <xsl:call-template name="map.end"/> + </xsl:template> + + <xsl:template match="table/title"/> + <xsl:template match="table/title" mode="caption.mode"><xsl:apply-templates /></xsl:template> + + <xsl:template match="informaltable"> + <xsl:call-template name="map.begin"/> + <xsl:apply-templates/> + <xsl:call-template name="map.end"/> + </xsl:template> + + + <xsl:template name="table.format.tabularx"> + <xsl:param name="cols" select="1"/> + <xsl:param name="i" select="1"/> + <xsl:param name="colsep" select="1"/> + <!-- sum of numeric portions in 1*-like colwidths --> + <xsl:param name="starfactor" select="0"/> + <xsl:choose> + <!-- Out of the recursive iteration --> + <xsl:when test="$i > $cols"></xsl:when> + <!-- There are still columns to count --> + <xsl:otherwise> + <xsl:variable name="width"> + <xsl:variable name="userchoice" select="colspec[@colnum=$i]/@colwidth"/> + <xsl:variable name="cells" select="thead/row/entry[$i]|tbody/row/entry[$i]"/> + <xsl:choose> + <xsl:when test="string-length($userchoice)=0 and count($cells//itemizedlist|$cells//orderedlist|$cells//variablelist)>0"> + <!-- In these specific circumstances, we MUST use a line-wrapped column + and yet the user hasn't specified one. --> + <xsl:value-of select="'1*'"/> + </xsl:when> + <xsl:otherwise> + <!-- In the general case, we just do what the user wants (may even + have no pre-specified width). --> + <xsl:value-of select="$userchoice"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <!-- Try to take heed of colspecs --> + <xsl:choose> + <xsl:when test="$width!=''"> + <xsl:text>>{</xsl:text> + <xsl:if test="contains($width,'*')"> + <!-- see tabularx documentation --> + <xsl:text>\hsize=</xsl:text> + <xsl:value-of select="substring-before($width,'*') * $starfactor" /> + <xsl:text>\hsize</xsl:text> + </xsl:if> + <xsl:choose> + <xsl:when test="colspec[@colnum=$i]/@align='left'"><xsl:text>\RaggedRight</xsl:text></xsl:when> + <xsl:when test="colspec[@colnum=$i]/@align='right'"><xsl:text>\RaggedLeft</xsl:text></xsl:when> + <xsl:when test="colspec[@colnum=$i]/@align='center'"><xsl:text>\Centering</xsl:text></xsl:when> + <xsl:when test="colspec[@colnum=$i]/@align='char'"><xsl:message>Table column char alignment is not supported.</xsl:message></xsl:when> + </xsl:choose> + <xsl:text>}</xsl:text> + <xsl:choose> + <xsl:when test="contains($width,'*')"> + <xsl:text>X</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>p{</xsl:text><xsl:value-of select="$width" /><xsl:text>}</xsl:text> + </xsl:otherwise> + </xsl:choose> + <xsl:if test="$i<$cols and $colsep='1'"> + <xsl:text>|</xsl:text> + </xsl:if> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="colspec[@colnum=$i]/@align='left'"><xsl:text>l</xsl:text></xsl:when> + <xsl:when test="colspec[@colnum=$i]/@align='right'"><xsl:text>r</xsl:text></xsl:when> + <xsl:when test="colspec[@colnum=$i]/@align='center'"><xsl:text>c</xsl:text></xsl:when> + <xsl:when test="colspec[@colnum=$i]/@align='justify'"><xsl:text>X</xsl:text></xsl:when> + <xsl:when test="colspec[@colnum=$i]/@align='char'"><xsl:text>c</xsl:text><xsl:message>Table column char alignment is not supported.</xsl:message></xsl:when> + <xsl:otherwise><xsl:text>X</xsl:text></xsl:otherwise> + </xsl:choose> + <xsl:if test="$i<$cols and $colsep='1'"> + <xsl:text>|</xsl:text> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + <!-- Recursive for next column --> + <xsl:call-template name="table.format.tabularx"> + <xsl:with-param name="i" select="$i+1"/> + <xsl:with-param name="cols" select="$cols"/> + <xsl:with-param name="starfactor" select="$starfactor"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + + <!-- FIX THIS --> + <xsl:template name="table.format.tabular"> + <xsl:param name="cols" select="1"/> + <xsl:param name="i" select="1"/> + <xsl:param name="colsep" select="1"/> + <xsl:choose> + <!-- Out of the recursive iteration --> + <xsl:when test="$i > $cols"></xsl:when> + <!-- There are still columns to count --> + <xsl:otherwise> + <!-- Try to take heed of colspecs --> + <xsl:choose> + <!-- RC 2003/03/19 : Added first 'test' : colspec[@colnum=$i] for xsltproc + Before this patch, parsing the doc with xsltproc the xsl:when clause + was evaluated to 'true' even if there was no colspec for the column + --> + <xsl:when test="colspec[@colnum=$i] and colspec[@colnum=$i]/@colwidth!='' and not(contains(colspec[@colnum=$i]/@colwidth,'*'))"> + <xsl:choose> + <xsl:when test="colspec[@colnum=$i]/@align='left'"><xsl:text>>{\RaggedRight}</xsl:text></xsl:when> + <xsl:when test="colspec[@colnum=$i]/@align='right'"><xsl:text>>{\RaggedLeft}</xsl:text></xsl:when> + <xsl:when test="colspec[@colnum=$i]/@align='center'"><xsl:text>>{\Centering}</xsl:text></xsl:when> + <xsl:when test="colspec[@colnum=$i]/@align='char'"><xsl:message>Table column char alignment is not supported.</xsl:message></xsl:when> + </xsl:choose> + <xsl:text>p{</xsl:text><xsl:value-of select="colspec[@colnum=$i]/@colwidth" /><xsl:text>}</xsl:text> + <xsl:if test="$i<$cols and $colsep='1'"> + <xsl:text>|</xsl:text> + </xsl:if> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="colspec[@colnum=$i]/@align='left'"><xsl:text>l</xsl:text></xsl:when> + <xsl:when test="colspec[@colnum=$i]/@align='right'"><xsl:text>r</xsl:text></xsl:when> + <xsl:when test="colspec[@colnum=$i]/@align='center'"><xsl:text>c</xsl:text></xsl:when> + <xsl:when test="colspec[@colnum=$i]/@align='justify'"><xsl:text>l</xsl:text></xsl:when> + <xsl:when test="colspec[@colnum=$i]/@align='char'"><xsl:text>c</xsl:text><xsl:message>Table column char alignment is not supported.</xsl:message></xsl:when> + <xsl:otherwise><xsl:text>c</xsl:text></xsl:otherwise> + </xsl:choose> + <xsl:if test="$i<$cols and $colsep='1'"> + <xsl:text>|</xsl:text> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + <!-- Recursive for next column --> + <xsl:call-template name="table.format.tabular"> + <xsl:with-param name="i" select="$i+1"/> + <xsl:with-param name="cols" select="$cols"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + + + <!-- See tabularx documentation. --> + <!-- For example, if we have a 1* column and a 3* column, then the + the hsizes for each column are (1/(1+3)*2) and (3/(1+3)*2). + The ratio of these to the star values (star values being 1 and 3) + is 2/(1+3). + BUT it is now very complicated because it takes into account columns + where the user has not specified a width but LaTeX requires a + fixed-width column (i.e. specialcols may vary). + Relies on there being (a) colspecs for every column or (b) no + colspecs. + --> + <xsl:template name="generate.starfactor"> + <xsl:param name="i" select="1"/> + <xsl:param name="cols" select="count(colspec)"/> + <xsl:param name="sum" select="0"/> + <xsl:param name="specialcols" select="count(colspec[contains(@colwidth,'*')])"/> + <xsl:choose> + <xsl:when test="$i<=$cols and colspec[position()=$i and contains(@colwidth,'*')]"> + <!-- a * column --> + <xsl:call-template name="generate.starfactor"> + <xsl:with-param name="i" select="$i+1"/> + <xsl:with-param name="cols" select="$cols"/> + <xsl:with-param name="sum" select="$sum+substring-before(colspec[$i]/@colwidth,'*')"/> + <xsl:with-param name="specialcols" select="$specialcols"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="$i<=$cols"> + <!-- not a * column, but we are going to pretend that it is --> + <xsl:variable name="cells" select="thead/row/entry[$i]|tbody/row/entry[$i]"/> + <xsl:variable name="problems" select="count($cells//itemizedlist|$cells//orderedlist|$cells//variablelist)"/> + <xsl:choose> + <xsl:when test="$problems > 0"> + <xsl:call-template name="generate.starfactor"> + <xsl:with-param name="i" select="$i+1"/> + <xsl:with-param name="cols" select="$cols"/> + <xsl:with-param name="sum" select="$sum+1"/> + <xsl:with-param name="specialcols" select="$specialcols+1"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="generate.starfactor"> + <xsl:with-param name="i" select="$i+1"/> + <xsl:with-param name="cols" select="$cols"/> + <xsl:with-param name="sum" select="$sum"/> + <xsl:with-param name="specialcols" select="$specialcols"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$specialcols div $sum"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + + <xsl:template match="tgroup"> + <xsl:variable name="align" select="@align"/> + <xsl:variable name="frame"> + <xsl:choose> + <xsl:when test="string-length(../@frame)<1">all</xsl:when> + <xsl:otherwise> + <xsl:value-of select="../@frame"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:variable name="colspecs" select="./colspec"/> + <xsl:variable name="usex"> + <xsl:choose> + <!-- if there are lists within cells, we need tabularx --> + <xsl:when test="$latex.use.tabularx=1 and (descendant::itemizedlist|descendant::orderedlist|descendant::variablelist)"> + <xsl:text>1</xsl:text> + </xsl:when> + <!-- if there are instances of 1*-style colwidths, we need tabularx --> + <xsl:when test="$latex.use.tabularx=1 and contains(colspec/@colwidth,'*')"> + <xsl:text>1</xsl:text> + </xsl:when> + <!-- if there are colspecs with 'justify' alignment and no explicit width, we need tabularx --> + <xsl:when test="$latex.use.tabularx=1 and count(colspec[@align='justify'])>0"> + <xsl:text>1</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>1</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:variable name="useminipage"> + <!-- Hack to get around LaTeX issue with tabular (not necessary with tabularx). + This is NOT a good solution, and has problems of its own, but at least the footnotes + do not actually disappear (which is what would otherwise happen). --> + <xsl:if test="count(.//footnote)!=0">1</xsl:if> + </xsl:variable> + <xsl:choose> + <xsl:when test="$usex='1'"> + <xsl:text>\begin{tabularx}{\linewidth}{</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:if test="$useminipage='1'"><xsl:text>\begin{minipage}{\linewidth} </xsl:text></xsl:if> + <xsl:text>\begin{tabular}{</xsl:text> + </xsl:otherwise> + </xsl:choose> + <xsl:if test="$frame='all' or $frame='sides'"> + <xsl:text>|</xsl:text> + </xsl:if> + <xsl:choose> + <xsl:when test="$usex=1"> + <xsl:call-template name="table.format.tabularx"> + <xsl:with-param name="cols" select="@cols"/> + <xsl:with-param name="starfactor"> + <xsl:call-template name="generate.starfactor"> + <xsl:with-param name="cols" select="@cols"/> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="table.format.tabular"> + <xsl:with-param name="cols" select="@cols"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + <xsl:if test="$frame='all' or $frame='sides'"> + <xsl:text>|</xsl:text> + </xsl:if> + <xsl:text>} </xsl:text> + <xsl:if test="$frame!='sides' and $frame!='none' and $frame!='bottom'"> + <xsl:text>\hline </xsl:text> + </xsl:if> + <!-- APPLY TEMPLATES --> + <xsl:apply-templates/> + <!-- --> + <xsl:if test="$frame!='sides' and $frame!='none' and $frame!='top'"> + <xsl:text>\hline </xsl:text> + </xsl:if> + <xsl:choose> + <xsl:when test="$usex=1"> + <xsl:text>\end{tabularx} </xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>\end{tabular} </xsl:text> + <xsl:if test="$useminipage='1'"><xsl:text>\end{minipage} </xsl:text></xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + + + <!-- + <xsl:template name="generate.col"> + <xsl:param name="countcol">1</xsl:param> + </xsl:template> + --> + + <xsl:template match="colspec"></xsl:template> + <xsl:template match="spanspec"></xsl:template> + + + + + <xsl:template match="thead|tfoot"> + <xsl:if test="@align"> + <xsl:attribute name="align"> + <xsl:value-of select="@align"/> + </xsl:attribute> + </xsl:if> + <xsl:if test="@char"> + <xsl:attribute name="char"> + <xsl:value-of select="@char"/> + </xsl:attribute> + </xsl:if> + <xsl:if test="@charoff"> + <xsl:attribute name="charoff"> + <xsl:value-of select="@charoff"/> + </xsl:attribute> + </xsl:if> + <xsl:if test="@valign"> + <xsl:attribute name="valign"> + <xsl:value-of select="@valign"/> + </xsl:attribute> + </xsl:if> + <xsl:apply-templates/> + </xsl:template> + + <xsl:template match="thead/row/entry|tfoot/row/entry"> + <xsl:call-template name="latex.entry.prealign"/> + <xsl:call-template name="latex.thead.row.entry"/> + <xsl:call-template name="latex.entry.postalign"/> + <xsl:choose> + <xsl:when test="position()=last()"><xsl:text> \tabularnewline </xsl:text></xsl:when> + <xsl:otherwise><xsl:call-template name="generate.latex.cell.separator"/></xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template match="tbody"> + <xsl:apply-templates/> + </xsl:template> + + <xsl:template match="row"> + <xsl:apply-templates/> + </xsl:template> + + <xsl:template match="tbody/row|thead/row|tfoot/row"> + <xsl:apply-templates/> + <!-- The rule below the last row in the table is controlled by the + Frame attribute of the enclosing Table or InformalTable and the RowSep + of the last row is ignored. If unspecified, this attribute is + inherited from enclosing elements, rowsep=1 by default. --> + <xsl:variable name="parent_position" select="count(../preceding-sibling::node())+1"/> + <xsl:variable name="grandparent_children" select="count(../../child::node())"/> + <xsl:if test="(count(@rowsep)=0 or @rowsep='1') and (position() != last() or $parent_position < $grandparent_children)"> + <xsl:text> \hline </xsl:text> + </xsl:if> + </xsl:template> + + + <xsl:template match="tbody/row/entry"> + <xsl:call-template name="latex.entry.prealign"/> + <xsl:apply-templates/> + <xsl:call-template name="latex.entry.postalign"/> + <xsl:choose> + <xsl:when test="position()=last()"><xsl:text> \tabularnewline </xsl:text></xsl:when> + <xsl:otherwise><xsl:call-template name="generate.latex.cell.separator"/></xsl:otherwise> + </xsl:choose> + </xsl:template> + + + <xsl:template name="latex.entry.prealign"> + <xsl:variable name="span"> + <xsl:choose> + <xsl:when test="@spanname!=''"> + <xsl:call-template name="calculate.colspan"> + <xsl:with-param name="namest" select="../../../spanspec[@spanname=@spanname]/@namest"/> + <xsl:with-param name="nameend" select="../../../spanspec[@spanname=@spanname]/@nameend"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="@namest!=''"> + <xsl:call-template name="calculate.colspan"/> + </xsl:when> + <xsl:otherwise>-1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="$span > 1"> + <xsl:text>\multicolumn{</xsl:text> + <xsl:value-of select="$span"/> + <xsl:text>|}{</xsl:text><!-- TODO take heed of @colsep --> + <xsl:choose> + <xsl:when test="@align='left'"><xsl:text>l</xsl:text></xsl:when> + <xsl:when test="@align='right'"><xsl:text>r</xsl:text></xsl:when> + <xsl:when test="@align='center'"><xsl:text>c</xsl:text></xsl:when> + <xsl:when test="@align='char'">c<xsl:message>Table entry char alignment is not supported.</xsl:message></xsl:when> + <xsl:otherwise>c</xsl:otherwise> + </xsl:choose> + <!-- use this as a hook for some general warnings --> + <xsl:text>}</xsl:text> + </xsl:if> + <!-- this is used when the entry's align spec wants to override the column default --> + <xsl:if test="$span < 1"> + <xsl:choose> + <xsl:when test="@align='left'"><xsl:text>\docbooktolatexalignll </xsl:text></xsl:when> + <xsl:when test="@align='right'"><xsl:text>\docbooktolatexalignrl </xsl:text></xsl:when> + <xsl:when test="@align='center'"><xsl:text>\docbooktolatexaligncl </xsl:text></xsl:when> + <xsl:when test="@align='char'"><xsl:message>Table entry char alignment is not supported.</xsl:message></xsl:when> + </xsl:choose> + </xsl:if> + <xsl:text>{</xsl:text> + <xsl:if test="@rotate='1'"> + <xsl:text>\rotatebox{90}</xsl:text> + <xsl:if test="@align!=''"><xsl:message>entry[@rotate='1' and @align!=''] probably doesn't work.</xsl:message></xsl:if> + </xsl:if> + <xsl:text>{</xsl:text> + <!-- use this as a hook for some general warnings --> + <xsl:if test="@morerows!=''"><xsl:message>The morerows attribute is not supported.</xsl:message></xsl:if> + </xsl:template> + + <xsl:template name="latex.entry.postalign"> + <xsl:text>}}</xsl:text> + <!-- this is used when the entry's align spec wants to override the column default --> + <xsl:if test="@namest='' and @spanspec=''"><!-- TODO improve --> + <xsl:choose> + <xsl:when test="@align='left'"><xsl:text>\docbooktolatexalignlr </xsl:text></xsl:when> + <xsl:when test="@align='right'"><xsl:text>\docbooktolatexalignrr </xsl:text></xsl:when> + <xsl:when test="@align='center'"><xsl:text>\docbooktolatexaligncr </xsl:text></xsl:when> + </xsl:choose> + </xsl:if> + </xsl:template> + + + + + + + + + + + + + + <xsl:template name="process.cell"> + <xsl:param name="cellgi">td</xsl:param> + <xsl:variable name="empty.cell" select="count(node()) = 0"/> + + <xsl:element name="{$cellgi}"> + <xsl:if test="@morerows"> + <xsl:attribute name="rowspan"> + <xsl:value-of select="@morerows+1"/> + </xsl:attribute> + </xsl:if> + <xsl:if test="@namest"> + <xsl:attribute name="colspan"> + <xsl:call-template name="calculate.colspan"/> + </xsl:attribute> + </xsl:if> + <xsl:if test="@align"> + <xsl:attribute name="align"> + <xsl:value-of select="@align"/> + </xsl:attribute> + </xsl:if> + <xsl:if test="@char"> + <xsl:attribute name="char"> + <xsl:value-of select="@char"/> + </xsl:attribute> + </xsl:if> + <xsl:if test="@charoff"> + <xsl:attribute name="charoff"> + <xsl:value-of select="@charoff"/> + </xsl:attribute> + </xsl:if> + <xsl:if test="@valign"> + <xsl:attribute name="valign"> + <xsl:value-of select="@valign"/> + </xsl:attribute> + </xsl:if> + + <xsl:choose> + <xsl:when test="$empty.cell"> + <xsl:text> </xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates/> + </xsl:otherwise> + </xsl:choose> + </xsl:element> + </xsl:template> + + <xsl:template name="generate.colgroup"> + <xsl:param name="cols" select="1"/> + <xsl:param name="count" select="1"/> + <xsl:choose> + <xsl:when test="$count>$cols"></xsl:when> + <xsl:otherwise> + <xsl:call-template name="generate.col"> + <xsl:with-param name="countcol" select="$count"/> + </xsl:call-template> + <xsl:call-template name="generate.colgroup"> + <xsl:with-param name="cols" select="$cols"/> + <xsl:with-param name="count" select="$count+1"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="generate.col"> + <xsl:param name="countcol">1</xsl:param> + <xsl:param name="colspecs" select="./colspec"/> + <xsl:param name="count">1</xsl:param> + <xsl:param name="colnum">1</xsl:param> + + <xsl:choose> + <xsl:when test="$count>count($colspecs)"> + <col/> + </xsl:when> + <xsl:otherwise> + <xsl:variable name="colspec" select="$colspecs[$count=position()]"/> + <xsl:variable name="colspec.colnum"> + <xsl:choose> + <xsl:when test="$colspec/@colnum"> + <xsl:value-of select="$colspec/@colnum"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$colnum"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$colspec.colnum=$countcol"> + <col> + <xsl:if test="$colspec/@align"> + <xsl:attribute name="align"> + <xsl:value-of select="$colspec/@align"/> + </xsl:attribute> + </xsl:if> + <xsl:if test="$colspec/@char"> + <xsl:attribute name="char"> + <xsl:value-of select="$colspec/@char"/> + </xsl:attribute> + </xsl:if> + <xsl:if test="$colspec/@charoff"> + <xsl:attribute name="charoff"> + <xsl:value-of select="$colspec/@charoff"/> + </xsl:attribute> + </xsl:if> + </col> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="generate.col"> + <xsl:with-param name="countcol" select="$countcol"/> + <xsl:with-param name="colspecs" select="$colspecs"/> + <xsl:with-param name="count" select="$count+1"/> + <xsl:with-param name="colnum"> + <xsl:choose> + <xsl:when test="$colspec/@colnum"> + <xsl:value-of select="$colspec/@colnum + 1"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$colnum + 1"/> + </xsl:otherwise> + </xsl:choose> + </xsl:with-param> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> + + </xsl:template> + + <xsl:template name="colspec.colnum"> + <!-- when this macro is called, the current context must be an entry --> + <xsl:param name="colname"></xsl:param> + <!-- .. = row, ../.. = thead|tbody, ../../.. = tgroup --> + <xsl:param name="colspecs" select="../../../../tgroup/colspec"/> + <xsl:param name="count">1</xsl:param> + <xsl:param name="colnum">1</xsl:param> + <xsl:choose> + <xsl:when test="$count>count($colspecs)"></xsl:when> + <xsl:otherwise> + <xsl:variable name="colspec" select="$colspecs[$count=position()]"/> + <!-- + <xsl:value-of select="$count"/>: + <xsl:value-of select="$colspec/@colname"/>= + <xsl:value-of select="$colnum"/> + --> + <xsl:choose> + <xsl:when test="$colspec/@colname=$colname"> + <xsl:choose> + <xsl:when test="$colspec/@colnum"> + <xsl:value-of select="$colspec/@colnum"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$colnum"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="colspec.colnum"> + <xsl:with-param name="colname" select="$colname"/> + <xsl:with-param name="colspecs" select="$colspecs"/> + <xsl:with-param name="count" select="$count+1"/> + <xsl:with-param name="colnum"> + <xsl:choose> + <xsl:when test="$colspec/@colnum"> + <xsl:value-of select="$colspec/@colnum + 1"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$colnum + 1"/> + </xsl:otherwise> + </xsl:choose> + </xsl:with-param> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="colspec.colwidth"> + <!-- when this macro is called, the current context must be an entry --> + <xsl:param name="colname"></xsl:param> + <!-- .. = row, ../.. = thead|tbody, ../../.. = tgroup --> + <xsl:param name="colspecs" select="../../../../tgroup/colspec"/> + <xsl:param name="count">1</xsl:param> + <xsl:choose> + <xsl:when test="$count>count($colspecs)"></xsl:when> + <xsl:otherwise> + <xsl:variable name="colspec" select="$colspecs[$count=position()]"/> + <xsl:choose> + <xsl:when test="$colspec/@colname=$colname"> + <xsl:value-of select="$colspec/@colwidth"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="colspec.colwidth"> + <xsl:with-param name="colname" select="$colname"/> + <xsl:with-param name="colspecs" select="$colspecs"/> + <xsl:with-param name="count" select="$count+1"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="calculate.colspan"> + <xsl:param name="namest" select="@namest"/> + <xsl:param name="nameend" select="@nameend"/> + <xsl:variable name="scol"> + <xsl:call-template name="colspec.colnum"> + <xsl:with-param name="colname" select="$namest"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="ecol"> + <xsl:call-template name="colspec.colnum"> + <xsl:with-param name="colname" select="$nameend"/> + </xsl:call-template> + </xsl:variable> + <xsl:value-of select="$ecol - $scol + 1"/> + </xsl:template> + +</xsl:stylesheet> diff --git a/docs/xslt/unicode.mapping.dtd b/docs/xslt/unicode.mapping.dtd new file mode 100644 index 0000000000..d2b6b3db3a --- /dev/null +++ b/docs/xslt/unicode.mapping.dtd @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- $Id: unicode.mapping.dtd,v 1.1 2003/12/05 06:53:48 ab Exp $ --> +<!-- DTD for XML with mapping Unicode entities to LaTeX commands --> +<!-- Author: Vitaly Ostanin <vyt@altlinux.ru> --> + +<!ELEMENT mapping (character+)> + +<!ELEMENT character (unicode, latex?, mathlatex?, preferred)> + +<!ELEMENT unicode (#PCDATA)> + +<!ELEMENT latex (#PCDATA)> + +<!ELEMENT mathlatex (#PCDATA)> + +<!ELEMENT preferred (#PCDATA)> diff --git a/docs/xslt/unicode.mapping.xml b/docs/xslt/unicode.mapping.xml new file mode 100644 index 0000000000..06866efd53 --- /dev/null +++ b/docs/xslt/unicode.mapping.xml @@ -0,0 +1,72 @@ +<?xml version="1.0"?> +<!-- $Id: unicode.mapping.xml,v 1.1 2003/12/05 06:53:48 ab Exp $ --> +<!DOCTYPE mapping SYSTEM "unicode.mapping.dtd"> +<mapping> + <character> + <unicode><</unicode> + <latex>\guilsinglleft{}</latex> + <preferred>\guilsinglleft{}</preferred> + </character> + <character> + <unicode>></unicode> + <latex>\guilsinglright{}</latex> + <preferred>\guilsinglright{}</preferred> + </character> + <character> + <unicode>#</unicode> + <latex>\#</latex> + <preferred>\#</preferred> + </character> + <character> + <unicode>$</unicode> + <latex>\textdollar{}</latex> + <mathlatex>\$</mathlatex> + <preferred>\textdollar{}</preferred> + </character> + <character> + <unicode>%</unicode> + <latex>\%</latex> + <preferred>\%</preferred> + </character> + <character> + <unicode>&</unicode> + <latex>\&</latex> + <preferred>\&</preferred> + </character> + <character> + <unicode>~</unicode> + <latex>\textasciitilde{}</latex> + <preferred>\textasciitilde{}</preferred> + </character> + <character> + <unicode>_</unicode> + <latex>\_</latex> + <preferred>\_</preferred> + </character> + <character> + <unicode>^</unicode> + <latex>\^{}</latex> + <preferred>\^{}</preferred> + </character> + <character> + <unicode>\</unicode> + <latex>\textbackslash{}</latex> + <mathlatex>\backslash </mathlatex> + <preferred>\textbackslash{}</preferred> + </character> + <character> + <unicode>{</unicode> + <latex>\{</latex> + <preferred>\{</preferred> + </character> + <character> + <unicode>}</unicode> + <latex>\}</latex> + <preferred>\}</preferred> + </character> + <character> + <unicode>|</unicode> + <latex>$\vert$</latex> + <preferred>$\vert$</preferred> + </character> +</mapping> |