![Facilite o uso de $\C$ para números complexos: conflitos com T2A, incompatibilidade e babel](https://rvso.com/image/399813/Facilite%20o%20uso%20de%20%24%5CC%24%20para%20n%C3%BAmeros%20complexos%3A%20conflitos%20com%20T2A%2C%20incompatibilidade%20e%20babel.png)
Minha forte preferência é usar $\C$
para denotar o conjunto de números complexos, assim como uso $\R$
para denotar os números reais — seja com \mathbb
ou \mathbf
.
Vários outros pacotes usam suas próprias definições de \C
: t2aenc.def
(chamado from \usepackage[T2A,T1]{fontenc}
); mismath.sty
; e um hyperref.sty
ou algum pacote que ele chama.
Minha solução alternativa para isso é mostrada no MWE abaixo.
Pergunta:Existe um método mais simples para conseguir isso - sem redefinir repetidamente \C
?
Notas:
- É muito improvável que algum dia eu precise do
\C
usobabel
do T2A. Não tenho certeza de comohyperref
usa o\C
. (É para um sotaque duplo em servo-croata e esloveno.) - Estou usando pdflatex enãoxelatex ou lualatex!
Fonte 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}
Postagem relacionada: É possível usar $\C$ para números complexos com codificação T2A?
Responder1
Se você quiser que sua definição ganhe, adicione o mais tarde possível
\AtBeginDocument{\def\C{\numsys{C}}}