{Haftungsausschluss: Ich bin ein Neuling in LaTeX und Codierung}
Ich möchte ein Symbol aus dem Paket „oz“ verwenden. Es ist das $\fcmp$
Symbol.
Wenn ich jedoch \usepackage{oz} in meinem Dokument habe, ändert es fast jedes Symbol. Das ist ein Problem, weil es im Mathematikmodus standardmäßig kursive Buchstaben verwendet und ich kursive Buchstaben für etwas anderes verwende. Es ändert auch viele logische Symbole in meinem Dokument.
Ich möchte nicht das ganze Paket verwenden, sondern nur einige Sonderzeichen.
Falls es hilft, das sind die Pakete, die ich verwende.
\documentclass{article}
\usepackage{oz}
\usepackage[utf8]{inputenc}
\usepackage{multirow}
\usepackage{array}
\usepackage[table]{xcolor}
\usepackage{amsmath}
\usepackage{newtxmath}
\usepackage{tikz}
\usepackage{mathtools}
\usepackage{xcolor}
Ich entschuldige mich für den Mangel an Code und Formular hier, dies ist mein erstes Mal, dass ich diesen Stack Exchange verwende.
Antwort1
Leider ist das, was Sie suchen, nicht genau möglich. Die TeX-Engine wurde zu einer Zeit entwickelt, als die Computerressourcen noch recht begrenzt waren und Namespaces damals noch kein Thema waren.
Stattdessen müssen Sie sich den oz
Quellcode ansehen, um zu sehen, wie \fcmp
er definiert wurde.
Wenn Sie LaTeX ausführen, sehen Sie eine Zeile, die angibt, wo die oz.sty
Datei von LaTeX eingelesen wird. So wissen Sie, wo sich die Datei befindet, und können sie in Ihrem bevorzugten Texteditor öffnen (wahrscheinlich dem, den Sie zum Bearbeiten Ihrer LaTeX-Dateien verwenden). Eine Suche nach oz.sty
¹ ergibt die folgende Definition:
\def \fcmp {\mathbin{\raise 0.6ex\hbox{\oalign{\hfil$\scriptscriptstyle
\mathrm{o}$\hfil\cr\hfil$\scriptscriptstyle\mathrm{9}$\hfil}}}}
welches zeigt, wie der \fcmp
Befehl definiert ist.
Nun, es ist ein bisschen Glück, dass hier keine internen LaTeX-Befehle verwendet werden, also können Sie dies einfach in Ihre Präambel anstelle von einfügen \usepackage{oz}
, aber hier gibt es einen Vorbehalt: Die Art und Weise, wie der Befehl definiert ist, macht offenbar einige Annahmen notwendig für das objectz
Paket davon oz
ist Teil², wobei ein Leerzeichen danach \fcmp
istnichtoptional dank der Verwendung des einfachen TeX- \def
Befehls und der Leerzeichen danach \fcmp
in der Definition. Besser zu schreiben:
\NewDocumentCommand\fcmp{}{\mathbin{\raise 0.6ex\hbox{\oalign{\hfil$\scriptscriptstyle
\mathrm{o}$\hfil\cr\hfil$\scriptscriptstyle\mathrm{9}$\hfil}}}}
\fcmp
Dadurch wird eine LaTeX-nativere Definition erreicht .
- Einige, aber nicht alle LaTeX-Pakete bieten eine Dokumentation des Quellcodes, die möglicherweise eine Erklärung der bei der Implementierung des Pakets getroffenen Entscheidungen enthält. ObjectZ verteilt zwar eine
.dtx
Datei, die eine Dokumentation generiert, verfügt jedoch über keine interne Dokumentation der getroffenen Entscheidungen. - Oder es handelt sich einfach um einen Fehler seitens des Paketautors.
Antwort2
Ich schlage vornichtverwenden Sie „ \fcmp
von“ oz.sty
(eine Reihe von Kludges), aber das Semikolon „von“ bbold
oder „ \fatsemi
von“ stmaryrd
.
Hier ist ein Vergleich.
\documentclass{article}
\usepackage{amsmath}
\NewDocumentCommand\fcmp{}{%
\mathbin{%
\raise 0.6ex\hbox{%
\oalign{%
\hfil$\scriptscriptstyle\mathrm{o}$\hfil\cr
\hfil$\scriptscriptstyle\mathrm{9}$\hfil
}%
}%
}%
}
\NewDocumentCommand{\altfcmp}{}{\mathbin{\text{\usefont{U}{bbold}{m}{n};}}}
\NewDocumentCommand{\altfcmpbis}{}{\mathbin{\text{\usefont{U}{stmry}{m}{n}\symbol{"23}}}}
\begin{document}
$a\fcmp b$
$a\altfcmp b$
$a\altfcmpbis b$
\end{document}
\mathbin
Sie entscheiden, ob das Symbol einen anderen Status haben soll oder nicht .
Wie bin ich dazu gekommen \fatsemi
? Zuerst habe ich im Handbuch nachgesehen stmaryrd
und gesehen, dass die Glyphe heißt \fatsemi
. Dann der Paketcode, in dem es steht
\DeclareSymbolFont{stmry}{U}{stmry}{m}{n}
\stmry@if\DeclareMathSymbol\fatsemi\mathbin{stmry}{"23}\fi
Somit hatte ich alle Zutaten, um den Befehl zu definieren, ohne eine mathematische Symbolschriftart für nur ein Symbol zu verschwenden.
Treffen Sie Ihre Wahl und verwenden Sie \fcmp
(oder einen beliebigen anderen Namen Ihrer Wahl) anstelle der Namen, die ich nur zum Zwecke des Vergleichs verwendet habe.