Im Grunde habe ich ein paar benutzerdefinierte Glyphen definiert, die ich wirklich verwenden möchte, indem ich eine Schriftart erstellt habe. Es sind Symbole, die genau so gesetzt werden sollten, wie das Integral gesetzt wird computer modern
(aber so aussehen, wie ich es möchte). Ich verwendeLualatexdamit meine Schriftart nicht auf dem System installiert sein muss, um sie verwenden zu können, möchte ich einfach meine .ttf-Datei in mein Tex-Projekt einfügen. Ich habe die modernen Computerschriftarten von heruntergeladenHierund die Integralsymbole geändert. Soweit ich weiß, gibt es unterschiedliche Dateien für unterschiedliche Mathematikstile:
- cmsy10.ttf für standardmäßige kleinere mathematische Symbole wie
$\textstyle\int$
(U+0073)? - cmex10.ttf für große mathematische Symbole wie
$\displaystyle\int$
(U+005a), aber auch (U+0052), das für mich so aussieht$\textstyle\int$
. Warum beides?
Schwierigkeiten:
- Wie kann ich die Schriftart tatsächlich einbinden und Befehle wie \myintegral für mein Integralsymbol bereitstellen? Ich möchte meine Schriftart für nichts anderes verwenden als für die Bereitstellung dieser Befehle. Sie sollte sich verhaltengenauwie das übliche Integral und daher respektieren, ob wir im Displaystil sind oder nicht. Ich habe nach Inspiration gesucht,
fontmath.ltx
wo
\DeclareMathSymbol{\intop}{\mathop}{largesymbols}{"52}
\DeclareRobustCommand\int{\intop\nolimits}
diese Definitionirgendwiescheint den mathematischen Stil zu respektieren (wie?).
- Die Begrenzungsrahmen der heruntergeladenen Dateien scheinen falsch zu sein, oder? Dies ist das unveränderte Displaystyle-Integral von cmex10.ttf, geöffnet inSchriftschmiede. Alle Boxen in cmex.ttf sind so, die in cmsy10.ttf sind wie erwartet. (Das Displayintegral gehteine Mengeüber der Grenze auf der rechten Seite und alle Symbole scheinen eine falsche Grundlinie zu haben?)
- Muss ich für jede Dokumenttextgröße ein separates Symbol erstellen, wie es moderne Computer anscheinend tun?
BEARBEITEN: Ich bin so weit gekommen, dass meine Symbole im Mathematikmodus angezeigt und verwendet werden können. Allerdings habe ich Probleme mit den BegrenzungsrahmenUndmit den Grenzenselbst in den Fällen, in denen ich die Standarddefinition verwende!
Der generierende Code lautet:
% !TEX program = lualatex
\documentclass[ngerman,10pt]{scrartcl}
\usepackage{fontspec}
%\usepackage{unicode-math}
\setlength{\fboxsep}{0pt}
%\usepackage{newcomputermodern}
% from https://tex.stackexchange.com/a/439983/294323
\newfontface{\mysymbolsfontface}{cmex10_mod.ttf}[
Path = ./, % Adjust the path to where the font is located
Extension = .ttf,
NFSSFamily=mysymbolsfontfamily %use some name for the font family
]
\DeclareSymbolFont{mysymbolsfont}{TU}{mysymbolsfontfamily}{m}{n}
\Umathchardef\displaymyint="1 \symmysymbolsfont "005A %"\sym" then symbolsfontname then glyph code. The "1 stands for mathoperator
\DeclareRobustCommand\myint{\mathchoice{\displaymyint\nolimits}
{\intop\nolimits}
{\intop\nolimits}
{\intop\nolimits}}
\begin{document}
Inline: \qquad\qquad\qquad \fbox{$\myint$} \quad \fbox{$\myint_\infty^\infty f(x)$}\\
Displaymode: \qquad\qquad\qquad \fbox{$\displaystyle\myint$} \quad \fbox{$\displaystyle\myint_\infty^\infty f(x)$}\\
Original Inline: \quad \fbox{$\int$} \quad \fbox{$\int_\infty^\infty f(x)$}\\
Original Displaymode: \quad \fbox{$\displaystyle\int$} \quad \fbox{$\displaystyle\int_\infty^\infty f(x)$}\\
\end{document}
Es bleibt also folgende Frage zu beantworten:
- Warum sind die Grenzwerte nicht richtig, wenn \intop verwendet wird? Sollten doch wie im Originaltext sein, oder?
- Wo kann ich eine Version der CMEX-Schriftart erhalten, bei der die Kästchen korrekt sind?
EDIT: Ich habe beschlossen, diesen letzten Teil in eine zugänglichere Frage aufzuteilen, sieheHier. Dies ist grundsätzlich geschlossen.