Difference between revisions of "Collectors"
Jump to navigation
Jump to search
(Created a page on this complicated feature. It will need to be enriched with experience.) |
|||
Line 14: | Line 14: | ||
\definecollector[example] | \definecollector[example] | ||
\setcollector [example] { \externalfigure[cow][width=4cm,frame=on] } | \setcollector [example] { \externalfigure[cow][width=4cm,frame=on] } | ||
− | \setcollector [example] [corner={right,bottom},location={ | + | \setcollector [example] [corner={right,bottom},location={left,top}] |
{\framed{1}} | {\framed{1}} | ||
− | \setcollector [example] [corner={right,top},location={ | + | \setcollector [example] [corner={right,top},location={left,bottom}] |
{\framed{2}} | {\framed{2}} | ||
− | \setcollector [example] [corner={left,top},location={ | + | \setcollector [example] [corner={left,top},location={right,bottom}] |
{\framed{3}} | {\framed{3}} | ||
− | \setcollector [example] [corner={left,bottom},location={ | + | \setcollector [example] [corner={left,bottom},location={right,top}] |
{\framed{4}} | {\framed{4}} | ||
Line 33: | Line 33: | ||
\definecollector[example] | \definecollector[example] | ||
\setcollector [example] { \externalfigure[cow][width=4cm,frame=on] } | \setcollector [example] { \externalfigure[cow][width=4cm,frame=on] } | ||
− | \setcollector [example] [corner={right,bottom},location={ | + | \setcollector [example] [corner={right,bottom},location={left,top}] |
{\framed{1}} | {\framed{1}} | ||
− | \setcollector [example] [corner={right,top},location={ | + | \setcollector [example] [corner={right,top},location={left,bottom}] |
{\framed{2}} | {\framed{2}} | ||
− | \setcollector [example] [corner={left,top},location={ | + | \setcollector [example] [corner={left,top},location={right,bottom}] |
{\framed{3}} | {\framed{3}} | ||
− | \setcollector [example] [corner={left,bottom},location={ | + | \setcollector [example] [corner={left,bottom},location={right,top}] |
{\framed{4}} | {\framed{4}} | ||
\composedcollector{example} | \composedcollector{example} | ||
+ | </context> | ||
+ | |||
+ | There is no confusion if the added text is placed within the first object. However, | ||
+ | |||
+ | <texcode> | ||
+ | \starttext | ||
+ | |||
+ | \definecollector[example2] | ||
+ | \setcollector [example2] { \externalfigure[cow][width=4cm,frame=on] } | ||
+ | \setcollector [example2] [corner={right,bottom},location={right,bottom}] | ||
+ | {\framed{1}} | ||
+ | \setcollector [example2] [corner={right,top},location={right,top}] | ||
+ | {\framed{2}} | ||
+ | \setcollector [example2] [corner={left,top},location={left,top}] | ||
+ | {\framed{3}} | ||
+ | \setcollector [example2] [corner={left,bottom},location={left,bottom}] | ||
+ | {\framed{4}} | ||
+ | |||
+ | \startTEXpage | ||
+ | \composedcollector{example2} | ||
+ | \stopTEXpage | ||
+ | |||
+ | \stoptext | ||
+ | </texcode> | ||
+ | |||
+ | <context> | ||
+ | \definecollector[example2] | ||
+ | \setcollector [example2] { \externalfigure[cow][width=4cm,frame=on] } | ||
+ | \setcollector [example2] [corner={right,bottom},location={right,bottom}] | ||
+ | {\framed{1}} | ||
+ | \setcollector [example2] [corner={right,top},location={right,top}] | ||
+ | {\framed{2}} | ||
+ | \setcollector [example2] [corner={left,top},location={left,top}] | ||
+ | {\framed{3}} | ||
+ | \setcollector [example2] [corner={left,bottom},location={left,bottom}] | ||
+ | {\framed{4}} | ||
+ | |||
+ | \composedcollector{example2} | ||
</context> | </context> | ||
Notice that the size of the collected object grows as text is added. | Notice that the size of the collected object grows as text is added. | ||
As a consequence, the positions of the corners get redefined as the bounding box grows. | As a consequence, the positions of the corners get redefined as the bounding box grows. |
Revision as of 09:31, 16 January 2009
< Layout | Columns | Overlays | Logos | Layers >
Collectors are an alternative to overlays that can be used to build-up composite objects. Layers on the other hand, are used to define whole pages. See the details manual for further explanations.
Example
Adding labels to a figure.
\starttext \definecollector[example] \setcollector [example] { \externalfigure[cow][width=4cm,frame=on] } \setcollector [example] [corner={right,bottom},location={left,top}] {\framed{1}} \setcollector [example] [corner={right,top},location={left,bottom}] {\framed{2}} \setcollector [example] [corner={left,top},location={right,bottom}] {\framed{3}} \setcollector [example] [corner={left,bottom},location={right,top}] {\framed{4}} \startTEXpage \composedcollector{example} \stopTEXpage \stoptext
There is no confusion if the added text is placed within the first object. However,
\starttext \definecollector[example2] \setcollector [example2] { \externalfigure[cow][width=4cm,frame=on] } \setcollector [example2] [corner={right,bottom},location={right,bottom}] {\framed{1}} \setcollector [example2] [corner={right,top},location={right,top}] {\framed{2}} \setcollector [example2] [corner={left,top},location={left,top}] {\framed{3}} \setcollector [example2] [corner={left,bottom},location={left,bottom}] {\framed{4}} \startTEXpage \composedcollector{example2} \stopTEXpage \stoptext
Notice that the size of the collected object grows as text is added. As a consequence, the positions of the corners get redefined as the bounding box grows.