Hoje, atualizei do TeXLive 2015 para o TeXLive 2019 (já era hora, certo?). No entanto, estou tendo um problema que não encontrei antes. Normalmente declaro \C
como uma macro para os números complexos. No entanto, isso colide com alguma declaração implícita de um comando relacionado ao hyperref
pacote (que também preciso).
Eu recebi a seguinte mensagem de erro:
! LaTeX Error: Command \C unavailable in encoding TU.
Verifiquei o manual do hyperref
pacote, mas eles não parecem definir um comando \C
.
Aqui está um exemplo mínimo de trabalho:
\documentclass{article}
\usepackage{fontspec}
\usepackage{amsmath}
\usepackage{amssymb}
\DeclareMathOperator{\C}{\mathbb{C}}
\DeclareMathOperator{\R}{\mathbb{R}}
\usepackage{hyperref}
\begin{document}
$\C$
\end{document}
Observe que isso é exclusivo para \C
. O documento é compilado corretamente para \R
.
Responder1
Como hyperref
precisa cobrir o Unicode para produzir marcadores, ele define uma codificação de saída própria chamada PU
.
No arquivo puenc.def
encontramos
\DeclareTextCommand{\C}{PU}[1]{#1\83\017}% U+030F
so \C
é usado para combinar acentos graves duplos.
Você tem duas alternativas:
altere o nome dos
\C
números complexos para um nome diferente (talvez melhor), como\sC
(conjunto C) ou o que você mais gosta;indefinir
\C
.
Para este último,
\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}
Tenha cuidado com seus favoritos e não use aquele sotaque estranho.
Responder2
Tenho talvez centenas de documentos nos quais uso \C como macro para \mathbf{C} e todos eles são perdidos devido a essa colisão. Eu escrevi um programa python para fazer substituições de palavras em documentos que executei em todos os meus documentos *.tex para alterar \C por \CC (o duplo \ é necessário para que o python entenda "\C"). Qualquer pessoa interessada pode encontrar substitui_palavra.py emhttp://www.calculo-numerico.sobralmatematica.org/programas/substitui_palavra.pyt e altere ".pyt" para ".py".