Difference between revisions of "Counters"
Jump to navigation
Jump to search
m (corrected misspelt ConTeXt name) |
|||
Line 48: | Line 48: | ||
<texcode> | <texcode> | ||
\definenumber[examplecounter][way=bytext,prefix=no] | \definenumber[examplecounter][way=bytext,prefix=no] | ||
+ | </texcode> | ||
+ | |||
+ | == Testing the Value of a Counter == | ||
+ | If you need to test the value of a counter, use \rawcountervalue, not \getnumber: | ||
+ | <texcode> | ||
+ | \definenumber[mynumber][] | ||
+ | \setnumber[mynumber][42] | ||
+ | \doifelse{\getnumber[mynumber]}{42}{ | ||
+ | Strange, {\tt getnumber} worked. | ||
+ | }{ | ||
+ | Using {\tt getnumber} does not work. | ||
+ | } | ||
+ | |||
+ | \doifelse{\rawcountervalue[mynumber]}{42}{ | ||
+ | Ok, the test with {\tt rawcountervalue} worked. | ||
+ | }{ | ||
+ | Strange, {\tt rawcountervalue} failed. | ||
+ | } | ||
</texcode> | </texcode> | ||
Revision as of 12:27, 27 June 2015
< Main Page | Inside ConTeXt >
ConTeXt provides a higher layer of API to access various counters. For example, to set the page number to a certain value use
\setnumber[page]{1}
Other useful commands for working with counters are
\resetnumber [page] \incrementnumber[page] \decrementnumber[page] \savenumber [page] \restorenumber [page] \getnumber [page]
Coupling Counters
Two counters can be coupled by
\definenumber[one] \definenumber[two][one]
For example
\definenumber[one] \definenumber[two][one] Default value of counter one: \getnumber[one] We increment counter two \incrementnumber[two] New value of counter one: \getnumber[one]
By default counters are reset with each new chapter. To have a counter which isn’t reset one needs “way=bytext" and to remove the chapter number from the \getnumber result one has to add “prefix=no”.
An example definition is
\definenumber[examplecounter][way=bytext,prefix=no]
Testing the Value of a Counter
If you need to test the value of a counter, use \rawcountervalue, not \getnumber:
\definenumber[mynumber][] \setnumber[mynumber][42] \doifelse{\getnumber[mynumber]}{42}{ Strange, {\tt getnumber} worked. }{ Using {\tt getnumber} does not work. } \doifelse{\rawcountervalue[mynumber]}{42}{ Ok, the test with {\tt rawcountervalue} worked. }{ Strange, {\tt rawcountervalue} failed. }
Names of Commonly Used Counters
page
for pagenumbersformula
for formulanumberstable
for tablesfigure
for figures