|  | Stylesheet |
<xsl:stylesheet version="1.0">
<xsl:import href="index.xsl"/>
<xsl:include href="acro.xsl"/>
<xsl:include href="auth.xsl"/>
<xsl:include href="kwd.xsl"/>
<xsl:include href="xinclude.xsl"/>
<xsl:param name="lang"/>
<xsl:param name="IncludeOriginalTitle"/>
<xsl:variable name="acromode">TeX</xsl:variable>
<xsl:output method="text" indent="no"/>
<xsl:strip-space elements="*"/>
<xsl:preserve-space elements="c:text"/>
<xsl:template match="/">
<xsl:text>% Requires csbulacronym.sty and keyval.sty
</xsl:text>
<xsl:if test="$lang != ''">
<xsl:value-of select="concat('% Requested language is ', $lang, '
')"/>
</xsl:if>
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="c:issue">
<xsl:text>
\begin{CSTUGissue}{</xsl:text>
<xsl:value-of select="concat('year=', substring-before(@id, '/'))"/>
<xsl:value-of select="concat(',volume=', number(substring-before(@id, '/')) - 1990)"/>
<xsl:value-of select="concat(',number=', @num)"/>
<xsl:value-of select="concat(',href=', @href)"/>
<xsl:if test="@pdfref">
<xsl:value-of select="concat(',pdfref=', @pdfref)"/>
</xsl:if>
<xsl:if test="@firstPage">
<xsl:value-of select="concat(',firstPage=', @firstPage)"/>
</xsl:if>
<xsl:if test="@lastPage">
<xsl:value-of select="concat(',lastPage=', @lastPage)"/>
</xsl:if>
<xsl:text>}
</xsl:text>
<xsl:apply-templates/>
<xsl:text>\end{CSTUGissue}
</xsl:text>
</xsl:template>
<xsl:template match="c:article">
<xsl:text>\begin{CSTUGarticle}</xsl:text>
<xsl:value-of select="concat('{serial=', @serial, ',lang=', @lang, ',firstPage=',
@firstPage)"/>
<xsl:if test="@lastPage">
<xsl:value-of select="concat(',lastPage=', @lastPage)"/>
</xsl:if>
<xsl:text>}
</xsl:text>
<xsl:text>\ActiveAmpersand
</xsl:text>
<xsl:call-template name="authors"/>
<xsl:call-template name="title"/>
<xsl:call-template name="keywords"/>
<xsl:call-template name="abstract"/>
<xsl:text>\end{CSTUGarticle}
</xsl:text>
</xsl:template>
<xsl:template name="authors">
<xsl:if test="count(c:author) > 0">
<xsl:text>\begin{CSTUGauthors}
</xsl:text>
<xsl:for-each select="c:author">
<xsl:text>\CSTUGauthor{</xsl:text>
<xsl:apply-templates select="."/>
<xsl:text>}
</xsl:text>
</xsl:for-each>
<xsl:text>\end{CSTUGauthors}
</xsl:text>
</xsl:if>
</xsl:template>
<xsl:template name="abstract">
<xsl:if test="count(c:abstract) > 0">
<xsl:choose>
<xsl:when test="$lang = ''">
<xsl:text>\begin{CSTUGabstractset}
</xsl:text>
<xsl:for-each select="c:abstract">
<xsl:text>\begin{CSTUGabstract}{</xsl:text>
<xsl:value-of select="@lang"/>
<xsl:text>}
</xsl:text>
<xsl:apply-templates/>
<xsl:text>
\end{CSTUGabstract}
</xsl:text>
</xsl:for-each>
<xsl:text>
\end{CSTUGabstractset}
</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>\begin{CSTUGabstract}{</xsl:text>
<xsl:choose>
<xsl:when test="c:abstract[@lang=$lang]">
<xsl:value-of select="concat($lang, '}
')"/>
<xsl:apply-templates select="c:abstract[@lang=$lang]"/>
</xsl:when>
<xsl:when test="c:abstract[@lang=../@lang]">
<xsl:value-of select="concat(@lang, '}
')"/>
<xsl:apply-templates select="c:abstract[@lang=../@lang]"/>
</xsl:when>
<xsl:when test="c:abstract[@lang="cze"]">
<xsl:text>cze}
</xsl:text>
<xsl:apply-templates select="c:abstract[@lang="cze"]"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="concat(c:abstract[1]/@lang, '}
')"/>
<xsl:apply-templates select="c:abstract[1]"/>
</xsl:otherwise>
</xsl:choose>
<xsl:text>
\end{CSTUGabstract}
</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:template>
<xsl:template name="title">
<xsl:choose>
<xsl:when test="$lang = ''">
<xsl:text>\begin{CSTUGtitleset}
</xsl:text>
<xsl:for-each select="c:title">
<xsl:text>\CSTUGtitle{</xsl:text>
<xsl:value-of select="@lang"/>
<xsl:text>}{</xsl:text>
<xsl:apply-templates/>
<xsl:text>}
</xsl:text>
</xsl:for-each>
<xsl:text>\end{CSTUGtitleset}
</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>\CSTUGtitle{</xsl:text>
<xsl:choose>
<xsl:when test="c:title[@lang=$lang]">
<xsl:value-of select="concat($lang, '}{')"/>
<xsl:apply-templates select="c:title[@lang=$lang]"/>
</xsl:when>
<xsl:when test="c:title[@lang=../@lang]">
<xsl:value-of select="concat(@lang, '}{')"/>
<xsl:apply-templates select="c:title[@lang=../@lang]"/>
</xsl:when>
<xsl:when test="c:title[@lang="cze"]">
<xsl:text>cze}{</xsl:text>
<xsl:apply-templates select="c:title[@lang="cze"]"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="concat(c:title[1]/@lang, '}{')"/>
<xsl:apply-templates select="c:title[1]"/>
</xsl:otherwise>
</xsl:choose>
<xsl:text>}
</xsl:text>
<xsl:if test="$IncludeOriginalTitle!='' and $lang!=@lang and
c:title[$lang=@lang] and
c:title[@lang=../@lang]">
<xsl:value-of select="concat('\CSTUGtitle{', @lang, '}{')"/>
<xsl:apply-templates select="c:title[@lang=../@lang]"/>
<xsl:text>}
</xsl:text>
</xsl:if>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="keywords">
<xsl:if test="count(c:keyword) > 0">
<xsl:text>\begin{CSTUGkeywords}
</xsl:text>
<xsl:for-each select="c:keyword">
<xsl:choose>
<xsl:when test="$lang=''">
<xsl:text>\begin{CSTUGkeywordset}
</xsl:text>
<xsl:variable name="kwdid">
<xsl:value-of select="."/>
</xsl:variable>
<xsl:for-each select="$keywordlist">
<xsl:variable name="kwd" select="key('keyword', $kwdid)"/>
<xsl:for-each select="$kwd/*">
<xsl:value-of select="concat('\keyword{', local-name(), '}{')"/>
<xsl:apply-templates select="."/>
<xsl:text>}
</xsl:text>
</xsl:for-each>
</xsl:for-each>
<xsl:text>\end{CSTUGkeywordset}
</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="c-keyword-TeX">
<xsl:with-param name="kwdid">
<xsl:value-of select="."/>
</xsl:with-param>
<xsl:with-param name="kwdlang">
<xsl:value-of select="$lang"/>
</xsl:with-param>
<xsl:with-param name="kwdlang2">
<xsl:value-of select="../@lang"/>
</xsl:with-param>
<xsl:with-param name="prefix">\keyword{</xsl:with-param>
<xsl:with-param name="infix">}{</xsl:with-param>
<xsl:with-param name="suffix">}
</xsl:with-param>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
<xsl:text>\end{CSTUGkeywords}
</xsl:text>
</xsl:if>
</xsl:template>
<xsl:template match="c:b">
<xsl:text>\textbf{</xsl:text>
<xsl:apply-templates/>
<xsl:text>}</xsl:text>
</xsl:template>
<xsl:template match="c:i">
<xsl:text>\textit{</xsl:text>
<xsl:apply-templates/>
<xsl:text>}</xsl:text>
</xsl:template>
<xsl:template match="c:tt">
<xsl:text>\texttt{</xsl:text>
<xsl:apply-templates/>
<xsl:text>}</xsl:text>
</xsl:template>
<xsl:template match="c:em">
<xsl:text>\emph{</xsl:text>
<xsl:apply-templates/>
<xsl:text>}</xsl:text>
</xsl:template>
<xsl:template match="c:cmd">
<xsl:text>\cmd{</xsl:text>
<xsl:apply-templates/>
<xsl:text>}</xsl:text>
</xsl:template>
<xsl:template match="c:para">
<xsl:apply-templates/>
<xsl:text/>
</xsl:template>
<xsl:template match="c:ul">
<xsl:text>\begin{itemize}
</xsl:text>
<xsl:apply-templates/>
<xsl:text>\end{itemize}
</xsl:text>
</xsl:template>
<xsl:template match="c:ol">
<xsl:text>\begin{enumerate}
</xsl:text>
<xsl:apply-templates/>
<xsl:text>\end{enumerate}
</xsl:text>
</xsl:template>
<xsl:template match="c:li">
<xsl:text>\item </xsl:text>
<xsl:apply-templates/>
<xsl:text/>
</xsl:template>
<xsl:template match="/" mode="xinclude">
<xsl:apply-templates/>
</xsl:template>
</xsl:stylesheet> articles.xsl |