尝试在 LaTeX 源代码中使用纯文本 Unicode(UTF-8 编码)符号。对相关符号进行了自己的定义(仅限 ASCII),只是为了证明这一概念。
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[verbose]{newunicodechar}
%⋮
% Unicode
\newunicodechar{♢}{<>}
\newunicodechar{⧫}{!}
\newunicodechar{⬠}{(P)}
%⋮
\begin{document}
%⋮
\subsection{Introduction}
♢ ⧫ ⬠
%…
\end{document}
由于没有任何 \newunicodechar,编译彻底失败:
This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2014/Debian) (preloaded format=latex 2015.4.1) 10 JUL 2017 16:47
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
**PP5_tiling.tex
(./PP5_tiling.tex
LaTeX2e <2014/05/01>
⋮
(/usr/share/texlive/texmf-dist/tex/latex/newunicodechar/newunicodechar.sty
Package: newunicodechar 2012/11/12 v1.1 Defining Unicode characters
)
⋮
! Package inputenc Error: Unicode char \u8: not set up for use with LaTeX.
See the inputenc package documentation for explanation.
Type H <return> for immediate help.
...
l.63 ♢
⧫ ⬠
?
你可能做错什么?
答案1
错误信息是
! Package inputenc Error: Unicode char (U+202F)
(inputenc) not set up for use with LaTeX.
并且 U+202F NARROW NO-BREAK SPACE 未在任何地方定义。
如果我为其添加声明,则不会出现问题。
\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[verbose]{newunicodechar}
%⋮
% Unicode
\newunicodechar{♢}{<>}
\newunicodechar{⧫}{!}
\newunicodechar{⬠}{(P)}
\newunicodechar{ }{\nolinebreak\hspace{.1em}}
%⋮
\begin{document}
%⋮
\subsection{Introduction}
♢ ⧫ ⬠
%…
\end{document}
注意 T1 编码,否则您将无法获得<
和>
。
为什么你会收到不同的错误消息?因为你使用的是三年前的 TeX 发行版。是时候更新了。