summaryrefslogtreecommitdiff
path: root/info/tex-virtual-academy-pl/latex2e/macro/ifthen.html
blob: bf93492eeafa6ccf9ae79067fa47a9502bff3363 (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
76
77
78
79
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
<title> Zastaw ciekawych makroinstrukcji </title>
<LINK REL="stylesheet" TYPE="text/css" HREF="mycss.css">
<meta http-equiv="Content-language" content="pl">
<meta name="Author" content="W³odzimierz Macewicz">
<meta name="Keywords" content="tex, latex, makroinstrukcje, pakiety makroinstrukcji, Wirtualna Akademia">
</head>
<body bgcolor=#a0f0a0>
<h2>ifthen</h2> 
Definiuje makroinstrukcje do przetwarzania warunkowego<br>
<code>\ifthenelse{<i>test</i>}{<i>je¶li prawda</i>}{<i>je¶li fa³sz</i>}</code><br>
ci±g <i>je¶li prawda</i> zostanie zrealizowany, je¶li warto¶æ <i>test</i>
bêdzie ,,prawd±'' (<code>true</code>), w przeciwnym wypadku zostanie zrealizowany
ci±g <i>je¶li fa³sz</i>.

<p>
Zdefiniowane s± nastêpuj±ce makroinstrukcje i relacje:
<table border=1>
<tr><td><tt>=</tt> </td><td>sprawdzenie równo¶ci warto¶ci numerycznej</td></tr>
<tr><td><tt>&lt;</tt></td><td> mniejszy</td></tr>
<tr><td><tt>&gt;</tt></td><td> wiêkszy
    <pre>
    \newcommand{\toEng}[1]{%
    \the\value{#1}%
    \ifthenelse{\value{#1} = 1}{$^{\hbox{st}}$}{}%
    \ifthenelse{\value{#1} = 2}{$^{\hbox{nd}}$}{}%
    \ifthenelse{\value{#1} = 3}{$^{\hbox{rd}}$}{}%
    \ifthenelse{\value{#1} > 3}{$^{\hbox{st}}$}{}}%
    This is the \toEng{section} section.
    </pre>
    Daje nastêpuj±cy efekt: This is the <img src=ifthen1.gif> section.</td></tr>
<tr><td><code>\equal{str1}{str2}</code></td><td> porównanie dwóch ci±gów znaków</td></tr>
<tr><td><code>\boolean{warto¶æ logiczna}</code> </td><td> sprawdzenie warto¶ci
			zmiennej logicznej (np. <code>\boolean{mmode}</code> ---
			czy aktualnym modem jest mod matematyczny).</td></tr>
<tr><td><code>\lengthtest{test}</code></td><td> s³u¿y do porównania warto¶ci
			definiowanych przez polecenie <code>\setlength</code>;
			wewnêtrz mog± byæ u¿ywane znaki <code>></code>, <code><</code> i
					<code>=</code></td></tr>
<tr><td><code>\isodd{liczba}</code></td><td> czy warto¶æ jest parzysta;</td></tr>
<tr><td><code>\whiledo{test}{dopoki prawda}</code></td><td> umo¿liwia zdefiniowanie
		pêtli np.
		<pre>
\newcounter{count}
\setcounter{count}{1}
\whiledo{\value{count} < 5}{%
    the hour is \toEng{count}{} h.\\%
    \stepcounter{count}}
		</pre>
		daje poni¿szy efekt:<br>
		<img src=ifthen2.gif>
			</td></tr>
<tr><td><code>\newboolean{nazwa}</code></td><td> zdefiniowanie nowej zmiennej logicznej;
				warto¶æ jest ustawiana na <code>false</code>
<tr><td><code>\setboolean{nazwa}{warto¶æ}</code> </td><td> ustawienie warto¶ci 
			zmiennej logicznej</td></tr>
</table><br>
dodatkowo w parametrze definiuj±cym warunek mo¿na u¿ywaæ operatorów
logicznych:
<dl>
<dt><code>\and</code>
<dt><code>\or</code>
<dt><code>\not</code>
</dl>
oraz nawiasów
<dl>
<dt><code>\(</code>  -- otwarcie struktury
<dt><code>\)</code>  -- zamkniêcie struktury
</dl>

<hr>
<em>W³odzimierz Macewicz</em>
<hr>
Ostatnie zmiany: 05.05.2014.

</body>
</html>