
Ich bearbeite einen Text, der nativ in einer proprietären LaTeX-Dokumentenklasse geschrieben ist, die die Schriftart Dante Monotype implementiert. In diesem Text gibt es viel Mathematik und ich würde sagen, dass er insgesamt funktioniert, auch wenn ich die Schriftart Dante für Mathematikanwendungen nicht besonders empfehlen würde.
Sogar Exponenten ( $e^{x^2}$
) sind für mein Auge gut proportioniert, während mir Brüche überhaupt nicht gefallen. Wie im folgenden Bild:
Beim rot eingekreisten Bruch sowie bei den folgenden sind Zähler und Nenner sehr weit vom Bruchstrich entfernt.
Wie kann ich das konkret verbessern? Jedes Paket, das mit Brüchen zu tun hat, funktioniert derzeit möglicherweise mit dieser Schriftart? Jeder Befehl, der ähnlich ist \dfrac
oder \tfrac
helfen kannabnehmend(anstatt zu erhöhen) die Gesamthöhe der Brüche?
Mir fallen keine weiteren Lösungen ein, um diese „Länge“ zu beheben.
Nachtrag:
Ich habe MikTeX 2.9 unter Windows 7 OS. Die Editoren, die ich verwende, sind TeXstudio und TeXnicCenter und ich kompiliere mit pdfLaTeX. Das Verhalten der Brüche ist bei Verwendung von TeXshop unter Mac OS dasselbe. Vielen Dank.
Der Code für das Bild oben lautet:
$$y_0(t)=1$$
$$y_1(t)=1+\int^t_0 \mt\,\md\mt=1+\frac{t^2}{2}$$
$$y_2(t)=1+\int^t_0 \mt\left(1+\frac{\mt^2}{2}\right)\md\mt=1+\frac{t^2}{2}+\frac{t^4}{8}$$
\vspace{1pt}
$$\vdots$$
\vspace{1pt}
$$y_n(t)=1+\int^t_0 \mt\,y_{n-1}(\mt)\,\md\mt=1+\frac{t^2}{2}+\frac{1}{2!}\left(\frac{t^2}{2}\right)^2+\ldots+\frac{1}{n!}\left(\frac{t^2}{2}\right)^n$$
wo \md
und \mt
wurden in meiner Präambel definiert. Vielen Dank.
Nachtrag (2):
Ich habe beide bisher geposteten Antworten sehr geschätzt und versucht, a newcommand
wie in den Zeilen 2 bis 15 des Codes von Steven B. zu definieren. (Ich habe diesen Ansatz bevorzugt, weil ich noch nie zuvor mit LuaLaTeX gearbeitet habe und dies nur als „Feintuning“ gedacht war.) Darüber hinaus habe ich alle der folgenden drei ausprobiert:
\renewcommand{\frac}[2]{\displaystyle{\frac{\lower2pt\hbox{#1}}{\raise2pt\hbox{#2}}}}
Und:
\renewcommand{\frac}[2]{\dfrac{\lower2pt\hbox{#1}}{\raise2pt\hbox{#2}}}
oder:
\newcommand\newfrac[2]{\frac{\lower2pt\hbox{#1}}{\raise2pt\hbox{#2}}}
aber alle diese vier Lösungsvorschläge haben in meinem System (Klasse) mehrere Fehler erzeugt. Sagen mir diese drei Zeilen etwas Nützliches?
Ich werde Updates posten.
Antwort1
Ich habe keinen Zugriff auf Ihre Schriftart, aber (wie in meinem Kommentar angegeben) meine Antwort unterEin spezielles Bruchmakro mit erhabenem Bruchstrichkann Ihr Problem lösen. Hier erstelle ich es als \newfrac
.
Ich habe die Abmessungen aus der zitierten Antwort geändert, um die Brüche zu Demonstrationszwecken weiter zusammenzudrücken. Die optionalen Argumente für \stackunder
und \stackon
sind die Lückenabstände, die Sie Ihren Anforderungen entsprechend anpassen können. Dieses MWE verwendet natürlich die CM-Schriftarten.
\documentclass{article}
\usepackage{stackengine}
\usepackage{ifthen}
\newlength\testwida
\newlength\testwidb
\newlength\mywidth
\newcommand\newfrac[2]{%
\setlength\testwida{\widthof{$#1$}}%
\setlength\testwidb{\widthof{$#2$}}%
\ifthenelse{\lengthtest{\testwida>\testwidb}}%
{\mywidth=\testwida}%
{\mywidth=\testwidb}%
\raisebox{.5ex}{%
\stackunder[2pt]{\stackon[2pt]{\rule{\mywidth}{.4pt}}{$#1$}}{$#2$}}%
}
\def\mt{\mathbf{t}}
\def\md{\mathbf{d}}
%\let\newfrac\frac% UNCOMMENT TO SEE ORIGINAL \frac VERSION
\begin{document}
$$y_0(t)=1$$
$$y_1(t)=1+\int^t_0 \mt\,\md\mt=1+\newfrac{t^2}{2}$$
$$y_2(t)=1+\int^t_0 \mt\left(1+\newfrac{\mt^2}{2}\right)\md\mt=1+\newfrac{t^2}{2}+\newfrac{t^4}{8}$$
\vspace{1pt}
$$\vdots$$
\vspace{1pt}
$$y_n(t)=1+\int^t_0 \mt\,y_{n-1}(\mt)\,\md\mt=1+\newfrac{t^2}{2}+\newfrac{1}{2!}\left(\newfrac{t^2}{2}\right)^2+\ldots+\newfrac{1}{n!}\left(\newfrac{t^2}{2}\right)^n$$
\end{document}
Zum Vergleich hier noch die Originalfassung \frac
.
Antwort2
Im Folgenden wird in erster Linie versucht, Ihren Screenshot, der auf einem proprietären Setup basiert, mit nicht-proprietären Tools nachzubilden. Hoffentlich liefert die Antwort auch einen brauchbaren Vorschlag, wie das Problem des zu großen Abstands der Zähler- und Nennerterme von den Bruchstrichen angegangen werden kann.
Mein Code verwendet LuaLaTeX, da ich keinen Zugriff auf eine nicht-Opentype-Version der Schriftart Dante habe. Ich verwende insbesondere Dante MT Std
. Ich verwende auch die Cambria Math
Schriftart math, da ich finde, dass sie viel besser zu passt Dante
als beispielsweise TeX Gyre Pagella Math
ist. Die Übereinstimmung ist nicht perfekt; Cambria Math
es ist einfach die beste Übereinstimmung, die ich finden konnte. Glücklicherweise kann die Übereinstimmung erheblich verbessert werden, indem man \setmathfont
das System mithilfe verschiedener Anweisungen anweist, Dante MT
Glyphen für alle Ziffern und Buchstaben sowie für verschiedene Symbole zu verwenden.
Beachten Sie, dass die Zähler- und Nennerterme bei weitem nicht so weit über und unter den Bruchstrichen liegen wie in Ihrer proprietären Konfiguration.
Zusammenfassend: Ist der Wechsel von pdfLaTeX zu LuaLaTeX und die Verwendung der Cambria Math
mathematischen Schriftfamilie – zusammen mit der Verwendung von Dante MT Std
oder Dante MT Pro
als Textschriftart – für Sie eine Option?
% !TEX TS-program = lualatex
\documentclass{article}
% Set text font
\usepackage[no-math]{fontspec}
\setmainfont[Numbers=OldStyle]{Dante MT Std}
\usepackage{amsmath} % for 'gather*' environment
% Set default math font
\usepackage{unicode-math}
\setmathfont[Scale=MatchLowercase]{Cambria Math}
% Use Dante MT for numerals, all letters, and various symbols
\setmathfont[range={"0030-"0039},Numbers=OldStyle]{Dante MT Std}
\setmathfont[range=\mathrm]{Dante MT Std}
\setmathfont[range=\mathit]{Dante MT Std Italic}
\setmathfont[range=\mathbfup]{Dante MT Std Bold}
\setmathfont[range=\mathbfit]{Dante MT Std Bold Italic}
\setmathfont[range={"0025,"002A-"002F,
"003A-"003F,"005B-"005D,"007B-"007D,
"03A9,"00B0-"00B7,"00BC-"00BE,"00D7,
"00F7,"03A9,"03BC,"03C0,"2153,"2154,
"215B-"215E,"2202,"2206,"2212,"2215,
"2219,"221E,"2248,"2260,"2264,"2265}]{Dante MT Std}
% A couple of user-defined shorthand macros
\newcommand{\md}{\mathrm{d}}
\newcommand{\mt}{\mathbf{t}}
\begin{document}
\begin{gather*}
y_0(t)=1\\
y_1(t)=1+\int^t_0 \mt\,\md\mt=1+\frac{t^2}{2}\\
y_2(t)=1+\int^t_0 \mt\left(1+\frac{\mt^2}{2}\right)\md\mt=1+\frac{t^2}{2}+\frac{t^4}{8}\\
\vdots \\
y_n(t)=1+\int^t_0 \mt\,y_{n-1}(\mt)\,\md\mt=
1+\frac{t^2}{2}+\frac{1}{2!}\left(\frac{t^2}{2}\right)^{\!2}+\dots+
\frac{1}{n!}\left(\frac{t^2}{2}\right)^{\!n}
\end{gather*}
\end{document}
Nachtrag: Ich persönlich finde die Verwendung von Mediävalzahlen in der Mathematik eher fragwürdig. So sieht es aus, wenn man die Numbers=OldStyle
Option in der zweiten \setmathfont
Direktive des MWE weglässt. (Sie können natürlich selbst entscheiden, ob Sie Mediäval- oder Versalzahlen in der Mathematik bevorzugen.)