<?xml version="1.0" encoding="utf-8"?>
<!--
Basic text formatting, like emphasis, bold, etc.
-->
<stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- "Logical" styles. -->
<!-- Emphasis (normally italic). -->
<template name="emph" match="emph|em">
<common formats="/latex/xelatex/">
<xsl:text>\emph{</xsl:text>
<xsl:apply-templates />
<xsl:text>}</xsl:text>
</common>
<common formats="/html/xhtml/">
<em><xsl:apply-templates /></em>
</common>
</template>
<!--
Emphasis inside answers needs to be handled specially in HTML, as it doesn't just flip-flop automatically like it does in LaTeX.
-->
<template name="emph-in-answer" match="answer//emph|answer//em">
<common formats="/latex/xelatex/">
<xsl:text>\emph{</xsl:text>
<xsl:apply-templates />
<xsl:text>}</xsl:text>
</common>
<common formats="/html/xhtml/">
<strong><xsl:apply-templates /></strong>
</common>
</template>
<!-- Strong emphasis (normally bold). -->
<template name="strong" match="strong">
<common formats="/latex/xelatex/">
<xsl:text>\textbf{</xsl:text>
<xsl:apply-templates />
<xsl:text>}</xsl:text>
</common>
<common formats="/html/xhtml/">
<strong><xsl:apply-templates /></strong>
</common>
</template>
<!-- A defined term. -->
<template name="term" match="term">
<common formats="/latex/xelatex/">
<xsl:text>\term{</xsl:text>
<xsl:apply-templates />
<xsl:text>}</xsl:text>
</common>
<common formats="/html/xhtml/">
<i class="term"><xsl:apply-templates /></i>
</common>
</template>
<!-- A foreign word or phrase. -->
<template name="foreign" match="foreign">
<common formats="/latex/xelatex/">
<xsl:text>\foreign{</xsl:text>
<xsl:apply-templates />
<xsl:text>}</xsl:text>
</common>
<common formats="/html/xhtml/">
<i class="foreign"><xsl:apply-templates /></i>
</common>
</template>
<!-- "Physical" styles. -->
<!-- Italics. -->
<template name="italic" match="italic">
<common formats="/latex/xelatex/">
<xsl:text>\textit{</xsl:text>
<xsl:apply-templates />
<xsl:text>}</xsl:text>
</common>
<common formats="/html/xhtml/">
<i><xsl:apply-templates /></i>
</common>
</template>
<!-- Bold face. -->
<template name="bold" match="bold">
<common formats="/latex/xelatex/">
<xsl:text>\textbf{</xsl:text>
<xsl:apply-templates />
<xsl:text>}</xsl:text>
</common>
<common formats="/html/xhtml/">
<b><xsl:apply-templates /></b>
</common>
</template>
<!-- Underlining. -->
<template name="underline" match="underline|u">
<common formats="/latex/xelatex/">
<xsl:text>\uline{</xsl:text>
<xsl:apply-templates />
<xsl:text>}</xsl:text>
</common>
<common formats="/html/xhtml/">
<span style="text-decoration: underline;"><xsl:apply-templates /></span>
</common>
</template>
<!-- Strike-through. -->
<template name="strike-through" match="strike-through|line-through|strikethrough|linethrough">
<common formats="/latex/xelatex/">
<xsl:text>\sout{</xsl:text>
<xsl:apply-templates />
<xsl:text>}</xsl:text>
</common>
<common formats="/html/xhtml/">
<span style="text-decoration: line-through;"><xsl:apply-templates /></span>
</common>
</template>
<!-- Center stuff on the page. -->
<template name="center" match="center|centering|centre|centring">
<common formats="/latex/xelatex/">
<xsl:text>\begin{center}</xsl:text>
<xsl:call-template name="newline-internal" />
<xsl:apply-templates />
<xsl:text>\end{center}</xsl:text>
<xsl:call-template name="newline-internal" />
</common>
<common formats="/html/xhtml/">
<div style="text-align: center;">
<xsl:apply-templates />
</div>
</common>
</template>
</stylesheet>