我正在编写一个应用程序,使用Java和JSOAP从网站抓取一些文章。该应用程序将文章的某些部分编译为.tex(LaTeX)文档,然后使用PDFLatex将其转换为PDF。
某些网页包含HTML实体,例如&或“这些在PDF转换期间导致错误。我该如何解决这个问题?
答案 0 :(得分:1)
你将utf8字符与html实体混淆, 你真正想要的(似乎)是将这些实体转换为乳胶字符。
this question on tex-exchange有neat conversion list的链接。 列是(按顺序):
&
和;
\
用这个列表作为起点编写一些转换代码应该很容易。
答案 1 :(得分:0)
HTML使用标记构建数据,这些标记由一系列字符定义。这些标签以某些字符开头并包含某些字符,如果您想使用其中一个字符来分隔标记的某些部分,则需要使用character entity来表示它们。
这意味着&
不是单个字符的某种奇怪的编码,它实际上是五个字符,它们组合是HTML渲染器(如Web浏览器)的信号,只有字符{{ 1}}将被显示。
Tex,是一个不同的野兽,它对HTML使用“裸”&
没有相同的限制,所以在用Tex处理这些数据之前,你需要做一个字符串替换所有带有常规字符的HTML字符实体。
请注意,有两个类型的字符实体。一组包括“命名”实体,分别为&
和>
(<
和>
,而第二组是“编号”实体。编号实体看起来像<
,本例中的“32”表示ISO-8859-1字符代码(本例中为空格)。