Pakiet służy do określenia parametrów strony, podobnie jak vmargin.sty, ale w sposób bardziej intuicyjny.
Parametry możemy określać na dwa sposoby:
\usepackage[scale={0.7,0.8},nohead]{geometry}
\geometry{scale={0.7,0.8},nohead}
powyższą makroinstrukcję można używać wielokrotnie (kolejność
występowania definicji parametrów może mieć znaczenie
Pojęcia zdefiniowane nieco różnią się od znanych nam ze standardowego Latex-a:
| paper | - | całkowity rozmiar papieru | 
| total-body | - | obszar zadrukowany (zawiera nagłówek i stopkę oraz notki na marginesie) | 
| body | - | kolumna składu (może być podzielona na szpalty) | 
| margins | - | marginesy strony (odległość między obszarem drukowania (total-body), a krawędzią papieru) | 


| wartości parametrów | rezultat | ||||||
| left | width | right | left | width | right | ||
| top | height | bottom | top | height | bottom | ||
| * | * | * | m | l | m | domyślne | |
| A | * | * | A | R1 | A | balans | |
| * | * | A | A | R1 | A | balans | |
| * | A | * | R2 | A | R2 | centrowanie | |
| A | B | * | A | B | R3 | ||
| A | * | B | A | R3 | B | ||
| * | A | B | R3 | A | B | ||
| A | C | B | A | R3 | B | ||
Lista opcji:
| nazwa | znaczenie | 
|---|---|
| verbose | wyświetla komunikaty oraz obliczone (ustawione) parametry strony | 
| nohead | równoważne: headheight=0pt | 
| nofoot | równoważne: footskip=0pt | 
| noheadfoot | równoważne: footskip=0pt i headheight=0pt | 
| includemp | przy automatycznym ustalaniu szerokości łamu, na podstawie rozmiarów papieru uwzględniane jest miejsce na notatkę (wielkości marginparsep i marginparwidth) | 
| reversemp reversemarginpar | notka na marginesie pojawi się na przeciwległym marginesie (oczywiście uwzględniana jest opcja twoside) | 
| twoside | ustawia parametry strony tak, aby uwzględnić druk dwustronny (notki na marginesie pojawią się na zewnętrznych marginesach; będą również różne marginesy -- prawy i lewy) | 
| portrait | ustawia format strony w ,,pionie'' (ustawienie domyślne) | 
| landscape | ustawia format strony w ,,poziomie'' (zamienia szerokość z wysokością) | 
| dvips | przekazuje wartości określające wielkość strony do postscriptu -- wskazana jeśli dokument będzie przetwarzany via postscript | 
| pdftex | (tylko dla pdftex-a przekazuje wartości określające wielkość strony do pliku wynikowego .pdf -- ustawia \pdftexoutput=1 | 
| a0paper a1paper a2paper a3paper a4paper a5paper a6paper b1paper b2paper b3paper b4paper b5paper b6paper letterpaper executivepaper legalpaper | ustawia rozmiar papieru | 
| reset | ustawia wartości parametrów na domyślne (nie kasuje ustawionego rozmiaru paieru) | 
| paper=nazwa papername=nazwa | ustawia rozmiar papieru; np: paper=a4paper | 
| paperwidth=szerokość | ustala szerokość papieru | 
| paperheight=wysokość | ustala wysokość papieru | 
| width totalwidth | ustawia szerokość obszaru roboczego strony (total body -- patrz rysunek); jeśli równocześnie jest zdefiniowany parametr textwidth to definicja width jest ignorowana | 
| height totalheight | ustawia wysokość obszaru roboczego strony (total body -- patrz rysunek); jeśli równocześnie jest zdefiniowany parametr textheight to definicja height jest ignorowana | 
| left=szerokość lmargin=szerokość | ustala lewy margines strony (kompensowany jest zwyczajowy margines 1 cal ustawiany w programach drukujących) | 
| right=szerokość rmargin=szerokość | ustala prawy margines strony | 
| right=szerokość rmargin=szerokość | ustala prawy margines strony | 
| top=wysokość tmargin=wysokość | ustala górny margines strony (kompensowany jest zwyczajowy margines 1 cal ustawiany w programach drukujących) | 
| bottom=wysokość bmargin=wysokość | ustala dolny margines strony | 
| hscale=stosunek | określa stosunek szerokości obszaru roboczego (total body) do szerokości papieru | 
| vscale=stosunek | określa stosunek wysokości obszaru roboczego (total body) do wysokości papieru | 
| textwidth=szerokość | definiuje szerokość składu | 
| textheight=wysokość | definiuje wysokość składu (kolumny) | 
| marginparwidth=szerokość marginpar=szerokość | definiuje szerokość noty na marginesie | 
| marginparsep=odległość | odległość między tekstem, a notą | 
| headheight=wysokość head=wysokość | wysokość nagłówka | 
| headsep=odległość | odległość między tekstem, a nagłówkiem | 
| footskip=odległość foot=odległość | odległość między podstawą ostatniej linii tekstu na stronie (baseline), a podstawą ostatniej linii stopki | 
| hoffset=przesunięcie | dodatkowe przesunięcie całego drukowanego materiału w poziomie | 
| voffset=przesunięcie | dodatkowe przesunięcie całego drukowanego materiału w pionie | 
| twosideshift=odstęp | określa dodatkowy odstęp, który jest dodawany do lewego marginesu na stronach nieparzystych i prawego na stronach parzystych | 
| mag=skala | określa stosunek w jakim będą przeskalowane wszystkie rozmiary (również wielkość czcionki) -- 1000 oznacza wielkość naturalną (np. dla papieru a4 (a4paper) mag=1414 oznacza przeskalowanie rozmiaru strony do wielkości a3) | 
| papersize={szerokość,wysokość} | określenie rozmiarów papieru, poprzez jawne podanie obu parametrów | 
| total={szerokość,wysokość} | określenie rozmiaru roboczego (total body, patrz rysunek) | 
| body={szerokość,wysokość} text={szerokość,wysokość} | określenie rozmiaru kolumny składu (body) | 
| scale={skala x,skala y} scale={skala} | określenie obszaru roboczego (total body -- patrz rysunek) względem rozmiaru papieru | 
| hmargin={margines lewy,margines prawy} hmargin={margines} | określenie lewego i prawego marginesu | 
| vmargin={margines górny,margines dolny} vmargin={margines} | określenie lewego i prawego marginesu | 
| margin={marginesy poziome,marginesy pionowe} vmargin={marginesy} | określenie marginesów strony (jak łatwo się domyśleć oba (lub wszystkie cztery) marginesy są jednakowe) | 
| offset={przesunięcie poziome,przesunięcie pionowe} offset={przesunięcie} | dodatkowe przesunięcie całego drukowanego materiału | 
| hdivide={margines lewy, szerokość,margines prawy} | definicja parametrów strony (w poziomie) -- w przypadku podania wszystkich trzech parametrów, może wystąpić konflikt z określonym rozmiarem papieru, wartość parametru może być pusta lub zastąpiona znakiem * -- wtedy wartość jest obliczana na podstawie innych znanych parametrów | 
| vdivide={margines górny, wysokość,margines dolny} | definicja parametrów strony (w pionie) -- w przypadku podania wszystkich trzech parametrów, może wystąpić konflikt z określonym rozmiarem papieru, wartość parametru może być pusta lub zastąpiona znakiem * -- wtedy wartość jest obliczana na podstawie innych znanych parametrów | 
| divide={margines lewy/górny, szerokość/wysokość,margines prawy/dolny} | definicja parametrów strony (w poziomie i pionie) -- w przypadku podania wszystkich trzech parametrów, może wystąpić konflikt z określonym rozmiarem papieru, wartość parametru może być pusta lub zastąpiona znakiem * -- wtedy wartość jest obliczana na podstawie innych znanych parametrów | 
Pakiet nie umożliwia zmiany parametru określającego maksymalną wysokość obszaru zajmowanego przez przypisy; można go zmienić następującym poleceniem:
\setlength{\dimen\footins}{3cm}
(oczywiście zamiast 3 cm mozna wstawić dowolną wartość) oraz
odległości między tekstem, a przypisem; można go zmienić poleceniem:
\setlength{\skip\footins}{3cm}