calc

Pakiet zawiera makroinstrukcje rozszerzaj�ce zakres dzia�a� na rejestrach. Mamy do dyspozycji nast�puj�ce polecenia:
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 \ref b�dzie aktualna warto�� rejestru
Napis reprezentuj�cy warto�� rejestru mo�emy uzyska� wywo�uj�c polecenie
\therejestr
(zamiast okre�lenia rejestr  nale�y u�y� nazwy w�a�ciwego rejestru). Definiuj�c warto�� rejestru (parametr warto�� ) mo�emy u�ywa� liczb ca�kowitych, warto�ci innych rejestr�w (mo�liwych do uzyskania poleceniem \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 x w aktualnie u�ywanym foncie)
em miara wzgl�dna; wynika z szeroko�ci litery m w 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


1 Prosz� zwr�ci� uwag� �e parametr okre�laj�cy nazw� rejestru d�ugo�ci zaczyna si� znakiem \
W�odzimierz Macewicz
Ostatnie zmiany: 05.05.2014.