
Tengo un problema con LuaLaTeX (de TL 2016:) Version 0.95.0 (TeX Live 2016) (format=lualatex 2017.1.29)
que hace ligaduras inapropiadas. Aquí va el MWE:
\documentclass[a4paper, 12pt]{article}
\def\czechSingleQuotes #1{‚#1‘} % UTF-8 chars for single quotes
\begin{document}
\czechSingleQuotes{Ahoj!}
\czechSingleQuotes{Nazdar?}
‚Hi!‘
\end{document}
El resultado se ve así:
Espero que los chicos de LuaTeX lo lean aquí y hagan algo al respecto. Sin embargo, ¿alguien tendría alguna sugerencia sobre cómo solucionar este problema hasta que se solucione? Los trucos habituales (en diferentes situaciones) no ayudan, p. ej. \def\czechSingleQuotes #1{‚{#1}{}\relax ‘}
producen el mismo resultado.
Gracias de antemano.
EDITAR más tarde:
Esto se ha solucionado en la versión más reciente luaotfload
(v2.8-fix-1), sin embargo, la solución parece ir demasiado lejos: ahora incluso las ligaduras estándar para crear signos de exclamación o interrogación en español invertidos ya no funcionan, por lo que esto :
\documentclass[a4paper, 12pt]{article}
\begin{document}
Hi?` % standard back apostrophe, no UTF-8
Hi!` % ditto
\end{document}
crea diferentes resultados en LuaTeX (marcas q./ex. estándar seguidas de una comilla invertida) y en XeTeX o pdfTeX (marcas q./ex. invertidas en español).
Respuesta1
Como David Carlisle ha señalado en un comentario, las ligaduras TeX "clásicas" para preguntas invertidas y signos de exclamación se están aplicando a pesar de que están presentes comillas "tipográficas", en lugar de comillas invertidas básicas.
Insertar la instrucción \kern0pt
antes de la cotización de cierre es un remedio eficaz. Tenga en cuenta que LuaTeX, a diferencia de pdfLaTEX, descarta {}
elementos. Por lo tanto, no puede utilizar {}
para crear una separación invisible entre los signos de puntuación y las comillas tipográficas.
\documentclass{article}
\def\czechSingleQuotes#1{‚#1\kern0pt‘} % UTF8 chars for single quotes
\begin{document}
% "classic" TeX ligatures applied even though "typographic" quotes are in use
? ?` ?‘ --- ! !` !‘
\czechSingleQuotes{Ahoj!}
\czechSingleQuotes{Nazdar?}
\czechSingleQuotes{Hi!!}
\end{document}
Respuesta2
Las ligaduras TeX se están aplicando mal, puedes usarlas fontspec
para desactivarlas, aunque por ejemplo eso significa que ---
ya no se ligarían a un mdash.
\documentclass[a4paper, 12pt]{article}
\usepackage{fontspec}
\def\czechSingleQuotes #1{‚#1‘} % UTF-8 chars for single quotes
\defaultfontfeatures[\rmfamily]{}
\setmainfont{Latin Modern Roman}
\begin{document}
\czechSingleQuotes{Ahoj!}
\czechSingleQuotes{Nazdar?}
‚Hi!‘
\end{document}
Este es un problema de luaotfload, como muestra esta prueba de texto sin formato, lo informaré a github.
\input{luaotfload.sty}
\font\fa=[lmroman12-regular.otf]
\font\fb=[lmroman12-regular.otf]:+tlig
\fa
U+2018 no tlig !‘
U+0060 no tlig !`
\fb
U+2018 tlig !‘
U+0060 tlig !`
\bye