Error de constante alfabética incorrecta en el título con griego: error con Unicode-math e hiperref en LuaLaTeX

Error de constante alfabética incorrecta en el título con griego: error con Unicode-math e hiperref en LuaLaTeX

¿Es un error de unicode-matho hyperrefdentro 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}

me sale un error

Constante alfabética incorrecta. \section{título $\alpha$}

Respuesta1

Los marcadores sólo pueden contener texto bastante simple. Esto significa que hyperref tiene que traducir la entrada de LaTeX en algo que tenga sentido allí. Para ello, a menudo elimina o reemplaza contenido problemático. En general, hyperref es bastante bueno para al menos evitar errores en este proceso, pero no puede manejar comandos que se han dejado en un carácter:https://github.com/latex3/hyperref/issues/63. Y lamentablemente Unicode-Math hace esto en varios lugares.

Puede utilizar \texorpdfstringpara ofrecerle a hyperref una alternativa. Por ejemplo, el carácter Unicode directo U+1D6FC funcionaría con la mayoría de los lectores de PDF. Puedes ingresarlo directamente o con la ^^notación:

\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$}{

Respuesta2

Creo que ha encontrado una deficiencia básica en la forma en que se pueden especificar los marcadores de PDF, no una deficiencia en ninguno de los unicode-mathdos.hyperref per se.

El \texorpdfstringdispositivo se puede utilizar para solucionar este defecto. Por ejemplo, bajo LuaLaTeX,

\section{title \texorpdfstring{$\alpha$}{$\symit{alpha}$}}

resultará en title alpha(nota:no title α) que aparece en los marcadores.

Aparte: Aunque la ranura x03B1en la tabla Unicode apunta a α y la fuente CMU Serif tiene el símbolo correcto en esa ranura,

\section{title \texorpdfstring{$\alpha$}{\symbol{"03B1}}}

no funciona en absoluto, como ahora dice el marcador title "03B1. Definitivamente esto es mucho menos satisfactorio que title alpha, ¿no es así? (Esta es también la razón por la que opiné desde el principio que hay un problema fundamental con la forma en que se pueden formar los marcadores).

¿Cuál es la moraleja de esta historia? Tal vez, es que uno debería evitar el uso de letras griegas en modo matemático en los argumentos de los comandos que aparecen como marcadores de pdf.

información relacionada