
He notado que LuaTeX parece representar incorrectamente caracteres continuos (como un circunflejo, U+0302) cuando siguen letras griegas. Estoy particularmente interesado en hacer que esto funcione con una fuente monoespaciada (porque aparece en bloques de código):
\documentclass{article}
\usepackage{fontspec}
\setmonofont{DejaVu Sans Mono}
\begin{document}
\texttt{â \quad b̂ \quad ĉ \quad α̂ \quad β̂ \quad γ̂ \quad α̇ \quad β̇ \quad γ̇}
\end{document}
Probé varias fuentes y no pude encontrar una que funcione, y me pregunto si se trata de un problema de fuente general o más específico de TeX.
Respuesta1
Creo que esto está relacionado con la fuente.DejaVu Sans Monono funciona en TeX o LibreOffice.
PeroNoto Sans Monofunciona bien. Intentar:
\documentclass{article}
\usepackage{fontspec}
\setmonofont{Noto Sans Mono}
\begin{document}
\texttt{â \quad b̂ \quad ĉ \quad α̂ \quad β̂ \quad γ̂ \quad α̇ \quad β̇ \quad γ̇}
\end{document}
Respuesta2
Esto está relacionado con las fuentes: en las fuentes Unicode, los acentos se colocan principalmente utilizando los llamados anclajes: cada carácter tiene una posición especial marcada en el archivo de fuente, de modo que una posición marcada del acento está alineada con este "ancla". Los diseñadores de fuentes no agregaron estas anclas a las letras griegas.
Por supuesto, puedes solucionar este problema añadiendo los anclajes tú mismo, pero si sólo necesitas esto en raras ocasiones y sólo con caracteres pequeños, puedes colocar el acento manualmente. La mayoría de las veces sólo necesitas \llap
poner el acento sobre el siguiente carácter y, a veces, \raise
también es necesario. Por ejemplo:
\documentclass{article}
\usepackage{fontspec}
\setmonofont{DejaVuSansMono.ttf}
\begin{document}
\texttt{â \quad b̂ \quad ĉ \quad \llap{̂}α \quad \raisebox{2pt}{\llap{̂}}β \quad \llap{̂}γ \quad \llap{̇}α \quad \raisebox{2pt}{\llap{̇}}β \quad \llap{̇}γ}
\end{document}