带有希腊编码的 htlatex

带有希腊编码的 htlatex

我曾经使用htlatex以下代码(例如 foo.tex)

\documentclass[10pt]{article}
\usepackage{tikz}
\usepackage{amsthm}
\usepackage{amsmath} 
\usepackage{amssymb}
\usepackage{amscd}
\usepackage{makeidx} 
\usepackage{graphicx} 
\usepackage[english,greek]{babel}
\usepackage[iso-8859-7]{inputenc}
\usepackage{multibib}

\begin{document}

αβγδ 
{\it αβγδ}

\end{document}

我执行

mk4ht htlatex foo.tex "xhtml,mathml"

html 文件给了我以下内容 αβγδ abgd

我希望 αβγδ *αβγδ*

也就是说无法\it用希腊字符正确翻译。

任何想法?

谢谢。

答案1

这是由字体处理方式引起的tex4ht- 每种字体都使用特殊的转换文件。希腊斜体显然缺少此文件。简单的解决方案是使用 禁用斜体字体tex4ht

首先,你应该编辑源文件并使用

\textit{αβγδ}

代替

{\it αβγδ}

因为这种形式无法用这种技术轻易地转换为 html。

然后创建自定义配置文件config.cfg

\Preamble{xhtml, mathml}
\begin{document}
\renewcommand\textit[1]{\ifvmode\ShowPar\fi\NoFonts\HCode{<em>}#1\HCode{</em>}\EndNoFonts}
\EndPreamble

此配置将阻止使用斜体字体并插入<em>标签。

编译使用:

htlatex  foo.tex "config, charset=utf-8" " -cunihtf -utf8" 

结果:

<p class="noindent" >αβγδ <em>αβγδ</em>                                                              
</p>

相关内容