Вопрос

При использовании пакета MnSymbol pdflatex выдает два предупреждения о шрифтах:

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.

Так как мне нужно всего несколько символов из пакета:есть ли способ загрузить из пакета один символ вместо всех?

Это было полезно?

Решение

Вот как я это решил:

Загрузите скрипт perl " makefakeMnSymbol " из всестороннего источника документа с символами латекса: http://mirror.ctan.org/info/symbols/comprehensive/source/ makefakeMnSymbol

Затем в командной строке выполните chmod +x makefakeMnSymbol, чтобы сделать его исполняемым. Затем запустите

./makefakeMnSymbol `kpsewhich MnSymbol.sty` > fakeMnSymbol.sty

Поместите fakeMnSymbol.sty в выбранный каталог texmf (глобальный или локальный) и запустите texhash

Если вы сейчас поставите

\usepackage{fakeMnSymbol}

в вашей преамбуле вы можете теперь использовать любой MnSymbol, например \powerset, добавив префикс \MNSpowerset

Большое спасибо Скотту Пакину за этот взлом ... и за его полное руководство по символам ...

<Ч>

Этот хак имеет проблемы с символами в нижних и верхних индексах. Обходной путь - использовать источник fakeMnSymbol.sty, чтобы найти, из какого шрифта был загружен нужный символ, а также его номер. Вот пример из одной из моих преамбул, где я переопределяю встроенный \boxminus с помощью MnSymbol:

\usepackage[]{fakeMnSymbol}
\DeclareSymbolFont{mnsymbolc}{U}{MnSymbolC}{m}{n}
\let\boxminus=\undefined
\DeclareMathSymbol{\boxminus}{2}{mnsymbolc}{112}

Другие советы

Эти предупреждения не о чем беспокоиться.Фактически, в следующем выпуске LaTeX они исчезнут (см. исходный отчет об ошибке).Однако расчетного времени прибытия по этому вопросу нет.

Более того, есть ли реальная вероятность, что это повлияет на верстку документа?

Неа.

есть ли способ предотвратить это?

Можно исправить код предупреждающего сообщения LaTeX перед загрузкой пакета, а затем снова восстановить его (это то, что я делал раньше в своих собственных пакетах), но как пользователь я бы просто научился игнорировать предупреждение.

Следующее может помочь.Это код, который мне пришлось добавить, чтобы получить только символ \bigominus из пакета MnSymbol.

\DeclareFontFamily{U}{MnSymbolF}{}
\DeclareSymbolFont{mnsymbols}{U}{MnSymbolF}{m}{n}
\DeclareFontShape{U}{MnSymbolF}{m}{n}{
<-6> MnSymbolF5
<6-7> MnSymbolF6
<7-8> MnSymbolF7
<8-9> МнСимволF8
<9-10> MnSymbolF9
<10-12> MnSymbolF10
<12-> MnSymbolF12}{}
\DeclareMathSymbol{\bigominus}{\mathop}{mnsymbols}{55}

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top