<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
"dtd/kdex.dtd" [
<!ENTITY kseg "<application
>KSeg</application
>">
<!ENTITY cabri "<application
>Cabri</application
>">
<!ENTITY drgeo "<application
>Dr.Geo</application
>">
<!ENTITY package "kdeedu">
<!ENTITY kappname "&kig;">
<!ENTITY % addindex "IGNORE">
<!ENTITY % Catalan  "INCLUDE">
<!-- change language only here -->
]
>

<book lang="&language;">

<bookinfo>
<title
>El manual de &kig;</title>

<authorgroup>
<author
><firstname
>Dominique</firstname
> <surname
>Devriese</surname
> <affiliation
> <address
><email
>devriese@kde.org</email
></address>
</affiliation>
</author>
<othercredit role="translator"
> <firstname
>Xavier</firstname
> <surname
>Batlle i Pèlach</surname
> <affiliation
><address
><email
>tevi@eltercer.cat</email
></address
></affiliation
> <contrib
>Traductor</contrib
> </othercredit
> 
</authorgroup>


<copyright>
<year
>2002</year
><year
>2003</year
><year
>2004</year
> <holder
>Dominique Devriese</holder>
</copyright>

<legalnotice
>&FDLNotice;</legalnotice>

<date
>2005-08-20</date
> <releaseinfo
>0.10.5</releaseinfo>

<abstract>
<para
>El &kig; és una programa de geometria interactiva del &kde;. </para>
</abstract>

<keywordset>
<keyword
>KDE</keyword>
<keyword
>KDE-Edu</keyword>
<keyword
>Kig</keyword>
<keyword
>Geometria interactiva</keyword>
<keyword
>KGeo</keyword>
<keyword
>Cabri</keyword>
<keyword
>Dr.Geo</keyword>
<keyword
>KSeg</keyword>
</keywordset>
</bookinfo>


<chapter id="introduction">
<title
>Introducció</title>

<para
>El &kig; és un programa de geometria interactiva que té dos objectius: </para>

<itemizedlist>
<listitem
><para
>Permetre als estudiants explorar les figures matemàtiques i els conceptes relacionats de manera interactiva tot usant l'ordinador. </para
></listitem>

<listitem
><para
>Servir d'eina <acronym
>WYSIWYG</acronym
> per a dbuixar fiures matemàtiques i incloure-les en els documents.</para
></listitem>
</itemizedlist>

<para
>Podeu informar dels problemes del &kig; usant la pròpia eina d'informes (<menuchoice
><guimenu
>Ajuda</guimenu
><guimenuitem
>Informe d'error...</guimenuitem
></menuchoice
>), o només contactant amb mi a <email
>toscano.pino@tiscali.it</email
>. </para>
<para
>Donat que el &kig; permet les macros i la construcció de llocs geomètrics, és possible que alguns usuaris avançats crein macros. Si heu creat una macro interessant, que penseu que pot ser útil a altra gent, si us plau, feu-m'ho saber a <email
>toscano.pino@tiscali.it</email
>, de manera que la pugui incloure a la distribució (si ho feu, tindrà els mateixos termes de llicència que el &kig;, la<ulink url="http://www.gnu.org/licenses/licenses.html#GPL"
>GPL</ulink
>, de manera que altra gent la podrà adaptar). </para>
</chapter>


<chapter id="using-kig-basic">
<title
>Ús bàsic</title>
<section id="constructing-objects">
<title
>Construir objectes</title>
<section id="constructing-points">
<title
>Construir punts</title>
<para
>Podeu construir punts de diferents maneres:</para>
<itemizedlist>
<listitem>
<para
>Seleccioneu <menuchoice
><guimenu
>Objecte</guimenu
><guisubmenu
>Punts</guisubmenu
> <guimenuitem
>Punt</guimenuitem
></menuchoice
> de la barra de menús o premeu el botó corresponent de la barra d'eines. Aleshores podreu construir un punt fent clic a la posició desitjada.</para
> <note
><para
>De fet, això funciona per a construir altres objectes: fer clic a l'entrada de menú corresponent o botó de la barra d'eines i seleccionar els ítems necessaris per a construir l'objecte.</para
></note>
</listitem>
<listitem>
<para
>Com que necessitareu construir punts sovint, n'hi ha prou en fer clic a la posició desitjada de la finestra amb el &BMR;, sense necessitar d'anar a buscar cap entrada del menú. </para>
</listitem>
<listitem>
<para
>Podeu construir punts mentre esteu construint altres objectes, sezillament seleccionant-los per a l'objecte que esteu construint. Per a més informació sobre això podeu llegir <xref linkend="constructing-other-objects"/>. </para>
</listitem>
</itemizedlist>

<screenshot>
<screeninfo
>S'ha construït un punt</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="constructed_a_point.png"
format="PNG"/>
</imageobject>
<textobject>
<phrase
>S'ha construït un punt</phrase>
</textobject>
</mediaobject>
</screenshot>
</section>

<section id="constructing-other-objects">
<title
>Construir altres objectes</title>
<para
>Per a construir altres objectes que no siguin punts, normalment es fa escollint l'entrada adequada del menú <guimenu
>Objecte</guimenu
>, o fent clic en un botó de la barra d'eines. </para>
<screenshot>
<screeninfo
>Construint una circumferència</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="constructing_a_circle.png"
format="PNG"/>
</imageobject>
<textobject>
<phrase
>Construint una circumferència</phrase>
</textobject>
</mediaobject>
</screenshot>
<para
>Així s'inicia la construcció del tipus d'objecte escollit. Tots aquests tipus requereixen arguments. Per exemple, si seleccioneu la construcció d'una circumferència per centre i punt, necessitareu donar dos punts: un pel centre i l'altre com a punt per on passa la circumferència. </para>
<para
>Aquests arguments també són objectes que poden ser seleccionats fent-hi clic a sobre. Quan passeu el cursor per sobre d'un objecte que podeu usar per a construir un objecte, apareix una imatge preliminar d'aquest; d'aquesta manera podeu veure com quedarà. Per a objectes que requereixin punts com a arguments, podeu posar-los a la posició actual del cursor fent clic amb el &BER;. </para>
<para
>Podeu cancel·lar la construcció del nou objete prement &Esc; o fent clic al botó <guiicon
>Stop</guiicon
> (un octògon vermell amb una <quote
>X</quote
>) de la barra d'eines. </para>
<screenshot>
<screeninfo
>Construir una circumferència.</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="constructing_a_circle_2.png"
format="PNG"/>
</imageobject>
<textobject>
<phrase
>Construint una circumferència</phrase>
</textobject>
</mediaobject>
</screenshot>
</section>
</section>

<section id="selecting-objects">
<title
>Seleccionar objectes</title>
<para
>Els objectes es poden seleccionar de dues maneres: </para>
<itemizedlist>
<listitem>
<para
>Senzillament fent clic en un objecte a la vegada que es neteja la selecció actual. Si voleu seleccionar més d'un objecte simultàniament, premeu la tecla &Ctrl; mentre feu clic als objectes. </para>
</listitem>
<listitem>
<para
>Fent clic i arrossegant en un punt buit de la pantalla podreu seleccionar tots els objectes que es trobin dins el rectangle creat. Aquesta acció netejarà la selecció actual. Com en el cas anterior, prement la tecla &Ctrl; podreu mantenir la selecció actual. </para>
</listitem>
</itemizedlist>
<para
>Quan tingueu més d'un objecte sota el cursor, podeu escollir fàcilment quin és l'objecte que voleu seleccionar. Fer clic amb el &BER; mentre premeu la tecla &Maj; fa aparèixer un menú emergent que conté tots els objectes que hi ha sota el cursor. Aleshores podreu escollir el que necessiteu. Com s'ha dit abans, la tecla &Ctrl; afecta a la selecció. </para>

<screenshot>
<screeninfo
>Seleccionar objectes</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="selecting_objects.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Seleccionar objectes</phrase>
</textobject>
</mediaobject>
</screenshot>
</section>

<section id="moving-objects">
<title
>Moure objectes</title>
<para
>Per moure objectes primer cal que els <link linkend="selecting-objects"
>seleccioneu</link
>. </para>
<para
>Quan ja teniu els objectes seleccionats podeu iniciar el moviment amb el &BER;, fent clic i arrossegant-ne un qualsevol. Quan hagueu acabat, senzillament deixeu anar el botó. </para>
<note
><para
>Moure alguns tipus d'objectes (especialment els que s'han construït com a llocs complicats), pot resultar lent en màquines antigues. És una llàstima, però també inevitable degut a la gran quantitat de càlculs involucrats. </para
></note
> <note
><para
>Si feu clic amb el &BDR; en un dels objectes seleccionats, i escolliu <guimenuitem
>Mou</guimenuitem
>, aleshoresm en moure el ratolí moureu l'objecte. Quan l'objecte ja estigui a la posició desitjada, un altre clic amb el &BER; aturarà el moviment.</para
></note>
</section>
<section id="deleting-objects">
<title
>Esborrar objectes</title>
<para
>Per a esborrar objectes, primer cal <link linkend="selecting-objects"
>seleccionar-los</link
>, i després fer alguna d'aquestes coses: <itemizedlist>
<listitem>
<para
>Prémer la tecla <keycap
>Suprimir</keycap
>. </para>
</listitem>
<listitem>
<para
>Prémer el botó <guiicon
>esborrar</guiicon
> de la barra d'eines. </para>
</listitem>
<listitem>
<para
>Fer clic amb el botó <mousebutton
>dret</mousebutton
> del ratolí en un dels objectes, i seleccionar <guimenuitem
>Esborra</guimenuitem
> en el <link linkend="objects-context-menus"
>menú contextual</link
> que apareix. </para>
</listitem>
</itemizedlist>
</para>
</section>

<section id="showing-hiding-objects">
<title
>Mostrar i ocultar objectes</title>
<para
>Al &kig; els objectes es poden ocultar. Això es fa seleccionant-los, fent clic amb el &BDR;, i escollint l'opció <guimenuitem
>Oculta</guimenuitem
> del <link linkend="objects-context-menus"
>menú emergent</link
> que apareix. </para>
<para
>Per a mostrar els objectes, useu l'opció <menuchoice
><guimenu
>Edita</guimenu
><guimenuitem
>Mostra-ho tot</guimenuitem
></menuchoice
>. Això mostrarà tots els objectes que estiguin ocults actualment. </para>

<section id="night-vision">
<title
>Visió nocturna</title>
<para
>La visió nocturna és una manera particular de treballar amb els objectes ocults. Quan hagueu de moure o canviar quelcom en algun dels objectes ocults sense mostrar tots els objectes ocults, el mode de visió nocturna us serà molt profitós. </para>
<para
>Bàsicament us permet veure els objectes ocults com si fóssin visibles, de manera que els podeu manipular com ho faríeu normalment. En el mode de visió nocturna, els objectes ocults es fan visibles amb color gris. </para>
<para
>Per passar a mode de visió nocturna, escolliu <menuchoice
><guimenu
>Arranjament</guimenu
><guimenuitem
>Posa't ulleres d'infrarojos</guimenuitem
></menuchoice
>. </para>
</section>
</section>

<section id="undo-redo">
<title
>Fer i desfer</title>
<para
>Al &kig; podeu desfer pràcticament tots els canvis que feu en un document. Tant sols us cal usar. </para>
</section>

<section id="full-screen-mode">
<title
>Mode de pantalla completa</title>
<para
>El &kig; també té el mode de pantalla completa. Per a usar-lo cal fer clic al botó adequat a la barra d'eines, o bé seleccionar <menuchoice
><guimenu
>Arranjament</guimenu
><guimenuitem
>Mode pantalla completa</guimenuitem
></menuchoice
>. </para>
<para
>Per a sortir del mode de pantalla completa, feu clic amb el &BDR; en un lloc que no hi hagi cap objecte, i escolliu l'opció <guimenuitem
>Deixar mode pantalla completa</guimenuitem
>, o bé premeu la tecla &Esc;. </para>
</section>
</chapter>


<chapter id="kig-object-types">
<title
>Els tipus d'objecte del &kig;</title>
<para
>El &kig; accepta un gran nombre de tipus d'objecte. Tingueu en compte que no tots els tipus d'objecte disponibles es mostren a la barra d'eines: hi ha alguns objectes que només podeu construir des del menú <guimenu
>Objectes</guimenu
> de la barra de menú. Per descomptat que com a tots els programes del &kde;, els continguts de la barra d'eines són configurables. Escolliu <menuchoice
><guimenu
>Arranjament</guimenu
><guimenuitem
>Configura barra d'eines...</guimenuitem
></menuchoice
> si ho voleu fer. </para>
</chapter>


<chapter id="using-advanced">
<title
>Ús avançat</title>
<section id="objects-context-menus">
<title
>Menús contextuals</title>
<para
>El &kig; té menús contextuals per als seus objectes. Feu clic amb el &BDR; en un objecte per tal de veure el menú contextual que apareix. Hi ha moltes opcions: construir altres objectes, establir colors, ocultar, moure o esborrar objectes. Alguns objectes tenen opcions pròpies (&pex; podeu redefinir alguns punts per a restringir-los a una recta en cas que no ho estiguéssin, &etc;). Aquestes opcions són fàcils d'entendre. </para>
</section>

<section id="document-context-menus">
<title
>Menú contextual del document</title>
<para
>Fent clic amb el botó <mousebutton
>dret</mousebutton
> del ratolí en el document (és a dir, no a sobre de cap objecte) se vos presentarà un menú emergent que podeu usar per a construir un nou objecte, canviar el sistema de coordenades, mostrar els objectes ocults, o bé ampliar o reduir el document. </para>
</section>

<section id="defining-macros">
<title
>Definir macros</title>
<para
>Una de les característiques més avançades del &kig; és la seva capacitat de treballar amb macros. Això us permet definir nous tipus d'objectes a partir d'altres que ja estiguin definits. </para>
<para
>Per exemple. Suposem que voleu fer una macro per construir una circumferència a partir de tres punts d'aquesta. Haureu d'entrar els tres punts i després fer algunes perpendiculars i punts mitjos fins a trobar el centre. Ara ja podeu usar l'ordre existent de <quote
>Construir una circumferència per centre i punt</quote
> (usant un dels tres punts com a punt per a l'ordre). La següent imatge ho deixarà una mica més clar: </para>
<screenshot>
<screeninfo
>Tot fent macros</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="test_run_macro.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Tot fent macros</phrase>
</textobject>
</mediaobject>
</screenshot>

<para
>Ara toca definir la macro. Seleccioneu <guimenuitem
>Nova macro</guimenuitem
> del menú <guimenu
>Tipus</guimenu
>, o feu clic al botó de la barra d'eines. Apareixerà un assistent que us demanarà els objectes donats. En el nostre exemple, els tres punts inicials. Seleccioneu els tres punts (feu clic per seleccionar i un altre clic per desseleccionar) i feu clic al botó <guibutton
>Següent</guibutton
> per a continuar. Per acabar, seleccioneu els objectes finals(en el nostre exemple, només la circumferència). </para>

<screenshot>
<screeninfo
>L'assistent de macros</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="macro_wizard.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>L'assistent de macros</phrase>
</textobject>
</mediaobject>
</screenshot>

<para
>En completar les passes prèvies, feu clic al botó <guibutton
>Següent</guibutton
> per a continuar. Entreu un nom i, opcionalment, una descripció del vostre nou tipus, i feu clic al botó <guibutton
>Acaba</guibutton
>. Ja heu completat la macro. </para>

<para
>Per usar la nova macro, feu clic al seu botó a la barra d'eines o useu el menú <guimenu
>Objectes</guimenu
>. Construir un objecte de macro és exactament el mateix que construir qualsevol altre objecte. </para>
<screenshot>
<screeninfo
>Usant el nou tipus</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="macros_at_work.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Usant el nou tipus</phrase>
</textobject>
</mediaobject>
</screenshot>
</section>

<section id="working-with-types">
<title
>Treballar amb tipus</title>
<para
>Com heu vist en el capítol anterior, el &kig; us permet crear els vostres propis tipus d'objectes. El &kig; també se'n preocupa de desar aquest nou tipus a la sortida i de llegir-lo en arrencar. No cal doncs, que deseu o carregueu manualment les definicions de macros. Tot i així, el &kig; us permet fer més coses amb les macros. Si escolliu l'opció <menuchoice
><guimenu
>Tipus</guimenu
><guimenuitem
>Gestiona els tipus...</guimenuitem
></menuchoice
> del menú, veureu un diàleg on podeu editar els vostres tipus. Això us permet modificar els existents, esborrar els que no s'hauran de fer servir més, exportar-los a un fitxer o fins i tot carregar-los des d'un fitxer. </para>
<screenshot>
<screeninfo
>Diàleg d'edició de tipus</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="edit_types_dialog.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>El diàleg d'edició de tipus</phrase>
</textobject>
</mediaobject>
</screenshot>
</section>

<section id="text-labels">
<title
>Etiquetes de text</title>
<para
>El &kig; us permet afegir etiquetes de text a una construcció. Això és molt útil per afegir noms, explicacions o altre text a les construccions. El &kig;, a més, pot mostrar informació variable pertanyent als objectes (és a dir, <quote
>propietats</quote
>). </para>
<para
>Per començar a construir una etiqueta de text n'hi ha prou amb prémer el botó <guibutton
>Etiqueta de text</guibutton
> de la barra d'eines del &kig;, o bé, seleccionar <menuchoice
><guimenu
>Objectes</guimenu
><guisubmenu
>Altres</guisubmenu
><guimenuitem
>Etiqueta de text</guimenuitem
></menuchoice
> en el menú. </para>
<para
>Després, podeu escollir un lloc per a l'etiqueta. Podeu escollir una posició aleatòria de la pantalla o bé <quote
>adjuntar</quote
> l'etiqueta a un objecte. </para>
<screenshot>
<screeninfo
>Adjuntant l'etiqueta a una circumferència...</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="text_label_attaching.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Ajuntant l'etiqueta a una circumferència...</phrase>
</textobject>
</mediaobject>
</screenshot>
<para
>Després de seleccionar on voleu posar l'etiqueta, apareix un diàleg. Aquí és on podeu escriure el text que voleu a la nova etiqueta, i fer clic al botó <guibutton
>Acaba</guibutton
>. Ara hauríeu de veure l'etiqueta en el document. </para>
<screenshot>
<screeninfo
>El diàleg de l'etiqueta de text</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="text_label_wizard.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>El diàleg de l'etiqueta de text</phrase>
</textobject>
</mediaobject>
</screenshot>
<para
>L'exemple previ ha estat simple i només de text. Malgrat això, també és possible mostrar informació variable dels objectes (&pex;, podeu construir una etiqueta amb el text <quote
>Aquest segment mesura %1 unitats de longitud.</quote
> on <token
>%1</token
> serà remplaçat cinàmicament amb la longitud del segment especificat). </para>
<para
>Per a fer això, escriviu un text amb els paràmetres de substitució (<token
>%1</token
>, <token
>%2</token
> &etc;) corresponents. Aleshores, premeu el botó <guibutton
>Següent</guibutton
> per a continuar. Si voleu modificar el text o les variables, podeu tornar enrere amb el botó <guibutton
>Endarrera</guibutton
>. </para>
<para
>Ara l'assistent us mostrarà el text que heu escrit amb els emplaçadors substituïts per alguna cosa com <guilabel
>argument 1</guilabel
>. Per a connectar una propietat a l'argument primer heu de fer clic sobre l'argument. Després, a l'objecte del qual en vulgueu la propietat, i per últim seleccionar la propietat en el menú emergent que apareix. Per exemple, en el cas anterior, hauríeu de fer clic a <guilabel
>argument 1</guilabel
>, clic al segment corresponent a la finestra principal del &kig;, i seleccionar la propietat <guilabel
>longitud</guilabel
>. Després ja podreu omplir la resta de parts variables, o bé seleccionar una altra propietat que vulgueu modificar. Quan ho tingueu a punt, feu clic al botó <guibutton
>Acaba</guibutton
> per a completar la construcció de l'etiqueta de text. </para>
<screenshot>
<screeninfo
>Seleccionar una propietat per a una part variable</screeninfo>
<mediaobject>
<imageobject>
<imagedata
fileref="text_label_wizard__select_property.png"
format="PNG"/>
</imageobject>
<textobject>
<phrase
>Seleccionar una propietat per a una part variable</phrase>
</textobject>
</mediaobject>
</screenshot>
</section>

<section id="locuses">
<title
>Llocs geomètrics</title>
<para
>El &kig; permet l'ús de llocs geomètrics. Un lloc geomètric es defineix matemàticament com el conjunt de punts o rectes que compleixen o vénen determinats per unes condicions, com en el cas d'una circumferència que és el <quote
>lloc geomètric dels punts que equidisten d'un punt donat</quote
>. Veiem un exemple de com usar els llocs geomètrics amb el &kig;: </para>
<para
>Considereu la següent construcció geomètrica. Dibuixem una circumferència i un punt que només e spugui moure per sobre d'aquesta. Podeu construir tal punt fent clic amb el cursor a sobre la circumferència amb el &BMR;. Si aleshores proveu de moure aquest punt veureu que només el podreu moure seguint la circumferència. Després dibuixem un segment que vagi des d'aquest punt al centre de la circumferència, i el seu punt mig. </para>
<screenshot>
<screeninfo
>Una construcció simple usant llocs geomètrics</screeninfo>
<mediaobject>
<imageobject>
<imagedata
fileref="simple_locus_construction.png"
format="PNG"/>
</imageobject>
<textobject>
<phrase
>Una construcció simple usant llocs geomètrics</phrase>
</textobject>
</mediaobject>
</screenshot>
<para
>Ara, si moveu el punt restringit a la circumferència, veureu que el segon punt es mou amb ell. Si tinguéssiu un llapis en aquest segon punt, i movéssiu el primer al llarg de tota la circumferència, quedaria dibuixada una nova circumferència de radi la meitat que la primera. El camí que segueix el segon punt és el lloc geomètric. </para>
<para
>Realment, construir el lloc geomètric d'un punt és molt senzill. Feu clic al botó <guiicon
>lloc geomètric</guiicon
> de la barra d'eines, o seleccioneu <menuchoice
><guimenu
>Objectes</guimenu
><guisubmenu
>Altres</guisubmenu
> <guimenuitem
>Lloc geomètric</guimenuitem
></menuchoice
> a la barra de menús.Aleshores seleccioneu el punt restringit a la circumferència com el punt a moure (apareixerà el text <guilabel
>Punt a moure</guilabel
> quan passeu el cursor per sobre seu), i l'altre com a punt depenent. Aleshores es mostrarà el lloc geomètric del punt depenent. </para>
</section>
</chapter>

<chapter id="scripting">
<title
>Guions</title>
<para
>El &kig; us permet crear tipus d'objectes personalitzats usant el llenguatge Python. Aquesta és una característica molt avançada, i només coneixem un altre programa de geometria interactiva que tingui una funció similar (el programa &drgeo; del <acronym
>GNOME</acronym
>). </para>
<para
>Els guions de Pyton en el &kig; bàsicament us permetran crear els vostres propis objectes a partir d'altres objectes pares. Per exemple, si sou un professor de matemàtiques, i disposeu d'un mètode atractiu de calcular algun punt interessant d'una cònica, en lloc d'embolicar-vos amb construccions complexes i macros, n'hi ha prou amb que escriviu una mica de codi Python de com es calcula el punt i aleshores el &kig; us ho farà. </para>
<para
>Suposem que no esteu al cas de l'existència en el &kig; del tipus <quote
>punt mig</quote
>, i que voleu usar el punt mig de dos punts donats. Aleshores cal que feu clic al botó <guibutton
>guió Python</guibutton
> de la barra d'eines, o bé que seleccioneu <menuchoice
><guimenu
>Objectes</guimenu
><guisubmenu
>Altres</guisubmenu
> <guimenuitem
>Guió Python</guimenuitem
></menuchoice
> de la barra de menús. Se us presentarà un assistent que us permetrà procedir. </para>
<screenshot>
<screeninfo
>L'assistent de guions</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="script_wizard.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>L'assistent de guions</phrase>
</textobject>
</mediaobject>
</screenshot>
<para
>El primer que heu de fer és seleccionar els arguments per a l'objecte. En el nostre exemple, això són els dos punts des quals volem mostrar el punt mig. Seleccioneu-los a la finestra principal del &kig; i feu clic al botó <guibutton
>següent</guibutton
> per a continuar. </para>
<para
>Ara teniu una caixa per editar text on podeu introduir el codi del vostre guió. Ja hi trobareu una mica de plantilla i alguns comentaris. És important que us assegureu que el vostre codi és codi Python vàlid. Els qui estiguin familiaritzats amb el Python notaran que en aquest moment estem definint una funció Python anomenada <function
>calc</function
>. Per tant, és necessari que recordem les normes del Python a l'hora de definir funcions. Per exemple, totes les línies de la funció han de començar amb una <keysym
>tabulació</keysym
>. La primera línia que no comença amb una <keysym
>tabulació</keysym
> determina el final de la definició de la funció. </para>
<para
>La funció Python que volem definir s'anomena <function
>calc</function
>, i en el nostre cas accepta dos arguments. Aquests són els dos objectes que heu seleccionat a la pantalla anterior. Necessiteu tants arguments com objectes hageu seleccionat. S'anomenen <parameter
>arg1</parameter
> i <parameter
>arg2</parameter
>, però, si ho desitgeu, en podeu canviar els noms per altres de més significatius. </para>
<para
>A la funció, podeu fer tot tipus de càlculs que considereu necessaris, usant els dos arguments sempre que calgui. Al final haureu de retornar l'objecte que voleu definir. En el nostre cas, això és un objecte <classname
>Point</classname
>. Els dos arguments són també objectes <classname
>Point</classname
> i podem usar la funció <function
>Point.coordinate()</function
> per definir les coordenades dels dos punts donats. </para>
<para
>Els càlculs necessaris en el nostre exemple són molt senzills. Només cal sumar els dos conjunts de coordenades i dividir-lo per dos. Després construïm un nou punt usant el resultat. El codi Python que es necessita és:</para>

<programlisting
>def calc( a, b ):
m = ( a.coordinate() + b.coordinate() ) / 2;
return Point( m )
</programlisting>

<screenshot>
<screeninfo
>Escriure el codi</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="script_wizard_entering_code.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Escriure el codi per al punt mig a l'assistent de guions.</phrase>
</textobject>
</mediaobject>
</screenshot>
<para
>Si ara feu clic al botó <guibutton
>Acaba</guibutton
>, el nou objecte apareixerà al document de &kig;. Si moveu un dels punts, el nou punt també es mourà. D'aquesta manera es poden construir objectes més potents, se vos anima a intentar-ho. </para>
<screenshot>
<screeninfo
>Un objecte de guió construït</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="constructed_script_object.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>El nou objecte de guió construït </phrase>
</textobject>
</mediaobject>
</screenshot>
<para
>Tots els objectes del &kig; es poden usar en el codi Python. Com hem vist anteriorment, els punts són de la classe <classname
>Point</classname
>, i podeu usar, &pex;, el mètode <function
>Point.coordinate()</function
>. També podeu retornar tot tipus d'objectes, no només objectes <classname
>Point</classname
>. Moltes altres classes i mètodes estan disponibles en el codi Python del &kig;, i en teniu una referència més completa a la <ulink url="http://edu.kde.org/kig/manual/scripting-api/index.html"
>pàgina web del &kig;</ulink
>. </para>
</chapter>

<chapter id="kig-features">
<title
>Característiques del &kig;</title>

<itemizedlist>
<listitem>
<para
>El &kig; és una aplicació de codi lliure. Això significa que teniu llibertat per usar-lo i modificar-lo tant com vulgeu. La distribució del &kig; està subjecte al algunes restriccions, bàsicament que tothom ha de tenir els mateixos drets per a usar-lo, incloent les vostres modificacions, que vós i jo. </para>
<para
>Els programes de codi lliure es desenvolupen amb un esperit molt obert, i els seus desenvolupadors acostumen a ser molt receptius als comentaris que se'ls faci arribar. Per tant, si teniu preguntes, queixes o qualsevol altra cosa sobre el &kig;, si us plau, feu-ho saber a l'autor a <email
>toscano.pino@tiscali.it</email
>. </para>
</listitem>
<listitem>
<para
>El &kig; és una aplicació KPart, això vol dir que la podeu incloure en altres programes del &kde;. Si obriu un fitxer <literal role="extension"
>.kig</literal
> amb el &konqueror;, es pot obrir directament a la pantalla del &konqueror; sense la necessitat d'iniciar cap altre programa. </para>
</listitem>
<listitem>
<para
>Treballar amb el &kig; hauria de ser molt intuitiu. Construir objectes és senzill i interactiu, i es mostren els resultats preliminars. Moure, seleccionar i construir es fa de la manera que un s'esperaria. La possibilitat de desfer, també és molt intuitiva. </para>
</listitem>
<listitem>
<para
>El &kig; accepta la definició de macros de manera molt intuitiva. Aquest objectes es presenten com a objectes normals . Es desen en sortir i es carreguen en entrar, i per tant no es perden en tancar el programa. Podeu gestionar aquests objectes amb el diàleg <guilabel
>Gestiona els tipus</guilabel
> (mireu <xref linkend="working-with-types"/>). També podeu els podeu exportar, importar, editar o esborrar. </para>
</listitem>
<listitem>
<para
>El &kig; desa tota les dades en un format &XML; ben clar. </para>
</listitem>
<listitem>
<para
>El &kig; permet la construcció de llocs geomètrics. </para>
</listitem>
<listitem>
<para
>El &kig; us permet exportar el fitxer &kig; a alguns formats interessants, com ara imatges, fitxers <application
>XFig</application
> i <application
>LaTeX</application
>, i imatges vectorials <acronym
>SVG</acronym
>. Això és més útil en la mesura que no tots els altres programes accepten encara el format &kig;. </para>
</listitem>
<listitem>
<para
>El &kig; té un sistema de transformació molt flexible. </para>
</listitem>
<listitem>
<para
>El &kig; procura ser compatible amb els seus competidors. És per això que accepta el format de fitxer &kgeo;, el format &kseg; i parcialment els formats &drgeo; i &cabri;. A més de tenir en projecte altres formats. </para>
</listitem>
</itemizedlist>
</chapter>


<chapter id="faq">
<title
>Preguntes i respostes</title>
&reporting.bugs; &updating.documentation; </chapter>


<chapter id="credits">
<title
>Crèdits i llicència</title>

<para
>&kig; </para>
<para
>&kig; copyright 2002-2004 Dominique Devriese <email
>devriese@kde.org</email
> </para>

<para
>Copyright 2002-2004 de la documentació Dominique Devriese <email
>devriese@kde.org</email
>. </para>

<para
>Copyright de la documentació 2004-2005 Pino Toscano <email
>toscano.pino@tiscali.it</email
>. </para>

<para
>Revisat per &Philip.Rodrigues; &Philip.Rodrigues.mail;. </para>
<itemizedlist
><listitem
><para
>Xavier Batlle i Pèlach, traducció de la documentació</para
> </listitem
></itemizedlist
> 
&underFDL; &underGPL; </chapter>

<appendix id="installation">
<title
>Instal·lació</title>

<sect1 id="getting-kig">
<title
>Com obtenir el &kig;</title>
&install.intro.documentation; </sect1>

<sect1 id="compilation">
<title
>Compilació i instal·lació</title>
&install.compile.documentation; </sect1>

</appendix>

<appendix id="contributing">
<title
>Col·laboracions</title>
<section id="kig-is-free">
<title
>Programari lliure</title>
<para
>El &kig; és <ulink url="http://www.gnu.org/philosophy/philosophy.html#AboutFreeSoftware"
> Programari lliure</ulink
>. Això significa que el seu codi font és de lliure accés i disponible des d'internet, tothom el pot usar, llegir, modificar i distribuir. Jo hi treballo com un projecte personal, i he aprés molt sobre programació, C++, &kde;,&Qt;, matemàtiques, col·laboració en programari i projectes de codi lliure durant tot el procés. </para>
</section>

<section id="contribute-to-kig">
<title
>Col·laboracions</title>
<para
>En aquest capítol vull remarcar-vos (a l'usuari) els drets que la llicència del &kig; us dóna. Com en tot el programari lliure teniu permís (i us animem) per arreglar els problemes que hi trobeu, afegir-hi característiques que hi trobeu a faltar, distribuir el programa modificat i enviar-me aquestes modificacions a <email
>toscano.pino@tiscali.it</email
>, de manera que les pugui incloure en la nova versió i altres en puguin gaudir. Noteu que no hi tinc cap interès econòmic. </para>
<para
>Si teniu algun dubte sobre els drets per usar aquest programa, o que d'altra gent usi les modificacions que hi feu, si us plau, llegiu la llicència. La podeu trobar al fitxer <filename
>COPYING</filename
> del codi font del &kig; o la pestanya <guilabel
>Llicència</guilabel
> del diàleg <guilabel
>Quant al Kig</guilabel
>. </para>
</section>

<section id="howto-contribute">
<title
>Com col·laborar</title>
<para
>Totes les col·laboracions són benvingudes. Si no us agraden les icones, o penseu que al manual li cal una actualització, o bé teniu aquella super macro que voleu compartir, no dubteu en enviar-me-la. Si us plau, tingueu en compte que les vostres col·laboracions seran distribuides sota els termes de llicència &GNU;<acronym
>GPL</acronym
>, podeu trobar els termes d'aquesta llicència en el fitxer <filename
>COPYING</filename
> en el codi del &kig;, i en el capítol <link linkend="credits"
>Crèdits i llicència</link
> d'aquest manual. </para>
</section>
</appendix>

&documentation.index;
</book>
<!--
Local Variables:
mode: xml
End:
-->