我曾经使用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>