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
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
|
<?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 "tdeedu">
<!ENTITY kappname "&kig;">
<!ENTITY % addindex "IGNORE">
<!ENTITY % Danish "INCLUDE">
<!-- change language only here -->
]
>
<book lang="&language;">
<bookinfo>
<title
>&kig;-håndbogen</title>
<authorgroup>
<author
><firstname
>Dominique</firstname
> <surname
>Devriese</surname
> <affiliation
> <address
><email
>[email protected]</email
></address>
</affiliation>
</author>
&erik.kjaer.pedersen.role;
</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
>&kig; er et &kde;-program til interaktiv geometri. </para>
</abstract>
<keywordset>
<keyword
>KDE</keyword>
<keyword
>KDE-Edu</keyword>
<keyword
>Kig</keyword>
<keyword
>Interaktiv geometri</keyword>
<keyword
>KGeo</keyword>
<keyword
>Cabri</keyword>
<keyword
>Dr.Geo</keyword>
<keyword
>KSeg</keyword>
</keywordset>
</bookinfo>
<chapter id="introduction">
<title
>Indledning</title>
<para
>&kig; er et program til interaktiv geometri. Det er beregnet til at tjene to formål: </para>
<itemizedlist>
<listitem
><para
>At tillade elever at udforske matematiske figurer og begreber interaktivt ved brug af en computer. </para
></listitem>
<listitem
><para
>At tjene som et <acronym
>WYSIWYG</acronym
>-værktøj til at tegne matematiske figurer og inkludere dem i andre dokumenter.</para
></listitem>
</itemizedlist>
<para
>Du kan rapportere problemer i &kig; ved brug af det interne fejlrapport-værktøj (<menuchoice
><guimenu
>Hjælp</guimenu
><guimenuitem
>Rapportér fejl...</guimenuitem
></menuchoice
>), eller blot ved at kontakte mig på <email
>[email protected]</email
>. </para>
<para
>Da &kig; understøtter makroer og konstruktionen af lokuser, kan det lade sig gøre at definere nogle ret avancerede makroer. Hvis du har lavet en interessant makro, som du tror kunne være nyttig for andre, så send den venligst til mig på <email
>[email protected]</email
>, så jeg kan inkludere den i distributionen (hvis du gør det vil den komme under samme licens som &kig;'s license, nemlig <ulink url="http://www.gnu.org/licenses/licenses.html#GPL"
>GPL</ulink
>, så andre kan bruge den frit og adaptere den). </para>
</chapter>
<chapter id="using-kig-basic">
<title
>Basal brug</title>
<section id="constructing-objects">
<title
>Konstruktion af objekter</title>
<section id="constructing-points">
<title
>Konstruktion af punkter</title>
<para
>Du kan konstruere punkter på adskillige måder:</para>
<itemizedlist>
<listitem>
<para
>Vælg <menuchoice
><guimenu
>Objekter</guimenu
> <guisubmenu
>Punkter</guisubmenu
><guimenuitem
>Punkt</guimenuitem
></menuchoice
> fra menulinjen eller tryk på en passende knap i værktøjslinjen. Du kan så konstruere et punkt ved at klikke på den ønskede position i vinduet.</para
> <note
><para
>Rent faktisk virker dette også på samme måde til at konstruere andre objekter: klik på den ønskede indgang på menulinjen eller knap på værktøjslinjen og vælg de nødvendige punkter til at konstruere objektet.</para
></note>
</listitem>
<listitem>
<para
>Da du ofte har brug for at konstruere punkter, vil et simpelt klik et eller andet sted på skærmen med den <mousebutton
>midterste</mousebutton
> museknap konstruere et punkt for dig, uden at gå til en menu eller knap. </para>
</listitem>
<listitem>
<para
>Du kan konstruere punkter mens du er ved at bygge andre objekter i baggrunden, hvis du vil ved at vælge dem for objektet du er ved at bygge. For mere om dette, se <xref linkend="constructing-other-objects"/>. </para>
</listitem>
</itemizedlist>
<screenshot>
<screeninfo
>Et punkt er blevet konstrueret</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="constructed_a_point.png"
format="PNG"/>
</imageobject>
<textobject>
<phrase
>Et punkt er blevet konstrueret</phrase>
</textobject>
</mediaobject>
</screenshot>
</section>
<section id="constructing-other-objects">
<title
>Konstruktion af andre objekter</title>
<para
>Konstruction af andre objekter end punkter gøres sædvanligvis ved at vælge en passende indgang i <guimenu
>Objekter</guimenu
>-menuen, eller ved at klikke på en af værktøjslinjens knapper. </para>
<screenshot>
<screeninfo
>Konstruktion af en cirkel</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="constructing_a_circle.png"
format="PNG"/>
</imageobject>
<textobject>
<phrase
>Konstruktion af en cirkel</phrase>
</textobject>
</mediaobject>
</screenshot>
<para
>Dette vil starte konstruktionen af den valgte objekttype. Alle disse typer kræver argumenter. For eksempel, hvis du valgte at konstruere en cirkel ved centrum og punkt, vil du skulle give det to punkter: et for centrum, og et for punktet på cirklen. </para>
<para
>Disse argumenter er også objekter, som også kan vælges blot ved at klikke på dem. Når du bevæger dig over et argument som du ønsker at bruge til at konstruere et objekt, vil et foreløbigt billede blive vist af hvordan objektet vil komme til at se ud. For objekter der kræver punkter som argumenter, kan du konstruere et nyt punkt ved den nuværende markørposition og vælge det ved at klikke med <mousebutton
>venstre</mousebutton
> museknap. </para>
<para
>Du kan altid annullere konstruktionen af det nye objekt ved at trykke på &Esc;-tasten eller ved at klikke på <guiicon
>Stop</guiicon
>-knappen (rød oktagon med et <quote
>X</quote
>) på værktøjslinjen. </para>
<screenshot>
<screeninfo
>Konstruktion af en cirkel.</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="constructing_a_circle_2.png"
format="PNG"/>
</imageobject>
<textobject>
<phrase
>Konstruktion af en cirkel</phrase>
</textobject>
</mediaobject>
</screenshot>
</section>
</section>
<section id="selecting-objects">
<title
>Valg af objekter</title>
<para
>Valg af objekter kan gøres på to måder: </para>
<itemizedlist>
<listitem>
<para
>Et objekt bliver valgt ved simpelthen at klikke på det, hvilket rydder det nuværende valg. Hvis du ikke ønsker at vælge flere objekter samtidigt, så hold &Ctrl;-tasten nede mens du klikker på et objekt. </para>
</listitem>
<listitem>
<para
>Ved at klikke på et tomt sted på skærmen og trække, kan du vælge alle objekter indenfor det rektangel der opstår. Dette vil rydde det nuværende valg. Som i det tidligere tilfælde vil det at holde &Ctrl;-tasten nede tillade dig at beholde den nuværende markering. </para>
</listitem>
</itemizedlist>
<para
>Når du har mere end et objekt under musen, kan du nemt vælge hvilket objekt som skal markeres eller tilføjes i den nuværende markering. Klik med venstre museknap mens du holder &Shift;-tasten nede, for at få en sammenhængsafhængig menu med alle objekter under musen. Derefter kan du vælge objektet du vil have. Som tidligere nævnt, påvirker opførslen af &Ctrl;-tasten markeringen. </para>
<screenshot>
<screeninfo
>Valg af objekter</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="selecting_objects.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Valg af objekter</phrase>
</textobject>
</mediaobject>
</screenshot>
</section>
<section id="moving-objects">
<title
>Flytning af objekter</title>
<para
>For at flytte objekter må du først <link linkend="selecting-objects"
>vælge</link
> dem. </para>
<para
>Når de objekter du ønsker at flytte er blevet valgt, kan du begynde at flytte dem ved at <mousebutton
>venstre</mousebutton
>-klikke og trække en af dem. Når du er færdig så giv blot slip på &LMB;. </para>
<note
><para
>For visse typer objekter (især når de er defineret ved komplicerede lokuser), kan det være langsom at flytte dem hvis computeren er langsom. Dette er uheldigt, men uundgåelig givet de involverede beregninger. </para
></note
> <note
><para
>Hvis du <mousebutton
>højre</mousebutton
>klikker på et af de markerede objekter, og vælger <guimenuitem
>Flyt</guimenuitem
>, vil flytning af musen flytte objektet. Når objektet er flyttet til den ønskede position, vil et <mousebutton
>venstre</mousebutton
>klik standse flytningen af objektet.</para
></note>
</section>
<section id="deleting-objects">
<title
>Sletning af objekter</title>
<para
>Sletning af objekter gøres ved først at <link linkend="selecting-objects"
>vælge</link
> dem, og dernæst gøre et af følgende: <itemizedlist>
<listitem>
<para
>Tryk på <keycap
>Delete</keycap
>-tasten. </para>
</listitem>
<listitem>
<para
>Tryk på <guiicon
>slet</guiicon
>-knappen i værktøjslinjen. </para>
</listitem>
<listitem>
<para
><mousebutton
>Højre</mousebutton
>-klik på et af objekterne, og vælg <guimenuitem
>Slet</guimenuitem
> i den <link linkend="objects-context-menus"
>sammenhængsmenu</link
> der kommer frem. </para>
</listitem>
</itemizedlist>
</para>
</section>
<section id="showing-hiding-objects">
<title
>Vise og skjule objekter</title>
<para
>I &kig;, kan objekter være skjulte. Dette gøres ved at vælge objekterne, klikke med &RMB; et af dem, og vælge <guimenuitem
>Skjul</guimenuitem
> i <link linkend="objects-context-menus"
>sammenhængsmenuen</link
> der kommer frem. </para>
<para
>For ikke længere at skjule objekterne bruges <menuchoice
><guimenu
>Redigér</guimenu
><guimenuitem
>Skjul intet</guimenuitem
></menuchoice
>. Dette vil gøre at ingen objekter længere vil være skjult. </para>
<section id="night-vision">
<title
>Nattesyn</title>
<para
>Nattesyn er en særlig måde at arbejde med skjulte objekt. Når du vil flytte eller ændre noget i et eller flere objekter uden at vis alle skjulte objekter du har, kan nattesynstilstand være til nytte for dig. </para>
<para
>Egentlig lader det dig se de skjulte objekter som om de var synlige, så du kan behandle dem som du ville normalt. I nattesynstilstand er de skjulte objekter synlige med en grå farve. </para>
<para
>For at ændre nattesynstilstand, bruges <menuchoice
><guimenu
>Opsætning</guimenu
> <guimenuitem
>brug infrarøde briller</guimenuitem
></menuchoice
>. </para>
</section>
</section>
<section id="undo-redo">
<title
>Fortryd/Annullér fortryd</title>
<para
>I &kig;, kan du fortryde næsten enhver ændring du laver på dokumentet. Brug blot <guiicon
>fortryd</guiicon
>/<guiicon
>annullér fortryd</guiicon
> knapperne i værktøjslinjen er passende genveje. </para>
</section>
<section id="full-screen-mode">
<title
>Fuldskærmstilstand</title>
<para
>&kig; har også en fuldskærmstilstand. For at bruge den klikkes på en passende knap i værktøjslinjen eller <menuchoice
><guimenu
>Opsætning</guimenu
><guimenuitem
>Fuldskærm</guimenuitem
></menuchoice
> vælges. </para>
<para
>For at forlade fuldskærmstilstand klikkes med &RMB;på skærmen et sted hvor der ikke er noget objekt til stede og <guimenuitem
>Gå ud af fuldskærmstilstand</guimenuitem
> vælges, eller der trykkes på &Esc;-tasten. </para>
</section>
</chapter>
<chapter id="kig-object-types">
<title
>&kig;'s objekttyper</title>
<para
>&kig; understøtter et temmelig stort antal objekttyper. Bemærk venligst at ikke alle de tilgængelige objekttyper er vist i værktøjslinjerne: der er nogle objekter som du kun kan konstruere via <guimenu
>Objekter</guimenu
>-menuen i menulinjen. Naturligvis er, som med alle &kde;'s programmer, indholdet af værktøjslinjerne indstilleligt. Prøv <menuchoice
><guimenu
>Opsætning</guimenu
> <guimenuitem
>Indstil værktøjslinjer...</guimenuitem
></menuchoice
> hvis du ønsker at gøre dette. </para>
</chapter>
<chapter id="using-advanced">
<title
>Avanceret brug</title>
<section id="objects-context-menus">
<title
>Sammenhængsmenuer</title>
<para
>&kig; har sammenhængsmenuer for sine objekter. Prøv at klikke med &RMB; på et objekt for at se en sammenhængsmenu komme frem. Der er mange valgmuligheder: til at konstruere andre objekter, sætte farver, og endog skjule, flytte eller slette objekter. Nogle objekter har deres egne indstillinger (⪚ kan du redefinere visse punkter til at være begrænset til en linje hvor de tidligere ikke var, &etc;). Disse valgmuligheder skulle være rimeligt nemme at forstå. </para>
</section>
<section id="document-context-menus">
<title
>Dokument sammenhængsmenuer</title>
<para
><mousebutton
>Højre</mousebutton
>-klik på dokumentet (&ie; ikke på et objekt) vil præsentere en popop som du kan bruge til at begynde på at konstruere et nyt objekt,ændre det brugte koordinatsystem, vise skjulte objekter, og endog formindske og forstørre dokumentet. </para>
</section>
<section id="defining-macros">
<title
>Definere makroer</title>
<para
>En af de mere avancerede egenskaber i &kig; er dets støtte for makroer. Dette tillader dig at definere nye typer af objekter ud fra dem der allerede er defineret. </para>
<para
>For eksempel: Lad os antage du ønsker at lave en makro til at konstruere en cirkel ud fra tre punkter på den
> Du vil så indgive tre punkter, derpå konstruere nogle vinkelrette linjer og midtpunkter indtil du finder centrum. Nu kan du bruge den eksisterende kommando <quote
>Konstruér en cirkel ved centrum og et punkt</quote
> (ved brug af et af de tre punkter som punktet for denne kommando).Følgende billede skulle gøre dette en smulemere klart. </para>
<screenshot>
<screeninfo
>Testkørsel af makroer</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="test_run_macro.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Testkørsel af makroer</phrase>
</textobject>
</mediaobject>
</screenshot>
<para
>Dernæst kommer at definere makroen. Vælg <guimenuitem
>Ny makro</guimenuitem
> fra <guimenu
>Type</guimenu
>-menuen eller klik på knappen på værktøjslinjen. En guide vil komme frem der beder dig om at vælge de givne objekter. I vort eksempel, er disse de tre punkter. Vælg de tre punkter (klik på dem for at vælge dem, klik igen for at fravælge) og klik på <guibutton
>Næste</guibutton
>-knappen for at fortsætte. Endelig vælges de sidste objekter (kun cirklen i vort eksempel). </para>
<screenshot>
<screeninfo
>Makro-guiden</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="macro_wizard.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Makro-guiden</phrase>
</textobject>
</mediaobject>
</screenshot>
<para
>Efter de tidligere skridt er færdige, klik på <guibutton
>Næste</guibutton
>-knappen for at fortsætte. Indtast et navn og hvis du vil en beskrivelse for din nye type, og klik på <guibutton
>Færdig</guibutton
>-knappen. Din makrotype er nu færdig. </para>
<para
>For at bruge den nye makrotype, klik på dens knap på værktøjslinjen eller brug <guimenu
>Objekter</guimenu
>-menuen. Konstruktion af et makro-objekt er helt ligesom at konstruere et vilkårligt andet objekt. </para>
<screenshot>
<screeninfo
>Brug din nye type</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="macros_at_work.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Brug din nye type</phrase>
</textobject>
</mediaobject>
</screenshot>
</section>
<section id="working-with-types">
<title
>Arbejde med typer</title>
<para
>Som du så i det tidligere kapitel, tillader &kig; dig at lave dine egne objekter. &kig; sørger også for at når du har lavet et objekt, bliver det gemt ved afslutning og indlæst når der startes igen. Du behøver ikke at gemme eller indlæse makro-definitioner manuelt. &kig; tillader dig imidlertid at gøre mere med makroerne. Hvis du vælger <menuchoice
><guimenu
>Typer</guimenu
><guimenuitem
>Håndtér typer...</guimenuitem
></menuchoice
> fra menuen vil du se en dialog hvor du kan redigere dine typer. Det tillader dig at slette typer der ikke længere bliver brugt, eksportere dem til en fil, eller endog indlæse dem fra en anden fil. </para>
<screenshot>
<screeninfo
>Redigér-typer dialog</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="edit_types_dialog.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Rediger-typer dialogen</phrase>
</textobject>
</mediaobject>
</screenshot>
</section>
<section id="text-labels">
<title
>Tekst-etiketter</title>
<para
>&kig; tillader dig at tilføje tekst-etiketter til en konstruktion. Det er meget nyttigt til at tilføje navne, forklaringer eller anden tekst i konstruktioner. &kig; kan også vise variabel information om objekter (også kendt som <quote
>egeneskaber</quote
>). </para>
<para
>For at starte konstruktionen af en tekst-etikette, tryk blot på <guibutton
>Tekst-etikette</guibutton
>-knappen i &kig;'s værktøjslinje eller vælg <menuchoice
><guimenu
>Objekter</guimenu
><guisubmenu
>Andet </guisubmenu
><guimenuitem
>Tekst-etikette</guimenuitem
> </menuchoice
> i menulinjen. </para>
<para
>Dernæst skal du vælge et sted for tekst-etiketten. Du kan enten blot vælge et tilfældigt sted på skærmen, eller vælge at <quote
>knytte</quote
> etiketten til et objekt. </para>
<screenshot>
<screeninfo
>Tilknytning af en etiket til en cirkel...</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="text_label_attaching.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Tilknytning af en etiket til en cirkel...</phrase>
</textobject>
</mediaobject>
</screenshot>
<para
>Efter du har valgt hvor etiketten skal være, kommer tekst-etikette dialogen frem. Her kan du skrive den tekst du ønsker skal vises i den nye etikette, og klikke på <guibutton
>Færdig</guibutton
>. Etiketten skulle nu være tilstede i dit dokument. </para>
<screenshot>
<screeninfo
>Tekst-etikette dialogen</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="text_label_wizard.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Tekst-etikette dialogen</phrase>
</textobject>
</mediaobject>
</screenshot>
<para
>Det forrige eksempel var meget simpelt og begrænset kun til tekst. Der er imidlertid også støtte for at vise variabel information om objekter i en etikette (⪚. kan du konstruere en etikette med teksten <quote
>Dette linjestykke er %1 enheder langt...</quote
> hvor <token
>%1</token
> bliver erstattet dynamisk med længden af et bestemt linjestykke). </para>
<para
>For at gøre dette indtastes en tekst med et antal pladsholdere ( <token
>%1</token
>, <token
>%2</token
> &etc;) i sig. Tryk så på <guibutton
>Næste</guibutton
>-knappen for at fortsætte. Hvis du ønsker at ændre teksten eller variablerne senere kan du gå tilbage ved brug af <guibutton
>Tilbage</guibutton
>-knappen. </para>
<para
>Guiden viser nu teksten du skrev med alle pladsholdere erstattet med noget i retning af <guilabel
>argument 1</guilabel
>. Valg af egenskaben forbundet med et bestemt argument gøres ved først at klikke på argumentet det drejer sig om. Derpå klikkes på objektet du behøver som har denne egenskab, og så vælges selve egenskaben i popop-menuen der kommer frem. For eksempel, i eksemplet ovenfor, ville du klikke på <guilabel
>argument 1</guilabel
>, klikke på det rigtige linjestykke i &kig;'s hovedvindue og så vælge egenskaben <guilabel
>Længde</guilabel
>. Bagefter kan du udfylde resten af de variable dele, eller vælge en anden egenskab for en af de variable dele hvis du ønsker at ændre det. Når du er parat klikkes på <guibutton
>Færdig</guibutton
>-knappen for at færdiggøre konstruktionen af tekstetiketten. </para>
<screenshot>
<screeninfo
>Valg af en egenskab for en variabel del</screeninfo>
<mediaobject>
<imageobject>
<imagedata
fileref="text_label_wizard__select_property.png"
format="PNG"/>
</imageobject>
<textobject>
<phrase
>Valg af en egenskab for en variabel del</phrase>
</textobject>
</mediaobject>
</screenshot>
</section>
<section id="locuses">
<title
>Lokuser</title>
<para
>&kig; understøtter brugen af lokuser. Et lokus er matematisk defineret som mængden af alle punkter eller linjer der tilfredsstiller eller er bestemt af bestemte betingelser; som i <quote
>lokus af punkter med samme afstand fra et givet punkt er en cirkel</quote
>. Lad os kigge på et eksempel på hvordan lokusser bruges i &kig;. </para>
<para
>Betragt følgende geometriske konstruktion: Vi tegner en cirkel, og et punkt der kun kan bevæge sig langs randen af cirklen (konstruér dette punkt ved at putte markøren på en cirkel, og klikke med den &MMB; museknap. Hvis du så prøver at flytte det resulterende punkt, vil du se at du ikke kan flytte det væk fra cirklen). Vi tegner så et linjestykke fra dette punkt til centrum for cirklen, og midtpunktet af dette linjestykke. </para>
<screenshot>
<screeninfo
>En simpel konstruktion ved brug af lokus</screeninfo>
<mediaobject>
<imageobject>
<imagedata
fileref="simple_locus_construction.png"
format="PNG"/>
</imageobject>
<textobject>
<phrase
>En simpel konstruktion ved brug af lokus</phrase>
</textobject>
</mediaobject>
</screenshot>
<para
>Hvis du nu bevæger punktet der er begrænset til cirklen, kan du se at det andet punkt bevæger sig samtidigt. Hvis du ville holde en pen over det andet punkt, og du flytter det første punkt rundt på hele cirklen, vil en ny cirkel, på den halve størrelse af den anden blive tegnet. Stien det andet punkt gennemløber mens det første bevæger sig gennem cirklen er dets lokus. </para>
<para
>Rent faktisk at konstruere et lokus for et punkt er meget nemt. Klik på <guiicon
>lokus</guiicon
>knappen i værktøjslinjen eller vælg <menuchoice
><guimenu
>Objekter</guimenu
> <guisubmenu
>Andet</guisubmenu
> <guimenuitem
>Lokus</guimenuitem
> </menuchoice
> fra menulinjen. Vælg så det begrænsede punkt som det bevægende punkt (tekst <guilabel
>Bevægende punkt</guilabel
> vil komme frem når du har musen over det), og det andet punkt som det afhængige punkt. Så vil lokus for det afhængige punkt blive tegnet. </para>
</section>
</chapter>
<chapter id="scripting">
<title
>Scripter</title>
<para
>&kig; tillader dig at lave egne typer i Python script-sproget. Dette er en meget avanceret egenskab, og jeg kender kun et andet interaktivt geometri program der har en lignende funktionalitet (<acronym
>GNOME</acronym
>-programmet &drgeo; ). </para>
<para
>Python scripter i &kig; tillader dig basalt set at have din egen måde at lave et objekt fra et vist over-objekt. For eksempel, hvis du er matematiklærer, og du har en smart måde at beregne et interessant punkt på et keglesnit, så kan du, i stedet for at rode med komplekse konstruktioner og makroer, blot skrive ned i Python kode hvordan punktet skal beregnes så vil &kig; vise det for dig. </para>
<para
>Antag du ikke kendte til &kig;'s indbyggede type <quote
>Midterpunkt</quote
>, og du ønskede at vise midtpunktet for to givne punkter. Du ville så klikke på <guibutton
>Python-script</guibutton
> knappen i værktøjslinjen eller vælg <menuchoice
><guimenu
>Objekter</guimenu
><guisubmenu
>Andet</guisubmenu
> <guimenuitem
>Script objekt</guimenuitem
></menuchoice
> fra menulinjen. Du bliver så præsenteret for en guide der lader dig fortsætte. </para>
<screenshot>
<screeninfo
>Script objekt guiden</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="script_wizard.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Script objekt guiden</phrase>
</textobject>
</mediaobject>
</screenshot>
<para
>Det første du skal gøre er at vælge argumenterne for script-objektet. I vort eksempel, betyder dette de to punkter for hvilke vi ønsker at vise midtpunktet. Vælg dem i &kig;'s hovedvindue, og klik på <guibutton
>Næste</guibutton
> for at fortsætte. </para>
<para
>Nu bliver du præsenteret for en tekst-redigeringsfelt hvor du kan indtaste koden for dit script-objekt. Skabelon-kode og nogle kommentarer er allerede på plads. Det er vigtigt at sørge for at din kode er gyldig Python-kode. Folk der kender til Python vil bemærke at vi rent faktisk definerer en Python-funktion der hedder <function
>calc</function
>. Det er derfor nødvendigt at adlyde Python-reglerne for at definere funktioner. For eksempel skal hver linje i funktionen starte med en <keysym
>Tab</keysym
>. Den første linje der ikke starter med en <keysym
>Tab</keysym
> afslutter definitionen af funktionen. </para>
<para
>Python-funktionen vi ønsker at definere hedder <function
>calc</function
>, og i vores tilfælde accepterer den to argumenter. Disse er de objekter du har valgt som argumenter på den forrige skærm. Du vil have brug for så mange argumenter som du har valgt der. De hedder <parameter
>arg1</parameter
> og <parameter
>arg2</parameter
>, men du kan ændre deres navne til noget mere betydningsfuldt hvis du vil. </para>
<para
>I funktionen kan du udføre alle slags beregninger som du mener er nødvendige, ved brug af de to argumenter. Du skal returnere objektet du ønsker skal defineres. I vores tilfælde er det et <classname
>Punkt</classname
>-objekt. De to argumenter er også <classname
>Punkt</classname
>-objekter, og vi kan bruge <function
>Point.coordinate()</function
> funktionen til at definere koordinaterne for de to givne punkter. </para>
<para
>Den nødvendig beregning i vores eksempel er meget enkel, vi lægger simpelthen de to sæt koordinater sammen, og dividerer resultatet med to. Vi konstruerer så et nyt punkt ved brug af resultatet. Den Python-kode der bruges er:</para>
<programlisting
>def calc( a, b ):
m = ( a.coordinate() + b.coordinate() ) / 2;
return Point( m )
</programlisting>
<screenshot>
<screeninfo
>Indtastning af kode</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="script_wizard_entering_code.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Indtastning af kode for midtpunkt i Script-objekt guide.</phrase>
</textobject>
</mediaobject>
</screenshot>
<para
>Hvis du nu klikker på <guibutton
>Færdig</guibutton
>-knappen, så vil det nye objekt komme frem i &kig;-dokumentet. Hvis du flytter et af punkterne, så vil det nye punkt flytte langs med dem. Meget mere interessante objekter kan bygges på denne måde: du opfordres til at forsøge dig frem. </para>
<screenshot>
<screeninfo
>Konstruerede et script-objekt</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="constructed_script_object.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Det nyligt konstruerede script-objekt. </phrase>
</textobject>
</mediaobject>
</screenshot>
<para
>Alle objekter i &kig; kan bruges i Python-koden. Som vi har set ovenfor er punkter af <classname
>Punkt</classname
>-klasse, og du kan bruge ⪚ <function
>Point.coordinate()</function
> metoden. Du kan også returnere alle andre slags objekter, ikke kun <classname
>Punkter</classname
>. Mange flere klasser og metoder er tilgængelige i &kig;'s Python-kode, og en mere fuldstændig reference findes <ulink url="http://edu.kde.org/kig/manual/scripting-api/index.html"
>på &kig;'s hjemmeside</ulink
>. </para>
</chapter>
<chapter id="kig-features">
<title
>&kig;'s egenskaber</title>
<itemizedlist>
<listitem>
<para
>&kig; er et open source program. Det betyder at det står dig frit for at bruge og ændre det som du har lyst. Distribution af &kig; foregår under nogle restriktioner, basalt set skal alle have de samme rettigheder til at bruge &kig;, inklusive at lave ændringer, som dig og mig. </para>
<para
>Free software programmer udvikles i en meget åben ånd, og dets udviklere er sædvanligvis meget responsive for tilbagemeldinger fra brugere. Derfor, hvis du skulle have spørgsmål, beklagelser, eller hvadsomhelst om &kig;, så lad forfatteren vide om det på <email
>[email protected]</email
>. </para>
</listitem>
<listitem>
<para
>&kig; er et KPart-program, hvilket betyder at du kan indlejre det i andre &kde;-programmer. Hvis du åbner en <literal role="extension"
>.kig</literal
>-fil i &konqueror;, kan den åbnes direkte i &konqueror;-skærmen uden at behøve at starte et eksternt program. </para>
</listitem>
<listitem>
<para
>Det skulle være ligetil at arbejde med &kig;. Konstruktion af objekter er nemt og interaktivt, med foreløbige resultater der bliver vist &etc;. Det foregår som man skulle forvente når man flytter, markere og bygger ting. Støtte for at fortryde skulle også være meget intuitivt. </para>
</listitem>
<listitem>
<para
>&kig; understøtter makroer defineret på en ligetil måde. Disse objekter bliver præsenteret for brugeren som normale objekter. De bliver gemt ved afslutning og indlæst ved opstart, så de går ikke tabt ved afslutning. Du kan håndtere disse objekter i dialogen <guilabel
>Håndtér typer</guilabel
> (se <xref linkend="working-with-types"/>. Du kan eksportere dem til filer, importere dem fra filer, og slette dem. </para>
</listitem>
<listitem>
<para
>&kig; gemmer sine data i et rent &XML;-format. </para>
</listitem>
<listitem>
<para
>&kig; understøtter konstruktion af lokuser. </para>
</listitem>
<listitem>
<para
>&kig; tillader dig at eksportere en &kig;-fil til nogle interessante formater, såsom billeder og <application
>XFig</application
>- og <application
>LaTeX</application
>-filer, og <acronym
>SVG</acronym
> vektorbilleder . Dette er ret nyttigt da ikke alle programmer understøtter &kig;'s filformat endnu. </para>
</listitem>
<listitem>
<para
>&kig; har et meget fleksibelt transformationssystem. </para>
</listitem>
<listitem>
<para
>&kig; prøver på at være kompatibel med sine konkurrenter. Det er derfor den understøtter &kgeo;'s filformat, &kseg;'s filformat og delvis støtter &drgeo;- og &cabri;-formaterne, med støtte for andre formater også planlagt. </para>
</listitem>
</itemizedlist>
</chapter>
<chapter id="faq">
<title
>Spørgsmål og svar</title>
&reporting.bugs; &updating.documentation; </chapter>
<chapter id="credits">
<title
>Medvirkende og licens</title>
<para
>&kig; </para>
<para
>&kig; ophavsret 2002-2004 Dominique Devriese <email
>[email protected]</email
> </para>
<para
>Dokumentation ophavsret 2002-2004 Dominique Devriese<email
>[email protected]</email
>. </para>
<para
>Dokumentation ophavsret 2004-2005 Pino Toscano <email
>[email protected]</email
>. </para>
<para
>Gennemset af &Philip.Rodrigues; &Philip.Rodrigues.mail;. </para>
&erik.kjaer.pedersen.credit;
&underFDL; &underGPL; </chapter>
<appendix id="installation">
<title
>Installation</title>
<sect1 id="getting-kig">
<title
>Hvordan får du fat på &kig;</title>
&install.intro.documentation; </sect1>
<sect1 id="compilation">
<title
>Kompilering og installation</title>
&install.compile.documentation; </sect1>
</appendix>
<appendix id="contributing">
<title
>Hjælp til</title>
<section id="kig-is-free">
<title
>Frie programmer</title>
<para
>&kig; er <ulink url="http://www.gnu.org/philosophy/philosophy.html#AboutFreeSoftware"
> Free Software</ulink
>. Det betyder at dets kildekode er frit tilgængelig på internettet, og enhver kan bruge den, læse den, ændre den og distribuere den. Jeg arbejder på den som en hobby, og jeg har allerede lært en masse om C++ programmering, &kde;/&Qt;, matematik, samarbejde om software open source projekter i processen. </para>
</section>
<section id="contribute-to-kig">
<title
>Hjælp til</title>
<para
>I dette kapitel vil jeg påpege over for dig (brugeren) de rettigheder som &kig;'s licens giver dig. Som med al fri software har du lov til (og opfordres) til at ordne problemer du møder mens du bruger det, at tilføje egenskaber du mangler, at distribuere dit ændrede program, og til at sende disse ændringer til mig på <email
>[email protected]</email
>, så jeg kan inkludere dem i den næste udgave så andre kan nyde dem. Bemærk venligst at jeg personligt ikke har nogen finansiel interesse i dette projekt overhovedet. </para>
<para
>Hvis du er usikker på dine rettigheder til brugen af denne software, eller andre menneskers ret til at bruge ændringer du laver på dette program &etc;, så læs venligst licensen. Du kan finde den i <filename
>COPYING</filename
>-filen i &kig;'s kildetræ eller <guilabel
>license</guilabel
>-fanebladet i <guilabel
>Om Kig</guilabel
>-dialogen. </para>
</section>
<section id="howto-contribute">
<title
>Hvordan kan jeg bidrage ?</title>
<para
>Ethvert bidrag er velkomment. Hvis du ikke kan lide ikonerne, eller at manualen trænger til at blive opdateret, eller du har denne virkelig interessante makro som du ønsker at dele med hele verden, så hold dig ikke tilbage med at sende den til mig. Husk venligst at dine bidrag vil blive distribueret under betingelserne i &GNU;'s <acronym
>GPL</acronym
> du kan finde betingelserne i denne license i <filename
>COPYING</filename
>-filen i &kig;'s kildetræ, og i <link linkend="credits"
>Medvirkende og licens</link
> kapitlet i denne manual. </para>
</section>
</appendix>
&documentation.index;
</book>
<!--
Local Variables:
mode: xml
End:
-->
|