非 ASCII 字符的神秘空格代码

非 ASCII 字符的神秘空格代码

我正在将一篇论文转录为 LaTeX。为此,我将文件转换docxtxt使用 MacOs 文字处理器将页面。有些字符被映射为非 ASCII 形式,例如 ∑、∂ 等……所以我逐个将其更改为正确的 LaTeX 等效字符。但是,转换后的文件中的空格在 LaTeX 中txt被编译为奇怪的字符。

这是我的 LaTeX 输入(的摘要)。

\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\begin{Document}
Blah, Blah, Blah
.
.
.

[...] is defined as follows: $d_{i,j} = w_{i,j}^{mut} - w_{i,j}^{wt}$ [...]
                            ^
.
.
.
\end{document}

pdflatex myfile.tex得到这个输出后:

输出

如您所见,冒号后面有一个神秘的空格,代表两个重音字母 A 和另一个字母 I。这是为什么?我该如何预测这种错误?

答案1

在此处输入图片描述

冒号后有一个控制字符(显然是 U+2028,即 LINE SEPARATOR),它在 UTF-8 中占用三个字节,但在 latex 中使用默认的单字节输入编码,因此每个字节都被打印为一个单独的字符,如上所示,它由

    \documentclass{article}
    \usepackage[T1]{fontenc}

    \begin{document}

    U+2008 Punctation space : x

    U+2028 Line separator :
    x

    \end{document}

如果你添加

\usepackage[utf8]{inputenc}

然后你会得到一个更容易理解的行为:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\begin{document}

U+2008 Punctation space : x

U+2028 Line separator :
    x

\end{document}

产生终端输出:

! Package inputenc Error: Unicode char   (U+2008)
(inputenc)                not set up for use with LaTeX.

..

! Package inputenc Error: Unicode char  (U+2028)
(inputenc)                not set up for use with LaTeX.

相关内容