cyrdash
は、、および他のレガシーエンコーディングで定義されていますがT2A
、 EU1 (xetex) および EU2 (luatex) エンコーディングでは定義されていないようです。 は、アイデアとしては、と の中間の何かを印刷するはずです(は より 20% 短くなります)。 これは、ロシア語、ウクライナ語、ブルガリア語、およびモゴル語で の代わりに使用されるため、これらの言語は事実上区別されています。T2B
T2C
cyrdash
\textemdash
\textendash
\cyrdash
emdash
emdash
もし私の考えが正しくて、 が\cyrdash
本当に失われているのであれば、LaTeX 開発チームはEU1
とEU2
エンコーディングを拡張して のテキスト コマンドを提供していただけますか\cyrdash
? おそらく と呼ばれるでしょう\textcyrdash
。
cyrdash
Unicode テーブルののコードポイントは何ですか?
アップデート: これは最小限の動作例です。結果は例をコンパイルするために使用されるエンジンによって異なります。私は 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}