diff options
author | Karl Berry <karl@freefriends.org> | 2009-05-19 18:23:55 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2009-05-19 18:23:55 +0000 |
commit | d5d90223f0e9217e546a1e53c78f73c1fddf1e87 (patch) | |
tree | 75f8120f34df071de492ca416b86623e3af154d3 /Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/macro/calc.html | |
parent | 74ba81e08ea1a80aeba3b4bfbf7acc5f07853b0b (diff) |
move out of texmf-doc
git-svn-id: svn://tug.org/texlive/trunk@13240 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/macro/calc.html')
-rw-r--r-- | Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/macro/calc.html | 192 |
1 files changed, 192 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/macro/calc.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/macro/calc.html new file mode 100644 index 00000000000..f60b8c47a74 --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/macro/calc.html @@ -0,0 +1,192 @@ +<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><a name=calc>calc</a></h2> + +Pakiet zawiera makroinstrukcje rozszerzające zakres działań +na rejestrach. Mamy do dyspozycji następujące polecenia:<br> + +<table border=1> +<tr><th> +Polecenie </th><th> opis</th></tr> +<tr><td> +<code>\newcounter{<i>rejestr</i> }</code> </td><td> definicja nowego +rejestru; jest on inicjowany wartością 0</td></tr> +<tr><td> +<code>\newcounter{<i>rejestr</i> }[<i>inny rejestr</i> ]</code> </td><td> + definicja nowego rejestru; + jest on inicjowany wartością 0 + i staje się zależny od rejestru + <i>inny rejestr</i>. Wykonanie + polecenia + <code>\stepcounter{<i>inny rejestr</i> }</code> lub + <code>\refstepcounter{<i>inny rejestr</i> }</code> + powoduje + wyzerowanie rejestru <i>rejestr</i> </td></tr> +<tr><td> +<code>\setcounter{<i>rejestr</i> }{<i>wartość</i> }</code> </td><td> ustawienie wartości + rejestru</td></tr> +<tr><td> +<code>\addtocounter{<i>rejestr</i> }{<i>wartość</i> }</code> </td><td> + dodanie do rejestru <i>rejestr</i> wartości</td></tr> +<tr><td> +<code>\stepcounter{<i>rejestr</i> }</code> </td><td> incrementacja rejestru + <i>rejestr</i> </td></tr> +<tr><td> +<code>\refstepcounter{<i>rejestr</i> }</code> </td><td> incrementacja rejestru + <i>rejestr</i>; + jeżeli oznaczymy etykietą miejsce (<code>label</code>), to + wartością polecenia <code>\ref</code> będzie aktualna + wartość rejestru</td></tr> +</table> + +Napis reprezentujący wartość rejestru możemy uzyskać wywołując +polecenie<br> +<code>\the</code><i>rejestr</i><br> +(zamiast określenia <i>rejestr</i> +należy użyć nazwy właściwego rejestru). + +Definiując wartość rejestru (parametr <i>wartość</i> ) możemy używać liczb +całkowitych, wartości innych rejestrów (możliwych do uzyskania +poleceniem <code>\value{<i>rejestr</i> }</code>, lub <code>\the<i>rejestr</i> </code>) +oraz operatorów <code>-</code>, <code>+</code>, <code>*</code>, <code>/</code>. Działania wykonywane +są w kolejności zgodnej z przyjętymi zwyczajami. Możemy używać +notacji nawiasowej (<code>()</code>) do wymuszenia kolejności wykonania działań. + +<p> +<b>Przykład</b> +<pre> +\newcounter{x} +\newcounter{y} +\setcounter{x}{2} +\setcounter{y}{3} +\setcounter{y}{(\value{x} + 5) * \value{y}} + +Wartością rejestru y jest \they. +</pre> + +Powyższa sekwencja daje następujący efekt:<br clear=all> +<img src=calc1.gif> + + +<p>Oprócz działań na liczbach mamy możliwość dokonywania działań +na długościach. Długość może być podawana w jednostkach przyjętych +w TeX-u:<br> + +<table border=1> +<tr><th> +Polecenie </th><th> opis</th></tr> +<tr><td> +sp </td><td> jednostka w której TeX prowadzi obliczenia + (65536 sp = 1 pt) </td></tr> +<tr><td> +pt </td><td> punkt typograficzny (1/72.27 in = 0.351 mm </td></tr> +<tr><td> +bp </td><td> duży punkt (72 bp = 1 in); używany w postscripcie) </td></tr> +<tr><td> +dd </td><td> didot (1/72 cala francuskiego, = 0.376 mm) </td></tr> +<tr><td> +mm </td><td> milimetr (= 1.845 pt) </td></tr> +<tr><td> +pc </td><td> pica (=12 pt = 4.218 mm) </td></tr> +<tr><td> +cc </td><td> cicero (= 12 dd = 4.531 mm) </td></tr> +<tr><td> +cm </td><td> centymetr (=10 mm = 2.371 pc) </td></tr> +<tr><td> +in </td><td> cal (= 2.54 mm = 72.27 pt = 6.022 pc) </td></tr> +<tr><td> +ex </td><td> miara względna; wynika z wysokości litery <code>x</code> w + aktualnie używanym foncie) </td></tr> +<tr><td> +em </td><td> miara względna; wynika z szerokości litery <code>m</code> w + aktualnie używanym foncie) </td></tr> +<tr><td> +mu </td><td> jednostka używana we wzorach matematycznych + (18 mu = 1 em) </td></tr> +</table> + +<table border=1> +<tr><th> +Polecenie </th><th> opis</th></tr> +<tr><td> +<code>\newlength{\<i>nazwa</i> }</code> </td><td> definicja nowego rejestru + długości</td></tr> +<tr><td> +<code>\setlength{\<i>nazwa</i> }{<i>długość</i> }</code> </td><td> ustawienie wartości</td></tr> +<tr><td> +<code>\addtolength{\<i>nazwa</i> }{<i>długość</i> }</code> </td><td> dodanie + do aktualnej wartości rejestru</td></tr> +<tr><td> +<code>\settowidth{\<i>nazwa</i> }{<i>tekst</i> }</code> </td><td> ustawienie + wartości rejestru <i>nazwa</i> na + wartość równą naturalnej szerokości + tekstu <i>tekst</i> </td></tr> +<tr><td> +<code>\settoheight{\<i>nazwa</i> }{<i>tekst</i> }</code> </td><td> ustawienie + wartości rejestru <i>nazwa</i> na + wartość równą naturalnej wysokości + tekstu <i>tekst</i> </td></tr> +</table> + +<p>Parametr <i>długość</i> może być zdefiniowany za pomocą +wyrażenia arytmetycznego. Proszę pamiętać o sensie fizycznym wykonywanych +operacji (mają sens następujące operacje:<br> +długość = długość + długość, <br> +długość = długość * liczba, <br> +liczba = <code>\ratio{długość}{długość}</code>,<br> +długość = długość / liczba). <br> +Operatorem +dzielenia długości przez długość jest makroinstrukcja<br> +<code>\ratio{<i>długość</i> }{<i>długość</i> }</code><br> +a wartość rzeczywistą możemy uzyskać używając makroinstrukcji<br> +<code>\real{<i>liczba rzeczywista</i> }</code><br> +której parametrem jest tekst będący liczbą rzeczywistą (zapis +z kropką dziesiętną). +Do dzielenia długości przez liczbę możemy używać znaku <code>/</code>. +Należy pamiętać że definicja wyrażenia powinna zaczynać się od +elementu będącego długością, a w wyniku kolejnych obliczeń wartościami +pośrednimi muszą być długości. Napis reprezentujący wartość rejestru +możemy uzyskać poleceniem +<code>\the\<i>rejestr</i> </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> +Powyższa sekwencja daje następujący efekt:<br clear=all> + +<img src=calc2.gif> + +<p>Pakiet jest dostępny 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ę zwrócić uwagę że parametr określający nazwę rejestru długości +zaczyna się znakiem <code>\</code> + +<hr> + +<a href=../../texologia.html><img src="../../gify/lew-7vs.gif" hspace=10 border=0 align=left></a> +<a href=mailto:W.Macewicz@ia.pw.edu.pl><img src="../../gify/mail.gif" hspace=10 align=left></a> +<a href=http://www.ia.pw.edu.pl/~wujek/index.html>Włodzimierz Macewicz</a><br clear=all> +<hr> +<!--#config timefmt="%y-%m-%d" --> +Ostatnie zmiany: 12.09.2004. +</body> +</html> |