当尝试LaTeX
使用latexmk在VS Code
使用Latex 工作坊扩展,则会引发以下错误:
Package inputenc: Unicode character ≤ (U+2264) (inputenc) not set up for use with LaTeX.
即使我的LaTeX
-file 编码是UTF-8
,并且该包inputenc
有该选项,也会发生这种情况utf8
(请参阅以下我的序言摘录):
\documentclass[a4paper,fleqn]{cas-sc}
%%%%%%%% SPRACH- UND FONTPAKETE %%%%%%%%
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
% * Declare special unicode characters which lead to errors otherwise * %
% Docs: https://tex.stackexchange.com/questions/558402/elsevier-paper-article-class-does-not-work-with-all-ascii-characters-and-package
\DeclareUnicodeCharacter{00B3}{\textsuperscript{3}}
...
可以看出,我已经遇到了另一个 Unicode 字符的问题00B3
。这次有问题的字符是“小于或等于”即在LaTeX
或\leq
unicode 中U+2264。
我的脚本中受影响的部分LaTeX
几乎以相同的方式出现两次,如下所示:
[...]
The measurement accuracy related to $\textrm{H}_{2}\textrm{S}$ is either $\leq
\pm 3 \, \%$ or $\leq \pm 0.5 \, \textrm{ppm}$, whichever is the greater value.
[...]
此外,文字≤
存在于如下表格中:
%% Table containing the problematic literal `≤` %%
\begin{table}[ht]
\caption{.....}
\label{tab:...}
\begin{tabular}{@{}lllllllll@{}}
\cmidrule(r){1-5}
....
Average percentage of measurements $≤ \, \nicefrac{\textrm{D}}{\textrm{T}} \, (\%)$ & 76.7 & 66.7 & 85.7 & 85.7 \\
....
\end{tabular}
....
尝试以与其他unicode字符相同的方式再次解决此问题,并在我的序言中特别声明它,但这次没有成功:
\DeclareUnicodeCharacter{U+2264}{$\leq$}
我想了解两件事:
- 主要问题:如何消除错误并使 LaTeX 文件正确编译?
- 可选问题:以前它一直运行正常,为什么会出现这个错误?
系统特性:
Lubuntu 20.04 LTS,VS 代码
答案1
一个解决方案是使用 LuaLaTeX 或 XeLateX 替换字体包\usepackage{unicode-math}
并进行编译。这支持所有 Unicode。
与任何 TeX 引擎兼容的另一种解决方案是:
\usepackage{newunicodechar}
\newunicodechar{≤}{\ensuremath{\leq}}
答案2
正如@Rmano 在我的问题的第一条评论中正确指出的那样,有一个未被注意的字面意思 ≤
在导致问题的值表中。
这是因为我合并了一个Word
-table,然后LaTeX
通过LaTeX 表格生成器。
我唯一要做的就是≤
用替换罪魁祸首文字$\leq$
,使文档编译时出现错误。
因此,将外部来源的内容插入到您的LaTeX
文件时要小心,因为它们可能包含一些不寻常的字符。