cyrdash
é definido em T2A
, e algumas outras codificações legadas T2B
, T2C
mas parece escapar das codificações EU1 (xetex) e EU2 (luatex). cyrdash
deveria, por ideia, imprimir algo intermediário entre \textemdash
e \textendash
( \cyrdash
é 20% menor que emdash
). É usado nas línguas russa, ucraniana, búlgara e mogol em vez de emdash
, portanto, essas línguas são de fato discriminadas.
Se eu estiver certo e \cyrdash
realmente estiver perdido, a equipe de desenvolvimento do latex poderia estender EU1
as EU2
codificações para fornecer um comando de texto para \cyrdash
? Pode ser chamado \textcyrdash
.
Qual é o ponto de código cyrdash
nas tabelas Unicode?
ATUALIZAR: Aqui está um exemplo mínimo de trabalho. Os resultados dependem do mecanismo usado para compilar o exemplo. Eu tentei xelatex e pdflatex.
\documentclass{article}
\usepackage{ifxetex}
\ifxetex
\else
\usepackage[T1,T2A]{fontenc}
\usepackage[utf8]{inputenc}
\fi
\usepackage[english,russian]{babel}
\begin{document}
\Large
Russian: \\
!---!=\verb!---!\\
!\foreignlanguage{english}{---}!=\verb!\foreignlanguage{english}{---}!\\
!\cyrdash!=\verb!\cyrdash!\\
!\textemdash!=\verb!\textemdash!\\
!\textendash!=\verb!\textendash!\\
%!---!\par
\selectlanguage{english}
%!---!
English: \\
!---!=\verb!---!\\
!\cyrdash!=\verb!\cyrdash!\\
!\textemdash!=\verb!\textemdash!\\
!\textendash!=\verb!\textendash!\\
\end{document}
Babel
com a opção russian
redefine a ligadura ---
por meio de \cyrdash
. Pdflatex usa \cyrdash
e \textemdash
de um mesmo ponto de código da fonte LH se o idioma russo for selecionado; então seus tamanhos são iguais; se o inglês for o idioma atual, então \cyrdash
é indefinido (ocorre um erro), e \textemdash
é obtido das fontes CM e é mais longo em comparação com ele mesmo, caso o russo seja selecionado.
No caso de xelatex
, \cyrdash
a macro não está definida na codificação atual, então babel
a falsifica, o \hbox to 0.8em{--\hss--}
que resulta em aproximadamente 80% de \textemdash
.
Ulrike Fischer me direcionou para uma lista valiosa de todos os travessões disponíveis em Unicode. Não encontrei um candidato razoável para \cyrdash
isso, embora, pela minha própria experiência na publicação de livros, eu saiba que os editores das editoras russas às vezes são muito rigorosos quanto ao tamanho dos travessões. Eu também concordaria que o Microsoft Word produz automaticamente travessões corretos entre palavras em russo, mas não tenho certeza (e não posso verificar agora) se produz travessões mais longos entre palavras em inglês.
Portanto, não vejo agora uma boa solução uniforme para \cyrdash
o caso de ser retirado da mesma fonte que \textemdash
. Talvez, exceto aquela soultion que é atualmente usada em babel-russo. Alguém pode propor uma maneira melhor?
ATUALIZAÇÃO 2: Minha visão original do problema estava errada. Com a ajuda de especialistas respeitados do TeX, ficou claro que os mecanismos legados do LaTeX usam \cyrdash
e \textemdash
do mesmo ponto de código, 22
mas possivelmente de fontes diferentes. Como resultado, a ligadura ---
pode mudar de comprimento após \selectlanguage
. Então, agora eu reformularia minha pergunta da seguinte forma:
É uma boa ou má prática misturar duas versões de ligadura ---
(que diferem pela largura) no mesmo documento multilíngue?
Responder1
Até onde eu sei, não existe um ponto de código Unicode para \cyrdash
, mas você pode digitá-lo em xetex e luatex como \cyrdash
ou como "---
se incluísse \usepackage[babelshorthands=true]{polyglossia}
em seu preâmbulo.