在我的代码中,我曾经写过
\DeclareUnicodeCharacter{27E6}{\begin{description}} % ⟦
\DeclareUnicodeCharacter{27E7}{\end{description}} % ⟧
\DeclareUnicodeCharacter{2022}{\item} % •
它与 配合得很好pdflatex
。移动到lualatex
命令无法编译。有没有办法定义我的版本,\DeclareUnicodeCharacer
以便它仍然有效?
答案1
我会考虑
⟦
•[Gnats] are small animals
•[Gnus] are big animals
⟧
作为代码混淆。无论如何,这适用于所有引擎。但是,对于pdflatex
它需要utf8
传递给inputenc
或inputenx
(而不是utf8x
)。
\usepackage{newunicodechar}
\newunicodechar{⟦}{\begin{description}}
\newunicodechar{⟧}{\end{description}}
\newunicodechar{•}{\item}
如果您想重复使用已有的声明,您可以这样做:
\documentclass{article}
\usepackage{ifxetex,ifluatex}
\newif\ifunicode
\ifxetex\unicodetrue\fi
\ifluatex\unicodetrue\fi
\ifunicode
\usepackage{fontspec}
\usepackage{newunicodechar}
\newcommand{\DeclareUnicodeCharacter}[2]{%
\begingroup\lccode`|=\string"#1\relax
\lowercase{\endgroup\newunicodechar{|}}{#2}%
}
\else
\usepackage[utf8]{inputenc}
\fi
\DeclareUnicodeCharacter{27E6}{\begin{description}} % ⟦
\DeclareUnicodeCharacter{27E7}{\end{description}} % ⟧
\DeclareUnicodeCharacter{2022}{\item} % •
\begin{document}
Some text
⟦
•[Gnats] are small animals
•[Gnus] are big animals
⟧
and some other text
\end{document}