blob: 1e9c50582e6af287578060cc31dafcda59c35aab (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
<meta http-equiv="Content-language" content="pl">
<meta name="Author" content="W³odzimierz Macewicz">
<title>Przyczyny k³opotów zwi±zanych ze zmian± warto¶ci parametrów sk³adu list</title>
</head>
<body bgcolor=#a0f0a0>
<h1>Przyczyny k³opotów zwi±zanych ze zmian± warto¶ci parametrów sk³adu list</h1>
<p>
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.</p>
<p>
Zdefiniowana makroinstrukcja <tt>\@listi</tt> jest
zapamiêtywana (makropodstawienie) pod nazw± <tt>\@listI</tt>.
<pre>
\def\normalsize{%
.
.
.
\let\@listi=\@listI
}
\def\@listi{%
.
.
.
}
\let\@listI=\@listi
</pre>
Ka¿dorazowa
zmiana fontu na <tt>\normalsize</tt> powoduje nadanie makroinstrukcji
<tt>\@listi</tt> warto¶ci zapamiêtanej w <tt>\@listI</tt>;
nastêpuje odtworzenie cia³a pierwotnie zdefiniowanej makroinstrukcji
(w której s± definiowane parametry opisuj±ce sk³ad listy)
<tt>\@listi</tt> -- <b>nale¿y
zmieniæ definicjê makroinstrukcji <tt>\@listI</tt>, a nie <tt>\@listi</tt>
</b>. W przypadku wywo³ania
makroinstrukcji <tt>\small</tt> lub <tt>\footnotesize</tt> jest jeszcze gorzej:
makroinstrukcja <tt>\@listi</tt> jest definiowana wewn±trz ww.
makroinstrukcji;
<pre>
\def\small{%
.
.
\def\@listi{%
.
.
.
}
}
</pre>
tzn. ka¿de u¿ycie <tt>\small</tt> lub <tt>footnotesize</tt>
spowoduje <b>ponowne</b> zdefiniowanie <tt>\@listi</tt> definiuj±cej
parametry sk³adu list.</p>
<p>
Je¶li chcemy mieæ wp³yw na parametry sk³adu nale¿y utworzyæ
w³asn± makroinstrukcjê <tt>\@listI</tt> oraz <tt>\small</tt>
i <tt>\footnotesize</tt> -- bêdziemy mieli wp³yw na sk³ad
listy na pierwszym poziomie oraz zdefiniowaã wìasne
<tt>\@listii</tt>, <tt>\@listiii</tt> ...,
aby nadaæ w³asne warto¶ci sk³adu na wy¿szych stopniach zagnie¿dzenia.</p>
<p>
Patrz
<a href=porzadek.html>Rozwi±zanie problemu modyfikacji parametrów</a><br>
</body>
</html>
|