|
From: Felix P. <fe...@ne...> - 2013-05-03 15:55:01
|
Some output using the different settings in the functions I just sent. As you can see the only problem are greek letters and some math symbols. It may be possible to improve this situation using xetex (http://matplotlib.org/users/pgf.html), but I did not try this out yet. Am 03.05.2013 um 17:38 schrieb Felix Patzelt <fe...@ne...>: > H, I'm using sfmath, too. I actually wrote a helper function to switch fonts. The preambles are the result of long-term trial and error. Normally, my preambles include some more custom commands which I left out here because they would be distracting. I always wondered why matplotlib doesn't do this kind of font switching out of the box. > > def setfont(font=font_default,unicode=True): > r""" > Set Matplotlibs rcParams to use LaTeX for font rendering. > Revert all changes by calling rcdefault() from matplotlib. > > Parameters: > ----------- > font: string > "Helvetica" > "Times" > "Computer Modern" > > usetex: Boolean > Use unicode. Default: False. > """ > > # Use TeX for all figure text! > plt.rc('text', usetex=True) > > font = font.lower().replace(" ","") > if font == 'times': > # Times > font = {'family':'serif', 'serif':['Times']} > preamble = r""" > \usepackage{color} > \usepackage{mathptmx} > """ > elif font == 'helvetica': > # Helvetica > # set serif, too. Otherwise setting to times and then > # Helvetica causes an error. > font = {'family':'sans-serif','sans-serif':['Helvetica'], > 'serif':['cm10']} > preamble = r""" > \usepackage{color} > \usepackage[tx]{sfmath} > \usepackage{helvet} > """ > else: > # Computer modern serif > font = {'family':'serif', 'serif':['cm10']} > preamble = r""" > \usepackage{color} > """ > > if unicode: > # Unicode for Tex > #preamble = r"""\usepackage[utf8]{inputenc}""" + preamble > # inputenc should be set automatically > plt.rcParams['text.latex.unicode']=True > > #print font, preamble > plt.rc('font',**font) > plt.rcParams['text.latex.preamble'] = preamble > > > Am 03.05.2013 um 16:08 schrieb Juergen Hasch <py...@el...>: > >>> >>> The solution I use when I want all sans-serif out of TeX is to use the cmbright package, which can be turned on by adding: >>> >>> rc('text.latex', preamble=r'\usepackage{cmbright}') >>> >>> That may require installing the cmbright LaTeX package if you don't already have it. >> >> I am using the sfmath package for this purpose. >> >> There is a nice comparision of the different approaches to get sans-serif math fonts at the bottom of the sfmath page: >> http://dtrx.de/od/tex/sfmath.html >> >> >> >> ------------------------------------------------------------------------------ >> Get 100% visibility into Java/.NET code with AppDynamics Lite >> It's a free troubleshooting tool designed for production >> Get down to code-level detail for bottlenecks, with <2% overhead. >> Download for free and get started troubleshooting in minutes. >> http://p.sf.net/sfu/appdyn_d2d_ap2 >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users > |