Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I would like to use the mathdesign package and the charter font in my beamer presentation. But when using

\usepackage[charter,cal=cmcal]{mathdesign}

I get the following warnings (sic!):

Package 'amssymb' shouldn't be used in conjonction with package mdbch
Package 'amsfonts' shouldn't be used in conjonction with package mdbch

I already found out that the beamer package is responsible for this since it loads amssymb and amsfonts. But does it really need them? What is the correct way to handle this or should I just ignore the warnings?

share|improve this question
3  
without specific experience, i'd guess that it's not a good idea to ignore these particular warnings. i suggest getting in touch with the author of beamer and request an option to omit loading these files. actually, it's only necessary to omit loading amssymb, since that's what loads amsfonts. –  barbara beeton Oct 12 '12 at 13:47
    
A year on, would you say you can safely ignore the warnings, or is it really necessary to use the hack below? –  nemarona Nov 10 '13 at 23:12
add comment

2 Answers

up vote 8 down vote accepted

A simple hack is as follows

\RequirePackage{scrlfile}
\makeatletter
\AfterPackage{beamerbasemodes}{\beamer@amssymbfalse}
\makeatother
\documentclass{beamer}
\usefonttheme{professionalfonts}

\usepackage[charter,cal=cmcal]{mathdesign}
\renewcommand{\sfdefault}{\rmdefault}

\begin{document}
\begin{frame}
What will the font be? $\twoheadrightarrow$

\end{frame}
\end{document}

Explanation: beamerbasemodes sets the conditional to true and afterwards beamerbasefonts is loaded, which checks whether the conditional is true and, if so, it loads amssymb.

However there should be a noamssymb option also for beamer as there is for the beamerarticle package. Not providing it is an error, in my opinion. The existence of the conditional is meant for using it, but beamer doesn't and simply sets it to true.

share|improve this answer
add comment

I know, it is just a hack, but you could try

\expandafter\gdef\csname ver@amssymb.sty\endcsname{9999/12/31}
\expandafter\gdef\csname ver@amsfonts.sty\endcsname{9999/12/31}

\documentclass{beamer}

\global\expandafter\let\csname ver@amssymb.sty\endcsname\relax
\global\expandafter\let\csname ver@amsfonts.sty\endcsname\relax

\usepackage[charter,cal=cmcal]{mathdesign}

The first two lines make latex believe in having loaded the packages already. The next two lines just prevent mathdesign from assuming that the packages have been loaded.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.