LaTeXパッケージから単一のシンボルをロードします
質問
MnSymbolパッケージを使用すると、pdflatexは2つのフォント警告を表示します:
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.
これはおそらくAMSSymbパッケージとの衝突が原因であることがわかりました。
パッケージからいくつかのシンボルが必要なだけなので、すべてではなく、パッケージから1つのシンボルをロードする方法はありますか?
解決
これを解決した方法は次のとおりです。
perlスクリプトをダウンロード<!> quot; makefakeMnSymbol <!> quot;包括的なラテックスシンボルドキュメントソースから: http://mirror.ctan.org/info/symbols/comprehensive/source/ makefakeMnSymbol
次に、コマンドラインでchmod +x makefakeMnSymbol
を実行して実行可能にします。次に、実行します
./makefakeMnSymbol `kpsewhich MnSymbol.sty` > fakeMnSymbol.sty
選択したtexmfディレクトリ(グローバルまたはローカル)にfakeMnSymbol.styを配置し、texhash
今置く場合
\usepackage{fakeMnSymbol}
プリアンブルで、\powerset
\MNSpowerset
などの任意のMnSymbolを使用できるようになりました
このハックについて、そして彼の包括的なシンボルガイドについて、Scott Pakinに感謝します...
このハックには、下付き文字/上付き文字の記号に問題があります。回避策は、fakeMnSymbol.sty
ソースを参照して、必要なシンボルがロードされたフォントとその番号を見つけることです。組み込み\boxminus
をMnSymbolでオーバーライドする私の前文の1つの例を次に示します。
\usepackage[]{fakeMnSymbol}
\DeclareSymbolFont{mnsymbolc}{U}{MnSymbolC}{m}{n}
\let\boxminus=\undefined
\DeclareMathSymbol{\boxminus}{2}{mnsymbolc}{112}
他のヒント
これらの警告は心配する必要はありません。実際、次のLaTeXリリースではそれらは消えます(元のバグレポート)。ただし、ETAはありません。
さらに、これがドキュメントの組版に影響する可能性は本当にありますか?
いいえ。
これを防ぐ方法はありますか?
パッケージをロードする前にLaTeX警告メッセージコードにパッチを適用し、その後それを再び復元することができます(これは過去に自分のパッケージで行ったことです)が、ユーザーとしては、警告。
以下が役立つ場合があります。これは、MnSymbolパッケージから\ bigominusシンボルを取得するために追加しなければならなかったコードです。
\ DeclareFontFamily {U} {MnSymbolF} {}
\ DeclareSymbolFont {mnsymbols} {U} {MnSymbolF} {m} {n}
\ DeclareFontShape {U} {MnSymbolF} {m} {n} {
<!> lt; -6 <!> gt; MnSymbolF5
<!> lt; 6-7 <!> gt; MnSymbolF6
<!> lt; 7-8 <!> gt; MnSymbolF7
<!> lt; 8-9 <!> gt; MnSymbolF8
<!> lt; 9-10 <!> gt; MnSymbolF9
<!> lt; 10-12 <!> gt; MnSymbolF10
<!> lt; 12-<!> gt; MnSymbolF12} {}
\ DeclareMathSymbol {\ bigominus} {\ mathop} {mnsymbols} {55}