Laden Sie ein einzelnes Symbol aus einem Latexpaket
Frage
Bei Verwendung des MNSymbol -Pakets gibt PDFlatex zwei Schriftart Warnungen:
LaTeX Font Warning: Encoding 'OMS' has changed to 'U' for symbol font
(Font) 'symbols' in the math version 'normal' on input line 120.
LaTeX Font Info: Overwriting symbol font 'symbols' in version 'normal'
(Font) OMS/cmsy/m/n --> U/MnSymbolF/m/n on input line 120.
Es stellt sich heraus, dass dies wahrscheinlich auf einen Zusammenstoß mit dem AMSSYMB -Paket zurückzuführen ist.
Da ich nur ein paar Symbole aus dem Paket brauche: Gibt es eine Möglichkeit, ein Symbol aus einem Paket zu laden, danach von allen?
Lösung
So habe ich das gelöst:
Laden Sie das Perl -Skript "Makefakemnsymbol" von der umfassenden Latex -Symbol -Dokumentquelle herunter:http://mirror.ctan.org/info/symbols/compresine/source/makefakemnsymbol
Als nächstes in der Befehlszeile tun chmod +x makefakeMnSymbol
Um es ausführbar zu machen. Dann renne
./makefakeMnSymbol `kpsewhich MnSymbol.sty` > fakeMnSymbol.sty
Fakemnsymbol.sty in ein Texmf -Verzeichnis der Wahl (global oder lokal) und rennen texhash
Wenn Sie jetzt setzen
\usepackage{fakeMnSymbol}
In Ihrer Präambel können Sie jetzt jedes mnsymbol verwenden, wie \powerset
durch Präfix es wie wie \MNSpowerset
Vielen Dank an Scott Pakin für diesen Hack ... und für seinen umfassenden Symbolführer ...
Dieser Hack hat Probleme mit Symbolen in Einweisen/Superscripts. Eine Arbeit ist es, den Blick auf die zu verwenden fakeMnSymbol.sty
Quelle, um herauszufinden, welche Schriftart das gewünschte Symbol und seine Nummer geladen wurde. Hier ist ein Beispiel von einem meiner Präambel, in dem ich das integrierte überschreibe \boxminus
mit einem Mnsymbol:
\usepackage[]{fakeMnSymbol}
\DeclareSymbolFont{mnsymbolc}{U}{MnSymbolC}{m}{n}
\let\boxminus=\undefined
\DeclareMathSymbol{\boxminus}{2}{mnsymbolc}{112}
Andere Tipps
Diese Warnungen sind keine Sorgen, worüber man sich Sorgen machen muss. Tatsächlich werden sie in der nächsten Latex -Veröffentlichung verschwinden (siehe das Original -Fehlerbericht). Keine ETA dazu.
Gibt es eine wirkliche Chance, dass sich dies auf das Artensatz des Dokuments auswirkt?
Nö.
Gibt es eine Möglichkeit, dies zu verhindern?
Kann den Latex -Warnmeldungscode vor dem Laden des Pakets patchen und dann danach erneut wiederherstellen (das habe ich in der Vergangenheit in meinen eigenen Paketen getan), aber als Benutzer würde ich nur lernen, die Warnung zu ignorieren.
Das Folgende könnte helfen. Dies ist der Code, den ich hinzufügen musste, um nur das bigominus -Symbol aus dem Mnsymbol -Paket herauszuholen.
Declarefontfamily {u} {mnsymbolf} {}
Deklaresymbolfont {mnsymbols} {u} {mnsymbolf} {m} {n}
Declarefontshape {u} {mnsymbolf} {m} {n} {
<-6> mnsymbolf5
<6-7> Mnsymbolf6
<7-8> mnsymbolf7
<8-9> mnsymbolf8
<9-10> mnsymbolf9
<10-12> mnsymbolf10
<12-> Mnsymbolf12} {}
Deklaremathsymbol { bigominus} { mathop} {mnsymbols} {55}