Im Inline-Mathematikmodus verwende ich normalerweise den wörtlichen Schrägstrich (also /
), um eine Division anzuzeigen. Im Gegensatz zu den üblichen binären Operatoren [ + - \times \div
] /
wird jedoch als normales mathematisches Objekt behandelt. Dies kann leicht zu inkonsistenten (asymmetrischen) horizontalen Abständen führen, beispielsweise wenn /
eine Variable vorangestellt und eine Funktion nachfolgt, wie im folgenden Beispiel:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\noindent
\(\tan x = \sin x / \cos x\)
\end{document}
Ausgabe:
Natürlich kann ich den horizontalen Abstand korrigieren, indem ich ihn \cos x
in ein gewöhnliches mathematisches Objekt umwandle:
\(\tan x = \sin x / {\cos x}\)
Ausgabe:
Alternativ kann ich /
die Funktion als binären Operator ähnlich [ + - \times \div
] erstellen:
\(\tan x = \sin x \mathbin{/} \cos x\)
Ausgabe:
Nun bin ich neugierig: Welcher der beiden oben genannten Workarounds ist vorzuziehen? Oder gibt es sogar einen besseren?
Antwort1
Sie sollten auf jeden Fall die Version \sin x / {\cos x}
mit den kleinen Leerzeichen bevorzugen, oder \sin x / \!\cos x
wie egreg vorschlägt. Aus dem TeXbook, Seite 132:
TeX behandelt es nicht
/
als binäre Operation, obwohl ein Schrägstrich für Division steht (was aus mathematischen Gründen als binäre Operation gilt). Der Grund dafür ist, dass Drucker traditionell zusätzliche Leerzeichen um die Symbole+
,−
, und einfügen*
, aber nicht um/
.
Knuth fährt fort und erklärt, dass 1 \mathbin{/} 2
herauskommen würde
was falsch ist; TeX betrachtet es daher
/
als ein gewöhnliches Symbol.
Und ab Seite 170:
In der Formel
$n/\log n$
fügt TeX automatisch ein unerwünschtes schmales Leerzeichen vor ein\log
, da der Schrägstrich als normales Symbol behandelt wird und da ein schmales Leerzeichen zwischen einem normalen Symbol und einem Operator wie normalerweise erwünscht ist\log
.
Antwort2
In Ihrem Fall verwenden Sie /
als binären Operator: \mathbin{/}
:
$a \mathbin{/} b$
Als Abkürzung könnte man einen Befehl so definieren, dass er als binärer Operator den Schrägstrich verwendet:
\mathchardef\mslash="202F
$a \mslash b$
Oder das Symbol /
kann global geändert werden, damit es als binärer Operator fungiert:
\mathcode`\/="202F
$a / b$
Die Startnummer ist die Klasse, 0x200 ist der binäre Operator. Die letzten beiden Ziffern der Hexadezimalzahl 2F
sind der Zeichencode von /
.
Antwort3
Es gibt drei LaTeX-Pakete, die zu helfen scheinen:xfrac,nicole_frakund möglicherweise)Faktor(Letztes habe ich mir nie angesehen; im Katalogeintrag für nicefrac gibt es einen Verweis darauf.) Beachten Sie, dass xfrac ein in LaTeX-3 codiertes Paket ist.
Möglicherweise hilft nichts davon, aber ich würde lieber ein bewährtes Paket verwenden, als an den inneren Abläufen des Mathematikmodus herumzufummeln (der mir im Allgemeinen ein bisschen Unwohlsein bereitet).