I'm confused about the methods used to specify fonts using when more than one package is potentially involved. I understand that packages configure a variety of settings by default, and that different packages support different options (giving different degrees of control over these settings), but is there a general rule or best practice?
For example, once I've loaded a package for the serif font, what is the difference between then using
\usepackage[scaled]{beramono}
and
\renewcommand{\ttdefault}{fvm}
to select the typewriter font?
The implication of some documentation I've read (e.g., mathdesign, 4.3) is that that packages may do some things to ensure that the "low level" way of specifying additional families will work smoothly with that package.
So, once I've loaded one package, is it better to specify subsequent fonts using the second approach above, or the first?
fontenc; however Bera Mono fonts are available only in T1 encoding and require calling\usepackage[T1]{fontenc}. The difference is that\usepackage[scaled=...]{beramono}allows to specify a scaling factor, while\renewcommand{\ttdefault}{fvm}doesn't. Always prefer a "higher level" way of doing a thing. – egreg Mar 13 '12 at 14:24