
Estou com um problema com o LuaLaTeX (do TL 2016 Version 0.95.0 (TeX Live 2016) (format=lualatex 2017.1.29)
:) fazendo ligaduras inadequadas. Aqui vai o MWE:
\documentclass[a4paper, 12pt]{article}
\def\czechSingleQuotes #1{‚#1‘} % UTF-8 chars for single quotes
\begin{document}
\czechSingleQuotes{Ahoj!}
\czechSingleQuotes{Nazdar?}
‚Hi!‘
\end{document}
O resultado é assim:
Espero que o pessoal do LuaTeX esteja lendo aqui e faça algo a respeito. No entanto, alguém teria alguma sugestão de como contornar isso até que seja corrigido? Truques usuais (em situações diferentes) não ajudam, por exemplo, \def\czechSingleQuotes #1{‚{#1}{}\relax ‘}
produzem o mesmo resultado.
Obrigado antecipadamente.
EDITAR mais tarde:
Isso foi corrigido na versão mais recente luaotfload
(v2.8-fix-1), mas a correção parece estar indo longe demais - agora até mesmo as ligaduras padrão para criar exclamações ou pontos de interrogação em espanhol revertidos não funcionam mais, então isso :
\documentclass[a4paper, 12pt]{article}
\begin{document}
Hi?` % standard back apostrophe, no UTF-8
Hi!` % ditto
\end{document}
cria saídas diferentes em LuaTeX (marcas q./ex. padrão seguidas por uma crase) e em XeTeX ou pdfTeX (marcas q./ex. revertidas em espanhol).
Responder1
Como David Carlisle apontou no comentário, as ligaduras "clássicas" do TeX para perguntas invertidas e pontos de exclamação estão sendo aplicadas mesmo que citações "tipográficas", em vez de aspas básicas, estejam presentes.
Inserir a instrução \kern0pt
antes da cotação de fechamento é uma solução eficaz. Observe que LuaTeX, diferentemente do pdfLaTEX, descarta {}
elementos. Portanto, você não pode {}
criar alguma separação invisível entre os sinais de pontuação e as aspas 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}
Responder2
As ligaduras TeX estão sendo mal aplicadas, você pode usá- fontspec
las para desligá-las, embora, por exemplo, isso signifique que isso ---
não seria mais ligado a um 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 é um problema de luaotfload, como mostra este teste de texto simples, irei relatar ao 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