Composição dos símbolos

Composição dos símbolos

Estou escrevendo um documento onde preciso descrever o comportamento de um determinado sistema quando um parâmetro está em um determinado intervalo (por exemplo, 1 <= x <100). O documento não contém equações ou qualquer material matemático. Estou usando a fonte Source Sans Pro da Adobe e estou tendo problemas com os símbolos <= e <.

  • Se eu usar $\leq$o símbolo <=, ele parecerá diferente do resto do texto, mas, mais especificamente, bem diferente do símbolo <
  • Se eu usar $\leq$and $<$, eles parecerão 'semelhantes', mas as linhas de base não parecerão alinhadas (e, de qualquer forma, parecerão diferentes do resto do texto)

Aqui está uma imagem mostrando as duas opções:

insira a descrição da imagem aqui

Existe uma maneira de compor o símbolo <= usando a mesma fonte do restante do documento? Caso contrário, existe uma maneira de alinhar as linhas de base dos símbolos <= e <?

Atualização: estou usando o pdflatex. Aqui está um MWE:

\documentclass{book}

\usepackage[default]{sourcesanspro}

\begin{document}

1 $\leq$ abs(x) < 100

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

\end{document}

Responder1

Com lualatex/xelatex usar o glifo do SourceSansPro é fácil:

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

insira a descrição da imagem aqui

Com o pdflatex é mais difícil. Isso aqui é umhackearpara evitar ter que fazer muito trabalho. Assume que menos é igual à mesma largura que menos.

  1. Encontrar SourceSansPro-Regular-lf-t1--base.tfm(em fontes/tfm)
  2. Copie-o, por exemplo, para sua pasta atual.
  3. Renomeie a cópia paraXSourceSansPro-Regular-lf-t1--base.tfm
  4. Encontrar a_ggs4wk.enc(em fontes/enc)
  5. Copie.
  6. Renomeie a cópia paraXa_ggs4wk.enc
  7. AbrirXa_ggs4wk.enc
  8. Mude a linha /AutoEnc_ggs4wkuzes44fkerkgtyzffacb [para/XAutoEnc_ggs4wkuzes44fkerkgtyzffacb [
  9. Encontre no arquivo /lesse altere-o para/lessequal
  10. Salve o arquivo.
  11. Teste se funciona com este documento:

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

insira a descrição da imagem aqui

Em ambos os casos, o sinal de menor não está alinhado com a linha de base do sinal de menor igual. Você pode fazer isso com o comando raisebox, mas vai parecer estranho.

Responder2

Ou você pode carregar MnSymbola opção com mathspec. Não dá o mesmo símbolo, mas parece melhor.

Resultado

Resultado

MWE

% !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}

Responder3

Isso corrige a linha de base conforme necessário:

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

Resultado:

insira a descrição da imagem aqui

informação relacionada