|
From: Miguel R. R. <mru...@gm...> - 2009-06-28 02:20:31
|
OK. Solved.
I didn't read the documentation properly:
The epslatex driver offers a special way of controlling text
positioning: (a) If any text string begins with ’{’, you also need to
include a ’}’ at the end of the text, and the whole text will be
centered both horizontally and vertically by LaTeX. (b) If the text
string begins with ’[’, you need to continue it with: a position
specification (up to two out of t,b,l,r,c), ’]{’, the text itself, and
finally, ’}’. The text itself may be anything LaTeX can typeset as an
LR-box. \rule{}{}’s may help for best positioning. See also the
documentation for the pslatex (p. 181) terminal driver. To create
multiline labels, use \shortstack, for example set ylabel
’[r]{\shortstack{first line \\ second line}}’
So, this does work:
set label '\shortstack{a \\ b}'
I still don't know if there's any way of putting an eqnarray
environment (I guess this is the only way of writing multiline
equations) into a \makebox (where the epslatex terminal outputs
labels).
Sorry for the confusion!
Miguel
2009/6/27 Mojca Miklavec <moj...@gm...>:
> I'm sorry,
>
> I messed up a bit ... (too late hour).
>
> You need to try what works inside \hbox{...}, not only equation is a
> box. Gnuplot puts everything inside something equivalent to \hbox.
>
> To start with, the following should work
> '\vbox{\hbox{a}\hbox{b}}'
> but I'm sure that there must be some more LaTeX-ish way to do the
> same. Still you probably cannot avoid the need to create either \vbox
> or multiline equation.
>
> Any automatic conversions would do more harm than good. The only
> solution to this would be not putting the contents to \hbox in the
> first place, though that might bring other problems.
>
> Mojca
>
> On Sun, Jun 28, 2009 at 01:03, Miguel Rubio Roy wrote:
>>> You may not have (two or more subsequent) line breaks inside equations in TeX.
>>
>> I've only tried one line break, not two and not subsequent:
>>>> set label "a \n b" at 0,90
>>>> set label 'a \\ b' at 0,70
>>>> set label "a \\\\ b" at 0,60
>>
>> and anyway, I'd say these commands do not generate equations.
>>
>>>> How can I introduce a new line in math mode?
>>>
>>> If it was plain TeX it would be something like
>>> '$\displaystyle{\matrix{a \cr b}}$'
>>> but I think that LaTeX has \matrix redefined, so you need to check (I
>>> have not been using LaTeX for ages), the syntax might be slightly
>>> different.
>>
>> I haven't tried something like that but, I guess I would have to
>> replace \cr with something like \\ which is not working, anyway.
>>
>>> Another option would be to use
>>> '$a$ \\ $b$'
>>> Again - I didn't check it, but just to get you the idea: you need to
>>> split the math expressions into two and make a break *outside* of
>>> equations. TeX cannot make a line break with "\\" inside equation.
>>
>> Some of my attempts weren't equations, and they weren't working, anyway:
>>>> set label "a \n b" at 0,90
>>>> set label 'a \\ b' at 0,70
>>>> set label "a \\\\ b" at 0,60
>>
>>> But this is hardly related to gnuplot. Gnuplot will just output the
>>> label text unaltered to LaTeX document. You need to use the strengths
>>> and limitations of TeX/LaTeX when typesetting. It's best if you try to
>>> figure out how to achieve the desired effect in usual LaTeX document
>>> first and then just add the needed escape characters to generate the
>>> label inside gnuplot.
>>
>> I agree. Compiling the following with pdflatex works fine (places "a"
>> and "b" in different lines):
>>
>> \documentclass[english]{article}
>> \usepackage[T1]{fontenc}
>> \usepackage[latin9]{inputenc}
>> \usepackage{babel}
>> \begin{document}
>> a \\ b
>> \end{document}
>>
>>
>> Thanks
>>
>> Miguel
>>
>
|