デフォルトのドキュメントフォントを使用して

デフォルトのドキュメントフォントを使用して

パラメータが特定の範囲 (例: 1 <= x < 100) にある場合の特定のシステムの動作を説明するドキュメントを作成しています。ドキュメントには方程式や数学的な内容は含まれていません。Adobe の Source Sans Pro フォントを使用していますが、<= および < 記号で問題が発生しています。

  • <= 記号に を使用すると$\leq$、テキストの残りの部分とは違って見えますが、具体的には、< 記号とはまったく異なります。
  • $\leq$と を使用すると$<$、それらは「似ている」ように見えますが、ベースラインは揃っていないようです(とにかく、テキストの残りの部分とは違って見えます)

両方のオプションを示す画像を以下に示します。

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

ドキュメントの残りの部分と同じフォントを使用して <= 記号をタイプセットする方法はありますか? それができない場合、<= 記号と < 記号のベースラインを揃える方法はありますか?

更新: 私は pdflatex を使用しています。これが MWE です:

\documentclass{book}

\usepackage[default]{sourcesanspro}

\begin{document}

1 $\leq$ abs(x) < 100

1 $\leq$ abs(x) $<$ 100

\end{document}

答え1

lualatex/xelatex を使用すると、SourceSansPro のグリフを使用するのは簡単です。

\documentclass{article}
\usepackage{fontspec}
\setmainfont{SourceSansPro}
\DeclareTextSymbol{\textlessthanequal}       \UnicodeEncodingName{"2264}
\begin{document}
1 ^^^^2264 x < 2

1 ≤  x < 2 

1 \textlessthanequal{} x < 2
\end{document}

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

pdflatexではもっと難しいです。これはハック多くの作業を行わなくて済むようにするためです。less は less と同じ幅であると想定します。

  1. 検索SourceSansPro-Regular-lf-t1--base.tfm(fonts/tfm 内)
  2. たとえば、現在のフォルダーにコピーします。
  3. コピーの名前をXSourceSansPro-Regular-lf-t1--base.tfm
  4. 検索a_ggs4wk.enc(fonts/enc 内)
  5. コピーしてください。
  6. コピーの名前をXa_ggs4wk.enc
  7. 開けるXa_ggs4wk.enc
  8. /AutoEnc_ggs4wkuzes44fkerkgtyzffacb [を次のように変更します/XAutoEnc_ggs4wkuzes44fkerkgtyzffacb [
  9. ファイル内で検索し/lessて変更します/lessequal
  10. ファイルを保存します。
  11. 次のドキュメントで動作するかどうかをテストします。

     \documentclass{book}
    
    \usepackage[default]{sourcesanspro}
    
    \pdfmapline{=XSourceSansPro-Regular-lf-t1--base XSourceSansPro-Regular "XAutoEnc_ggs4wkuzes44fkerkgtyzffacb ReEncodeFont" <[Xa_ggs4wk.enc <SourceSansPro-Regular.pfb}
    
    \makeatletter
    \DeclareFontEncoding{U}{}{}
    \DeclareFontFamily{U}{xsourcesans}{}
    \DeclareFontShape{U}{xsourcesans}{m}{n}
     { <->  XSourceSansPro-Regular-lf-t1--base
      }{}
    \newcommand\textlessequal{{\fontencoding{U}\fontfamily{xsourcesans}\selectfont <}}
    \begin{document}
    
    1 \textlessequal{} abs(x) < 100
    
    \end{document}
    

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

どちらの場合も、小なり記号は小なり等号のベースラインに沿って配置されていません。raisebox コマンドを使用してこれを行うことはできますが、見た目が奇妙になると思います。

答え2

MnSymbolまたは、でオプションをロードすることもできますmathspec。同じシンボルは得られませんが、見た目は良くなります。

結果

結果

ムウェ

% !TeX program = xelatex

\documentclass{article}
\usepackage[MnSymbol]{mathspec}
\usepackage[default]{sourcesanspro}
\defaultfontfeatures
{ Ligatures      = TeX ,
    Numbers        = Proportional ,
    Extension      = .otf ,
    UprightFont    = *-Regular ,
    ItalicFont     = *-RegularIt ,
    BoldFont       = *-Bold , 
    BoldItalicFont = *-BoldIt }
\setmathfont(Digits,Latin){SourceSansPro}

\begin{document}

    1 $\leq$ abs(x) < 100

    1 $\leq$ abs(x) $<$ 100

    $x=12$

\end{document}

答え3

これにより、ベースラインが必要に応じて修正されます。

1 $\leq$ abs(x) \raisebox{1pt}{$<$} 100

結果:

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

関連情報