[R] scalable < > delimiters in plotmath

baptiste auguie baptiste.auguie at googlemail.com
Sun Sep 12 21:57:03 CEST 2010


Oh, right I see. I was completely off then. Maybe it's not so easy to
add <> delimiters after all, I'll have to look at the list of symbol
pieces to see if these can be constructed too.

Thanks,

baptiste

On 12 September 2010 21:42, David Winsemius <dwinsemius at comcast.net> wrote:
>
> On Sep 12, 2010, at 6:15 AM, baptiste auguie wrote:
>
>> Thanks everyone. I've also had a look at plotmath.c where bgroup is
>> defined for "[", "{", "(", "." but not "<". It seems quite trivial to
>> add it, at first sight, however there is a part that I don't
>> understand in the RenderDelim routine,
>>
>> static BBOX RenderDelim(int which, double dist, int draw, mathContext *mc,
>>                        pGEcontext gc, pGEDevDesc dd)
>> {
>>
>> // [... snipped ...]
>>
>>   case '(':
>>        top = 230; ext = 231; bot = 232; mid = 0;
>>        break;
>>   case ')':
>>        top = 246; ext = 247; bot = 248; mid = 0;
>>        break;
>>
>> These integer codes make no sense to me, I have no clue which ones I
>> should use for < and >.
>
> Does this help? (I think they are using Symbol PS fonts with decimal
> indexing.)
>
>> as.octmode(c(230, 231, 232, 246, 247, 248) )
> [1] "346" "347" "350" "366" "367" "370"
>  plot(1,1, xlab= expression(
> symbol("\346")~    # upper 1/3 of left paren
> symbol("\347")~    # to left of center bar
> symbol("\350")~    # lower 1/3 of left paren
>
> symbol("\366")~    # upper 1/3 of right paren
> symbol("\367")~    # to right of center bar
> symbol("\370") ) ) # lower 1/3 of right paren
>
> (caveat: Maybe not standard glyph-names.)
>
> I added octal annotation to the TestChars(font=5) call that the points help
> page offers:
>
> TestChars(font=5)
> for(j in 1:14) {
>    for(i in 0:16){
>        text(i+0.2, j+.6, labels=as.octmode(i+(j+1)*16), cex=.5)}}
>
> I do not see a trio or pair of glyphs that would form an angle bracket.
>
> --
>
> David.
>
>
>> As far as I understand these codes might
>> correspond to extended ascii characters whose boundaries and positions
>> we want to borrow. Then again, maybe it's something else entirely.
>>
>> Any hints?
>>
>> Best wishes,
>>
>> baptiste
>>
>>
>>
>>
>> On 12 September 2010 03:27, David Winsemius <dwinsemius at comcast.net>
>> wrote:
>>>
>>> On Sep 11, 2010, at 9:00 PM, Peter Ehlers wrote:
>>>
>>>> On 2010-09-11 16:14, Dennis Murphy wrote:
>>>>>
>>>>> Hi Baptiste,
>>>>>
>>>>> You need to use the symbol("\nnn") concept, where nnn denotes the octal
>>>>> symbol number. For<  it's 074 and for>  it's 076. This little test
>>>>> seemed
>>>>> to
>>>>> work:
>>>>>
>>>>> plot(1, 1, main = expression(symbol("\074")~'x, y'~symbol("\076")))
>>>>>
>>>>> HTH,
>>>>> Dennis
>>>>
>>>> It's a matter of taste, but I would use "\341" and "\361".
>>>> However, these are still not scalable, AFAICS.
>>>
>>> Not exactly scalable angles, but you can fake it:
>>>
>>> plot(1, 1, main = expression(symbol("\341")~scriptstyle( atop(x,y)
>>> )~symbol("\361")), cex.main=3)
>>>
>>> scriptstyle shrinks the inner atop() material, and since I tested on a
>>> Mac
>>> it should work for Baptiste.
>>>
>>> --
>>> David.
>>>>
>>>>  -Peter Ehlers
>>>>
>>>>>
>>>>> On Sat, Sep 11, 2010 at 10:01 AM, baptiste auguie<
>>>>> baptiste.auguie at googlemail.com>  wrote:
>>>>>
>>>>>> What do people use to show angle brackets<  >  in R graphics? Have I
>>>>>> missed something obvious?
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> baptiste
>>>>>>
>>>>>> On 9 September 2010 17:57, baptiste auguie
>>>>>> <baptiste.auguie at googlemail.com>  wrote:
>>>>>>>
>>>>>>> Dear list,
>>>>>>>
>>>>>>> I read in ?plotmath that I can use bgroup to draw scalable delimiters
>>>>>>> such as [ ] and ( ). The same technique fails with<  >  however, and
>>>>>>> I
>>>>>>> cannot find a workaround,
>>>>>>>
>>>>>>> grid.text(expression(bgroup("<",atop(x,y),">")))
>>>>>>>
>>>>>>> Error in bgroup("<", atop(x, y),">") : invalid group delimiter
>>>>>>>
>>>>>>> Regards,
>>>>>>>
>>>>>>> baptiste
>>>>>>>
>>>>>>> sessionInfo()
>>>>>>> R version 2.11.1 (2010-05-31)
>>>>>>> x86_64-apple-darwin9.8.0
>>>
>>> David Winsemius, MD
>>> West Hartford, CT
>
>
>



More information about the R-help mailing list