Open main menu

Changes

some restructuring and cleanup
<texcode>
\setnumbersetcounter[pageuserpage][1]
</texcode>
<texcode>
\resetnumber resetcounter [page] \incrementnumberincrementcounter[page] \decrementnumberdecrementcounter[page] \savenumber savecounter [page] \restorenumber restorecounter [page] %\getnumber getcounter [page] \rawcountervalue [page]
</texcode>
 
== Names of Commonly Used Counters ==
 
* <code>userpage</code> for visible pagenumbers
* <code>page</code> for internal pagenumbers
* <code>formula</code> for formula numbers
* <code>table</code> for table numbers
* <code>figure</code> for figure numbers
 
 
== Testing the Value of a Counter ==
 
If you need to test the value of a counter, use \rawcountervalue, not \getcounter:
 
<context source="yes" text="results in:">
\definecounter[mynumber][]
\setcounter[mynumber][42]
\doifelse{\getcounter[mynumber]}{42}{
Strange, \type{\getcounter} worked.
}{
Using \type{\getcounter} does not work.
}
 
\doifelse{\rawcountervalue[mynumber]}{42}{
Ok, the test with \type{\rawcountervalue} worked.
}{
Strange, \type{\rawcountervalue} failed.
}
</context>
 
In LMTX, {{cmd|getcounter}} seems to be generally defunct.
== Coupling Counters ==
<texcode>
\definenumberdefinecounter[one] \definenumberdefinecounter[two][one]
</texcode>
<context source="yes">
\definenumberdefinecounter[one]\definenumberdefinecounter[two][one]
Default value of counter one: \getnumberrawcountervalue[one]
We increment counter two
\incrementnumberincrementcounter[two]
New value of counter one: \getnumberrawcountervalue[one]
</context>
By default counters are reset with each new chapter. To have a counter which isn’t reset one needs “wayyou need `way=bytext" `, and to remove the chapter number from the \getnumber getcounter result one has you have to add “prefix`prefix=no”no`.
An example Example definition is:
<texcode>
\definenumberdefinecounter[examplecounter][way=bytext,prefix=no]
</texcode>
== Testing Outdated information == === Forcing the Value Reset 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{\rawcountervalueIn [mynumberhttp://www.mail-archive.com/ntg-context%40ntg.nl/msg78847.html 2015]}{42}{ Ok, the test with \type{\rawcountervalue} workedthere was a bug that counters were reset (by chapter, page, etc.}{ Strange, \type{\rawcountervalue} failed) only when they were incremented.}</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>
</texcode>
=== \definenumber or \definecounter ? ===In ConTeXt MkIV {{cmd|definecounterdefinenumber}}, {{cmd|incrementcounter}}, etc. seem to be preferred to are obsolete aliases for {{cmd|definenumber}}, {{cmd|incrementnumberdefinecounter}}, etc. == Names of Commonly Used Counters == * <code>page</code> for pagenumbers* <code>formula</code> for formulanumbers* <code>table</code> for tables* <code>figure</code> for figures
[[Category:Programming and Databases]]
[[Category:Tools]]