X-Git-Url: https://git.mdrn.pl/librarian.git/blobdiff_plain/5c1fbd101a902be7b1ccadb5e4923b3685022551..21f76f412d83effaa5569ba4bb8f5d0742ed9d2f:/librarian/pdf/wl2tex.xslt?ds=sidebyside diff --git a/librarian/pdf/wl2tex.xslt b/librarian/pdf/wl2tex.xslt index e294beb..fec49b9 100644 --- a/librarian/pdf/wl2tex.xslt +++ b/librarian/pdf/wl2tex.xslt @@ -36,7 +36,7 @@ <xsl:choose> <xsl:when test="@morefloats = 'new'"> <TeXML escape="0"> - \usepackage[maxfloats=64]{morefloats} + \usepackage[maxfloats=53]{morefloats} </TeXML> </xsl:when> <xsl:when test="@morefloats = 'old'"> @@ -60,8 +60,8 @@ <env name="document"> <xsl:if test="@data-cover-width"> <cmd name="makecover"> - <parm><xsl:value-of select="210 * @data-cover-width div @data-cover-height" />mm</parm> <parm>210mm</parm> + <parm><xsl:value-of select="210 * @data-cover-height div @data-cover-width" />mm</parm> </cmd> </xsl:if> <xsl:if test="@thanks"> @@ -107,7 +107,7 @@ </xsl:if> \def\editors{<TeXML escape="1"><xsl:call-template name="editors" /></TeXML>} <xsl:if test="@funders"> - \def\funders{PublikacjÄ ufundowali i ufundowaÅy: + \def\funders{PublikacjÄ wsparli i wsparÅy: <TeXML escape="1"><xsl:value-of select="@funders" /></TeXML>.} </xsl:if> @@ -182,7 +182,7 @@ \href{http://creativecommons.org/licenses/by-sa/3.0/}{Creative Commons Uznanie Autorstwa â Na Tych Samych Warunkach 3.0 PL}.} <xsl:if test=".//dc:rights.license"> - \def\rightsinfo{Ten utwór jest udostepniony na licencji + \def\rightsinfo{Ten utwór jest udostÄpniony na licencji \href{<xsl:value-of select=".//dc:rights.license" />}{<TeXML escape="1"><xsl:apply-templates select=".//dc:rights" mode="inline" /></TeXML>}.} </xsl:if> @@ -191,7 +191,22 @@ Tekst opracowany na podstawie: <TeXML escape="1"><xsl:apply-templates select=".//dc:source" mode="inline" /></TeXML> \vspace{.6em} </xsl:if>} + \def\publisherinfo{ + <xsl:if test=".//dc:publisher"> + Wydawca: + <TeXML escape="1"> + <xsl:for-each select=".//dc:publisher/text()"> + <xsl:value-of select="."/> + <xsl:if test="not(position() = last())">, </xsl:if> + </xsl:for-each> + </TeXML> + \vspace{.6em} + </xsl:if>} \def\description{<TeXML escape="1"><xsl:apply-templates select=".//dc:description" mode="inline" /></TeXML>} + <xsl:if test=".//meta[@id='pdf-id']"> + <xsl:variable name="isbn" select=".//meta[@id='pdf-id']"/> + \def\isbn{ISBN <xsl:value-of select="substring-after($isbn, 'ISBN-')"/>} + </xsl:if> </TeXML> </xsl:template> @@ -256,6 +271,12 @@ </cmd> </xsl:template> +<xsl:template match="ilustr"> + <cmd name="ilustr"> + <parm><xsl:value-of select="@src" /></parm> + <parm><xsl:value-of select="@alt" /></parm> + </cmd> +</xsl:template> <!-- ========================================== --> <!-- = PARAGRAPH TAGS = --> @@ -285,13 +306,21 @@ </cmd> </xsl:template> +<xsl:template match="strofa" mode="inline"> + <env name="minipage"> + <opt>t</opt> + <parm><cmd name="linewidth" /></parm> + <parm><xsl:apply-templates select="." /></parm> + </env> +</xsl:template> + <xsl:template match="strofa"> <cmd name="strofa"><parm> <xsl:choose> <xsl:when test="count(br) > 0"> <xsl:call-template name="verse"> <xsl:with-param name="verse-content" select="br[1]/preceding-sibling::text() | br[1]/preceding-sibling::node()" /> - <xsl:with-param name="verse-type" select="br[1]/preceding-sibling::*[name() = 'wers_wciety' or name() = 'wers_akap' or name() = 'wers_cd'][1]" /> + <xsl:with-param name="verse-type" select="br[1]/preceding-sibling::*[name() = 'wers_wciety' or name() = 'wers_akap' or name() = 'wers_cd' or name() = 'wers_do_prawej'][1]" /> </xsl:call-template> <xsl:for-each select="br"> <TeXML escape="0">\\{}</TeXML> @@ -300,14 +329,14 @@ <xsl:call-template name="verse"> <xsl:with-param name="verse-content" select="following-sibling::text()[count(preceding-sibling::br) = $lnum+1] | following-sibling::node()[count(preceding-sibling::br) = $lnum+1]" /> - <xsl:with-param name="verse-type" select="following-sibling::*[count(preceding-sibling::br) = $lnum+1 and (name() = 'wers_wciety' or name() = 'wers_akap' or name() = 'wers_cd')][1]" /> + <xsl:with-param name="verse-type" select="following-sibling::*[count(preceding-sibling::br) = $lnum+1 and (name() = 'wers_wciety' or name() = 'wers_akap' or name() = 'wers_cd' or name() = 'wers_do_prawej')][1]" /> </xsl:call-template> </xsl:for-each> </xsl:when> <xsl:otherwise> <xsl:call-template name="verse"> <xsl:with-param name="verse-content" select="text() | node()" /> - <xsl:with-param name="verse-type" select="wers_wciety|wers_akap|wers_cd[1]" /> + <xsl:with-param name="verse-type" select="wers_wciety|wers_akap|wers_cd|wers_do_prawej[1]" /> </xsl:call-template> </xsl:otherwise> </xsl:choose> @@ -341,7 +370,7 @@ <!-- ================================================ --> <xsl:template mode="inline" - match="pa|pe|pr|pt|mat|didask_tekst|slowo_obce|wyroznienie|osoba"> + match="pa|pe|pr|pt|mat|didask_tekst|slowo_obce|wyroznienie|osoba|indeks_dolny|wieksze_odstepy"> <cmd> <xsl:attribute name="name"> <xsl:value-of select="wl:texcommand(name())" /> @@ -435,6 +464,65 @@ </parm></cmd> </xsl:template> +<xsl:template match="mat" mode="inline"> + <TeXML escape="0"> + <xsl:text>$</xsl:text> + <xsl:value-of select="wl:mathml_latex(.)" /> + <xsl:text>$</xsl:text> + </TeXML> +</xsl:template> + +<xsl:template match="mat"> + <TeXML escape="0"> + <xsl:text>$$</xsl:text> + <xsl:value-of select="wl:mathml_latex(.)" /> + <xsl:text>$$</xsl:text> + </TeXML> +</xsl:template> + +<xsl:template match="tabela|tabelka"> + <cmd name="par" /> + <cmd name="vspace"><parm>1em</parm></cmd> + <group><cmd name="raggedright" /> + <xsl:element name="env"> + <xsl:attribute name="name"> + <xsl:choose> + <xsl:when test="name(.)='tabela'">longtabu</xsl:when> + <xsl:otherwise>tabu</xsl:otherwise> + </xsl:choose> + </xsl:attribute> to <TeXML escape="0">\textwidth </TeXML> + <!--parm><cmd name="textwidth"/></parm--> + <parm><TeXML escape="0"><xsl:value-of select="@_format" /></TeXML></parm> + <xsl:choose> + <xsl:when test="@ramka='1' or @ramki='1'"> + <cmd name="hline" /> + <xsl:apply-templates mode="wiersze-ramki"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates/> + </xsl:otherwise> + </xsl:choose> + </xsl:element> + </group> + <cmd name="vspace"><parm>1em</parm></cmd> +</xsl:template> +<xsl:template match="wiersz" mode="wiersze-ramki"> + <xsl:apply-templates /> + <spec cat="esc"/><spec cat="esc"/> + <cmd name="hline" gr="0" /> +</xsl:template> +<xsl:template match="wiersz"> + <xsl:apply-templates /> + <spec cat="esc"/><spec cat="esc"/> +</xsl:template> +<xsl:template match="kol"> + <xsl:apply-templates mode="inline"/> + <xsl:if test="position() < last()"> + <spec cat="align"/> + </xsl:if> +</xsl:template> + + <!-- ============== --> <!-- = ADDED TAGS = --> <!-- ============== --> @@ -462,6 +550,7 @@ <xsl:template match="extra|uwaga" mode="inline" /> <xsl:template match="nota_red" /> +<xsl:template match="abstrakt" /> <!-- ======== --> <!-- = TEXT = -->