From: Robert P. <rp...@po...> - 2007-04-26 21:45:35
|
Hi all, I'm only in my 4th day of using PyX, so please bear with me if I've missed something obvious. Suppose I want to use a san-serif font for all text in a graph. If my code looks something like: text.set(mode="latex") text.preamble(r"\usepackage{times}") g = graph.graphxy(width=15.,\ x=graph.axis.lin(min=0., max=2000.,\ title=r'\Large\textsf{x-axis title}'), y=graph.axis.lin(max=125.,\ title=r'\Large\textsf{y-axis title}')) then the axis titles behave as I want: Helvetica is used due to "\usepackage{times}", but the tick labels along the axes are still in Computer-Modern. Is there a straightforward way to force everything to Helvetica (or cmss if I had not added "\usepackage{times}" to the preamble)? Thanks. Bob Pyle |
From: Gert I. <ger...@ph...> - 2007-04-27 05:37:35
|
Hi Bob, > text.set(mode=3D"latex") > text.preamble(r"\usepackage{times}") > g =3D graph.graphxy(width=3D15.,\ > x=3Dgraph.axis.lin(min=3D0., max=3D2000.,\ > title=3Dr'\Large\textsf{x-axis title}'), > y=3Dgraph.axis.lin(max=3D125.,\ > title=3Dr'\Large\textsf{y-axis title}')) >=20 > then the axis titles behave as I want: Helvetica is used due to =20 > "\usepackage{times}", but the tick labels along the axes are still in =20 > Computer-Modern. The reason for this behavior is that the labels are set in mathmode. If you do not own Helvetica math fonts (as is the case for most of us, I guess) you have to instruct PyX not to typeset labels in mathmode by specifying the axis texter as follows: texter=3Dgraph.axis.texter.decimal(labelattrs=3D[]) In addition, you have to make sure that sans serif fonts are used everywhere by saying: text.preamble(r"""\renewcommand{\familydefault}{\sfdefault} \usepackage{times}""") As a side effect, it should not be necessary anymore to explicitly specify that titles are to be typeset in sans serif as this is automatic. A side remark: If at some point you want to create labels in Times, use the mathptmx package instead of the obsolete times package.=20 Best regards, Gert --=20 Gert-Ludwig Ingold email: Gert.Ingold@Physik.Uni-Augsburg.DE Institut f=FCr Physik Phone: +49-821-598-3234 Universit=E4t Augsburg Fax : +49-821-598-3222 D-86135 Augsburg WWW : www.physik.uni-augsburg.de/theo1/ingold Germany PGP : 86FF5A93, key available from homepage |
From: Robert P. <rp...@po...> - 2007-05-02 18:21:37
|
Hi all, On Apr 27, 2007, at 10:45 AM, William Henney wrote: > Hi > > On 4/27/07, Gert Ingold <ger...@ph...> wrote: >> The reason for this behavior is that the labels are set in >> mathmode. If >> you do not own Helvetica math fonts (as is the case for most of >> us, I guess) >> you have to instruct PyX not to typeset labels in mathmode by >> specifying >> the axis texter as follows: >> >> texter=graph.axis.texter.decimal(labelattrs=[]) >> > > That is sort of OK for the example he gives, but if the axis range > extends to negative values then the minus signs will not come out > right.... I tried Gert's solution with an axis ranging over negative as well as positive values, and the minus signs look just fine. Bob |
From: William H. <w.h...@as...> - 2007-05-02 21:10:16
|
Hi Robert On 5/2/07, Robert Pyle <rp...@po...> wrote: > > That is sort of OK for the example he gives, but if the axis range > > extends to negative values then the minus signs will not come out > > right.... > > I tried Gert's solution with an axis ranging over negative as well as > positive values, and the minus signs look just fine. Are you sure? When I try it, I get hyphens (short and stubby) instead of minus signs. I know that not everyone cares about typography though :) Cheers Will --=20 Dr William Henney, Centro de Radioastronom=EDa y Astrof=EDsica, Universidad Nacional Aut=F3noma de M=E9xico, Campus Morelia |