编译此 MWE ( mwe.tex
)
\documentclass{article}
\usepackage[greek,italian]{babel}
\usepackage[utf8x]{inputenc}
\begin{document}
\latintext chars with àccéènts
greek chars \greektext ασδφγη
\end{document}
使用C:\Program Files (x86)\MiKTeX 2.9\scripts\tex4ht\htlatex.bat mwe.tex
(在使用 成功编译后pdflatex
)生成的是 ANSI 编码的 HTML 文件,而不是 UTF-8 编码的 HTML 文件。也就是说,mwe.html
一旦打开,就会显示
带有 ΰccιθnts 希腊字符 ασδφγη 的字符
并且只有我手动将浏览器编码更改为 ISO-8859-1 才能正确显示字符。
我还尝试了很多选项htlatex
(编译输出htlatex mwe "xhtml, charset=utf-8" " -cunihtf -utf8"
可用这里),但都没有解决问题,有什么线索吗?
跟进
由于答案中给出的解决方案在 Ubuntu 下与 TeXLive 配合良好,我猜测 Windows 下 MikTeX 的问题是由于 MikTex 造成的。
以下是 michal.h21 请求的测试日志:
>tex4ht -he -cunihtf -utf8 mwe
----------------------------
tex4ht.c (2010-12-16-08:39 Windows MiKTeX)
tex4ht -he
-cunihtf
-utf8
mwe
(C:/Program Files (x86)/MiKTeX 2.9/tex4ht/base/win32/tex4ht.env)
(C:/Program Files (x86)/MiKTeX 2.9/fonts/tfm/public/cbgreek/grmn1000.tfm)
(C:/Program Files (x86)/MiKTeX 2.9/tex4ht/ht-fonts/unicode/cbgreek/grmn.htf)
--- error --- Illegal storage address
K `y cmr10 &&
texhash
我尝试用和刷新 TeX 名称数据库,mktexlsr
但“非法存储地址”问题仍然存在。
答案1
我没有miktex
,所以不知道有关路径的错误消息是什么意思,但是对于 utf-8 输出,您必须使用以下命令运行 htlatex:
htlatex mwe "xhtml, charset=utf-8" " -cunihtf -utf8"
结果:
带重音符号的字符 希腊字符 ασδφγη