From: Lev G. <le...@co...> - 2007-05-11 16:13:24
|
Setting the font family with matplotlib.rc (or in my .matplotlib/matplotlibrc file) doesn't seem to have any effect on the font used to generate text when the usetex setting is enabled. This seems to imply that the fonts I have listed in the font.serif, font.sans-serif, and font.monospace settings (specifically, Times, Helvetica, and Courier) are not deemed to be valid from LaTeX's point of view. However, my LaTeX installation does appear to contain the psnfss files. Is there something I am overlooking? I am using matplotlib 0.90.0 and teTeX 3.0 on Linux. L.G. |
From: Darren D. <dd...@co...> - 2007-05-11 21:28:59
|
On Friday 11 May 2007 12:12:37 pm Lev Givon wrote: > Setting the font family with matplotlib.rc (or in my > .matplotlib/matplotlibrc file) doesn't seem to have any effect on the > font used to generate text when the usetex setting is enabled. This > seems to imply that the fonts I have listed in the font.serif, > font.sans-serif, and font.monospace settings (specifically, Times, > Helvetica, and Courier) are not deemed to be valid from LaTeX's point > of view. However, my LaTeX installation does appear to contain the > psnfss files. Is there something I am overlooking? > > I am using matplotlib 0.90.0 and teTeX 3.0 on Linux. changing the font family works for me. Maybe you should try deleting your .matplotlib/tex.cache and trying again. |
From: Lev G. <le...@co...> - 2007-05-13 20:47:48
|
Received from Darren Dale on Fri, May 11, 2007 at 05:29:01PM EDT: > On Friday 11 May 2007 12:12:37 pm Lev Givon wrote: > > Setting the font family with matplotlib.rc (or in my > > .matplotlib/matplotlibrc file) doesn't seem to have any effect on the > > font used to generate text when the usetex setting is enabled. This > > seems to imply that the fonts I have listed in the font.serif, > > font.sans-serif, and font.monospace settings (specifically, Times, > > Helvetica, and Courier) are not deemed to be valid from LaTeX's point > > of view. However, my LaTeX installation does appear to contain the > > psnfss files. Is there something I am overlooking? > > > > I am using matplotlib 0.90.0 and teTeX 3.0 on Linux. > > changing the font family works for me. Maybe you should try deleting > your .matplotlib/tex.cache and trying again. Apparently the weirdness I observed is a bit more subtle than I described: changing the font with the usetex setting on does indeed change the font used for the plot title and axis labels, but not for the axis ticks. Changing the font with the usetex settings off causes the selected font family to be used for the axis ticks. L.G. |
From: Lev G. <le...@co...> - 2007-05-13 22:33:51
|
Received from Lev Givon on Sun, May 13, 2007 at 04:46:54PM EDT: > Received from Darren Dale on Fri, May 11, 2007 at 05:29:01PM EDT: > > On Friday 11 May 2007 12:12:37 pm Lev Givon wrote: > > > Setting the font family with matplotlib.rc (or in my > > > .matplotlib/matplotlibrc file) doesn't seem to have any effect on the > > > font used to generate text when the usetex setting is enabled. This > > > seems to imply that the fonts I have listed in the font.serif, > > > font.sans-serif, and font.monospace settings (specifically, Times, > > > Helvetica, and Courier) are not deemed to be valid from LaTeX's point > > > of view. However, my LaTeX installation does appear to contain the > > > psnfss files. Is there something I am overlooking? > > > > > > I am using matplotlib 0.90.0 and teTeX 3.0 on Linux. > > > > changing the font family works for me. Maybe you should try deleting > > your .matplotlib/tex.cache and trying again. > > Apparently the weirdness I observed is a bit more subtle than I > described: changing the font with the usetex setting on does indeed > change the font used for the plot title and axis labels, but not for > the axis ticks. Changing the font with the usetex settings off causes > the selected font family to be used for the axis ticks. > > L.G. Ah..I see what was going on; the numerical ticks are output in LaTeX math mode (e.g., $123$) and therefore rendered in CM if the specified fonts do not provide any math fonts. Is there a way to use LaTeX font packages such as euler, ccfonts, and cmbright? L.G. |
From: Darren D. <dd...@co...> - 2007-05-14 00:15:08
|
On Sunday 13 May 2007 6:32:56 pm Lev Givon wrote: > Received from Lev Givon on Sun, May 13, 2007 at 04:46:54PM EDT: > > Received from Darren Dale on Fri, May 11, 2007 at 05:29:01PM EDT: > > > On Friday 11 May 2007 12:12:37 pm Lev Givon wrote: > > > > Setting the font family with matplotlib.rc (or in my > > > > .matplotlib/matplotlibrc file) doesn't seem to have any effect on the > > > > font used to generate text when the usetex setting is enabled. This > > > > seems to imply that the fonts I have listed in the font.serif, > > > > font.sans-serif, and font.monospace settings (specifically, Times, > > > > Helvetica, and Courier) are not deemed to be valid from LaTeX's point > > > > of view. However, my LaTeX installation does appear to contain the > > > > psnfss files. Is there something I am overlooking? > > > > > > > > I am using matplotlib 0.90.0 and teTeX 3.0 on Linux. > > > > > > changing the font family works for me. Maybe you should try deleting > > > your .matplotlib/tex.cache and trying again. > > > > Apparently the weirdness I observed is a bit more subtle than I > > described: changing the font with the usetex setting on does indeed > > change the font used for the plot title and axis labels, but not for > > the axis ticks. Changing the font with the usetex settings off causes > > the selected font family to be used for the axis ticks. > > > > L.G. > > Ah..I see what was going on; the numerical ticks are output in LaTeX > math mode (e.g., $123$) and therefore rendered in CM if the specified > fonts do not provide any math fonts. Is there a way to use LaTeX font > packages such as euler, ccfonts, and cmbright? Not at present, no. |
From: Lev G. <le...@co...> - 2007-05-14 13:03:29
|
Received from Darren Dale on Sun, May 13, 2007 at 08:13:43PM EDT: > On Sunday 13 May 2007 6:32:56 pm Lev Givon wrote: (snip) > > Ah..I see what was going on; the numerical ticks are output in LaTeX > > math mode (e.g., $123$) and therefore rendered in CM if the specified > > fonts do not provide any math fonts. Is there a way to use LaTeX font > > packages such as euler, ccfonts, and cmbright? > > Not at present, no. In the matplotlib-users list archive, I noticed that someone once mooted the possibility of patching the matplotlib LaTeX code to provide a user-configurable parameter that would allow one to add extra lines to the LaTeX preamble. I didn't see any responses from the matplotlib developers regarding their opinions of the suggested patch, however. L.G. |
From: Darren D. <dd...@co...> - 2007-05-14 14:05:13
|
On Monday 14 May 2007 9:02:08 am Lev Givon wrote: > Received from Darren Dale on Sun, May 13, 2007 at 08:13:43PM EDT: > > On Sunday 13 May 2007 6:32:56 pm Lev Givon wrote: > > (snip) > > > > Ah..I see what was going on; the numerical ticks are output in LaTeX > > > math mode (e.g., $123$) and therefore rendered in CM if the specified > > > fonts do not provide any math fonts. Is there a way to use LaTeX font > > > packages such as euler, ccfonts, and cmbright? > > > > Not at present, no. > > In the matplotlib-users list archive, I noticed that someone once > mooted the possibility of patching the matplotlib LaTeX code to > provide a user-configurable parameter that would allow one to add > extra lines to the LaTeX preamble. I didn't see any responses from the > matplotlib developers regarding their opinions of the suggested patch, > however. I am not in favor of adding a parameter that allows users to add additional lines to the preamble. It took a lot of work to get usetex working on all platforms, and I just don't have the kind of time anymore to add an option that will allow endless configuration of latex parameters. It's not the implementation of the patch that is the problem, it is all the support requests that will follow from latex-specific failures related to customized preamble settings. Darren |
From: Alexander S. <a.s...@gm...> - 2007-05-14 17:29:14
|
Darren Dale <dd...@co...> writes: > On Monday 14 May 2007 9:02:08 am Lev Givon wrote: >> In the matplotlib-users list archive, I noticed that someone once >> mooted the possibility of patching the matplotlib LaTeX code to >> provide a user-configurable parameter that would allow one to add >> extra lines to the LaTeX preamble. I didn't see any responses from the >> matplotlib developers regarding their opinions of the suggested patch, >> however. > > I am not in favor of adding a parameter that allows users to add additional > lines to the preamble. It took a lot of work to get usetex working on all > platforms, and I just don't have the kind of time anymore to add an option > that will allow endless configuration of latex parameters. It's not the > implementation of the patch that is the problem, it is all the support > requests that will follow from latex-specific failures related to customized > preamble settings. I'd *really* like the ability to ``usepackage`` for various reasons and it would clearly add useful functionality that is not otherwise obtainable. I understand concern about an additional support burden, but couldn't this be handled by explicitly noting that it's unsupported, possibly even printing out an unsubtle warning like so: warnings.warn(""" *********************************************************************************** * YOU SPECIFIED A CUSTOM LATEX-PREAMBLE -- THIS IS AN UNSUPPORTED FEATURE. * * PLEASE DO NOT REPORT PROBLEMS TO mat...@li... * * BEFORE YOU HAVE REMOVED YOUR latex_preamble=... SETTING. * *********************************************************************************** """) ? cheers, 'as |
From: Darren D. <dd...@co...> - 2007-05-14 20:46:33
|
On Monday 14 May 2007 1:29:05 pm Alexander Schmolck wrote: > Darren Dale <dd...@co...> writes: > > On Monday 14 May 2007 9:02:08 am Lev Givon wrote: > >> In the matplotlib-users list archive, I noticed that someone once > >> mooted the possibility of patching the matplotlib LaTeX code to > >> provide a user-configurable parameter that would allow one to add > >> extra lines to the LaTeX preamble. I didn't see any responses from the > >> matplotlib developers regarding their opinions of the suggested patch, > >> however. > > > > I am not in favor of adding a parameter that allows users to add > > additional lines to the preamble. It took a lot of work to get usetex > > working on all platforms, and I just don't have the kind of time anymore > > to add an option that will allow endless configuration of latex > > parameters. It's not the implementation of the patch that is the problem, > > it is all the support requests that will follow from latex-specific > > failures related to customized preamble settings. > > I'd *really* like the ability to ``usepackage`` for various reasons and it > would clearly add useful functionality that is not otherwise obtainable. > > I understand concern about an additional support burden, but couldn't this > be handled by explicitly noting that it's unsupported, possibly even > printing out an unsubtle warning like so: > > warnings.warn(""" > *************************************************************************** >******** * YOU SPECIFIED A CUSTOM LATEX-PREAMBLE -- THIS IS AN UNSUPPORTED > FEATURE. * * PLEASE DO NOT REPORT PROBLEMS TO > mat...@li... * * BEFORE YOU HAVE REMOVED > YOUR latex_preamble=... SETTING. * > *************************************************************************** >******** """) > > ? As far as I'm concerned, being unsupported disqualifies the feature from being included in mpl. Darren |
From: Alexander S. <a.s...@gm...> - 2007-05-18 16:06:06
|
Darren Dale <dd...@co...> writes: >> Well, if ever there was a compelling use-case for an >> undocumented/unsupported feature it would be this one, I think. > > Alright, svn 3277 lets you add additional commands to the preamble: > > text.latex.preamble : \usepackage{bm},\renewcommand{etc...} > > See the default matplotlibrc file for more information. > > THIS FEATURE IS NOT SUPPORTED. Please don't report problems on the mpl mailing > lists without submitting a patch to fix them. > > Alex, please give this a spin. Tell me if it meets your needs, and if it > doesnt, send a patch. Great! Thanks for incorporating this! It fits my needs, but I sent a (mostly unreleated) patch anyway (against 3278) :) cheers, 'as |
From: Alexander S. <a.s...@gm...> - 2007-05-16 17:30:10
|
Darren Dale <dd...@co...> writes: > On Monday 14 May 2007 1:29:05 pm Alexander Schmolck wrote: >> Darren Dale <dd...@co...> writes: >> I'd *really* like the ability to ``usepackage`` for various reasons and it >> would clearly add useful functionality that is not otherwise obtainable. >> >> I understand concern about an additional support burden, but couldn't this >> be handled by explicitly noting that it's unsupported, possibly even >> printing out an unsubtle warning [...] > As far as I'm concerned, being unsupported disqualifies the feature from being > included in mpl. Well, if ever there was a compelling use-case for an undocumented/unsupported feature it would be this one, I think. We are talking about something that involves very little implementation effort (< 5 LOC or so), right? So provided it doesn't result in either an implementation burden or in additional support requests, why wouldn't you allow people to obtain functionality, at their own risk, that may be of high utility to them? For example, I use a few lower-case bold greek symbols in my work, and I also want to use them in my plots. Due to some arbitrary braindamage in latex, this essentially requires a ``\usepackage{bm}`` somewhere in your preamble, and there are other fairly standard things are as far as I can see impossible to obtain without (if it doesn't cause portability hassles of the type you mentioned etc., I think it might actually be worth-while considering to add things like 'bm' and 'ammssymb' to the default-preamble). I don't think me and other users editing texmanager by hand or resulting to some really nasty hacks in order to just extend simple template string being a better solution (or one that necessarily results in fewer support requests -- "oops, sorry I just noticed I actually screwed around with this file in order to change my latex-preamble"). It wouldn't even be necessary to add some proper latex_preamble option, as long as there is some TexManager attribute that's easily enough to modify. cheers, 'as |
From: Darren D. <dd...@co...> - 2007-05-16 20:25:12
|
On Wednesday 16 May 2007 01:29:56 pm Alexander Schmolck wrote: > Darren Dale <dd...@co...> writes: > > On Monday 14 May 2007 1:29:05 pm Alexander Schmolck wrote: > >> Darren Dale <dd...@co...> writes: > >> I'd *really* like the ability to ``usepackage`` for various reasons and > >> it would clearly add useful functionality that is not otherwise > >> obtainable. > >> > >> I understand concern about an additional support burden, but couldn't > >> this be handled by explicitly noting that it's unsupported, possibly > >> even printing out an unsubtle warning > > [...] > > > As far as I'm concerned, being unsupported disqualifies the feature from > > being included in mpl. > > Well, if ever there was a compelling use-case for an > undocumented/unsupported feature it would be this one, I think. > > We are talking about something that involves very little implementation > effort (< 5 LOC or so), right? So provided it doesn't result in either an > implementation burden or in additional support requests, why wouldn't you > allow people to obtain functionality, at their own risk, that may be of > high utility to them? > > For example, I use a few lower-case bold greek symbols in my work, and I > also want to use them in my plots. Due to some arbitrary braindamage in > latex, this essentially requires a ``\usepackage{bm}`` somewhere in your > preamble, and there are other fairly standard things are as far as I can > see impossible to obtain without (if it doesn't cause portability hassles > of the type you mentioned etc., I think it might actually be worth-while > considering to add things like 'bm' and 'ammssymb' to the > default-preamble). > > I don't think me and other users editing texmanager by hand or resulting to > some really nasty hacks in order to just extend simple template string > being a better solution (or one that necessarily results in fewer support > requests -- "oops, sorry I just noticed I actually screwed around with this > file in order to change my latex-preamble"). > > It wouldn't even be necessary to add some proper latex_preamble option, as > long as there is some TexManager attribute that's easily enough to modify. I'll give this some more thought. |
From: George N. <gn...@go...> - 2007-05-17 09:00:15
|
Published figures will generally be embedded in text that is Times/ Palatino etc. Computer Modern doesn't look right inside such text. If it were possible to allow use of the other font packages, it would be very useful. George Nurser. |
From: Alexander S. <a.s...@gm...> - 2007-05-17 09:36:15
|
"George Nurser" <gn...@go...> writes: > Published figures will generally be embedded in text that is Times/ > Palatino etc. > Computer Modern doesn't look right inside such text. > > If it were possible to allow use of the other font packages, it would > be very useful. It already is, see e.g. <http://www.scipy.org/Cookbook/Matplotlib/UsingTex> from the file texmanager.py here are the mappings for the supported font packages: font_info = {'new century schoolbook': ('pnc', r'\renewcommand{\rmdefault}{pnc}'), 'bookman': ('pbk', r'\renewcommand{\rmdefault}{pbk}'), 'times': ('ptm', r'\usepackage{mathptmx}'), 'palatino': ('ppl', r'\usepackage{mathpazo}'), 'zapf chancery': ('pzc', r'\usepackage{chancery}'), 'charter': ('pch', r'\usepackage{charter}'), 'serif': ('cmr', ''), 'sans-serif': ('cmss', ''), 'helvetica': ('phv', r'\usepackage{helvet}'), 'avant garde': ('pag', r'\usepackage{avant}'), 'courier': ('pcr', r'\usepackage{courier}'), 'monospace': ('cmtt', ''), 'computer modern roman': ('cmr', ''), 'computer modern sans serif': ('cmss', ''), 'computer modern typewriter': ('cmtt', '')} cheers, 'as |
From: George N. <gn...@go...> - 2007-05-17 09:48:23
|
I didn't realize that! Apologies for being ignorant here. -- George Nurser. |
From: Alexander S. <a.s...@gm...> - 2007-05-17 14:08:19
|
"George Nurser" <gn...@go...> writes: > I didn't realize that! > Apologies for being ignorant here. > No worries, here's a concrete example for selecting Helvetica (and commented out, Palatino) as default fonts: from matplotlib.pylab import * from numpy import * #rc('font',**dict(family='serif',serif='Palatino')) rc('font',**{'family':'sans-serif','sans-serif':'Helvetica'}) rc('text', usetex=True) Note that I've had problems with font-changes being ignored by latex in some version of matplotlib, but not the latest 0.9 -- if in doubt ``rm -r ~/.matplotlib/*cache`` and see whether that fixes things. I've added these two things to <http://www.scipy.org/Cookbook/Matplotlib/UsingTex> Hope that's OK, otherwise please revert. cheers, 'as |
From: Darren D. <dd...@co...> - 2007-05-17 14:24:15
|
On Thursday 17 May 2007 10:08:06 am Alexander Schmolck wrote: > "George Nurser" <gn...@go...> writes: > > I didn't realize that! > > Apologies for being ignorant here. > > No worries, here's a concrete example for selecting Helvetica (and > commented out, Palatino) as default fonts: > > from matplotlib.pylab import * > from numpy import * > #rc('font',**dict(family='serif',serif='Palatino')) > rc('font',**{'family':'sans-serif','sans-serif':'Helvetica'}) > rc('text', usetex=True) > > Note that I've had problems with font-changes being ignored by latex in > some version of matplotlib, but not the latest 0.9 -- if in doubt > ``rm -r ~/.matplotlib/*cache`` and see whether that fixes things. You should also make your rc changes before importing pylab. That might be considered a bug, and would take some work to fix. > I've added these two things to > > <http://www.scipy.org/Cookbook/Matplotlib/UsingTex> > > Hope that's OK, otherwise please revert. Would you mind changing it to use the rcParams dict instead of the rc function? It is clearer that way. Darren |
From: Alexander S. <a.s...@gm...> - 2007-05-17 16:57:16
|
Darren Dale <dd...@co...> writes: > On Thursday 17 May 2007 10:08:06 am Alexander Schmolck wrote: >> "George Nurser" <gn...@go...> writes: >> > I didn't realize that! >> > Apologies for being ignorant here. >> >> No worries, here's a concrete example for selecting Helvetica (and >> commented out, Palatino) as default fonts: >> >> from matplotlib.pylab import * >> from numpy import * >> #rc('font',**dict(family='serif',serif='Palatino')) >> rc('font',**{'family':'sans-serif','sans-serif':'Helvetica'}) >> rc('text', usetex=True) >> >> Note that I've had problems with font-changes being ignored by latex in >> some version of matplotlib, but not the latest 0.9 -- if in doubt >> ``rm -r ~/.matplotlib/*cache`` and see whether that fixes things. > > You should also make your rc changes before importing pylab. OK, I think it's rather important to ntoe that on the tutorial. I'll do so later. > That might be considered a bug, and would take some work to fix. I've really got to run now but I might look into submitting a patch later; I think it should'n be that hard: make TexManager._font_config a property that on setting remembers the contents of the rcParams that are relevant to it and on accessing reinits itself if it finds they've changed. Does that sound plausbile to you? > >> I've added these two things to >> >> <http://www.scipy.org/Cookbook/Matplotlib/UsingTex> >> >> Hope that's OK, otherwise please revert. > > Would you mind changing it to use the rcParams dict instead of the rc > function? It is clearer that way. I'd be happy to, but I don't quite understand: Should I also change the other uses of rc on the page to rcParams? Isn't using rc equivalent except that it also performs some error checking and alias conversion? Why is it better to modify rcParams directly? cheers, 'as |
From: Darren D. <dd...@co...> - 2007-05-17 14:48:45
|
On Wednesday 16 May 2007 01:29:56 pm Alexander Schmolck wrote: > Darren Dale <dd...@co...> writes: > > On Monday 14 May 2007 1:29:05 pm Alexander Schmolck wrote: > >> Darren Dale <dd...@co...> writes: > >> I'd *really* like the ability to ``usepackage`` for various reasons and > >> it would clearly add useful functionality that is not otherwise > >> obtainable. > >> > >> I understand concern about an additional support burden, but couldn't > >> this be handled by explicitly noting that it's unsupported, possibly > >> even printing out an unsubtle warning > > [...] > > > As far as I'm concerned, being unsupported disqualifies the feature from > > being included in mpl. > > Well, if ever there was a compelling use-case for an > undocumented/unsupported feature it would be this one, I think. Alright, svn 3277 lets you add additional commands to the preamble: text.latex.preamble : \usepackage{bm},\renewcommand{etc...} See the default matplotlibrc file for more information. THIS FEATURE IS NOT SUPPORTED. Please don't report problems on the mpl mailing lists without submitting a patch to fix them. Alex, please give this a spin. Tell me if it meets your needs, and if it doesnt, send a patch. Darren |
From: Alexander S. <a.s...@gm...> - 2007-05-18 16:02:42
|
p.s. If I may make another suggestion (I don't have time to volunteer for implementing them in the forseeable future, but I might eventually if there's interest): Maybe the way configuration is handled could be improved: 1. It seems to me that letting users manipulate some raw dictionary (`rcParams`) in order to customize behavior is bad. Just now, on my first dig into matplotlib I've found a number of bugs that result from bad state in rcParams. As a user this has also caused me some wasted time, because typos and other illegal param choices are not caught early (but are relativley likely, because matplotlib has many and complex options). Using some dedicated class-instance instead of a dict would allow for: - automatic conistency checks on setting - possibly even change propagation (likely faster and certainly less error prone if done right: I'm not sure how many places rcParams dependent results apart from the tex-stuff are cached and should be recomputed when certain params change, but obviously an push/'event'-based solutin could be faster than pull/polling) - possibly better performance, because e.g. using immutable values would allow identity based checks to see if a rcParam changed and obviate the need to copy; - convenient doc lookup and searching an display of available alternatives (e.g. font-families etc) - better factoring of the matplotlibrc parsing and validation see below: 2. It also seems to me that having some custom config file format rather than just (a literal-only subset of) python is suboptimal. Why make people learn another and more limited syntax when python literals are already familiar and both more powerful and easier to use (e.g. the latex-preamble setting can't express multiple package options, because param values can't contain ',')? It would also get rid of the IMO undesirable coupling of string-parsing and type-checking that the validate_* functions do at the moment; really setting an rcParam should also do the latter but not the former (and guaranteed validation on setting would also avoid the need to sprinkle random checks on reading through the code). IMO it would be much nicer if there was some more declarative way to specify options, check their validity on setting and assoicate docs with them (sort of like e.g. emcs-custom vars). Valid files in the old-syntax could be translated automatically quite easily, so I don't think it's a compatiblity issue. cheers, 'as |
From: Darren D. <dd...@co...> - 2007-07-18 17:04:55
|
I just commited Alexander Schmolck's patch to make usetex respect changes to rc settings. TexManager used to configure its support for latex at load time, and ignored later changes to rc settings. Thank you Alexander for the patch. Alexander - I am sorry it took so long to commit this patch. I couldn't directly apply it, because it conflicted with some changes to support unicode. Also, the recent addition of validating changes to rcParams helped simplify things somewhat. Darren On Friday 18 May 2007 12:02:30 pm Alexander Schmolck wrote: > > You should also make your rc changes before importing pylab. That might > > be considered a bug, and would take some work to fix. > > I think I've fixed the bug (well, mostly see TODO), as well as a few other > minor bugs: > > - ``__init__.py`` > * defaultParams value tuple[0] ought to be the parsed value, as > far as I can see, but the fonts are given as comma-seperated string, > which will result in texmanager treating individual chars as 'fonts' > > - ``texmanager.py`` > * 'Computer Modern Sans serif' rather than 'Computer Modern Sans-serif' > as on wiki; I haven't changed it because I don't know which spelling is > desired -- I'd personally prefer two, because it's consistent with the most > common spelling of 'sans-serif' and the spelling elsewhere in MPL * > condensed `TexManger.__init__` and fixed the undeclare var bug in the > warning; also added check that rcParams['font.*'] is not a string (see > above) > * `TexManger.get_font_config` now checks that font configuration is in > synch with rcParams and if not re-initialized `self` to recompute it > * changed ``self._font_config -> self.get_font_config()`` and added it to > the key generation for TexManger.get_rgba -- so now every change the > relevant rcParams font entries will now recompute or select the *correct* > cached value (Note I think for get_rgba ._font_config would suffice, but > since it looks like it needs to be modified anyway and .get_font_config is > safer I opted for the latter). > * added a few consistency checks > > This is the first time I've really looked at (and hacked) the MPL code, so > my solution might have issues, I'm certainly not aware of the big picture. > However I'm pretty sure that parts of the patch should be useful and that > I've correctly identified some small bugs. > > TODO > ---- > > A) the wiki page still needs to be corrected; I'm happy to do it, but it > would be useful to know: > 1. what exactly I should change to ``rcParams`` (all ``rc`` calls?) > 2. how the 'Computer Modern Sans'-'/' 'serif' thing will be resolved > 3. if this patch is likely to be accepted in some form (because then > I'll also mention that the need to import pylab afterwards will go away in > svn/future versions) > > B) TexManger.get_rgba needs to deal with font-properties other than size to > do its job properly (i.e. return the *correct* cached text); that means > that 2 places in backend_agg.py will also need changs since it uses > insufficient info to find the right cached text (no properites). How to do > this involves making design decisions that I think one of the developers > has to take, so I didn't do anything about it. I got the impression that > just passing ``prop.font_family`` together with ``size`` might handle most > cases, but I have no idea how latex-font-properties are really meant to be > handled. > > In addition to the patch, I've appended some file to test and demonstrate > the new (hopefully better); behavior (just %run) -- the patch currently is > full of print-DEBUG statements, I've left them in because it makes easier > to verify what's going on and B) still ought to be fixed; they're easy to > take remove (grep DEBUG), but if it's an issue I'm happy to supply the > patch without them. > > hope this is useful, > > 'as -- Darren S. Dale, Ph.D. Staff Scientist Cornell High Energy Synchrotron Source Cornell University 275 Wilson Lab Rt. 366 & Pine Tree Road Ithaca, NY 14853 dd...@co... office: (607) 255-3819 fax: (607) 255-9001 http://www.chess.cornell.edu |
From: Peter-Jan R. <pjr...@su...> - 2007-12-18 15:07:51
|
Dear Darren, I know "text.latex.preamble" is not supported, but since I upgraded to Matplotlib 0.91.1 my latex preamble code which was working perfectly well in 0.90.1, now gives my the follow errors (both on openSUSE & XP): In [1]: run overlap_vs_concentrated.py C:\Python\lib\site-packages\matplotlib\__init__.py:606: UserWarning: Bad val "\u sepackage[cmex10]{amsmath},\usepackage{helvet},\usepackage{sansserifmath}" on li ne #128 "text.latex.preamble : \usepackage[cmex10]{amsmath},\usepackage{he lvet},\usepackage{sansserifmath} " in file "c:\My Documents\My Publications\PEDS-2007\Paper_I\Presentation\ python\matplotlibrc" global name 'verbose' is not defined "%s"\n\t%s' % (val, cnt, line, fname, msg)) Has the syntax changed... or is this a bug...? I also get this error message w.r.t. to "verbose" which isn't critical but annoying... Kind regards, Peter-Jan Op 2007/05/18 18:05, het Alexander Schmolck die volgende geskryf: > Darren Dale <dd...@co...> writes: > > >>> Well, if ever there was a compelling use-case for an >>> undocumented/unsupported feature it would be this one, I think. >>> >> Alright, svn 3277 lets you add additional commands to the preamble: >> >> text.latex.preamble : \usepackage{bm},\renewcommand{etc...} >> >> See the default matplotlibrc file for more information. >> >> THIS FEATURE IS NOT SUPPORTED. Please don't report problems on the mpl mailing >> lists without submitting a patch to fix them. >> >> Alex, please give this a spin. Tell me if it meets your needs, and if it >> doesnt, send a patch. >> > > Great! Thanks for incorporating this! It fits my needs, but I sent a (mostly > unreleated) patch anyway (against 3278) :) > > cheers, > > 'as > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > |
From: Darren D. <dar...@co...> - 2007-12-18 15:25:48
|
Somebody reported it right after 0.91.1 was released. It has been fixed in svn. To hold you over until the next release, I think you just need to update your matplotlib/__init__.py and matplotlib/rcsetup.py. On Tuesday 18 December 2007 10:07:28 am Peter-Jan Randewijk wrote: > Dear Darren, > > I know "text.latex.preamble" is not supported, but since I upgraded to > Matplotlib 0.91.1 my latex preamble code which was working perfectly > well in 0.90.1, now gives my the follow errors (both on openSUSE & XP): > > In [1]: run overlap_vs_concentrated.py > C:\Python\lib\site-packages\matplotlib\__init__.py:606: UserWarning: Bad > val "\u > sepackage[cmex10]{amsmath},\usepackage{helvet},\usepackage{sansserifmath}" > on li > ne #128 > "text.latex.preamble : > \usepackage[cmex10]{amsmath},\usepackage{he > lvet},\usepackage{sansserifmath} > " > in file "c:\My Documents\My > Publications\PEDS-2007\Paper_I\Presentation\ > python\matplotlibrc" > global name 'verbose' is not defined > "%s"\n\t%s' % (val, cnt, line, fname, msg)) > > Has the syntax changed... or is this a bug...? > > I also get this error message w.r.t. to "verbose" which isn't critical > but annoying... > > Kind regards, > > Peter-Jan > > Op 2007/05/18 18:05, het Alexander Schmolck die volgende geskryf: > > Darren Dale <dd...@co...> writes: > >>> Well, if ever there was a compelling use-case for an > >>> undocumented/unsupported feature it would be this one, I think. > >> > >> Alright, svn 3277 lets you add additional commands to the preamble: > >> > >> text.latex.preamble : \usepackage{bm},\renewcommand{etc...} > >> > >> See the default matplotlibrc file for more information. > >> > >> THIS FEATURE IS NOT SUPPORTED. Please don't report problems on the mpl > >> mailing lists without submitting a patch to fix them. > >> > >> Alex, please give this a spin. Tell me if it meets your needs, and if it > >> doesnt, send a patch. > > > > Great! Thanks for incorporating this! It fits my needs, but I sent a > > (mostly unreleated) patch anyway (against 3278) :) > > > > cheers, > > > > 'as > > > > ------------------------------------------------------------------------- > > This SF.net email is sponsored by DB2 Express > > Download DB2 Express C - the FREE version of DB2 express and take > > control of your XML. No limits. Just data. Click to get it now. > > http://sourceforge.net/powerbar/db2/ > > _______________________________________________ > > Matplotlib-users mailing list > > Mat...@li... > > https://lists.sourceforge.net/lists/listinfo/matplotlib-users -- Darren S. Dale, Ph.D. Staff Scientist Cornell High Energy Synchrotron Source Cornell University 275 Wilson Lab Rt. 366 & Pine Tree Road Ithaca, NY 14853 dar...@co... office: (607) 255-3819 fax: (607) 255-9001 http://www.chess.cornell.edu |
From: Peter-Jan R. <pjr...@su...> - 2007-12-18 15:55:53
|
Darren, Thanks for the quick reply... It works like a charm... Somehow I missed the post in the userslist... Kind regards, Peter-Jan Op 2007/12/18 17:25, het Darren Dale die volgende geskryf: > Somebody reported it right after 0.91.1 was released. It has been fixed in > svn. To hold you over until the next release, I think you just need to update > your matplotlib/__init__.py and matplotlib/rcsetup.py. > > On Tuesday 18 December 2007 10:07:28 am Peter-Jan Randewijk wrote: > >> Dear Darren, >> >> I know "text.latex.preamble" is not supported, but since I upgraded to >> Matplotlib 0.91.1 my latex preamble code which was working perfectly >> well in 0.90.1, now gives my the follow errors (both on openSUSE & XP): >> >> In [1]: run overlap_vs_concentrated.py >> C:\Python\lib\site-packages\matplotlib\__init__.py:606: UserWarning: Bad >> val "\u >> sepackage[cmex10]{amsmath},\usepackage{helvet},\usepackage{sansserifmath}" >> on li >> ne #128 >> "text.latex.preamble : >> \usepackage[cmex10]{amsmath},\usepackage{he >> lvet},\usepackage{sansserifmath} >> " >> in file "c:\My Documents\My >> Publications\PEDS-2007\Paper_I\Presentation\ >> python\matplotlibrc" >> global name 'verbose' is not defined >> "%s"\n\t%s' % (val, cnt, line, fname, msg)) >> >> Has the syntax changed... or is this a bug...? >> >> I also get this error message w.r.t. to "verbose" which isn't critical >> but annoying... >> >> Kind regards, >> >> Peter-Jan >> >> Op 2007/05/18 18:05, het Alexander Schmolck die volgende geskryf: >> >>> Darren Dale <dd...@co...> writes: >>> >>>>> Well, if ever there was a compelling use-case for an >>>>> undocumented/unsupported feature it would be this one, I think. >>>>> >>>> Alright, svn 3277 lets you add additional commands to the preamble: >>>> >>>> text.latex.preamble : \usepackage{bm},\renewcommand{etc...} >>>> >>>> See the default matplotlibrc file for more information. >>>> >>>> THIS FEATURE IS NOT SUPPORTED. Please don't report problems on the mpl >>>> mailing lists without submitting a patch to fix them. >>>> >>>> Alex, please give this a spin. Tell me if it meets your needs, and if it >>>> doesnt, send a patch. >>>> >>> Great! Thanks for incorporating this! It fits my needs, but I sent a >>> (mostly unreleated) patch anyway (against 3278) :) >>> >>> cheers, >>> >>> 'as >>> >>> ------------------------------------------------------------------------- >>> This SF.net email is sponsored by DB2 Express >>> Download DB2 Express C - the FREE version of DB2 express and take >>> control of your XML. No limits. Just data. Click to get it now. >>> http://sourceforge.net/powerbar/db2/ >>> _______________________________________________ >>> Matplotlib-users mailing list >>> Mat...@li... >>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>> |
From: Darren D. <dar...@co...> - 2007-12-18 16:41:43
|
On Tuesday 18 December 2007 10:55:36 am Peter-Jan Randewijk wrote: > Darren, > > Thanks for the quick reply... It works like a charm... Somehow I > missed the post in the userslist... You're off the hook :) It was posted at the sourceforge bugtracker, not on the mailing list. > Op 2007/12/18 17:25, het Darren Dale die volgende geskryf: > > Somebody reported it right after 0.91.1 was released. It has been fixed > > in svn. To hold you over until the next release, I think you just need to > > update your matplotlib/__init__.py and matplotlib/rcsetup.py. > > > > On Tuesday 18 December 2007 10:07:28 am Peter-Jan Randewijk wrote: > >> Dear Darren, > >> > >> I know "text.latex.preamble" is not supported, but since I upgraded to > >> Matplotlib 0.91.1 my latex preamble code which was working perfectly > >> well in 0.90.1, now gives my the follow errors (both on openSUSE & XP): > >> > >> In [1]: run overlap_vs_concentrated.py > >> C:\Python\lib\site-packages\matplotlib\__init__.py:606: UserWarning: Bad > >> val "\u > >> sepackage[cmex10]{amsmath},\usepackage{helvet},\usepackage{sansserifmath > >>}" on li > >> ne #128 > >> "text.latex.preamble : > >> \usepackage[cmex10]{amsmath},\usepackage{he > >> lvet},\usepackage{sansserifmath} > >> " > >> in file "c:\My Documents\My > >> Publications\PEDS-2007\Paper_I\Presentation\ > >> python\matplotlibrc" > >> global name 'verbose' is not defined > >> "%s"\n\t%s' % (val, cnt, line, fname, msg)) > >> > >> Has the syntax changed... or is this a bug...? > >> > >> I also get this error message w.r.t. to "verbose" which isn't critical > >> but annoying... > >> > >> Kind regards, > >> > >> Peter-Jan > >> > >> Op 2007/05/18 18:05, het Alexander Schmolck die volgende geskryf: > >>> Darren Dale <dd...@co...> writes: > >>>>> Well, if ever there was a compelling use-case for an > >>>>> undocumented/unsupported feature it would be this one, I think. > >>>> > >>>> Alright, svn 3277 lets you add additional commands to the preamble: > >>>> > >>>> text.latex.preamble : \usepackage{bm},\renewcommand{etc...} > >>>> > >>>> See the default matplotlibrc file for more information. > >>>> > >>>> THIS FEATURE IS NOT SUPPORTED. Please don't report problems on the mpl > >>>> mailing lists without submitting a patch to fix them. > >>>> > >>>> Alex, please give this a spin. Tell me if it meets your needs, and if > >>>> it doesnt, send a patch. > >>> > >>> Great! Thanks for incorporating this! It fits my needs, but I sent a > >>> (mostly unreleated) patch anyway (against 3278) :) > >>> > >>> cheers, > >>> > >>> 'as > >>> > >>> ----------------------------------------------------------------------- > >>>-- This SF.net email is sponsored by DB2 Express > >>> Download DB2 Express C - the FREE version of DB2 express and take > >>> control of your XML. No limits. Just data. Click to get it now. > >>> http://sourceforge.net/powerbar/db2/ > >>> _______________________________________________ > >>> Matplotlib-users mailing list > >>> Mat...@li... > >>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users -- Darren S. Dale, Ph.D. Staff Scientist Cornell High Energy Synchrotron Source Cornell University 275 Wilson Lab Rt. 366 & Pine Tree Road Ithaca, NY 14853 dar...@co... office: (607) 255-3819 fax: (607) 255-9001 http://www.chess.cornell.edu |