]> granicus.if.org Git - docbook-dsssl/commitdiff
Better control over delimiters for TeX equations. Added parameter tex.math.delims...
authorJirka Kosek <jirka@kosek.cz>
Thu, 21 Feb 2002 22:05:23 +0000 (22:05 +0000)
committerJirka Kosek <jirka@kosek.cz>
Thu, 21 Feb 2002 22:05:23 +0000 (22:05 +0000)
xsl/fo/math.xsl
xsl/fo/param.ent
xsl/fo/param.xweb
xsl/html/Makefile.param
xsl/html/math.xsl
xsl/html/param.ent
xsl/html/param.xweb
xsl/params/tex.math.delims.xml [new file with mode: 0644]
xsl/params/tex.math.file.xml
xsl/params/tex.math.in.alt.xml

index a1af70d4007aeb126a9d0499da9ffe96d56da65f..7209e7f18ab8dc040cb75c3746fffed17c34c55e 100644 (file)
 <xsl:template match="inlineequation">
   <xsl:choose>
     <xsl:when test="$passivetex.extensions != 0 and $tex.math.in.alt != ''">
-      <xsl:apply-templates select="alt[@role='tex'] | inlinemediaobject/textobject[@role='tex']"/>
+      <xsl:apply-templates select="alt[@role='tex'] | inlinemediaobject/textobject[@role='tex']">
+        <xsl:with-param name="output.delims">
+          <xsl:call-template name="tex.math.output.delims"/>
+        </xsl:with-param>
+      </xsl:apply-templates>
     </xsl:when>
     <xsl:otherwise>
       <xsl:apply-templates/>
 
 <xsl:template match="inlineequation/alt[@role='tex'] | 
                      inlineequation/inlinemediaobject/textobject[@role='tex']" priority="1">
+  <xsl:param name="output.delims" select="1"/>
   <xsl:if test="$passivetex.extensions != 0 and $tex.math.in.alt != ''">
     <xsl:processing-instruction name="xmltex">
-      <xsl:text>$</xsl:text>
+      <xsl:if test="$output.delims != 0">
+        <xsl:text>$</xsl:text>
+      </xsl:if>
       <xsl:value-of select="."/>
-      <xsl:text>$</xsl:text>
+      <xsl:if test="$output.delims != 0">
+        <xsl:text>$</xsl:text>
+      </xsl:if>
     </xsl:processing-instruction>
   </xsl:if>
 </xsl:template>
 <xsl:template match="equation/alt[@role='tex'] | informalequation/alt[@role='tex'] |
                      equation/mediaobject/textobject[@role='tex'] |
                      informalequation/mediaobject/textobject[@role='tex']" priority="1">
+  <xsl:variable name="output.delims">
+    <xsl:call-template name="tex.math.output.delims"/>
+  </xsl:variable>
   <xsl:if test="$passivetex.extensions != 0 and $tex.math.in.alt != ''">
     <xsl:processing-instruction name="xmltex">
-      <xsl:text>$$</xsl:text>
+      <xsl:if test="$output.delims != 0">
+        <xsl:text>$$</xsl:text>
+      </xsl:if>
       <xsl:value-of select="."/>
-      <xsl:text>$$</xsl:text>
+      <xsl:if test="$output.delims != 0">
+        <xsl:text>$$</xsl:text>
+      </xsl:if>
     </xsl:processing-instruction>
   </xsl:if>
 </xsl:template>
   </xsl:if>
 </xsl:template>
 
+<xsl:template name="tex.math.output.delims">
+  <xsl:variable name="pi.delims">
+    <xsl:call-template name="pi-attribute">
+      <xsl:with-param name="pis" select=".//processing-instruction('dbtex')"/>
+      <xsl:with-param name="attribute" select="'delims'"/>
+    </xsl:call-template>
+  </xsl:variable>
+  <xsl:variable name="result">
+    <xsl:choose>
+      <xsl:when test="$pi.delims = 'no'">0</xsl:when>
+      <xsl:when test="$pi.delims = '' and $tex.math.delims = 0">0</xsl:when>
+      <xsl:otherwise>1</xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+  <xsl:value-of select="$result"/>
+</xsl:template>
+
 <!-- just send the MathML all the way through... -->
 <xsl:template match="mml:*">
   <xsl:element name="{name(.)}">
index c19a766fbe272bbe320eab91c6159b600dff05f3..17fabb62b98230d6f507b364cb10b9073d77dbf1 100644 (file)
 <!ENTITY table.entry.padding SYSTEM "../params/table.entry.padding.xml">
 <!ENTITY tablecolumns.extension SYSTEM "../params/tablecolumns.extension.xml">
 <!ENTITY textinsert.extension SYSTEM "../params/textinsert.extension.xml">
+<!ENTITY tex.math.delims SYSTEM "../params/tex.math.delims.xml">
 <!ENTITY tex.math.in.alt SYSTEM "../params/tex.math.in.alt.xml">
 <!ENTITY title.font.family SYSTEM "../params/title.font.family.xml">
 <!ENTITY title.margin.left SYSTEM "../params/title.margin.left.xml">
index b792b52dc3702a36768383dd109052a3c483df0a..408bb7863c9645c10531a7baa4c5d61539bd6cdb 100644 (file)
@@ -108,6 +108,7 @@ to be incomplete. Don't forget to read the source, too :-)</para>
 &fop.extensions;
 &passivetex.extensions;
 &tex.math.in.alt;
+&tex.math.delims;
 &xep.extensions;
 </reference>
 
@@ -467,6 +468,7 @@ around all these parameters.</para>
 <src:fragref linkend="tablecolumns.extension.frag"/>
 <src:fragref linkend="textinsert.extension.frag"/>
 <src:fragref linkend="tex.math.in.alt.frag"/>
+<src:fragref linkend="tex.math.delims.frag"/>
 <src:fragref linkend="title.font.family.frag"/>
 <src:fragref linkend="title.margin.left.frag"/>
 <src:fragref linkend="toc.indent.width.frag"/>
index c515edb039798317b1def731a14a5c6b45247791..f205e0f943f2ee6dbb503a16aa1595e613222e74 100644 (file)
@@ -136,6 +136,7 @@ PARAMS=../params/admon.graphics.xml \
        ../params/table.borders.with.css.xml \
        ../params/tablecolumns.extension.xml \
        ../params/textinsert.extension.xml \
+       ../params/tex.math.delims.xml \
        ../params/tex.math.in.alt.xml \
        ../params/tex.math.file.xml \
        ../params/toc.list.type.xml \
index d640d5c30b924b62f351bf57e45b20372ae9259b..878aef848cd3c61370f40c0df59a321b1e5f39f1 100644 (file)
       </xsl:otherwise>
     </xsl:choose>
   </xsl:variable>
-  <xsl:text>\special{dvi2bitmap outputfile </xsl:text>
-  <xsl:value-of select="$filename"/>
-  <xsl:text>} &#xA;</xsl:text>
-  <xsl:text>$</xsl:text>
-  <xsl:value-of select="alt[@role='tex'] | inlinemediaobject/textobject[@role='tex']"/>
-  <xsl:text>$ &#xA;</xsl:text>
-  <xsl:text>\vfill\eject &#xA;</xsl:text>
+  <xsl:variable name="output.delims">
+    <xsl:call-template name="tex.math.output.delims"/>
+  </xsl:variable>
+  <xsl:variable name="tex" select="alt[@role='tex'] | inlinemediaobject/textobject[@role='tex']"/>
+  <xsl:if test="$tex">
+    <xsl:text>\special{dvi2bitmap outputfile </xsl:text>
+    <xsl:value-of select="$filename"/>
+    <xsl:text>} &#xA;</xsl:text>
+    <xsl:if test="$output.delims != 0">
+      <xsl:text>$</xsl:text>
+    </xsl:if>
+    <xsl:value-of select="$tex"/>
+    <xsl:if test="$output.delims != 0">
+      <xsl:text>$ &#xA;</xsl:text>
+    </xsl:if>
+    <xsl:text>\vfill\eject &#xA;</xsl:text>
+  </xsl:if>
 </xsl:template>
 
 <xsl:template match="equation|informalequation" mode="collect.tex.math.plain">
       </xsl:otherwise>
     </xsl:choose>
   </xsl:variable>
-  <xsl:text>\special{dvi2bitmap outputfile </xsl:text>
-  <xsl:value-of select="$filename"/>
-  <xsl:text>} &#xA;</xsl:text>
-  <xsl:text>$$</xsl:text>
-  <xsl:value-of select="alt[@role='tex'] | mediaobject/textobject[@role='tex']"/>
-  <xsl:text>$$ &#xA;</xsl:text>
-  <xsl:text>\vfill\eject &#xA;</xsl:text>
+  <xsl:variable name="output.delims">
+    <xsl:call-template name="tex.math.output.delims"/>
+  </xsl:variable>
+  <xsl:variable name="tex" select="alt[@role='tex'] | mediaobject/textobject[@role='tex']"/>
+  <xsl:if test="$tex">
+    <xsl:text>\special{dvi2bitmap outputfile </xsl:text>
+    <xsl:value-of select="$filename"/>
+    <xsl:text>} &#xA;</xsl:text>
+    <xsl:if test="$output.delims != 0">
+      <xsl:text>$$</xsl:text>
+    </xsl:if>
+    <xsl:value-of select="$tex"/>
+    <xsl:if test="$output.delims != 0">
+      <xsl:text>$$ &#xA;</xsl:text>
+    </xsl:if>
+    <xsl:text>\vfill\eject &#xA;</xsl:text>
+  </xsl:if>
 </xsl:template>
 
 <xsl:template match="text()" mode="collect.tex.math.plain"/>
       </xsl:otherwise>
     </xsl:choose>
   </xsl:variable>
-  <xsl:text>\special{dvi2bitmap outputfile </xsl:text>
-  <xsl:value-of select="$filename"/>
-  <xsl:text>} &#xA;</xsl:text>
-  <xsl:text>$</xsl:text>
-  <xsl:value-of select="alt[@role='tex'] | inlinemediaobject/textobject[@role='tex']"/>
-  <xsl:text>$ &#xA;</xsl:text>
-  <xsl:text>\newpage &#xA;</xsl:text>
+  <xsl:variable name="output.delims">
+    <xsl:call-template name="tex.math.output.delims"/>
+  </xsl:variable>
+  <xsl:variable name="tex" select="alt[@role='tex'] | inlinemediaobject/textobject[@role='tex']"/>
+  <xsl:if test="$tex">
+    <xsl:text>\special{dvi2bitmap outputfile </xsl:text>
+    <xsl:value-of select="$filename"/>
+    <xsl:text>} &#xA;</xsl:text>
+    <xsl:if test="$output.delims != 0">  
+      <xsl:text>$</xsl:text>
+    </xsl:if>
+    <xsl:value-of select="$tex"/>
+    <xsl:if test="$output.delims != 0">  
+      <xsl:text>$ &#xA;</xsl:text>
+    </xsl:if>
+    <xsl:text>\newpage &#xA;</xsl:text>
+  </xsl:if>
 </xsl:template>
 
 <xsl:template match="equation|informalequation" mode="collect.tex.math.latex">
       </xsl:otherwise>
     </xsl:choose>
   </xsl:variable>
-  <xsl:text>\special{dvi2bitmap outputfile </xsl:text>
-  <xsl:value-of select="$filename"/>
-  <xsl:text>} &#xA;</xsl:text>
-  <xsl:text>$$</xsl:text>
-  <xsl:value-of select="alt[@role='tex'] | mediaobject/textobject[@role='tex']"/>
-  <xsl:text>$$ &#xA;</xsl:text>
-  <xsl:text>\newpage &#xA;</xsl:text>
+  <xsl:variable name="output.delims">
+    <xsl:call-template name="tex.math.output.delims"/>
+  </xsl:variable>
+  <xsl:variable name="tex" select="alt[@role='tex'] | mediaobject/textobject[@role='tex']"/>
+  <xsl:if test="$tex">
+    <xsl:text>\special{dvi2bitmap outputfile </xsl:text>
+    <xsl:value-of select="$filename"/>
+    <xsl:text>} &#xA;</xsl:text>
+    <xsl:if test="$output.delims != 0">
+      <xsl:text>$$</xsl:text>
+    </xsl:if>
+    <xsl:value-of select="$tex"/>
+    <xsl:if test="$output.delims != 0">
+      <xsl:text>$$ &#xA;</xsl:text>
+    </xsl:if>
+    <xsl:text>\newpage &#xA;</xsl:text>
+  </xsl:if>
 </xsl:template>
 
 <xsl:template match="text()" mode="collect.tex.math.latex"/>
   </xsl:if>
 </xsl:template>
 
+<xsl:template name="tex.math.output.delims">
+  <xsl:variable name="pi.delims">
+    <xsl:call-template name="pi-attribute">
+      <xsl:with-param name="pis" select=".//processing-instruction('dbtex')"/>
+      <xsl:with-param name="attribute" select="'delims'"/>
+    </xsl:call-template>
+  </xsl:variable>
+  <xsl:variable name="result">
+    <xsl:choose>
+      <xsl:when test="$pi.delims = 'no'">0</xsl:when>
+      <xsl:when test="$pi.delims = '' and $tex.math.delims = 0">0</xsl:when>
+      <xsl:otherwise>1</xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+  <xsl:value-of select="$result"/>
+</xsl:template>
+
 </xsl:stylesheet>
index 4d4452a02e9dc538b776859a86f3d24f496c533d..883c40882ea82444d8184e32d53df5ab5cd2eb84 100644 (file)
 <!ENTITY table.borders.with.css SYSTEM "../params/table.borders.with.css.xml">
 <!ENTITY tablecolumns.extension SYSTEM "../params/tablecolumns.extension.xml">
 <!ENTITY textinsert.extension SYSTEM "../params/textinsert.extension.xml">
+<!ENTITY tex.math.delims SYSTEM "../params/tex.math.delims.xml">
 <!ENTITY tex.math.in.alt SYSTEM "../params/tex.math.in.alt.xml">
 <!ENTITY tex.math.file SYSTEM "../params/tex.math.file.xml">
 <!ENTITY toc.list.type SYSTEM "../params/toc.list.type.xml">
index 44e78349f1ba8fd9deeec5a35cb811b47227ffee..a04635f487eed24752b17562769582610b4726f0 100644 (file)
@@ -227,6 +227,7 @@ to be incomplete. Don't forget to read the source, too :-)</para>
 &variablelist.as.table;
 &tex.math.in.alt;
 &tex.math.file;
+&tex.math.delims;
 &pixels.per.inch;
 </reference>
 
@@ -429,6 +430,7 @@ around all these parameters.</para>
 <src:fragref linkend="textinsert.extension.frag"/>
 <src:fragref linkend="tex.math.file.frag"/>
 <src:fragref linkend="tex.math.in.alt.frag"/>
+<src:fragref linkend="tex.math.delims.frag"/>
 <src:fragref linkend="toc.list.type.frag"/>
 <src:fragref linkend="toc.section.depth.frag"/>
 <src:fragref linkend="ulink.target.frag"/>
diff --git a/xsl/params/tex.math.delims.xml b/xsl/params/tex.math.delims.xml
new file mode 100644 (file)
index 0000000..d2e01f9
--- /dev/null
@@ -0,0 +1,24 @@
+<refentry id="tex.math.delims">
+<refmeta>
+<refentrytitle>tex.math.delims</refentrytitle>
+<refmiscinfo role="type">boolean</refmiscinfo>
+</refmeta>
+<refnamediv>
+<refname>tex.math.delims</refname>
+<refpurpose>Should be equations outputed for processing by TeX
+automatically surrounded by math mode delimiters</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+<src:fragment id='tex.math.delims.frag'>
+<xsl:param name="tex.math.delims" select="'1'"/>
+</src:fragment>
+</refsynopsisdiv>
+
+<refsect1><title>Description</title>
+
+<para>For compatibility with DSSSL based DBTeXMath from Allin Cottrell
+you should set this parameter to 0.</para>
+
+</refsect1>
+</refentry>
index fd0fcf08769424b01fd7f294ccc23ce2647c1724..566177a3b2c5a51e4a2c41e2df071cdfbb23ded2 100644 (file)
@@ -5,7 +5,7 @@
 </refmeta>
 <refnamediv>
 <refname>tex.math.file</refname>
-<refpurpose></refpurpose>
+<refpurpose>Name of temporary file for generating images from equations</refpurpose>
 </refnamediv>
 
 <refsynopsisdiv>
index 9bfd7e642d220eebc27102cf24d2f097f6c45fd6..0b956c6c839395bf8aca6a7ecd7956d6d6103b9b 100644 (file)
@@ -5,7 +5,7 @@
 </refmeta>
 <refnamediv>
 <refname>tex.math.in.alt</refname>
-<refpurpose></refpurpose>
+<refpurpose>TeX notation used for equations</refpurpose>
 </refnamediv>
 
 <refsynopsisdiv>