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

mirror server hosted at Truenetwork, Russian Federation.