EU1 および EU2 エンコーディングの \cyrdash はどうでしょうか?

EU1 および EU2 エンコーディングの \cyrdash はどうでしょうか?

cyrdashは、、および他のレガシーエンコーディングで定義されていますがT2A、 EU1 (xetex) および EU2 (luatex) エンコーディングでは定義されていないようです。 は、アイデアとしては、と の中間の何かを印刷するはずです(は より 20% 短くなります)。 これは、ロシア語、ウクライナ語、ブルガリア語、およびモゴル語で の代わりに使用されるため、これらの言語は事実上区別されています。T2BT2Ccyrdash\textemdash\textendash\cyrdashemdashemdash

もし私の考えが正しくて、 が\cyrdash本当に失われているのであれば、LaTeX 開発チームはEU1EU2エンコーディングを拡張して のテキスト コマンドを提供していただけますか\cyrdash? おそらく と呼ばれるでしょう\textcyrdash

cyrdashUnicode テーブルののコードポイントは何ですか?

アップデート: これは最小限の動作例です。結果は例をコンパイルするために使用されるエンジンによって異なります。私は xelatex と 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オプションを使用すると、を通じてrussian合字が再定義されます。ロシア語が選択されている場合、Pdflatex は LH フォントの同じコードポイントから と を取得します。その場合、それらのサイズは同じになります。現在の言語が英語の場合、 は未定義 (エラーが発生します) であり、 はCM フォントから取得され、ロシア語が選択されている場合はそれ自体に比べて長くなります。---\cyrdash\cyrdash\textemdash\cyrdash\textemdash

の場合xelatex\cyrdashマクロは現在のエンコーディングで定義されていないため、babelとして偽装され、\hbox to 0.8em{--\hss--}これは の約 80% になります\textemdash

Ulrike Fischer は、Unicode で使用可能なすべてのダッシュの貴重なリストを教えてくれました。私は\cyrdashそこに適切な候補を見つけられませんでしたが、本の出版経験から、ロシアの出版社の編集者はダッシュのサイズに関して非常に厳しい場合があることを知っています。Microsoft Word がロシア語の単語間に適切なダッシュを自動的に生成することにも同意しますが、英語の単語間に長いダッシュが生成されるかどうかはわかりません (現時点では確認できません)。

\cyrdashしたがって、を と同じフォントから取得する必要がある場合、に対する適切な統一された解決策は今のところ見当たりません\textemdash。おそらく、現在 babel-russian で使用されているソリューションは別ですが。誰かもっと良い方法を提案してもらえませんか?

アップデート2: この問題に対する私の当初の見解は間違っていました。尊敬すべき TeX の専門家たちの助けにより、従来の LaTeX エンジンは\cyrdashと を\textemdash同じコードポイントから取得します22が、異なるフォントから取得する可能性があることが明らかになりました。その結果、---の後で合字の長さが変わる可能性があります\selectlanguage。そこで、質問を次のように書き直します。

---同じ多言語文書内で 2 つのバージョンの合字 (幅が異なる)を混在させることは良いことでしょうか、それとも悪いことでしょうか?

答え1

私の知る限り、 の Unicode コード ポイントはありませんが、プリアンブルに含めると、 xetex および luatex でまたは として\cyrdashタイプセットできます。\cyrdash"---\usepackage[babelshorthands=true]{polyglossia}

答え2

実行するとlualatex

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

ここに画像の説明を入力してください

関連情報