是否可以使用$ \C$ 表示具有 T2A 编码的复数?

是否可以使用$ \C$ 表示具有 T2A 编码的复数?

在包含一些西里尔文本的英语文档中使用pdflatex。对于数学,我想使用 $\C$ 表示复数集。但是,其选项T2A所需的编码会出现错误:babelrussian

Command \C already defined.

来源如下:

\documentclass{article}

\usepackage[T1,T2A]{fontenc}
\usepackage[utf8]{inputenc}
%\usepackage[main=english,russian]{babel}

\usepackage{amssymb}
\newcommand{\C}{\mathbb{C}}

\begin{document}

%{\Russian Алекс\'{а}ндров}, {\Russian Т\'{и}хонов}, and {\Russian Урыс\'{o}н}.

$\C$ denotes the set of all complex numbers.

\end{document}

解决方法

\renewcommand{\C}{\mathbb{C}}

似乎有效,如下所示:

\documentclass{article}

\usepackage[T1,T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[main=english,russian]{babel}
\usepackage{csquotes}

\usepackage{amssymb}
\renewcommand{\C}{\mathbb{C}}

\begin{document}

{\Russian Алекс\'{а}ндров}, {\Russian Т\'{и}хонов}, and {\Russian Урыс\'{o}н}.

$\C$ denotes the set of all complex numbers.

\end{document}

问题 1:在加载的包中定义在哪里\C(我至今还没能找到它)以及它的含义是什么?

如果它给出了一些我永远不需要的重音或字符,那么我可以使用\renewcommand指示的解决方法。

如果不是,那么...

问题2:除了对复数使用诸如 $\CC$ 之类的不太简洁的符号外,还有其他更安全的解决方法吗?

答案1

的定义\C可以在以下位置找到t2aenc.def

\DeclareTextAccent{\C}{\LastDeclaredEncoding}{19}

它表示双重重音符号。

如果您不想重新定义宏,则可以采用一些替代方法,例如仅在数学模式下定义它,或者使用 Unicode 字符,或者选择不同的单字母宏。

梅威瑟:

\documentclass{article}

\usepackage[T1,T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[main=english,russian]{babel}

\usepackage{amssymb}

\let\oldC\C
\def\C{\textormath{\oldC}{\mathbb{C}}}

\DeclareUnicodeCharacter{2102}{\mathbb{C}}

\newcommand{\K}{\mathbb{C}}

\begin{document}
\C{и}

$\C$ denotes the set of all complex numbers.

$ℂ$ denotes the set of all complex numbers.

$\K$ denotes the set of all complex numbers.

\end{document}

结果:

在此处输入图片描述

相关内容