Changes

Jump to navigation Jump to search
1,304 bytes added ,  16:48, 8 June 2020
no edit summary
< [[Main Page]] | [[Inside ConTeXt]] >
Countext ConTeXt provides a higher layer of API to access various counters. For example, to set the page number to a certain value use
<texcode>
\setnumber[page]{[1}]
</texcode>
\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, \type{\getnumber} worked.
}{
Using \type{\getnumber} does not work.
}
 
\doifelse{\rawcountervalue[mynumber]}{42}{
Ok, the test with \type{\rawcountervalue} worked.
}{
Strange, \type{\rawcountervalue} failed.
}
</texcode>
 
== Forcing the Reset of a Counter ==
Due to a current bug[http://www.mail-archive.com/ntg-context%40ntg.nl/msg78847.html], counters are reset by chapter, page, etc. only when they are incremented.
To force the reset, you can increment and then decrement a counter before using it.
<texcode>
\definecounter[mycounter][way=bypage]
\setcounter[mycounter][10]
\rawcountervalue[mycounter]
\page % new page, mycounter should be reset
\rawcountervalue[mycounter] % no, it's not reset: you still get '10'
 
\incrementcounter[mycounter]\decrementcounter[mycounter]
\rawcountervalue[mycounter] % now you should get '0' because it has been reset
</texcode>
 
== \definenumber or \definecounter ? ==
In ConTeXt MkIV {{cmd|definecounter}}, {{cmd|incrementcounter}}, etc. seem to be preferred to {{cmd|definenumber}}, {{cmd|incrementnumber}}, etc.
== Names of Commonly Used Counters ==
* <code>figure</code> for figures
 [[Category:Inside ConTeXtProgramming and Databases]][[Category:ConTeXt programmingTools]]

Navigation menu