* spouses in diagrams

Homeless Posts from the old forum system
Locked
avatar
Rafal
Silver
Posts: 7
Joined: 16 Aug 2010 14:55
Family Historian: None

spouses in diagrams

Post by Rafal » 16 Aug 2010 21:05

Hello,

I am just playing with the FH4 demo to see if it is what I need. For many years I've been looking for a program that would help producing standard, traditional pedigree diagrams without the unnecessary 'embroidery' but using up the space economically. As I had a ten years break in my genealogy related activities, I was pleasantly surprised when I had a look at the FH4 demo yesterday. The way the diagrams are designed and manipulated is just what I imgained they should be. Within minutes I could modify the template to display just black and white text, without box borders, and with the data content I wanted. But life is not easy -- and I encountered a problem I would like to ask about.

The British tradition of pedigree presentation has separate boxes for spouses (as implemented in the FH4 very well) but I prefer the way they are presented in Central European publications, where all spouses are included in one box with the person in question, while the children are marked with the number of the marriage they are from. This saves much space, especially in cases of many persons with several marriages in one generation. I tried to achive this in the FH4 and managed to display the info about consecutive marriages (still not numbered but this is hopefully a minor point) but it is only visible in the 'one box per marriage' view. The problem is that this view displays three boxes for three marriages, all with the same data:

Image

I believe it would be easiest to somehow force the 'No Spouse Info' view to display such data, so that there is only one box with all children issuing from it.

Image

Is this possible? Maybe there is a way to collect the data and then mark them as 'plain text' or something, so that the program does not treat it as spouse info and displays it?

Apologies for asking a rather involved question after just one day of learning -- hopefully it makes some sense...

Best regards,

Rafal



ID:4726

User avatar
Jane
Site Admin
Posts: 8442
Joined: 01 Nov 2002 15:00
Family Historian: V7
Location: Somerset, England
Contact:

spouses in diagrams

Post by Jane » 16 Aug 2010 22:52

FH is not designed to show a single box, obviously if you really want to do it you can draw a box over the top, but in your example you have lost the information about the spouses all together which seems a bit odd, you might as well just dump all the children in one family if you don't want the spouses.

Alternately, just condition the text on the subsequent boxes with just the spouse in each re-marriage box (as FH does by default), rather than showing all the information in the re-marriage boxes.

avatar
Rafal
Silver
Posts: 7
Joined: 16 Aug 2010 14:55
Family Historian: None

spouses in diagrams

Post by Rafal » 17 Aug 2010 00:26

Thank you for replying! I am afraid I was not quite clear about what I am trying to achieve. I would like the diagram to display something like this:

Image
in your example you have lost the information about the spouses all together which seems a bit odd, you might as well just dump all the children in one family if you don't want the spouses.
I do want the spouses -- but in one box. As I wrote, this is the convention used in Central Europe, made standard by the multivolume Europäische Stammtafeln. Here is an example:

http://www.aeiou.at/aeiou.encyclop.data ... 21649d.jpg

So I was trying to have the marriages and spouses displayed in the main person's box using:

%INDI.FAMS[1+]>MARR.DATE:ABBREV3% (%INDI.FAMS[1+]>MARR.PLAC:SHORT%), %INDI.~SPOU[1+]>NAME%

but I believe that using 'No Spuse Info' view just filters off all data references with %INDI.FAMS%, while the other two views display additional boxes for spouses. So probably it cannot be done after all... but I just want to make sure. I suppose that if the result of the code above could be passed to a variable, the 'No Spuse Info' view could be cheated, but am not sure if it can be done.

Best regards,

Rafal

User avatar
Jane
Site Admin
Posts: 8442
Joined: 01 Nov 2002 15:00
Family Historian: V7
Location: Somerset, England
Contact:

spouses in diagrams

Post by Jane » 17 Aug 2010 07:53

No not automatically any way.

avatar
Rafal
Silver
Posts: 7
Joined: 16 Aug 2010 14:55
Family Historian: None

spouses in diagrams

Post by Rafal » 17 Aug 2010 10:32

Well, as a neophyte, I seem to have more faith in FH and don't get discouraged easily [smile].

It turned out to be possible and pretty automatic: just changing the settings in Box Types and Conditions. So I now have the way I want it, with all marriages in the same box:

Image

The next thing would be to number the marriages, so that instead of just 'm.' there is 'm. (1)' or 'm. 1st' etc. In some messages on the Forum someone mentioned that %_INSTANCE_% should display the marriage number but somehow cannot make it work (and it is not documented in the Help or Manual). Any help on the syntax of its usage would be much appreciated.

Best regards,

Rafal

avatar
Rafal
Silver
Posts: 7
Joined: 16 Aug 2010 14:55
Family Historian: None

spouses in diagrams

Post by Rafal » 17 Aug 2010 16:58

I have now ascertained that %_INSTANCE_% outputs the instances of the same person person as she/he appears on the diagram in different places rather than the number of marriage. I also see that in some reports (Individual Summary Report, for example) the marriages are numbered, so the information is stored in the program. There seems to be no function to retrieve it, however. There is the ChildCount() function but no similar MarriageCount() function. Unless there is something that I cannot find?

Another way to number marriages would be to use the index iterator, so that using FAMS[+1], I could output current value of the index for every iteration through FAM records. Is there a way to do that? Or to use marriage numbers in any other way?

Best regards,

Rafal

User avatar
Jane
Site Admin
Posts: 8442
Joined: 01 Nov 2002 15:00
Family Historian: V7
Location: Somerset, England
Contact:

spouses in diagrams

Post by Jane » 18 Aug 2010 07:55

I think you would need to specify multiple indi.fams[x]> lines to allow you to pick up each of the marriages for the person.

In normal circumstances each box is associated with an individual record and a family record, but you don't want that for your method.

I suspect for the children you may have to add a custom attribute for the family number, as you won't know which parent is the ancestor for the diagram to look up the marriage number.

avatar
Rafal
Silver
Posts: 7
Joined: 16 Aug 2010 14:55
Family Historian: None

spouses in diagrams

Post by Rafal » 20 Aug 2010 00:21

I think you would need to specify multiple indi.fams[x]> lines to allow you to pick up each of the marriages for the person.
That was my initial thought but it is really ugly [smile]. Still, as other attempts failed, I used it -- but one has to assume the maximum number of marriages (I used 6 for the time being). Because the first marriage should only be numbered if there were more than one, it is necessary to check it first, which I did with the following code:

=TextIf(Exists(%INDI.FAMS[1]%) and Not(Exists(%INDI.FAMS[2]%)),'; m. ',)
=TextIf(Exists(%INDI.FAMS[2]%),'; m. (1) ',)


Then comes the first marriage info:

; %INDI.FAMS[1]>MARR.DATE:ABBREV3% (%INDI.FAMS[1]>MARR.PLAC:SHORT%), %INDI.~SPOU[1]>NAME%

and the second:

; m. (2) %INDI.FAMS[2]>MARR.DATE:ABBREV3% (%INDI.FAMS[2]>MARR.PLAC:SHORT%), %INDI.~SPOU[2]>NAME%

plus as many similar lines with increasing indices as one assumes maximum number of marriages.
I suspect for the children you may have to add a custom attribute for the family number, as you won't know which parent is the ancestor for the diagram to look up the marriage number.
Chanaging the data is the last thing I would like to do. Fortunately it can be done without recourse to custom attributes. But unfortunately, I see that the RecordId() function does not accept extended references and thus neither

=RecordId(%INDI.~FATH%)

nor

=RecordId(%INDI.FAMC>WIFE[2]%)

are accepted by the program as legal expressions and so I could not use Record Id's for comparisons but used Names instead. This is not a perfect ssolution as there may be (probably very seldom) instances of two spouses with the same name. Still, the following works if such an instance does not occur:

=ExistsText(%INDI.~FATH>~SPOU[2]>NAME%,TextIf(%INDI.~FATH>~SPOU[1]>NAME% = %INDI.~MOTH>NAME%,'(1)',))
=ExistsText(%INDI.~FATH>~SPOU[2]>NAME%,TextIf(%INDI.~FATH>~SPOU[2]>NAME% = %INDI.~MOTH>NAME%,'(2)',))


and so on up to the maximum number of marriages. The first part always has ~SPOU[2], so that the number does not appear if the father only had one wife. Also, it now works for patrilinear (traditional) family pedigrees. For all descendants it would have to be more complicated and this 'brutal force' approach may not allow it at all (but I will think about it).

So here is the result:

Image

or a better quality PDF printout here: http://main4.amu.edu.pl/~rafalp/tudors.pdf

This example (generated from the legendary file royalty92.ged) shows very well how much more compact and economic this way of pedigree presentation is. Just imagine additional boxes for the 6 wives of Henry VIII and 6 additional spouses of his siblings! The 12 additional boxes would not fit on a single page, while here -- as you can see -- they fit quite nicely.

The code would be much nicer, however, if a function to access Marriage Numbers within INDI records were available and if RecordId's could be compared.

Best regards,

Rafal

User avatar
PeterR
Megastar
Posts: 1129
Joined: 10 Jul 2006 16:55
Family Historian: V7
Location: Northumberland, UK

spouses in diagrams

Post by PeterR » 05 Sep 2010 17:07

Rafal,
Many congratulations for showing what can be achieved with sufficient time and perseverance.

However, I would point out that both of the following are accepted as valid expressions.  The inclusion of the > ensures that the argument for the function is a record.

Code: Select all

=RecordId(%INDI.~FATH>%)
=RecordId(%INDI.FAMC>WIFE>%)

avatar
Rafal
Silver
Posts: 7
Joined: 16 Aug 2010 14:55
Family Historian: None

spouses in diagrams

Post by Rafal » 05 Sep 2010 21:55

Peter,
Many congratulations for showing what can be achieved with sufficient time and perseverance.
Many thanks! [smile]
However, I would point out that both of the following are accepted as valid expressions.  The inclusion of the > ensures that the argument for the function is a record.
code:
=RecordId(%INDI.~FATH>%)
=RecordId(%INDI.FAMC>WIFE>%)
Oh, I see now. I still have 7 days of Demo activity so will try it.

And how about a function returning the number of spouses, an equivalent of ChildCount() -- is there a chance of implementing it? And/or a way to loop through FAMS families? Or is there already some way to exctract such information in the text scheme language?

Best regards,

Rafal

Locked