我在 Ubuntu 11.10 上使用 TexLive 2011。例如:
\documentclass[UTF8]{ctexart}
\begin{document}
文章内容。
\end{document}
然后我运行htlatex test.tex
把它转换成html,但是转换之后,在浏览器中显示不出中文字符。然后我查看了html源码,是这样的:
<body>
<!--l. 3--><p class="noindent" ><span
class="unisong-65x-x-105"></span><span
class="unisong7a-x-x-105"></span><span
class="unisong-51x-x-105"></span><span
class="unisong5b-x-x-105"></span><span
class="unisong-30x-x-105"></span>
</body>
看起来它正在以一种最奇怪的方式转换字符。
那么我该如何配置它才能生成可读的中文?如果 tex4ht 无法做到这一点,我还应该研究哪些其他工具?
答案1
原因是tex4ht
找不到htf
字体文件,例如unisong51.htf
等等。然而,tex4ht
做附带utf8song*.htf
文件%TEX4HT%/ht-fonts/unicode/cjk/utf8/
,因此您可以创建这些文件的副本。(%TEX4HT%
很可能%TEXMF%/tex4ht
在您的系统上。)
这是我所做的。
- 将每个副本创建
utf8song*.htf
为unisong*.htf
,并修改第一的和最后的文件内容的unisong*
相应行。 - 就我而言,我还必须编辑
%TEX4HT%/tex4ht/base/unix/tex4ht.env
。 (或者win32
如果你使用的是 Windows,则编辑 )。 将该文件中的所有 更改~/tex4ht.dir/texmf
为我的树的实际路径TEXMF
,尤其是标题 下的<unihtf>
。 然后运行以下命令:
htlatex test.tex "xhtml,charset=utf-8,NoFonts" " -cunihtf -utf8"
然后我就能够获得一个可读的中文网页。