Hi Rene. Hmm. Good question. I answer it by finding out how LaTeX would format it: to me, if LaTeX has formatted it, it is by definition correctly formatted. I LaTeX'ed the following and attached it as a .eps file. \documentclass{article} \begin{document} \pagestyle{empty} $K_{S}$ ... $K^{*0}$ ... ${2s \over \pi \alpha^2} {d \sigma \over d \cos \theta} (e^+ e^- \to f \bar f) = \left| {1 \over 1 - \Delta \alpha} \right|^2 (1 + \cos^2\theta)$ \end{document} The bottom of the two K 's are aligned with each other and the bottom of the e^+ e^- ... The fraction bars are centered on the middle of the height of the lowercase letters that sit on the baseline. I agree that there are infinitely cascading subtlties as the formulas get more complicated. Short of entirely reproducing LaTeX, it is impossible to anticipate them all. But if ROOT ever switches to a Postscript based graphics rendering that can easily embed .eps files on a canvas, I'm writing a class that will run LaTeX to produce an .eps file and embed it... But I guess for now, I suggest: * TLatex output be aligned to some baseline that normal letters "sit" on and super/sub-scripts go up and down from there. * In the case of fractions, the line is vertically aligned somewhere above the baseline, and their text sits on baselines above and below that. * In the case of complicated structures like fractions, etc. there be some rule such that the equation can never overlap itself. e.g. if there is a superscript in the denominator of a fraction, the baseline for the denominator is low enough that the superscript doesn't hit the fraction line. I don't know how realistic or easy these requests are, or what other subtlties might come up. But for now, I'd be happy to be able to align "basic" structures like K_{S} and the K^{*0}. Thanks. Stephen On Tue, 8 Aug 2000, Rene Brun wrote: > Hi Stephen, I understand your point in this particular example, but > your proposal would have plenty of side effects. For example, what > would you propose for the 3rd Tlatex string in my macro below? > > Rene Brun > > { > gROOT->Reset(); > TCanvas c1("c1"); > c1.SetGrid(); > TH2F h("h","",2,0,1,2,0,1); > h.Draw(); > TLatex latex; > latex.DrawLatex(0.1, 0.5, "K_{S}"); > TLatex *l=(TLatex*)latex.DrawLatex(0.1, 0.3, "K^{*0}"); > latex.DrawLatex(.1,.1,"#frac{2s}{#pi#alpha^{2}}\ > #frac{d#sigma}{dcos#theta} (e^{+}e^{-} #rightarrow f#bar{f} ) =\ > #left| #frac{1}{1 - #Delta#alpha} #right|^{2} (1+cos^{2}#theta)"); > } > > > > Stephen Bailey wrote: > > > > Hi Rooters, > > > > TLatex appears to vertically align text based upon > > the lowest/highest element drawn, including sub/superscripts. > > e.g. > > > > TLatex latex; > > latex.SetNDC(); > > latex.DrawLatex(0.5, 0.5, "K_{S}"); > > latex.DrawLatex(0.6, 0.5, "K^{*0}"); > > > > aligns the bottom of the subscripted "S" with the bottom of the > > other K. I would prefer the alignment to be based upon the bottom > > of the normal script, i.e. have the two K aligned and have the > > S be lowered from there and the *0 be raised. > > > > Do others agree? Would this be easily possible? > > > > Thanks. > > > > Stephen >
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:31 MET