Hoy actualicé de TeXLive 2015 a TeXLive 2019 (ya era hora, ¿verdad?). Sin embargo, tengo un problema que no había encontrado antes. Normalmente lo declaro \C
como una macro para los números complejos. Sin embargo, esto choca con alguna declaración implícita de un comando relacionado con el hyperref
paquete (que también necesito).
Recibo el siguiente mensaje de error:
! LaTeX Error: Command \C unavailable in encoding TU.
Revisé el manual del hyperref
paquete, pero no parece definir un comando \C
.
Aquí hay un ejemplo de trabajo mínimo:
\documentclass{article}
\usepackage{fontspec}
\usepackage{amsmath}
\usepackage{amssymb}
\DeclareMathOperator{\C}{\mathbb{C}}
\DeclareMathOperator{\R}{\mathbb{R}}
\usepackage{hyperref}
\begin{document}
$\C$
\end{document}
Tenga en cuenta que esto es exclusivo de \C
. El documento se compila correctamente para \R
.
Respuesta1
Dado que hyperref
necesita cubrir Unicode para producir marcadores, define una codificación de salida propia llamada PU
.
En el archivo puenc.def
encontramos
\DeclareTextCommand{\C}{PU}[1]{#1\83\017}% U+030F
por lo que \C
se utiliza para combinar el acento de doble tumba.
Tienes dos alternativas:
cambie el nombre de
\C
los números complejos a un nombre diferente (quizás mejor), como\sC
(conjunto C) o el que más le guste;indefinir
\C
.
Para despues,
\documentclass{article}
\usepackage{fontspec}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{hyperref}
\let\C\relax
\DeclareMathOperator{\C}{\mathbb{C}}
\DeclareMathOperator{\R}{\mathbb{R}}
\begin{document}
$\C$
\end{document}
Ten cuidado con tus marcadores y asegúrate de no utilizar ese acento extraño.
Respuesta2
Tengo quizás cientos de documentos en los que uso \C como macro para \mathbf{C} y todos se pierden debido a esta colisión. Escribí un programa en Python para realizar sustituciones de palabras en documentos que he ejecutado en todos mis documentos *.tex para cambiar \C por \CC (el doble \ es necesario para que Python entienda "\C"). Cualquier persona interesada puede encontrar sustitutoi_palavra.py enhttp://www.calculo-numerico.sobralmatematica.org/programas/substitui_palavra.pyt y cambie ".pyt" a ".py".