在 LuaLaTeX 和 XeLaTeX 中实现 \DeclareUnicodeCharacter

在 LuaLaTeX 和 XeLaTeX 中实现 \DeclareUnicodeCharacter

在我的代码中,我曾经写过

\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传递给inputencinputenx(而不是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}

在此处输入图片描述

相关内容