:. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ :. :. Stamboom generator :. ================== :. auteur: Berend Meijer :. :. Waarschuwing: dit sjabloon negeert de privacy instellingen van individuele personen. :. :. Dit sjabloon maakt niet direct een grafisch bestand. In plaats daarvan maakt het een zogenaamd :. dot bestand, dat met het programma 'dot' verder verwerkt moet worden om het plaatje te maken. :. Dit kan op verschillende manieren gebeuren. De eenvoudigste methode is om een MS DOS venster te :. openen, met het commando 'cd' naar de Aldfaer uitvoer map te gaan, en het volgende commando te :. gebruiken: 'dot stamboom.gvz -ostamboom.png -Tpng'. Dit maakt een grafisch bestand aan met de :. naam 'stamboom.png'. Andere formaten dan png zijn ook mogelijk. :. :. Het programma 'dot' is een onderdeel van het 'graphviz' pakket, ontwikkeld door AT&T. Dit pakket :. kan gratis opgehaald worden van: www.research.att.com/sw/tools/graphviz/download.html :. :. Slechts een beperkt aantal Aldfaer opties worden door dit sjabloon gebruikt: :. - schermen: hoofdscherm: zekerheid zichtbaar aan/uit :. - overzichten: algemeen: naam van de maand aan/uit :. - overzichten: presentatie: mannelijke lijn aan/uit :. - overzichten: presentatie: vrouwelijke lijn aan/uit :. - overzichten: presentatie: aantal generaties :. Voor een aantal andere Aldfaer opties is hieronder een alternatief beschikbaar: :. - overzichten: algemeen: lettertype (zie de F_LetterType optie) :. - overzichten: algemeen: lettergrootte (zie de F_LetterGrootte optie) :. - overzichten: presentatie: grafisch overzicht opties (zie de F_Details optie) :. :. Opties :. ------ :. :. De volgende regel stelt de naam van het aan te maken bestand in. Dit bestand wordt geplaatst in :. de map die in Aldfaer is ingesteld (in het Overzichten veld op de Bestanden tab, te vinden onder :. het menu item Bestand > Instellingen...). Namen van dot bestanden eindigen over het algemeen op :. '.dot', maar dat bestandstype is onder Windows meestal aan het programma Word gekoppeld. Vandaar :. dat hier het type '.gvz' gebruikt wordt. :. _FILENAME("stamboom.gvz") :. :. Met de volgende regel bepaal je of de belangrijkste sjabloon-opties met een dialoog ingesteld :. worden, of dat deze opties hieronder op een vaste waarde ingesteld worden. 'aan' opent een :. dialoog met de gebruiker bij elke uitvoering van het sjabloon; 'uit' doet dit niet en gebruikt de :. vaste instellingen. :. :. Opties die met een dialoog ingesteld kunnen worden, zijn te herkennen aan hun naam. Namen :. beginnend met F_Dialoog_... kunnen met een dialoog ingesteld worden; namen beginnend met F_ :. kunnen nooit met een dialoog ingesteld worden. :. _FUNCBEGI(F_GebruikDialoog) aan _FUNCEND :. :. De volgende regel stelt in persoonsnummers opgenomen moeten worden. Met de waarde 'aan' worden :. deze gegevens opgenomen; met de waarde 'uit' worden ze weggelaten. :. _FUNCBEGI(F_Dialoog_Nummer) aan _FUNCEND :. :. De volgende regel stelt in of geboorte-, huwelijks- en overlijdensgegevens opgenomen moeten :. worden. Met de waarde 'aan' worden deze gegevens opgenomen; met de waarde 'uit' worden ze :. weggelaten. :. _FUNCBEGI(F_Dialoog_Details) uit _FUNCEND :. :. De volgende regel stelt in of binnen een generatie de volgorde van de personen vastligt of niet. :. Gewoonlijk wordt de volgorde van de personen in de stamboom bepaald door hun nummer; in :. generatie 3, bijvoorbeeld, worden de personen getoond in de volgorde 4,5,6,7. In geval van :. kwartierherhalingen kan deze volgorde echter verbroken worden, om de stamboom beter leesbaar te :. maken. De gewenstheid hiervan is een kwestie van persoonlijke voorkeur. Met de waarde 'aan' wordt :. de volgorde altijd bepaald door de persoonsnummers; met de waarde 'uit' wordt de volgorde :. geoptimaliseerd voor de beste leesbaarheid. :. _FUNCBEGI(F_Dialoog_VasteVolgorde) aan _FUNCEND :. :. De volgende twee regels stellen het lettertype en de lettergrootte in. Het lettertype kan :. opgegeven worden als de naam van één van de lettertypes in de \WINDOWS\Fonts map, maar dit leidt :. meestal tot foutmeldingen. De volgende waarden worden herkend en werken goed: courier, times en :. helvetica. :. Waarschuwing: Het programma 'dot' kan niet uit de voeten met moderne (TrueType) lettertypes en :. zal bij gebruik van deze lettertypes speciale karakters niet goed weergeven. :. _FUNCBEGI(F_LetterType) helvetica _FUNCEND _FUNCBEGI(F_Dialoog_LetterGrootte) 20 _FUNCEND :. :. De volgende regel stelt de minimum afstand tussen generaties in (horizontaal, uitgedrukt in :. inches). De waarde 0.5 werkt goed voor overzichten zonder kwartierherhaling; als er veel :. kwartierherhalingen zijn, dan werkt de waarde 1.5 goed. :. _FUNCBEGI(F_Dialoog_GeneratieAfstand) 0.75 _FUNCEND :. :. De volgende regel stelt de minimum afstand tussen personen in (verticaal, uitgedrukt in inches). :. De waarde 0.1 werkt goed. :. _FUNCBEGI(F_Dialoog_PersoonsAfstand) 0.15 _FUNCEND :. :. De volgende regel stelt de dikte van de lijnen in die een persoon met zijn ouders verbinden. :. _FUNCBEGI(F_Dialoog_LijnDikte) 2.0 _FUNCEND :. :. De volgende regel stelt de grootte van de pijlen in die een persoon met zijn ouders verbinden. :. _FUNCBEGI(F_Dialoog_PijlGrootte) 1.5 _FUNCEND :. :. De volgende regel stelt in of de personen binnen iedere generatie beter over de de hoogte van de :. afbeelding verspreid moeten worden. Met de waarde 'aan' wordt een iets betere spreiding bereikt, :. ten koste van een grotere hoogte van de afbeelding; met de waarde 'uit' wordt geen extra belang :. aan de spreiding gehecht. :. _FUNCBEGI(F_Dialoog_Spreiding) uit _FUNCEND :. :. De volgende drie regels stellen de achtergrondkleur in voor een man, een vrouw, en een persoon :. van onbekend geslacht. Zie de documentatie van het programma 'dot' voor de beschikbare :. kleurwaarden. Je kunt ook je eigen kleurcodes gebruiken, in welk geval elke kleurcode de volgende :. vorm moet hebben: #RRGGBB. Hierin bepaalt RR de hoeveel rood, GG de hoeveelheid groen en BB de :. hoeveelheid blauw. RR, GG en BB zijn hexadecimale getallen tussen 00 en FF. In de meeste gevallen :. kun je volstaan met de volgende waarden voor RR, GG en BB: 00, 0F, 1F, 2F, 3F, 4F, 5F, 6F, 7F, :. 8F, 9F, AF, BF, CF, DF, EF en FF. Een aantal standaard kleuren zijn: #000000 (zwart), #FF0000 :. (rood), #00FF00 (groen), #0000FF (blauw), #FFFF00 (geel), #FF00FF (magenta), #00FFFF (cyaan), :. #3F3F3F (donkergrijs), #7F7F7F (grijs), #BFBFBF (lichtgrijs) en #FFFFFF (wit). :. _FUNCBEGI(F_KleurMan) #E7E7FF _FUNCEND _FUNCBEGI(F_KleurVrouw) #FFE7E7 _FUNCEND _FUNCBEGI(F_KleurOnbekend) #F0F0F0 _FUNCEND :. :. De volgende regel stelt de kleur in van de lijnen die een persoon met zijn ouders verbinden. Deze :. kleur wordt ook gebruikt voor het kader rond elke personen. :. _FUNCBEGI(F_LijnKleur) #4F4F4F _FUNCEND :. :. Problemen :. --------- :. :. In Aldfaer (versies 3.2.5 en 3.3.1) wordt na het uitvoeren van dit sjabloon altijd een browser :. venster geopend. In Aldfaer (versie 3.3.2) is dit probleem opgelost en wordt alleen het programma :. gestart dat aan het bestandstype van het uitvoerbestand gekoppeld is. :. :. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ :. _FUNCBEGI(F_VersieNummer) 1.5 (31 augustus 2005) _FUNCEND :. :. ------------------------------------------------------------------------------------------------- :. Optie-dialogen en gerelateerde functies. :. ------------------------------------------------------------------------------------------------- :. :. Construeer een dialoog voor de opties die de gebruiker met een dialoog aan of uit kan zetten. De :. initiële waarden van de opties zijn de hierboven ingestelde waarden. :. :. ************************************************************************************************* :. In Aldfaer (versies 3.3.1 en 3.3.2) accepteert _DIALADD() als numerieke derde parameter geen :. berekende waarden, alhoewel de informatie op de Aldfaer website lijkt aan te geven dat dit in :. versie 3.3.2 wel het geval zou moeten zijn. :. ************************************************************************************************* _DIALDEF(D_Opties_1,_DIALCHECK,[:_SJABNAME opties:],270) [?F_Dialoog_Nummer==aan?]? _BEGI _DIALADD(D_Opties_1,[:Voeg bij elke persoon het persoon-nummer in:],1) _ELSE _DIALADD(D_Opties_1,[:Voeg bij elke persoon het persoon-nummer in:],0) _END [?F_Dialoog_Details==aan?]? _BEGI _DIALADD(D_Opties_1,[:Voeg bij elke persoon detail-informatie in:],1) _ELSE _DIALADD(D_Opties_1,[:Voeg bij elke persoon detail-informatie in:],0) _END [?F_Dialoog_VasteVolgorde==aan?]? _BEGI _DIALADD(D_Opties_1,[:Plaats personen op volgorde van hun nummer:],1) _ELSE _DIALADD(D_Opties_1,[:Plaats personen op volgorde van hun nummer:],0) _END [?F_Dialoog_Spreiding==aan?]? _BEGI _DIALADD(D_Opties_1,[:Verbeter de spreiding over de pagina:],1) _ELSE _DIALADD(D_Opties_1,[:Verbeter de spreiding over de pagina:],0) _END _DIALADD(D_Opties_1,[:Wijzig de uitvoer-maten (opent nieuwe dialoog):],1) :. :. Construeer een dialoog voor de opties die de gebruiker op een bepaalde waarde kan zetten. De :. initiële waarden van de opties zijn de hierboven ingestelde waarden. _DIALNEDI werks alleen met :. gehele getallen, dus is hier niet bruikbaar. :. _DIALDEF(D_Opties_2,_DIALEDIT,[:_SJABNAME opties:], [:Wijzig elke maat in ongeveer gelijke mate:],270) _DIALADD(D_Opties_2,[:letter-grootte:],[:[:F_Dialoog_LetterGrootte:]._SPAC:]) _DIALADD(D_Opties_2,[:afstand tussen generaties (horizontaal):], [:[:F_Dialoog_GeneratieAfstand:]._SPAC:]) _DIALADD(D_Opties_2,[:minimum afstand tussen personen (verticaal):], [:[:F_Dialoog_PersoonsAfstand:]._SPAC:]) _DIALADD(D_Opties_2,[:lijn-dikte:],[:[:F_Dialoog_LijnDikte:]._SPAC:]) _DIALADD(D_Opties_2,[:pijl-grootte:],[:[:F_Dialoog_PijlGrootte:]._SPAC:]) :. :. ----- Functie om de instelling van de 'nummer' optie te bepalen :. _FUNCBEGI(F_Nummer) [?F_GebruikDialoog==aan?]? _BEGI [:[?_DIALEXP(D_Opties_1,1)?]aan:]|[&uit&] _ELSE F_Dialoog_Nummer _END _FUNCEND :. :. ----- Functie om de instelling van de 'details' optie te bepalen :. _FUNCBEGI(F_Details) [?F_GebruikDialoog==aan?]? _BEGI [:[?_DIALEXP(D_Opties_1,2)?]aan:]|[&uit&] _ELSE F_Dialoog_Details _END _FUNCEND :. :. ----- Functie om de instelling van de 'vaste volgorde' optie te bepalen :. _FUNCBEGI(F_VasteVolgorde) [?F_GebruikDialoog==aan?]? _BEGI [:[?_DIALEXP(D_Opties_1,3)?]aan:]|[&uit&] _ELSE F_Dialoog_VasteVolgorde _END _FUNCEND :. :. ----- Functie om de instelling van de 'spreiding' optie te bepalen :. _FUNCBEGI(F_Spreiding) [?F_GebruikDialoog==aan?]? _BEGI [:[?_DIALEXP(D_Opties_1,4)?]aan:]|[&uit&] _ELSE F_Dialoog_Spreiding _END _FUNCEND :. :. ----- Functie om de instelling van de 'wijzig maten' optie te bepalen :. _FUNCBEGI(F_WijzigMaten) [?F_GebruikDialoog==aan?]? _BEGI [:[?_DIALEXP(D_Opties_1,5)?]aan:]|[&uit&] _ELSE uit _END _FUNCEND :. :. ----- Functie om de waarde van de 'letter-grootte' optie te bepalen :. _FUNCBEGI(F_LetterGrootte) [?F_WijzigMaten==aan?]? _BEGI _DIALEXP(D_Opties_2,1) _ELSE F_Dialoog_LetterGrootte _END _FUNCEND :. :. ----- Functie om de waarde van de 'generatie-afstand' optie te bepalen :. _FUNCBEGI(F_GeneratieAfstand) [?F_WijzigMaten==aan?]? _BEGI _DIALEXP(D_Opties_2,2) _ELSE F_Dialoog_GeneratieAfstand _END _FUNCEND :. :. ----- Functie om de waarde van de 'persoons-afstand' optie te bepalen :. _FUNCBEGI(F_PersoonsAfstand) [?F_WijzigMaten==aan?]? _BEGI _DIALEXP(D_Opties_2,3) _ELSE F_Dialoog_PersoonsAfstand _END _FUNCEND :. :. ----- Functie om de waarde van de 'lijn-dikte' optie te bepalen :. _FUNCBEGI(F_LijnDikte) [?F_WijzigMaten==aan?]? _BEGI _DIALEXP(D_Opties_2,4) _ELSE F_Dialoog_LijnDikte _END _FUNCEND :. :. ----- Functie om de waarde van de 'pijl-grootte' optie te bepalen :. _FUNCBEGI(F_PijlGrootte) [?F_WijzigMaten==aan?]? _BEGI _DIALEXP(D_Opties_2,5) _ELSE F_Dialoog_PijlGrootte _END _FUNCEND :. :. ------------------------------------------------------------------------------------------------- :. Hoofdprogramma. :. ------------------------------------------------------------------------------------------------- :. [?[:[&[?_PREFMALE?]x&][&[?_PREFFEMA?]x&]:]?]? _BEGI :. :. Pepareer sets. :. _SETDEF(S_Voorgeslacht) _SETDEF(S_VorigePersoon) _SETDEF(S_Kwartierdrager) _SETADD(S_Kwartierdrager) :. :. Toon de instellingen op het scherm :. F_SchermCommentaar :. :. Genereer de personenlijst. :. _SETFILL(S_Voorgeslacht,_ASCE,F_IsRelevanteVoorouder) _PREFNUMBGENA? _BEGI _SETBEGI(S_Voorgeslacht) [?_PREFNUMBGENA<_GENENUM?]? _BEGI _SETSUB(S_Voorgeslacht) _END _SETEND _END :. :. Genereer de kwartierstaat. :. _FILEMODE("",ifNewer) _WRITBEGI // Dit bestand kan verder verwerkt worden met het programma 'dot' om een plaatje te // maken. Dit kan op verschillende manieren gebeuren. De eenvoudigste methode is om // een MS DOS venster te openen, met het commando 'cd' naar de Aldfaer uitvoer map // te gaan (zoals opgegeven in de Aldfaer instellingen > bestanden > overzichten), // en het volgende commando te gebruiken: 'dot stamboom.gvz -ostamboom.png -Tpng'. // Dit maakt een grafisch bestand met de naam 'stamboom.png'. Andere formaten dan // png zijn ook mogelijk. // // Het programma 'dot' is een onderdeel van het 'graphviz' pakket, ontwikkeld door // AT&T. Dit pakket kan gratis opgehaald worden van het volgende internet adres: // www.research.att.com/sw/tools/graphviz/download.html // digraph diagram { rankdir=LR; nodesep=[:F_PersoonsAfstand:]._SPAC; ranksep=[:F_GeneratieAfstand:]._SPAC; node [ shape=box, style="filled, setlinewidth([:F_LijnDikte:]._SPAC)", :. color="[:F_LijnKleur:]._SPAC", fontcolor=black, height=0, width=0, :. fontname="[:F_LetterType:]._SPAC", fontsize=[:F_LetterGrootte:]._SPAC ]; edge [ arrowhead=normal, arrowtail=none, arrowsize=[:F_PijlGrootte:]._SPAC, :. color="[:F_LijnKleur:]._SPAC", headport=w, tailport=e ]; F_Stamboom } _WRITEND _ELSE Noch de mannelijke, noch de vrouwelijke lijn zijn geselecteerd. Pas de instellingen aan. Er wordt geen uitvoer geproduceerd. _END :. [? :. ------------------------------------------------------------------------------------------------- :. Kwartierstaat functies. :. ------------------------------------------------------------------------------------------------- :. ----- Hulp-functie om te bepalen of een voorouder in het te genereren overzicht voorkomt. Voor :. ----- een stamreeks worden vrouwelijke voorouders uitgefilterd; voor een matrilineaire reeks :. ----- worden mannelijke voorouders uitgefilterd. :. ----- Deze functie wordt alleen gebruikt als selector bij het vullen van de set met voorouders, :. ----- waardoor _GENENUM niet gebruikt kan worden. Dit is de reden voor het gebruik van de omweg :. ----- via S_Kwartierdrager. _FUNCBEGI(F_IsRelevanteVoorouder) [&[?_PREFMALE?]_MALE&]|[&[?_PREFFEMA?]_FEMA&]| [:[?_CODEINTE==_SETBEGI(S_Kwartierdrager)_CODEINTE _SETEND?]x:] _FUNCEND :. ----- Hoofdfunctie voor het genereren van de stamboom. _FUNCBEGI(F_Stamboom) _SETBEGI(S_Voorgeslacht) :. :. Verwerk een eventuele generatie-overgang. :. F_GeneratieWisseling :. :. Forceer de positie van de huidige persoon t.o.v. de vorige persoon binnen de generatie. :. [?F_VasteVolgorde==aan?]? _BEGI [?_SETAMOU(S_VorigePersoon)?]? _BEGI { rank=same; _SETBEGI(S_VorigePersoon)_ASCENUM _SETEND-> _ASCENUM [ style="invis" ]; } _END _SETCLR(S_VorigePersoon) _SETADD(S_VorigePersoon) _END :. :. Voeg de persoonsgegevens in. :. _ASCENUM :. [ :. label=:. ":. :. :. Nummer en naam :. [?F_Nummer==aan?]? _BEGI _ASCENUM. :. _END [:_NAMEFIRS [:(_NAMENICK) :]_NAMEPREF _SURN:]._SPAC._QUOT:. [?F_Details==aan?]? _BEGI :. :. Geboorte- of doopgegevens :. [?[:_BIRTDATE _BAPTDATE:]?]? _BEGI \n:. [?_BIRTDATE?]? _BEGI * _BIRTDATE([:F_DatumKort:])[:, _BIRTPLAC:]._QUOT:. _ELSE ~ _BAPTDATE([:F_DatumKort:])[:, _BAPTPLAC:]._QUOT:. _END _END :. :. Relatiegegevens :. _RELABEGI [?[&_ASCENUM _RELASTAR&]?]? _BEGI \n:. ×[_ASCENUM] _RELASTAR([:F_DatumKort:])[:, _RELAPLAC:]._QUOT:. _END _RELAEND :. :. Overlijdens- of begrafenisgegevens :. [?[:_DEATDATE _BURIDATE:]?]? _BEGI \n:. [?_DEATDATE?]? _BEGI + _DEATDATE([:F_DatumKort:])[:, _DEATPLAC:]._QUOT:. _ELSE ¤ _BURIDATE([:F_DatumKort:])[:, _BURIPLAC:]._QUOT:. _END _END _END ", :. :. :. Geslacht :. fillcolor=":. _MALE? _BEGI [:F_KleurMan:]._SPAC:. _ELSE _FEMA? _BEGI [:F_KleurVrouw:]._SPAC:. _ELSE [:F_KleurOnbekend:]._SPAC:. _END _END " :. ]; :. :. Voeg het verband met de vader in. :. _FATHBEGI(_BIOL) F_KindNaarOuder _FATHEND :. :. Voeg het verband met de moeder in. :. _MOTHBEGI(_BIOL) F_KindNaarOuder _MOTHEND _SETEND _FUNCEND :. ----- Functie om het verband met een ouder in te voegen _FUNCBEGI(F_KindNaarOuder) [?_ASCENUM?]? _BEGI _SWAPBEGI[::]_ASCENUM[::]_SWAPEND -> _ASCENUM :. [ :. [?F_Spreiding==aan?]? _BEGI weight=_SWAPBEGI[::]_ASCENUM[::]_SWAPEND, :. _END style=":. _PREFQUAY? _BEGI _QUAY("solid;dashed;dotted;dotted"), :. _END setlinewidth([:F_LijnDikte:]._SPAC)" :. ]; _END _FUNCEND :. ------------------------------------------------------------------------------------------------- :. Functies voor deeltaken. :. ------------------------------------------------------------------------------------------------- :. ----- Functie om een generatiewisseling te detecteren en af te handelen. _FUNCBEGI(F_GeneratieWisseling) [?_GENENUM==1?]?_BEGI[::]_SETDEF(S_GeneratieWisseling_Vorige)[::]_END [?_GENENUM!=_SETBEGI(S_GeneratieWisseling_Vorige) _GENENUM _SETEND?]? _BEGI g[::]_GENENUM :. [ label="generatie _GENENUM\n(F_GeneratieNaam)", shape=plaintext, fillcolor=white ]; [?_GENENUM!=1?]? _BEGI _SETBEGI(S_GeneratieWisseling_Vorige)g[::]_GENENUM[::]_SETEND -> g[::]_GENENUM :. [ style="invis" ]; _END _SETCLR(S_VorigePersoon) _END _SETCLR(S_GeneratieWisseling_Vorige) _SETADD(S_GeneratieWisseling_Vorige) _FUNCEND :. ------------------------------------------------------------------------------------------------- :. Algemene functies. :. ------------------------------------------------------------------------------------------------- :. ----- Functie om de generatienaam in te voegen. _FUNCBEGI(F_GeneratieNaam) [?_GENENUM==1?]? _BEGI [&[?_PREFMALE?][?_PREFFEMA?]kwartierdrager&]|[&reeksdrager&]:. _ELSE [:_GENENUM(" ;;;groot;overgroot;betovergroot;oud;oudgroot;oudovergroot;oudbetovergroot;stam;stamgroot; stamovergroot;stambetovergroot;stamoud;stamoudgroot;stamoudovergroot;stamoudbetovergroot; edel;edelgroot;edelovergroot;edelbetovergroot;edeloud;edeloudgroot;edeloudovergroot; edeloudbetovergroot;edelstam;edelstamgroot;edelstamovergroot;edelstambetovergroot;edelstamoud; edelstamoudgroot;edelstamoudovergroot;edelstamoudbetovergroot;voor;voorgroot;voorovergroot; voorbetovergroot;vooroud;vooroudgroot;vooroudovergroot;vooroudbetovergroot;voorstam; voorstamgroot;voorstamovergroot;voorstambetovergroot;voorstamoud;voorstamoudgroot; voorstamoudovergroot;voorstamoudbetovergroot;vooredel;vooredelgroot;vooredelovergroot; vooredelbetovergroot;vooredeloud;vooredeloudgroot;vooredeloudovergroot; vooredeloudbetovergroot;vooredelstam;vooredelstamgroot;vooredelstamovergroot; vooredelstambetovergroot;vooredelstamoud;vooredelstamoudgroot;vooredelstamoudovergroot; vooredelstamoudbetovergroot")._SPAC:] [&[?_PREFMALE?][?_PREFFEMA?]ouders&]|[&[?_PREFMALE?]vader&]|[&moeder&]:. _END _FUNCEND :. ----- Functie om een datum in korte notatie in te voegen. _FUNCBEGI(F_DatumKort) [:[?_D _M _Y?]?_BEGI[::]_E(";ná ;vóór ;circa ")_END:]:. _PREFMONTNAME? _BEGI [:_D :] :. Een enigszins omslachtige manier om de maand in te voegen, maar dit is nodig om een :. ongewenste (en onbegrepen) spatie te vermijden als de maand onbekend is. [:[:[?_M?]?_BEGI[:_M(";jan;feb;mrt;apr;mei;jun;jul;aug;sep;oct;nov;dec"):]_END:]| [:[?_D?]xxx:] :]:. _ELSE [:_D/:] :. Een enigszins omslachtige manier om de maand in te voegen, maar dit is nodig om een :. ongewenste (en onbegrepen) spatie te vermijden als de maand onbekend is. [:[:[?_M?]?_BEGI[:_M:]_END:]|[:[?_D?]xxx:]/:]:. _END [:_Y:]|[:[?_D _M?]?_BEGI[::]xxxx[::]_END:]:. _FUNCEND :. ------------------------------------------------------------------------------------------------- :. Functies die geen uitvoer opleveren. :. ------------------------------------------------------------------------------------------------- :. ----- Functie om commentaar op het scherm te tonen. _FUNCBEGI(F_SchermCommentaar) Stamboom generator, versie F_VersieNummer auteur: Berend Meijer Dit sjabloon produceert een bestand, dat geschikt is voor verwerking met het programma 'dot'. [Aldfaer] Mannelijke lijn: _PREFMALE("uit;aan") [Aldfaer] Vrouwelijke lijn: _PREFFEMA("uit;aan") [Aldfaer] Generaties: [:[:_PREFNUMBGENA:]|[&alle&]:]._SPAC [dialoog] Nummer: [:F_Nummer:]._SPAC [dialoog] Details: [:F_Details:]._SPAC [Aldfaer] Zekerheid: _PREFQUAY("uit;aan") [dialoog] Vaste volgorde: [:F_VasteVolgorde:]._SPAC [dialoog] Betere spreiding: [:F_Spreiding:]._SPAC [Aldfaer] Maandnaam: _PREFMONTNAME("uit;aan") [Aldfaer] Lettertype: [:F_LetterType, F_LetterGrootte[::]pt:]._SPAC [dialoog] Generatie afstand: [:F_GeneratieAfstand:]._SPAC [dialoog] Persoons afstand: [:F_PersoonsAfstand:]._SPAC [dialoog] Lijndikte: [:F_LijnDikte:]._SPAC [dialoog] Pijlgrootte: [:F_PijlGrootte:]._SPAC _FUNCEND :. ------------------------------------------------------------------------------------------------- :. Einde. :. ------------------------------------------------------------------------------------------------- ?]:.