File: calc.html

package info (click to toggle)
texlive-lang 2018.20190227-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 1,175,732 kB
  • sloc: perl: 58,868; xml: 39,109; makefile: 4,050; sh: 4,033; python: 2,969; ansic: 2,846; ruby: 1,003; lisp: 714; awk: 636; java: 159; sed: 142; csh: 25; cpp: 12
file content (189 lines) | stat: -rw-r--r-- 6,790 bytes parent folder | download | duplicates (7)
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
<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="Wodzimierz Macewicz">
<meta name="Keywords" content="tex, latex, makroinstrukcje, pakiety makroinstrukcji, Wirtualna Akademia">
</head>
<body bgcolor=#a0f0a0>
<h2><a name=calc>calc</a></h2>

Pakiet zawiera makroinstrukcje rozszerzajce zakres dziaa
na rejestrach. Mamy do dyspozycji nastpujce polecenia:<br>

<table border=1>
<tr><th>
Polecenie </th><th> opis</th></tr>
<tr><td>
<code>\newcounter{<i>rejestr</i>&nbsp;}</code> </td><td> definicja nowego
rejestru; jest on inicjowany wartoci 0</td></tr>
<tr><td>
<code>\newcounter{<i>rejestr</i>&nbsp;}[<i>inny&nbsp;rejestr</i>&nbsp;]</code> </td><td>
					definicja nowego rejestru;
					jest on inicjowany wartoci 0
					i staje si zaleny od rejestru
					<i>inny rejestr</i>. Wykonanie
					polecenia
		<code>\stepcounter{<i>inny&nbsp;rejestr</i>&nbsp;}</code> lub
		<code>\refstepcounter{<i>inny&nbsp;rejestr</i>&nbsp;}</code>
					powoduje
				wyzerowanie rejestru <i>rejestr</i>&nbsp;</td></tr>
<tr><td>
<code>\setcounter{<i>rejestr</i>&nbsp;}{<i>warto</i>&nbsp;}</code> </td><td> ustawienie wartoci
					rejestru</td></tr>
<tr><td>
<code>\addtocounter{<i>rejestr</i>&nbsp;}{<i>warto</i>&nbsp;}</code> </td><td>
			dodanie do rejestru <i>rejestr</i>&nbsp; wartoci</td></tr>
<tr><td>
<code>\stepcounter{<i>rejestr</i>&nbsp;}</code> </td><td> incrementacja rejestru
					<i>rejestr</i>&nbsp;</td></tr>
<tr><td>
<code>\refstepcounter{<i>rejestr</i>&nbsp;}</code> </td><td> incrementacja rejestru
			<i>rejestr</i>;
		    jeeli oznaczymy etykiet miejsce (<code>label</code>), to
			wartoci polecenia <code>\ref</code>  bdzie aktualna
			warto rejestru</td></tr>
</table>

Napis reprezentujcy warto rejestru moemy uzyska wywoujc
polecenie<br>
<code>\the</code><i>rejestr</i><br>
(zamiast okrelenia <i>rejestr</i>&nbsp;
naley uy nazwy waciwego rejestru).

Definiujc warto rejestru (parametr <i>warto</i>&nbsp;) moemy uywa liczb
cakowitych, wartoci innych rejestrw (moliwych do uzyskania
poleceniem <code>\value{<i>rejestr</i>&nbsp;}</code>, lub <code>\the<i>rejestr</i>&nbsp;</code>)
oraz operatorw <code>-</code>, <code>+</code>, <code>*</code>, <code>/</code>. Dziaania wykonywane
s w kolejnoci zgodnej z przyjtymi zwyczajami. Moemy uywa
notacji nawiasowej (<code>()</code>) do wymuszenia kolejnoci wykonania dziaa.

<p>
<b>Przykad</b>
<pre>
\newcounter{x}
\newcounter{y}
\setcounter{x}{2}
\setcounter{y}{3}
\setcounter{y}{(\value{x} + 5) * \value{y}}

Wartoci rejestru y jest \they.
</pre>

Powysza sekwencja daje nastpujcy efekt:<br clear=all>
<img src=calc1.gif>


<p>Oprcz dziaa na liczbach mamy moliwo dokonywania dziaa
na dugociach. Dugo moe by podawana w jednostkach przyjtych
w TeX-u:<br>

<table border=1>
<tr><th>
Polecenie </th><th> opis</th></tr>
<tr><td>
sp </td><td> jednostka w ktrej TeX prowadzi obliczenia
					(65536&nbsp;sp = 1&nbsp;pt) </td></tr>
<tr><td>
pt </td><td> punkt typograficzny (1/72.27&nbsp;in = 0.351&nbsp;mm </td></tr>
<tr><td>
bp </td><td> duy punkt (72&nbsp;bp = 1&nbsp;in); uywany w postscripcie) </td></tr>
<tr><td>
dd </td><td> didot (1/72 cala francuskiego, = 0.376&nbsp;mm) </td></tr>
<tr><td>
mm </td><td> milimetr (= 1.845&nbsp;pt) </td></tr>
<tr><td>
pc </td><td> pica (=12&nbsp;pt = 4.218&nbsp;mm) </td></tr>
<tr><td>
cc </td><td> cicero (= 12&nbsp;dd = 4.531&nbsp;mm) </td></tr>
<tr><td>
cm </td><td> centymetr (=10&nbsp;mm = 2.371&nbsp;pc) </td></tr>
<tr><td>
in </td><td> cal (= 2.54&nbsp;mm = 72.27&nbsp;pt = 6.022&nbsp;pc) </td></tr>
<tr><td>
ex </td><td> miara wzgldna; wynika z wysokoci litery <code>x</code> w
			aktualnie uywanym foncie) </td></tr>
<tr><td>
em </td><td> miara wzgldna; wynika z szerokoci litery <code>m</code> w
			aktualnie uywanym foncie) </td></tr>
<tr><td>
mu </td><td> jednostka uywana we wzorach matematycznych
						(18&nbsp;mu = 1&nbsp;em) </td></tr>
</table>

<table border=1>
<tr><th>
Polecenie </th><th> opis</th></tr>
<tr><td>
<code>\newlength{\<i>nazwa</i>&nbsp;}</code> </td><td> definicja nowego rejestru
						dugoci</td></tr>
<tr><td>
<code>\setlength{\<i>nazwa</i>&nbsp;}{<i>dugo</i>&nbsp;}</code> </td><td> ustawienie wartoci</td></tr>
<tr><td>
<code>\addtolength{\<i>nazwa</i>&nbsp;}{<i>dugo</i>&nbsp;}</code> </td><td> dodanie
				do aktualnej wartoci rejestru</td></tr>
<tr><td>
<code>\settowidth{\<i>nazwa</i>&nbsp;}{<i>tekst</i>&nbsp;}</code> </td><td> ustawienie
				wartoci rejestru <i>nazwa</i>&nbsp; na
				warto rwn naturalnej szerokoci
				tekstu <i>tekst</i>&nbsp;</td></tr>
<tr><td>
<code>\settoheight{\<i>nazwa</i>&nbsp;}{<i>tekst</i>&nbsp;}</code> </td><td> ustawienie
				wartoci rejestru <i>nazwa</i>&nbsp; na
				warto rwn naturalnej wysokoci
				tekstu <i>tekst</i>&nbsp;</td></tr>
</table>

<p>Parametr <i>dugo</i>&nbsp; moe by zdefiniowany za pomoc
wyraenia arytmetycznego. Prosz pamita o sensie fizycznym wykonywanych
operacji (maj sens nastpujce operacje:<br>
dugo = dugo + dugo, <br>
dugo = dugo * liczba, <br>
liczba = <code>\ratio{dugo}{dugo}</code>,<br>
dugo = dugo / liczba). <br>
Operatorem
dzielenia dugoci przez dugo jest makroinstrukcja<br>
<code>\ratio{<i>dugo</i>&nbsp;}{<i>dugo</i>&nbsp;}</code><br>
a warto rzeczywist moemy uzyska uywajc makroinstrukcji<br>
<code>\real{<i>liczba rzeczywista</i>&nbsp;}</code><br>
ktrej parametrem jest tekst bdcy liczb rzeczywist (zapis
z kropk dziesitn).
Do dzielenia dugoci przez liczb moemy uywa znaku <code>/</code>.
Naley pamita e definicja wyraenia powinna zaczyna si od
elementu bdcego dugoci, a w wyniku kolejnych oblicze wartociami
porednimi musz by dugoci. Napis reprezentujcy warto rejestru
moemy uzyska  poleceniem
<code>\the\<i>rejestr</i>&nbsp;</code><sup><a href=#fnc1>1</a></sup>

<p>
<b>Przyklad:</b><br>
<pre>
\newlength{\x}
\newlength{\y}
\setlength{\y}{5cm}
\settowidth{\x}{ala ma kota}
\setlength{\y}{3cm * \ratio{\y}{\x}}
Rejestr y ma warto: \the\y
</pre>
Powysza sekwencja daje nastpujcy efekt:<br clear=all>

<img src=calc2.gif>

<p>Pakiet jest dostpny pod adresem:<br>
<a href=ftp://ftp.gust.org.pl/TeX/macros/latex/requiredtools/calc.dtx>
ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/required/tools/calc.dtx</a><p>

<hr align=left width=20%>
<sup><a name=fnc1>1</a></sup>
Prosz zwrci uwag e parametr okrelajcy nazw rejestru dugoci
zaczyna si znakiem <code>\</code>

<hr>
<em>Wodzimierz Macewicz</em>
<hr>
Ostatnie zmiany: 05.05.2014.

</body>
</html>