Author: Włodzimierz Macewicz

# Rozwiązanie problemu modyfikacji parametrów

Proponuję utworzenie własnych definicji makroinstrukcji zmieniających parametry. Przy okazji ustalę wartości parametrów na takie, które są akceptowalne w polskich wydawnictwach.

Uwaga! Wartości są określane dla dokumentu składanego czcionką 11pt. Dla standardowych typów dokumentu, wartości parametrów są zawarte w zbiorach: `size10.clo`, `size11.clo`, `size12.clo`.

    \makeatletter
    \renewcommand\normalsize{%
       \@setfontsize\normalsize\@xipt{13.6}%
       \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@
       \abovedisplayshortskip \z@ \@plus3\p@
       \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
       \belowdisplayskip \abovedisplayskip
       \let\@listi\@listN}

    \renewcommand\small{%
       \@setfontsize\small\@xpt\@xiipt
       \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
       \abovedisplayshortskip \z@ \@plus3\p@
       \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
       \belowdisplayskip \abovedisplayskip
       \let\@listi\@listS}

    \renewcommand\footnotesize{%
       \@setfontsize\footnotesize\@ixpt{11}%
       \abovedisplayskip 8\p@ \@plus2\p@ \@minus4\p@
       \abovedisplayshortskip \z@ \@plus\p@
       \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
       \belowdisplayskip \abovedisplayskip
       \let\@listi\@listF}
    \makeatother

Powyższe makroinstrukcje mają podobną budowę, wykorzystując ten sam mechanizm zmiany parametrów; Makroinstrukcje `\@listN`, `\@listS` i `\@listF` definiują niektóre parametry dla poziomów wyższych (marginesy), które są używane wewnątrz makroinstrukcji definiujących wartości parametrów dla wyższych poziomów.

    \makeatletter
    \def\@listN{%
    	    \listparindent 1.5em%
    	    \leftmargini 1.5em%
    	    \leftmarginii 1.5em%
    	    \leftmarginiii 1.5em%
    	    \leftmarginiv 1.5em%
    	    \leftmarginv 1.5em%
    	    \leftmarginvi 1.5em%
    	    \labelsep .5em%
    	    \labelwidth\leftmargini%
    	    \advance\labelwidth-\labelsep%
    	    \leftmargin\leftmargini%			listi normal%
    	    \topsep 1.5pt plus 0.5pt minus 0.5pt%
    	    \parsep 0.0pt plus 0.2pt minus 0.1pt%
    	    \partopsep 0.5pt plus 0.5pt minus 0.1pt%
    	    \itemsep 0.0pt plus 0.2pt minus 0.1pt}%
    \def\@listS{%
    	    \listparindent 1.5em%
    	    \leftmargini 1.5em%
    	    \leftmarginii 1.5em%
    	    \leftmarginiii 1.5em%
    	    \leftmarginiv 1.5em%
    	    \leftmarginv 1.5em%
    	    \leftmarginvi 1.5em%
    	    \labelsep .5em%
    	    \labelwidth\leftmargini%
    	    \advance\labelwidth-\labelsep%
    	    \leftmargin\leftmargini%
    	    \topsep 1pt plus 0.2pt minus 0.2pt%
    	    \parsep 0.0pt plus 0.2pt minus 0.1pt%
    	    \partopsep 0.5pt plus 0.2pt minus 0.1pt%
    	    \itemsep \parsep}%
    \def\@listF{%
    	    \listparindent 1.5em%
    	    \leftmargini 1.5em%
    	    \leftmarginii 1.5em%
    	    \leftmarginiii 1.5em%
    	    \leftmarginiv 1.5em%
    	    \leftmarginv 1.5em%
    	    \leftmarginvi 1.5em%
    	    \labelsep .5em%
    	    \labelwidth\leftmargini%
    	    \advance\labelwidth-\labelsep%
    	    \leftmargin\leftmargini%
    	    \topsep 0pt plus 0.0pt minus 0.0pt%
    	    \parsep 0.0pt plus 0.0pt minus 0.0pt%
    	    \partopsep 0.0pt plus 0.0pt minus 0.0pt%
    	    \itemsep \parsep}%
    \def\@listii{%
    	    \listparindent 1em%
    	    \leftmargin\leftmarginii%
    	    \labelwidth\leftmarginii%
    	    \labelsep .5em%
    	    \advance\labelwidth-\labelsep%
    	    \topsep 1pt plus 0.1pt minus 0pt%
    	    \parsep 0.0pt plus 0.1pt minus 0pt%
    	    \partopsep 0.5pt
    	    \itemsep \parsep}%
    \def\@listiii{%
    	    \listparindent 1em%
    	    \leftmargin\leftmarginiii%
    	    \labelwidth\leftmarginiii%
    	    \labelsep .5em%
    	    \advance\labelwidth-\labelsep%
    	    \topsep 0pt
    	    \parsep 0pt
    	    \partopsep 0pt
    	    \itemsep \topsep}%
    \def\@listiv{%
    	    \listparindent 1em%
    	    \leftmargin\leftmarginiv%
    	    \labelwidth\leftmarginiv%
    	    \labelsep .5em%
    	    \advance\labelwidth-\labelsep%
    	    \topsep 0pt%
    	    \parsep 0pt%
    	    \partopsep 0pt%
    	    \itemsep \topsep}%
    \def\@listv{%
    	    \listparindent 1em%
    	    \leftmargin\leftmarginv%
    	    \labelwidth\leftmarginv%
    	    \labelsep .5em%
    	    \advance\labelwidth-\labelsep%
    	    \topsep 0pt%
    	    \parsep 0pt%
    	    \partopsep 0pt%
    	    \itemsep \topsep}%
    \def\@listvi{%
    	    \listparindent 1em%
    	    \leftmargin\leftmarginvi%
    	    \labelwidth\leftmarginvi%
    	    \labelsep .5em%
    	    \advance\labelwidth-\labelsep%
    	    \topsep 0pt%
    	    \parsep 0pt%
    	    \partopsep 0pt%
    	    \itemsep \topsep}%
    \normalsize
    \makeatother