名前: Hirata 日時: 2004-09-28 06:10:55 IPアドレス: 61.25.158.*
Transforming XHTML to LaTeX and BibTeX にある xh2latex.xsl を使うと XHTML 文書を LaTeX にある程度うまく変換できます。 xh2latex.xsl 自身はあまりエンコーディングには介入しないので、これをテキストエディタ で開いて <xsl:output method="text" /> となっている部分を <xsl:output method="text" encoding="Shift_JIS" /> に変更すると Shift_JIS で出力してくれます (EUC の場合は EUC-JP)。XSLT プロセッサが 利用可能な場合は、使い方も簡単で、例えば libxml2 (Linux/Unix/FreeBSD などによく入っ ている) の xsltproc で処理するには % xsltproc --novalid --stringparam DocClass jsarticle xh2latex.xsl foo.html の様にするだけです。XSLT を利用した方法では OS に依存することなく (XSLT プロセッサが あることが前提ですが) 結構簡単に変換できる上、プログラミングの知識があまりなくともある程 度拡張や修正を加えることができるので非常に有用だと思われます。私はあまり XSLT の知識を 持ちあわせていないのですが、既にこういう事をやっているという方いらっしゃいますか? ruby に対応するには例えば、 xh2latex.xsl の最初の方で \begin{document} の前に \usepackage{ruby} を入れる (\ruby{亜}{あ} を定義した ruby.sty を適当に用意して下さい。あるいは \begin{document} と同じ <xsl:text> ブロックに \newcommand で記述します。) 更に適当な場所 (最後の行の </xsl:styleseet> の前など) に以下のものを入れてお きます (きちんとしたものではありません)。 <!-- ruby: rbc, rtc not supported yet --> <xsl:template match="xhtml:ruby"> <xsl:text>\ruby</xsl:text> <xsl:text>{</xsl:text> <xsl:apply-templates select="xhtml:rb" /> <xsl:text>}</xsl:text> <xsl:text>{</xsl:text> <xsl:apply-templates select="xhtml:rt" /> <xsl:text>}</xsl:text> <!-- ignore rp --> </xsl:template>
この書き込みへの返事: