Verbatim typing with numbers inside float
Hi list, I defined a float for typesetting algorithms, so I can reference them at other places in the document. \definefloat[algorithm][algorithms] When I now place such a figure with \placealgorithm[here][alg:myalgorithm]{Very neat algorithm.}{ \starttyping some source code \stoptyping } then the numbering I set up with \setuptyping[numbering=line] \setuplinenumbering[location=text] is gone. Is there a way to get around this? I try to not use itemize for this (although it seems to work with itemize), because I'd rather use the more semantically correct approach. Any help appreciated. Thanks in advance, Stefan.
On 6-10-2010 4:26, Stefan Müller wrote:
Hi list,
I defined a float for typesetting algorithms, so I can reference them at other places in the document.
\definefloat[algorithm][algorithms]
When I now place such a figure with
\placealgorithm[here][alg:myalgorithm]{Very neat algorithm.}{ \starttyping some source code \stoptyping }
then the numbering I set up with
\setuptyping[numbering=line] \setuplinenumbering[location=text]
is gone. Is there a way to get around this? I try to not use itemize for this (although it seems to work with itemize), because I'd rather use the more semantically correct approach. Any help appreciated.
needs a bit of thinking ... (deeply burried numbering) ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
On 6-10-2010 4:26, Stefan Müller wrote:
Hi list,
I defined a float for typesetting algorithms, so I can reference them at other places in the document.
\definefloat[algorithm][algorithms]
When I now place such a figure with
\placealgorithm[here][alg:myalgorithm]{Very neat algorithm.}{ \starttyping some source code \stoptyping }
then the numbering I set up with
\setuptyping[numbering=line] \setuplinenumbering[location=text]
is gone. Is there a way to get around this? I try to not use itemize for this (although it seems to work with itemize), because I'd rather use the more semantically correct approach. Any help appreciated.
this sort of works \startbuffer some source code some source code some source code \stopbuffer \setuplinenumbering[style=\ttx,distance=0em,width=1em] \startsetups algorithm \startlinenumbering \setuptyping[file][before=,after=] \framed[strut=no,align=normal,frame=off]{\typebuffer} \stoplinenumbering \stopsetups \placealgorithm [here][alg:myalgorithm] {Very neat algorithm.} {\directsetup{algorithm}} ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
On 06.10.2010 22:24, Hans Hagen wrote:
On 6-10-2010 4:26, Stefan Müller wrote:
Hi list,
I defined a float for typesetting algorithms, so I can reference them at other places in the document.
\definefloat[algorithm][algorithms]
When I now place such a figure with
\placealgorithm[here][alg:myalgorithm]{Very neat algorithm.}{ \starttyping some source code \stoptyping }
then the numbering I set up with
\setuptyping[numbering=line] \setuplinenumbering[location=text]
is gone. Is there a way to get around this? I try to not use itemize for this (although it seems to work with itemize), because I'd rather use the more semantically correct approach. Any help appreciated.
this sort of works
\startbuffer some source code some source code some source code \stopbuffer
\setuplinenumbering[style=\ttx,distance=0em,width=1em]
\startsetups algorithm \startlinenumbering \setuptyping[file][before=,after=] \framed[strut=no,align=normal,frame=off]{\typebuffer} \stoplinenumbering \stopsetups
\placealgorithm [here][alg:myalgorithm] {Very neat algorithm.} {\directsetup{algorithm}}
----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
Thank you very much for your effort. Pretty amazing what's doable. Unfortunately there are two issues: The distance between numbers and source lines is too small for bigger line numbers. I just have to make "distance=0em" big enough for this to work, right? The other thing: The width available for the caption is capped by the width of the longest source line. I think I prefer the source lines to start at the left margin. In addition there is something else I didn't think of when I put up that mail (sorry for that). If I put (a very long piece) source inside a figure I won't have pagebreaks, right? So this makes me think it's probably not what I'm looking for. Splitting up long source code in several pieces (one per page) and put them in separate figures doesn't seem right to me. Setting it as numbered paragraph? Putting up a fake caption with \placefloatcaption (which doesn't seem to work in MkIV)? Are there other possiblities of numbering (by section) more or less big chunks of source code I'm not thinking of? That would help me very much. Thanks for thinking about that. Best regards, Stefan.
On 7-10-2010 12:02, Stefan Müller wrote:
Thank you very much for your effort. Pretty amazing what's doable. Unfortunately there are two issues: The distance between numbers and source lines is too small for bigger line numbers. I just have to make "distance=0em" big enough for this to work, right?
or width .. just experiment with values
The other thing: The width available for the caption is capped by the width of the longest source line. I think I prefer the source lines to start at the left margin.
you could move the framed to the right (\hskip1em or so) but on the other hand it might look more consistent if the numbers stick into some virtual margin
In addition there is something else I didn't think of when I put up that mail (sorry for that). If I put (a very long piece) source inside a figure I won't have pagebreaks, right? So this makes me think it's probably not what I'm looking for.
no page breaks indeed (at least not now in such cases)
Splitting up long source code in several pieces (one per page) and put them in separate figures doesn't seem right to me. Setting it as numbered paragraph? Putting up a fake caption with \placefloatcaption (which doesn't seem to work in MkIV)? Are there other possiblities of numbering (by section) more or less big chunks of source code I'm not thinking of? That would help me very much. Thanks for thinking about that.
you can make your own construct, maybe something with a background (textbackgrounds can cross pages) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
On Thursday 07 October 2010 09:19:42 Hans Hagen wrote:
On 7-10-2010 12:02, Stefan Müller wrote:
Splitting up long source code in several pieces (one per page) and put them in separate figures doesn't seem right to me. Setting it as numbered paragraph? Putting up a fake caption with \placefloatcaption (which doesn't seem to work in MkIV)? Are there other possiblities of numbering (by section) more or less big chunks of source code I'm not thinking of? That would help me very much. Thanks for thinking about that.
you can make your own construct, maybe something with a background (textbackgrounds can cross pages)
Hello, I use textbackgrounds to set-off paragraphs, for example, here as secondary material. It does not float and, indeed, may flow over many pages. This is a concrete example (to which you could add line numbering): \definetextbackground [secondary] [location=paragraph, background=color,backgroundscreen=middlegray, leftoffset=0.5cm,rightoffset=0.5cm, topoffset=.25ex,bottomoffset=.25ex, before={\blank[small]\switchtobodyfont[script]}, after={\blank[small]}, frame=off] \kindofpagetextareas3 % fix from Hans % Indeed, there are several internal methods available % for managing text areas. Without this fix, the background % color bleeds over footnotes and floats external to the % secondary material. \startsecondary Here is some less interesting detailed stuff that can be skipped if you wish… \stopsecondary Alan
On 07.10.2010 09:35, Alan BRASLAU wrote:
On Thursday 07 October 2010 09:19:42 Hans Hagen wrote:
On 7-10-2010 12:02, Stefan Müller wrote:
Splitting up long source code in several pieces (one per page) and put them in separate figures doesn't seem right to me. Setting it as numbered paragraph? Putting up a fake caption with \placefloatcaption (which doesn't seem to work in MkIV)? Are there other possiblities of numbering (by section) more or less big chunks of source code I'm not thinking of? That would help me very much. Thanks for thinking about that.
you can make your own construct, maybe something with a background (textbackgrounds can cross pages)
Hello,
I use textbackgrounds to set-off paragraphs, for example, here as secondary material. It does not float and, indeed, may flow over many pages.
This is a concrete example (to which you could add line numbering):
\definetextbackground [secondary] [location=paragraph, background=color,backgroundscreen=middlegray, leftoffset=0.5cm,rightoffset=0.5cm, topoffset=.25ex,bottomoffset=.25ex, before={\blank[small]\switchtobodyfont[script]}, after={\blank[small]}, frame=off] \kindofpagetextareas3 % fix from Hans % Indeed, there are several internal methods available % for managing text areas. Without this fix, the background % color bleeds over footnotes and floats external to the % secondary material.
\startsecondary Here is some less interesting detailed stuff that can be skipped if you wish… \stopsecondary
Alan
Thanks, this is pretty nice. I'm going to use something like that inside an "algorithm enumeration", so I get the number I can reference to. This is better than the floating-approach, I think. Thanks for the ideas, Stefan.
participants (3)
-
Alan BRASLAU
-
Hans Hagen
-
Stefan Müller