Latex 错误地渲染 unicode 加减(±)符号

Latex 错误地渲染 unicode 加减(±)符号

据我所知,现代 latex 程序应该能够毫无问题地呈现 unicode 字符。但是,以下 MWE 将±(ord 177 加减号) 字符呈现为ś字符 (ord 347:带尖音符的拉丁小写字母 S)。

\documentclass{article}%
\usepackage[T1]{fontenc}%
\usepackage[utf8]{inputenc}%
\usepackage{lmodern}%
\usepackage{textcomp}%
\usepackage{parskip}%
%
\usepackage{graphicx}%
%
\begin{document}%
\pagestyle{empty}%
\normalsize%
13.787±0.020%
\end{document}

运行命令:

lualatex --interaction=nonstopmode document.tex

PDF 呈现为:

在此处输入图片描述

我也尝试过:

latexmk --pdf --interaction=nonstopmode document.tex

xelatex --interaction=nonstopmode document.tex

我尝试过将其更改\usepackage[utf8]{inputenc}\usepackage[utf8x]{inputenc}。结果是一样的。知道我做错了什么吗?

对于我的用例,我会使用 自动生成文档pylatex,因此它并不像用 替换 unicode 字符那么简单\textpm{}。我确实希望能够按原样呈现 unicode 字符。

答案1

使用 lualatex 时,您不应将编码设置为 T1,也不要加载 inputenc 和 textcomp。如果您删除所有内容,它将正常工作:

\documentclass{article}%
\usepackage{parskip}%
\usepackage{graphicx}%
\begin{document}%
\pagestyle{empty}%

13.787±0.020%
\end{document}

在此处输入图片描述

相关内容