Diferença entre {} e \/ para quebrar ligaduras

Diferença entre {} e \/ para quebrar ligaduras

O Guide to LaTeX (4ª ed.) afirma que \/é usado para quebrar ligaduras (p. 30 e p. 469), o que achei que era feito normalmente {}. Como \/é normalmente conhecido inserir uma correção em itálico (ver "Como funciona a correção de itálico?"), e{}e \/produzir resultados comprovadamente diferentes, qual das duas opções é considerada a melhor prática? Existem sutilezas a serem observadas ao escolher um ou outro?

No código a seguir

\documentclass{article}

\begin{document}

shelfful   % (1) ligature

shelf{}ful % (2) no ligature

shelf\/ful % (3) no ligature, wider than in the line above

\end{document}

o espaçamento entre as duas letras "f" é maior na linha 3 do que na linha 2, o que não é surpreendente, mas se se pretende um espaço de cabelo, a questão é se um é justificado e também se uma correção de itálico faz sentido para este propósito (já que esta não é realmente uma situação em itálico).


Opções adicionais:A questão vinculada por David Carlisle lista outras opções (criativas, mas hacky): {shelf}ful(idênticas a shelf{}ful, de acordo com essa fonte), shelf{\kern0pt}ful, shelf\-fule shelf\discretionary{-}{}{\kern.033333em}ful(a babelsolução "|combina essencialmente essa abordagem com alguns ajustes finos). Esta questão pretendia diferenciar apenas entre as duas recomendações que é provável encontrar (nomeadamente {}e \/), para ajudar a desfazer a confusão do aluno. De qualquer forma, parece que nenhum dos dois é ideal, sendo a melhor solução babel's "|. Este conjunto de perguntas e respostas serve como documentação para toda esta situação.

Responder1

Como você destacou, \/não é para quebrar ligaduras, é o comando para a correção de itálico e a razão pela qual você obtém espaço adicional.Para quebra de ligadura, a melhor opção é a abreviatura babel"|, que é definido como

 \declare@shorthand{...}{"|}{%
  \textormath{\penalty\@M\discretionary{-}{}{\kern.03em}%
              \allowhyphens}{}}

e também permite a hifenização, o que \/não:

insira a descrição da imagem aqui

(Cada um dos dois grupos acima de três instâncias de "shelfful" foi gerado com ff, f{}f, e f\/f(nessa ordem) - ou seja, não com "|.)

Responder2

Veja também

Supressão de ligadura com hifenização adequada e lista abrangente de palavras?

que faz uma pergunta mais abrangente e contém várias informações relevantes.

Usar {}tem a desvantagem (como apontado nas edições TeX3 do TeXBook) de não funcionar em geral. Se a palavra for hifenizada, o TeX reinserirá a ligadura se f{}fcair em uma das partes constituintes. Isso não afeta shelffulo único ponto de hifenização que existe entre os dois f.

informação relacionada