Erleichtern Sie die Verwendung von $\C$ für komplexe Zahlen: Konflikte mit T2A, Mismath und Babel

Erleichtern Sie die Verwendung von $\C$ für komplexe Zahlen: Konflikte mit T2A, Mismath und Babel

Ich bevorzuge ausdrücklich die Verwendung von $\C$zur Bezeichnung der Menge der komplexen Zahlen, genau wie ich $\R$zur Bezeichnung der reellen Zahlen verwende – ob mit \mathbboder \mathbf.

Mehrere andere Pakete verwenden ihre eigenen Definitionen von \C: t2aenc.def(aufgerufen von \usepackage[T2A,T1]{fontenc}); mismath.sty; und entweder hyperref.styoder ein Paket, das es aufruft.

Mein Workaround hierfür ist im MWE unten dargestellt.

Frage:Gibt es eine einfachere Methode, dies zu erreichen – ohne wiederholt neu zu definieren \C?

Anmerkungen:

  • Es ist sehr unwahrscheinlich, dass ich jemals die Verwendung von T2A \Cdurch from brauchen werde . Ich bin mir nicht sicher, wie verwendet wird . (Es steht für einen Doppelgrab-Akzent im Serbokroatischen und Slowenischen.)babelhyperref\C
  • Ich verwende pdflatex undnichtxelatex oder lualatex!

Quelle MWE:

\documentclass{article}
\usepackage[T2A,T1]{fontenc}
\usepackage[russian,french,german,polish,main=english]{babel}

% Avoid \lll clash with def in amssymb.sty:
\makeatletter
    \let\polish@l=\ll
    \let\polish@L=\LLL
    \let\lll\relax \let\LLL\relax % undefine them
    \def\plll{\polish@l}
    \def\pLLL{\polish@L}
\makeatother
\usepackage{amsmath,amssymb}

% Choose ONE of the following two defs:
%\newcommand{\numsys}[1]{\mathbb{#1}}
\newcommand{\numsys}[1]{\mathbf{#1}}

% First 
\makeatletter
\def\my@textormath{%
  \ifmmode
    \expandafter\@secondoftwo
  \else
    \expandafter\@firstoftwo
  \fi}
    \ifcsname C\endcsname
      \let\oldC\C
      \def\C{\my@textormath{\oldC}{\numsys{C}}}
    \fi
\makeatother

\usepackage{mismath} % defines \Z, \Z, \Q, \R, \C with mathbf

\usepackage[pdftex]{hyperref}
\makeatletter
\def\my@textormath{%
  \ifmmode
    \expandafter\@secondoftwo
  \else
    \expandafter\@firstoftwo
  \fi}
\@ifpackageloaded{hyperref}{% then
    \let\newerC\C
    \def\C{\my@textormath{\newerC}{\numsys{C}}}}%
  {}
\makeatother

\renewcommand{\N}{\numsys{N}}
\renewcommand{\Z}{\numsys{Z}}
\renewcommand{\Q}{\numsys{Q}}
\renewcommand{\R}{\numsys{R}}

\begin{document}

$\N \subset \Z \subset \Q \subset \R \subset \C$

\end{document}

Verwandter Beitrag: Ist es möglich, $ \C$ für komplexe Zahlen mit T2A-Kodierung zu verwenden?

Antwort1

Wenn Ihre Definition gewinnen soll, fügen Sie sie so spät wie möglich hinzu

  \AtBeginDocument{\def\C{\numsys{C}}}

verwandte Informationen