我的文档在 LaTeX(Linux 和 Overleaf)中编译完美,但在 MacTeX 中出现错误。
我正在使用\documentclass[review]{elsarticle}
并且需要声明一些运算符:
\DeclareMathOperator*{\extr}{extr}
\DeclareMathOperator*{\owa}{OWA}
\DeclareMathOperator*{\orness}{orness}
\DeclareMathOperator*{\andness}{andness}
然后,当我使用运算符时\owa(E_{e_{i}},W^p) =
,仅在 MacTeX,我收到此错误:程序包 inputenc 错误:Unicode 字符 (U+2061) [ \owa]
我已经用 TeX Live Utility 更新了所有软件包。其中\usepackage
的调用inputenc
可能在里面elsarticle
,因为我没有调用它。
在 .log 中我可以找到上述信息,但U+2061
不是可打印字符。我该如何使用 声明它\DeclareUnicodeCharacter
?为什么这种情况只发生在 MacTeX 中?
Now handling font encoding TS1 ...
... processing UTF-8 mapping file for font encoding TS1
(/usr/local/texlive/2018/texmf-dist/tex/latex/base/ts1enc.dfu
File: ts1enc.dfu 2018/04/05 v1.2c UTF-8 support for inputenc
...
! Package inputenc Error: Unicode character (U+2061)
(inputenc) not set up for use with LaTeX.
See the inputenc package documentation for explanation.
Type H <return> for immediate help.
...
l.136 \owa
(E_{e_{i}},W^p) =
You may provide a definition with
\DeclareUnicodeCharacter
答案1
在你的源代码第 136 行
U+005c REVERSE SOLIDUS \ \backslash \textbackslash
U+006f LATIN SMALL LETTER O o
U+0077 LATIN SMALL LETTER W w
U+0061 LATIN SMALL LETTER A a
U+2061 FUNCTION APPLICATION
U+0028 LEFT PARENTHESIS ( \lparen (
U+0045 LATIN CAPITAL LETTER E E
(
因此,如果您删除后面的所有内容\owa
,然后重新输入(\owa (
之前不带不可见的 U+2061 字符),那么应该没问题。
请注意,这与使用 mactex 或 linux 等无关,您可能在一个地方的包中定义了 U+2061,而在另一个地方没有定义,默认情况下它没有定义。
如果你想声明它而不是删除它,只需使用
\DeclareUnicodeCharacte{2061}{}
它声明了它但不执行任何操作。