| Polecenie | opis | 
|---|---|
| \newcounter{rejestr } | definicja nowego rejestru; jest on inicjowany wartością 0 | 
| \newcounter{rejestr }[inny rejestr ] | definicja nowego rejestru;
					jest on inicjowany wartością 0
					i staje się zależny od rejestru
					inny rejestr. Wykonanie
					polecenia \stepcounter{inny rejestr }lub\refstepcounter{inny rejestr }powoduje
				wyzerowanie rejestru rejestr | 
| \setcounter{rejestr }{wartość } | ustawienie wartości rejestru | 
| \addtocounter{rejestr }{wartość } | dodanie do rejestru rejestr wartości | 
| \stepcounter{rejestr } | incrementacja rejestru rejestr | 
| \refstepcounter{rejestr } | incrementacja rejestru
			rejestr;
		    jeżeli oznaczymy etykietą miejsce ( label), to
			wartością polecenia\refbędzie aktualna
			wartość rejestru | 
\therejestr\value{rejestr }, lub \therejestr )
oraz operatorów -, +, *, /. Działania wykonywane
są w kolejności zgodnej z przyjętymi zwyczajami. Możemy używać
notacji nawiasowej (()) do wymuszenia kolejności wykonania działań.
Przykład
\newcounter{x}
\newcounter{y}
\setcounter{x}{2}
\setcounter{y}{3}
\setcounter{y}{(\value{x} + 5) * \value{y}}
Wartością rejestru y jest \they.
Powyższa sekwencja daje następujący efekt: 
Oprócz działań na liczbach mamy możliwość dokonywania działań
na długościach. Długość może być podawana w jednostkach przyjętych
w TeX-u:
| Polecenie | opis | 
|---|---|
| sp | jednostka w której TeX prowadzi obliczenia (65536 sp = 1 pt) | 
| pt | punkt typograficzny (1/72.27 in = 0.351 mm | 
| bp | duży punkt (72 bp = 1 in); używany w postscripcie) | 
| dd | didot (1/72 cala francuskiego, = 0.376 mm) | 
| mm | milimetr (= 1.845 pt) | 
| pc | pica (=12 pt = 4.218 mm) | 
| cc | cicero (= 12 dd = 4.531 mm) | 
| cm | centymetr (=10 mm = 2.371 pc) | 
| in | cal (= 2.54 mm = 72.27 pt = 6.022 pc) | 
| ex | miara względna; wynika z wysokości litery xw
			aktualnie używanym foncie) | 
| em | miara względna; wynika z szerokości litery mw
			aktualnie używanym foncie) | 
| mu | jednostka używana we wzorach matematycznych (18 mu = 1 em) | 
| Polecenie | opis | 
|---|---|
| \newlength{\nazwa } | definicja nowego rejestru długości | 
| \setlength{\nazwa }{długość } | ustawienie wartości | 
| \addtolength{\nazwa }{długość } | dodanie do aktualnej wartości rejestru | 
| \settowidth{\nazwa }{tekst } | ustawienie wartości rejestru nazwa na wartość równą naturalnej szerokości tekstu tekst | 
| \settoheight{\nazwa }{tekst } | ustawienie wartości rejestru nazwa na wartość równą naturalnej wysokości tekstu tekst | 
Parametr długość  może być zdefiniowany za pomocą
wyrażenia arytmetycznego. Proszę pamiętać o sensie fizycznym wykonywanych
operacji (mają sens następujące operacje:
długość = długość + długość, 
długość = długość * liczba, 
liczba = \ratio{długość}{długość},
długość = długość / liczba). 
Operatorem
dzielenia długości przez długość jest makroinstrukcja
\ratio{długość }{długość }
a wartość rzeczywistą możemy uzyskać używając makroinstrukcji
\real{liczba rzeczywista }
której parametrem jest tekst będący liczbą rzeczywistą (zapis
z kropką dziesiętną).
Do dzielenia długości przez liczbę możemy używać znaku /.
Należy pamiętać że definicja wyrażenia powinna zaczynać się od
elementu będącego długością, a w wyniku kolejnych obliczeń wartościami
pośrednimi muszą być długości. Napis reprezentujący wartość rejestru
możemy uzyskać  poleceniem
\the\rejestr 1
Przyklad:
\newlength{\x}
\newlength{\y}
\setlength{\y}{5cm}
\settowidth{\x}{ala ma kota}
\setlength{\y}{3cm * \ratio{\y}{\x}}
Rejestr y ma wartość: \the\y
Powyższa sekwencja daje następujący efekt: 
Pakiet jest dostępny pod adresem:
ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/required/tools/calc.dtx
\
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.