Przyczyny kłopotów związanych ze zmianą wartości parametrów składu list

Jeśli chcemy zmienić parametry należy zmienić definicję odpowiedniej makroinstrukcji, ustawianie lokalnie wartości parametru nie spowoduje pożądanych efektów. Ze względu na nieco pokrętny sposób definiowania parametrów możemy mieć kłopoty z ustawieniem wartości nam odpowiadających.

Zdefiniowana makroinstrukcja \@listi jest zapamiętywana (makropodstawienie) pod nazwą \@listI.

\def\normalsize{%
.
.
.
\let\@listi=\@listI
}
\def\@listi{%
    .
    .
    .
}
\let\@listI=\@listi
Każdorazowa zmiana fontu na \normalsize powoduje nadanie makroinstrukcji \@listi wartości zapamiętanej w \@listI; następuje odtworzenie ciała pierwotnie zdefiniowanej makroinstrukcji (w której są definiowane parametry opisujące skład listy) \@listi -- należy zmienić definicję makroinstrukcji \@listI, a nie \@listi . W przypadku wywołania makroinstrukcji \small lub \footnotesize jest jeszcze gorzej: makroinstrukcja \@listi jest definiowana wewnątrz ww. makroinstrukcji;
\def\small{%
    .
    .
    \def\@listi{%
      .
      .
      .
      }
}      
tzn. każde użycie \small lub footnotesize spowoduje ponowne zdefiniowanie \@listi definiującej parametry składu list.

Jeśli chcemy mieć wpływ na parametry składu należy utworzyć własną makroinstrukcję \@listI oraz \small i \footnotesize -- będziemy mieli wpływ na skład listy na pierwszym poziomie oraz zdefiniowaă wěasne \@listii, \@listiii ..., aby nadać własne wartości składu na wyższych stopniach zagnieżdzenia.

Patrz Rozwiązanie problemu modyfikacji parametrów