Problem s db2latex

Jirka Kosek jirka na kosek.cz
Pátek Září 27 16:25:43 CEST 2002


Jan Klimeš wrote:

>     pisu dokumentaci v DB a snazim se udelat LaTeXovy dokument. Vsechno je
> jakz takz v poradku az do chvile, kdy pouziju _ (podtrzitko) v textu.
> Najednou mi db2latex vlozi pred podtrzitko \backslashnomath. Cekal bych, ze
> zameni _ za \_. Upravovat LaTeXovej zdrojak po kazdem "prelozeni" se mi zda
> dost hloupe.

V db2latex je chyba. Při nahrazování nebezpečných znaků, je backslash
nahrazen jako poslední a zmrší to. Stačí si do vlastních úprav stylů
přidat následující pozměňenou šablonu:

<xsl:template name="scape" >
<xsl:param name="string"/>
<xsl:call-template name="string-replace">
  <xsl:with-param name="to">--</xsl:with-param>
  <xsl:with-param name="from">&#x2013;</xsl:with-param>
  <xsl:with-param name="string">
  <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">
      <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">
          <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">
              <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">
                  <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">
                      <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">
                          <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">
                              <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">
                                  <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">
                                      <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">
                                          <xsl:call-template
name="string-replace">
                                            <xsl:with-param
name="to">$\backslash$</xsl:with-param>
                                            <xsl:with-param
name="from">\</xsl:with-param>
                                            <xsl:with-param
name="string" select="$string"/>
                                          </xsl:call-template>
                                        </xsl:with-param>
                                      </xsl:call-template>
                                    </xsl:with-param>
                                  </xsl:call-template>
                                </xsl:with-param>
                              </xsl:call-template>
                            </xsl:with-param>
                          </xsl:call-template>
                        </xsl:with-param>
                      </xsl:call-template>
                    </xsl:with-param>
                  </xsl:call-template>
                </xsl:with-param>
              </xsl:call-template>
            </xsl:with-param>
          </xsl:call-template>
        </xsl:with-param>
      </xsl:call-template>
    </xsl:with-param>
  </xsl:call-template>
</xsl:with-param>
</xsl:call-template>
</xsl:template>
 
Ucelenější příklad viz http://www.kosek.cz/diplomka/


-- 
-----------------------------------------------------------------
  Jirka Kosek  	                     
  e-mail: jirka na kosek.cz
  http://www.kosek.cz


Další informace o konferenci Docbook