MathTime Pro 2 字体与 beamer - 错误:命令‘\lll’已定义

MathTime Pro 2 字体与 beamer - 错误:命令‘\lll’已定义

MathTime Professional 2 无法与 Beamer 配合使用。有人遇到过同样的问题吗?以下是简短的示例:

\documentclass[10pt, xcolor=dvipsnames]{beamer}
\usepackage[utf8]{inputenc}
\usepackage{polski}
\usepackage[polish]{babel}
\usepackage[T1]{fontenc}

\usepackage{graphicx}
\usepackage{amsmath}


\usefonttheme{professionalfonts}
\usepackage[subscriptcorrection]{mtpro2}
\renewcommand{\rmdefault}{ptm}


\begin{document}

\begin{frame}{Title}
Short $x+Y$  
\end{frame}

\end{document}

我收到一条错误消息

! LaTeX Error: Command `\lll' already defined.
See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.1422 ...bol{\lll}          {\mathrel}{AMSa}{"6E}

切换到其他字体后,问题消失。有人有修复方法的建议吗?
可能需要补充一点,\documentclass{article}MathTime Pro 2 只需对序言进行微小修改即可运行。

答案1

错误出现在两个地方。

第一个问题:mtpro2不应加载amssymb。 这是由 自动完成的beamer,但可以使用选项来阻止noamssymb

\documentclass[10pt,xcolor=dvipsnames,noamssymb]{beamer}

第二个问题:babel语言定义文件的polish.ldf定义\lll对我来说是一个神秘的原因。

可能的修复:

\documentclass[10pt,xcolor=dvipsnames,noamssymb]{beamer}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\usepackage{polski}
\usepackage[polish]{babel}

%%% fix for \lll
\let\babellll\lll
\let\lll\relax


\usefonttheme{professionalfonts}
\usepackage[subscriptcorrection]{mtpro2}

%%% fix for \lll
\let\mathlll\lll
\let\lll\babellll


\begin{document}

...

如果您需要\lll数学符号,请使用\mathlll

请注意,使用不需要加载amsmath和,它会自动加载它们。graphicxbeamer

答案2

问题的原因\usepackage[polish]{babel}\usepackage{amssymb}在同一个文件中。解决方案很简单改变顺序这两个包 (amssymb应该先走 )。 在你的情况下mtpro2应该先走 - 因为mtpro2显然加载了amssymb

相关内容