E quanto a \cyrdash nas codificações EU1 e EU2?

E quanto a \cyrdash nas codificações EU1 e EU2?

cyrdashé definido em T2A, e algumas outras codificações legadas T2B, T2Cmas parece escapar das codificações EU1 (xetex) e EU2 (luatex). cyrdashdeveria, por ideia, imprimir algo intermediário entre \textemdashe \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 \cyrdashrealmente estiver perdido, a equipe de desenvolvimento do latex poderia estender EU1as EU2codificações para fornecer um comando de texto para \cyrdash? Pode ser chamado \textcyrdash.

Qual é o ponto de código cyrdashnas 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} 

Babelcom a opção russianredefine a ligadura ---por meio de \cyrdash. Pdflatex usa \cyrdashe \textemdashde 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, \cyrdasha macro não está definida na codificação atual, então babela 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 \cyrdashisso, 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 \cyrdasho 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 \cyrdashe \textemdashdo mesmo ponto de código, 22mas 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 \cyrdashou como "---se incluísse \usepackage[babelshorthands=true]{polyglossia}em seu preâmbulo.

Responder2

Executando comlualatex

\documentclass{article}
\usepackage{unicode-math}
\usepackage[english,russian]{babel}
\begin{document}
[...]

insira a descrição da imagem aqui

informação relacionada