如何将包含任意 Unicode 的 LaTeX 转换为 XHTML?

如何将包含任意 Unicode 的 LaTeX 转换为 XHTML?

我正在读这个问题(如何将 Unicode 字符放入 HTML 输出中),因为他的目的只是将文本输出为 HTML,我想知道是否有一个简单的命令可以对包含的内容进行二进制转储?我发现这可能有助于嵌入某些类型的图形,特别是上述问题中的 utf-8 文本。

我想要以下乳胶。

\documentclass{article}
\begin{document}

\specialCommand{any unicode Character 字}

\end{document}

SpecialCommand 是可选的,但我认为可以让它更简单。结果是(html 已经简化)

<?xml version="1.0" encoding="utf-8" ?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml"  > 
<head><title></title> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<link rel="stylesheet" type="text/css" href="html.css" /> 
</head><body>
<p class="noindent" >any unicode Character 字
</p>

</body></html> 

使用htlatex "html.tex" "xhtml, charset=utf-8" " -cunihtf -utf8"

答案1

如果您想使用任意 Unicode 字符,则需要使用支持 Unicode 的 TeX 引擎。这意味着 LuaTeX 或 XeTeX。htlatex使用 pdfTeX 作为编译引擎。pdfTeX 仅对 Unicode 提供有限的支持,并且很难让它支持 CJK 字符。即使您尝试使用 编译示例文档,也无法让其输出 CJK 字符,因此它没有产生任何结果也就pdflatex不足为奇了。htlatex

幸运的是,您可以选择不同的引擎来tex4ht使用替代的构建脚本make4ht。具体来说,它支持 LuaTeX 的完整 Unicode,因此即使您的示例没有产生所需的输出lualatex(您至少需要选择具有必要字形的字体),它也可以生成所需的 HTML。尝试以下命令:

make4ht -ul html.tex

它产生了这个:

在此处输入图片描述

<!--l. 4--><p class="noindent" >any unicode Character 字
</p>   

相关内容