Hide #:id something in the left panel column in scribble

hi,

another question in documenting infix in the prefix world of scribble :slightly_smiling_face:

@defform[#:id \: {T[begin : end]}]{
Slicing of vectors or strings.
}

@codeblock|{
{"elephant"[2 : 5]}
"eph"
}|

@defform[#:id :: {T[begin : end : step]}]{
begin,end,step are optional, see the Python language documentation for informations and use.
}

in the above code i wanted to make appear the : slice symbol in the left frame of the doc and it is ok but i do not want to see it anymore in the next defform, so i find a way to get rid of it: if i put a non existing symbol in my syntax ,that is :: as #:id :: ,effectively i get rid of it in the left column, i suppose scribble do some check and find it anormal.

but this is completely a hack not be sure to work in the next release of scribble

so my question is , is there a way to hide it in a more normal way?

regards,

Hi, @damien_mattei.

I only fiddled with this for a couple of minutes, so forgive my ignorance.

Maybe if you use a defform*?

@defform*[#:id :
          ({T[begin : end]}
           {T[begin : end : step]})]{
 Slicing of vectors or strings.
 @racket[begin], @racket[end], @racket[step] are optional, see the Python language documentation for informations and use.
}

@codeblock|{
{"elephant"[2 : 5]}
"eph"
}|

This shows the following when rendered:

I have never used this before, though, so take with salt to taste.

1 Like

Hi @bakgatviooldoos ,

thank for your help,grouping the doc lines in defform* seems the conventional presentation for racket doc, and perheaps i should do it like that,but the advantage,with my non conventional solution is i can present each options with his separate set of examples (and without presenting the : multiple times in the left frame):

i do not think it could be presented this way in scribble in a regular way indeed... :thinking:

I think #:link-target? #f should work.

Unless link-target?-expr is specified and produces #f, the id (or result of id-expr) is indexed, and it is also registered so that racket-typeset uses of the identifier (with the same for-label binding) are hyperlinked to this documentation.

2 Likes

yes this works, and it must be written before #:id which can then also be removed without causing the previous error:

@defform[#:link-target? #f  #:id \: {T[begin : end : step]}]{
@racket[begin], @racket[end], @racket[step]  are optional, see the Python language documentation for informations and use.
}