Observações

Observações

Observações

O newtxmath-package vem com suporte para várias fontes, incluindo libertine, minionou garamondx. Pessoalmente gosto muito do Garamond, mas garamondxnão faz parte da instalação padrão. Assim eu uso ebgaramondem vez disso.

Para isso, apenas copiei a parte onde as fontes são configuradas newtxmath.

Declaração do problema

Aqui está um mínimoNÃOexemplo prático do que tentei até agora carregar ebgaramondcomo um alfabeto matemático. ( unicode-mathou mathspecnão é uma opção, precisa ser pdflatexcompatível)

\documentclass{article}
\usepackage{ebgaramond}
\usepackage[cmintegrals,cmbraces]{newtxmath}
\DeclareSymbolFont{letters}{OML}{EBGaramond12-Italic-lf-t1--base}{m}{it}
\SetSymbolFont{letters}{bold}{OML}{EBGaramond12-Italic-lf-t1--base}{b}{it}
\DeclareFontSubstitution{OML}{EBGaramond12-Italic-lf-t1--base}{m}{it}
\begin{document}
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefghijklmnopqrstuvwxyz

1234567890

$ABCDEFGHIJKLMNOPQRSTUVWXYZ$

$abcdefghijklmnopqrstuvwxyz$

$1234567890$
\end{document}

Pergunta bônus

Como posso usarbalançarglifos como mathcalalfabeto?


EDITAR 03/01/2014

Apontada pelo comentário do CFR, a questão se reduz aComo posso criar arquivos OML para ebgaramond?(A pergunta bônus permanece válida)

Responder1

Atualizar

A solução mais simples agora é usarebgaramond-matemática, um novo pacote disponível no CTAN.

ebgaramond-mathsagora está incluído no TeX Live. Se você tiver o TeX Live 2014 instalado, deverá obter o pacote ao atualizar. (Por exemplo, executando tlmgr update --allna linha de comando ou usando o wrapper GUI de sua preferência.)

A resposta abaixo provavelmente será útil apenas se você quiser ajustar os resultados ou aplicar o método a uma fonte diferente.

Resposta original

Configurar o material \mathcal é relativamente simples. Configurar o suporte OML é menos complicado.

Fornece suporte OML para EBGaramond

Várias abordagens são possíveis. Eu escolhi o que me pareceu o mais simples, dada a forma como o pacote ebgaramond existente funciona. Eu provavelmente faria isso de forma diferente se estivesse gerando suporte para texto e matemática do zero, mas neste caso estou tentando evitar ao máximo a duplicação de esforços.

Variáveis

  • Crie um diretório de trabalho em algum lugar que eu chamarei de ${work}. Não importa onde, desde que você tenha permissão para escrever lá. (Não faça isso como root, obviamente.)

  • Vou ligar para ${texmain}o seu diretório texmf principal e atual. No meu sistema, isso é /usr/local/texlive/currentou /usr/local/texlive/2013.

Ambiente de trabalho

Mudar para ${work}. A partir de agora, presumo que todos os comandos sejam executados neste diretório e que todos os arquivos criados sejam salvos aqui.

Copie os arquivos necessários para o seu diretório de trabalho ou crie links simbólicos, se preferir:

cp ${texmain}/texmf-dist/tex/fontinst/mathetx/oml.etx ${texmain}/texmf-dist/fonts/opentype/public/ebgaramond/EBGaramond12-Italic.otf ./

ou

ln -s ${texmain}/texmf-dist/tex/fontinst/mathetx/oml.etx ${texmain}/texmf-dist/fonts/opentype/public/ebgaramond/EBGaramond12-Italic.otf ./

Crie um arquivo de codificação preliminar

Este não é o arquivo de codificação sobre o qual você finalmente falará ao TeX, mas ele formará a base para esse arquivo.

Primeiro, execute fontinst no modo interativo. (Ou seja, basta digitar 'fontinst' como comando.) No prompt:

\input finstmsc.sty
\etxtoenc{oml}{oml-ebgaramond}
\bye

Isso produzirá oml-ebgaramond.enc que você pode modificar levemente antes de alimentar o otftotfm.

sed -i -e 's/TeXMathItalicEncoding/EBGaramondTeXMathItalicEncoding/g' -e 's/oldstyle//' oml-ebgaramond.enc

Gere a fonte TeX

ebgaramond já fornece os arquivos type1 necessários, portanto não há necessidade de regenerá-los. Tudo o que é necessário é gerar um .tfm adequado.

otftotfm -e oml-ebgaramond.enc EBGaramond12-Italic.otf > EBGaramond-Maths.map

Isso criará o arquivo .tfm e o fragmento do arquivo .map que o TeX precisa para usar a fonte. Essencialmente, o .tfm é apenas uma fonte no que diz respeito ao TeX. (pdfTeX vê as coisas de maneira um pouco diferente - ele também quer o bit type1.)

Ele também criará um novo arquivo de codificação com um nome que quase certamente será muito estranho. Este é o arquivo de codificação que o TeX usará, conforme especificado no fragmento do arquivo .map. oml-ebgaramond.enc agora pode ser excluído se desejar, pois não é mais necessário.

Crie a definição de fonte para LaTeX

Otftotfm não gera arquivos de definição de fonte para LaTeX, até onde eu sei, mas o arquivo é bem simples neste caso. Crie um arquivo com o seguinte conteúdo:

%Filename: OMLEBGaramond-Maths.fd
%Based on a file created using fontinst v1.928

%THIS FILE SHOULD BE PUT IN A TEX INPUTS DIRECTORY

\ProvidesFile{OMLEBGaramond-Maths.fd}
   [2014/01/03 font definitions for OML/EBGaramond-Maths.]

\DeclareFontFamily{OML}{EBGaramond-Maths}{}

\DeclareFontShape{OML}{EBGaramond-Maths}{m}{it}{
   <-> EBGaramond12-Italic--oml-ebgaramond
}{}

\DeclareFontShape{OML}{EBGaramond-Maths}{b}{it}{<->ssub * EBGaramond-Maths/m/it}{}
\DeclareFontShape{OML}{EBGaramond-Maths}{bx}{it}{<->ssub * EBGaramond-Maths/m/it}{}

\endinput

e salve-o como OMLEBGaramond-Maths.fd. Isso informa ao LaTeX em que consiste a família de fontes EBGaramond-Maths na codificação OML. Especificamente, informa quais fontes TeX pertencem a esta família nesta codificação e as características de cada uma. (Nesse caso, existe apenas uma fonte que é substituída por outros pesos, pois não há negrito no EBGaramond e o OML só se preocupa com o formato em itálico.)

Crie um arquivo de pacote para LaTeX (opcional)

Geralmente é mais fácil carregar um pacote do que repetir a configuração da fonte cada vez que você deseja usar uma configuração específica, então eu criaria um pacote LaTeX. Para isso, crie outro arquivo com o seguinte conteúdo:

\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{ebgaramond-maths}[2014/01/03 v1.0 ebgaramond-maths for use with EBGaramond]

\RequirePackage{ebgaramond}

% \pdfmapfile{+EBGaramond-Maths.map}

\DeclareSymbolFont{letters}   {OML}   {EBGaramond-Maths} {m} {it}
\DeclareSymbolFont{operators} {OT1}   {EBGaramond-LF}    {m} {n}

\SetSymbolFont{letters}   {bold}  {OML} {EBGaramond-Maths} {b}  {it}
\SetSymbolFont{operators} {bold}  {OT1} {EBGaramond-LF}    {bx} {n}

\DeclareFontSubstitution{OML}{EBGaramond-Maths}{m}{it}
\DeclareFontSubstitution{OT1}{EBGaramond-LF}{m}{n}

\SetMathAlphabet{\mathbf}   {normal}  {OT1} {EBGaramond-LF} {bx} {n}
\SetMathAlphabet{\mathbf}   {bold}    {OT1} {EBGaramond-LF} {bx} {n}
\SetMathAlphabet{\mathit}   {normal}  {OT1} {EBGaramond-LF} {m}  {it}
\SetMathAlphabet{\mathit}   {bold}    {OT1} {EBGaramond-LF} {bx} {it}

\DeclareMathAlphabet{\mathcal} {OT1} {EBGaramond-LF} {m} {sw}

\endinput

e salve-o como ebgaramond-maths.sty.

  • Se você não deseja pedir às pessoas que instalem as fontes, remova o comentário da linha relevante no arquivo .sty.

Então, a partir de ${work} o resultado pode ser testado antes da instalação das fontes:

\documentclass{article}
\usepackage{ebgaramond}
\usepackage[cmintegrals,cmbraces]{newtxmath}
\pdfmapfile{+EBGaramond-Maths.map}
\usepackage{ebgaramond-maths}

\begin{document}
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefghijklmnopqrstuvwxyz

1234567890

$ABCDEFGHIJKLMNOPQRSTUVWXYZ$

$abcdefghijklmnopqrstuvwxyz$

$1234567890$

$\Gamma\varGamma\Delta\Lambda\varLambda\Xi\varXi\Pi\varPi\Sigma\varSigma\Upsilon\varUpsilon\Phi\varPhi\Psi\varPsi\Omega\varOmega$

$\alpha\beta\gamma\delta\epsilon\varepsilon\zeta\eta\theta\iota\kappa\lambda\mu\nu\xi\pi\rho\varrho\sigma\varsigma\tau\upsilon\phi\varphi\chi\psi\omega$

$\mathbf{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$

$\mathbf{abcdefghijklmnopqrstuvwxyz}$

$\mathbf{0123456789}$

$\mathit{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$

$\mathit{abcdefghijklmnopqrstuvwxyz}$

$\mathit{0123456789}$

$\mathrm{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$

$\mathrm{abcdefghijklmnopqrstuvwxyz}$

$\mathrm{0123456789}$

$\mathcal{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$

$\mathcal{abcdefghijklmnopqrstuvwxyz}$

$\mathcal{0123456789}$

\end{document}

produz:

insira a descrição da imagem aqui

Responder2

Seapenasa fonte matemática é necessária então

\documentclass{article}
\usepackage[ebgaramond]{newtxmath}
\begin{document}
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefghijklmnopqrstuvwxyz

1234567890

$ABCDEFGHIJKLMNOPQRSTUVWXYZ$

$abcdefghijklmnopqrstuvwxyz$

$1234567890$
\end{document}

só matemática

mas se ebgaramondfor necessário também no texto, então

\documentclass{article}
\usepackage[ebgaramond]{newtx}
\begin{document}
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefghijklmnopqrstuvwxyz

1234567890

$ABCDEFGHIJKLMNOPQRSTUVWXYZ$

$abcdefghijklmnopqrstuvwxyz$

$1234567890$
\end{document}

matemática e texto

informação relacionada