
É um bug de unicode-math
ou hyperref
dentro LuaLaTeX
?
% !TeX program = lualatex
% !TeX encoding = utf8
\documentclass[14pt]{extarticle}
\usepackage{fontspec}
\usepackage{amsmath}
\setsansfont{CMU Sans Serif}
\setmainfont{CMU Serif}
\setmonofont{CMU Typewriter Text}
\usepackage{unicode-math} % this one DOES NOT cause error without hyperref
\usepackage[english]{babel}
\usepackage{hyperref} % this one DOES NOT cause error without unicode-math
\begin{document}
\section{title $\alpha$}
\end{document}
Eu recebo um erro
Constante alfabética inadequada. \seção{título $\alpha$}
Responder1
os marcadores podem conter apenas texto bastante simples. Isso significa que o hyperref precisa traduzir a entrada do LaTeX em algo que faça sentido ali. Para isso, muitas vezes descarta ou substitui conteúdo problemático. Em geral, o hyperref é muito bom para pelo menos evitar erros neste processo, mas não consegue lidar com comandos que foram deixados para um char:https://github.com/latex3/hyperref/issues/63. E, infelizmente, a matemática unicode faz isso em vários lugares.
Você pode usar \texorpdfstring
para oferecer uma alternativa ao hyperref. Por exemplo, o caracter unicode direto U+1D6FC funcionaria com a maioria dos leitores de PDF. Você pode inseri-lo diretamente ou com a ^^
notação:
\documentclass[14pt]{extarticle}
\usepackage{fontspec}
\usepackage{amsmath}
\setsansfont{CMU Sans Serif}
\setmainfont{CMU Serif}
\setmonofont{CMU Typewriter Text}
\usepackage{unicode-math} %
\usepackage[english]{babel}
\usepackage{hyperref} %
\begin{document}
\section{title \texorpdfstring{$\alpha$}{
Responder2
Acredito que você encontrou uma falha básica na forma como os marcadores de PDF podem ser especificados, e não uma falha em um unicode-math
ou outrohyperref
por si só.
O \texorpdfstring
dispositivo pode ser usado para contornar essa deficiência. Por exemplo, em LuaLaTeX,
\section{title \texorpdfstring{$\alpha$}{$\symit{alpha}$}}
vai resultar emtitle alpha
(nota:não title α
) aparecendo nos favoritos.
Aparte: mesmo que o slot x03B1
na tabela Unicode aponte para α e a fonte CMU Serif tenha o símbolo correto nesse slot,
\section{title \texorpdfstring{$\alpha$}{\symbol{"03B1}}}
não funciona, como diz o marcador agora title "03B1
. Isto é definitivamente muito menos satisfatório do que title alpha
, não é? (É também por isso que opinei antecipadamente que há um problema fundamental na forma como os marcadores podem ser formados.)
Qual é a moral desta história? Talvez seja necessário evitar o uso de letras gregas em modo matemático nos argumentos dos comandos que aparecem como marcadores de PDF.