Bemerkungen

Bemerkungen

Bemerkungen

Das newtxmath-Paket unterstützt verschiedene Schriftarten, darunter libertine, minionoder garamondx. Mir persönlich gefällt Garamond sehr gut, aber garamondxes ist nicht Teil der Standardinstallation. Daher verwende ich ebgaramondstattdessen.

Dazu habe ich einfach den Teil kopiert, in dem die Schriftarten eingerichtet werden newtxmath.

Problemstellung

Hier ist eine minimaleNICHTfunktionierendes Beispiel dessen, was ich bisher versucht habe, ebgaramondals mathematisches Alphabet zu laden. ( unicode-mathoder mathspecist keine Option, es muss kompatibel sein pdflatex)

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

Bonus-Frage

Wie kann ichSchwungschriftGlyphen als mathcalAlphabet?


BEARBEITEN 03.01.2014

Wie aus dem Kommentar von cfr hervorgeht, reduziert sich die Frage aufWie kann ich OML-Dateien für erstellen ebgaramond?(Die Bonusfrage bleibt gültig)

Antwort1

Aktualisieren

Die einfachste Lösung ist nun die VerwendungEbbaramond-Mathematik, ein neues Paket, erhältlich bei CTAN.

ebgaramond-mathsist jetzt in TeX Live enthalten. Wenn Sie TeX Live 2014 installiert haben, sollten Sie das Paket beim Update erhalten. (Zum Beispiel durch Ausführen tlmgr update --allin der Befehlszeile oder mithilfe des GUI-Wrappers Ihrer Wahl.)

Die folgende Antwort ist wahrscheinlich nur dann nützlich, wenn Sie die Ergebnisse optimieren oder die Methode auf eine andere Schriftart anwenden möchten.

Ursprüngliche Antwort

Das Einrichten des \mathcal-Materials ist relativ unkompliziert. Das Einrichten der OML-Unterstützung ist weniger einfach.

Bereitstellung von OML-Unterstützung für EBGaramond

Es sind mehrere Ansätze möglich. Ich habe den Ansatz gewählt, der mir angesichts der Funktionsweise des vorhandenen ebgaramond-Pakets am einfachsten erschien. Ich würde dies wahrscheinlich anders machen, wenn ich die Unterstützung für Text und Mathematik von Grund auf neu erstellen würde, aber in diesem Fall versuche ich, Doppelarbeit so weit wie möglich zu vermeiden.

Variablen

  • Erstellen Sie irgendwo ein Arbeitsverzeichnis, das ich aufrufen werde ${work}. Es ist egal, wo, solange Sie die Schreibberechtigung haben. (Tun Sie das natürlich nicht als Root.)

  • Ich rufe ${texmain}Ihr aktuelles Hauptverzeichnis von texmf auf. Auf meinem System ist das /usr/local/texlive/currentoder /usr/local/texlive/2013.

Arbeitsumfeld

Wechseln Sie zu ${work}. Ab jetzt gehe ich davon aus, dass alle Befehle in diesem Verzeichnis ausgeführt werden und alle erstellten Dateien hier gespeichert werden.

Kopieren Sie die benötigten Dateien in Ihr Arbeitsverzeichnis oder erstellen Sie bei Bedarf symbolische Links:

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

oder

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

Erstellen Sie eine vorläufige Kodierungsdatei

Dies ist nicht die Kodierungsdatei, die Sie TeX letztendlich mitteilen, aber sie wird die Grundlage für diese Datei bilden.

Führen Sie fontinst zunächst im interaktiven Modus aus. (Geben Sie dazu einfach „fontinst“ als Befehl ein.) Gehen Sie in die Eingabeaufforderung:

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

Dadurch wird die Datei oml-ebgaramond.enc erstellt, die Sie vor der Weiterleitung an otftotfm leicht ändern können.

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

Generieren Sie die TeX-Schriftart

ebgaramond stellt die benötigten Typ1-Dateien bereits bereit, Sie müssen diese also nicht neu generieren. Sie müssen lediglich eine geeignete .tfm-Datei generieren.

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

Dadurch werden sowohl die .tfm-Datei als auch das .map-Dateifragment erstellt, das TeX benötigt, um die Schriftart zu verwenden. Im Wesentlichen ist die .tfm-Datei für TeX nur eine Schriftart. (pdfTeX sieht die Dinge etwas anders – es benötigt auch das Type1-Bit.)

Außerdem wird eine neue Kodierungsdatei mit einem höchstwahrscheinlich sehr merkwürdigen Namen erstellt. Dies ist die Kodierungsdatei, die TeX verwenden wird, wie im .map-Dateifragment angegeben. oml-ebgaramond.enc kann jetzt gelöscht werden, da es nicht mehr benötigt wird.

Erstellen Sie die Schriftdefinition für LaTeX

otftotfm generiert meines Wissens keine Fontdefinitionsdateien für LaTeX, aber in diesem Fall ist die Datei recht einfach. Erstellen Sie eine Datei mit folgendem Inhalt:

%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

und speichern Sie es als OMLEBGaramond-Maths.fd. Dies teilt LaTeX mit, woraus die Schriftfamilie EBGaramond-Maths in der OML-Kodierung besteht. Insbesondere teilt es LaTeX mit, welche TeX-Schriftarten in dieser Kodierung zu dieser Familie gehören und welche Eigenschaften jede einzelne hat. (In diesem Fall gibt es nur eine solche Schriftart, die dann durch andere Gewichte ersetzt wird, da es in EBGaramond keine Fettschrift gibt und OML sich nur um die Kursivschrift kümmert.)

Erstellen Sie eine Paketdatei für LaTeX (optional)

Es ist im Allgemeinen einfacher, ein Paket zu laden, als die Schriftart jedes Mal neu einzurichten, wenn Sie eine bestimmte Konfiguration verwenden möchten. Daher würde ich ein LaTeX-Paket erstellen. Erstellen Sie dazu eine weitere Datei mit folgendem Inhalt:

\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

und speichern Sie es als ebgaramond-maths.sty.

  • Wenn Sie die Benutzer nicht zum Installieren der Schriftarten auffordern möchten, heben Sie die Kommentierung der entsprechenden Zeile in der .sty-Datei auf.

Anschließend kann von ${work} aus das Ergebnis vor der Installation der Schriftarten getestet werden:

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

erzeugt:

Bildbeschreibung hier eingeben

Antwort2

Wennnurdie mathematische Schriftart wird dann benötigt

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

abcdefghijklmnopqrstuvwxyz

1234567890

$ABCDEFGHIJKLMNOPQRSTUVWXYZ$

$abcdefghijklmnopqrstuvwxyz$

$1234567890$
\end{document}

nur Mathe

aber wenn ebgaramondes auch im Text benötigt wird, dann

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

abcdefghijklmnopqrstuvwxyz

1234567890

$ABCDEFGHIJKLMNOPQRSTUVWXYZ$

$abcdefghijklmnopqrstuvwxyz$

$1234567890$
\end{document}

Mathematik und Text

verwandte Informationen