合字を分割するための {} と \/ の違い

合字を分割するための {} と \/ の違い

LaTeX ガイド (第 4 版) では、\/合字を分割するために が使用されると記載されています (p. 30 および p. 469)。これは、 で標準的に行われるものだと思っていました{}\/イタリック体の修正を挿入するために通常使用されるのは です (「斜体修正はどのように機能しますか?")、 そして{}明らかに異なる出力が得られる場合\/、どちらのオプションがベストプラクティスと見なされますか?? どちらかを選択する際に注意すべき微妙な点はありますか?

次のコードでは

\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}

2 行目の「f」の文字間の間隔は 2 行目よりも 3 行目の方が広くなっていますが、これは驚くことではありません。ただし、ヘア スペースを意味する場合、問題は、それが両端揃えであるかどうか、また、この目的のためにイタリック体の修正が意味をなすかどうかです (これは実際にはイタリック体では当てはまらないため)。


追加オプション:David Carlisle が にリンクした質問には、他の(創造的だがハッキーな)オプションがリストされています: (その情報源によると と{shelf}ful同一)、 、、および(このソリューションは基本的にこのアプローチと微調整を組み合わせたものです)。この質問は、学習者の混乱を避けるために、遭遇する可能性が高い 2 つの推奨事項(つまりと)を区別することを目的としていました。いずれにせよ、どちらも最適ではなく、最適なソリューションは の であるようです。この質問と回答のセットは、この状況全体のドキュメントとして役立ちます。shelf{}fulshelf{\kern0pt}fulshelf\-fulshelf\discretionary{-}{}{\kern.033333em}fulbabel"|{}\/babel"|

答え1

ご指摘のとおり、\/これは合字を分割するためのものではなく、斜体修正のコマンドであり、追加のスペースが確保される理由です。合字を分割するには、babelショートカットが最適です。"|は次のように定義される。

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

また、ハイフネーションも許可されますが、次のこと\/はできません。

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

(上記の「shelfful」の 3 つのインスタンスの 2 つのグループはそれぞれff、、、f{}fおよびf\/f(この順序で) を使用して生成されました。つまり、を使用して生成されたわけではありません"|。)

答え2

参照

適切なハイフネーションと包括的な単語リストによる合字抑制?

より包括的な質問をし、さまざまな関連情報を提供します。

を使用すると{}、一般的には機能しないという欠点があります (TeXBook の TeX3 版で指摘されているように)。単語がハイフンで区切られている場合、構成要素の 1 つに が含まれると、TeX は合字を再挿入します。2つの f の間にはハイフン ポイントが 1 つしかないため、f{}fこれは影響しません。shelfful

関連情報