如何比较两个包含西里尔字母的宏?

如何比较两个包含西里尔字母的宏?

简短的问题是: 如何比较两个包含西里尔字母的宏?

\ifx比较两个拉丁字符串并不困难

\def\contentsnameinlanguage{Contents}
\ifx\contentsname\contentsnameinlanguage 1 \else 0 \fi % 1

但是如果我想对西里尔字符串执行同样的事情该怎么办?

\def\contentsnameinlanguage{Зміст}
\ifx\contentsname\contentsnameinlanguage 1 \else 0 \fi % 

在这种情况下,我也想收到 1。

完整 MWE:

\documentclass{article}
\usepackage[T2A,T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,ukrainian]{babel}

\begin{document}

\selectlanguage{english}
\def\contentsnameinlanguage{Contents}
\ifx\contentsname\contentsnameinlanguage 1 \else 0 \fi % 1

\meaning\contentsname

\selectlanguage{ukrainian}
\def\contentsnameinlanguage{Зміст}
\ifx\contentsname\contentsnameinlanguage 1 \else 0 \fi % 0

\expandafter\meaning\contentsname

\end{document}

相关内容