Help talk:Family trees/Archive 1

New family tree template
I've created a clever little template for building simple table-based family trees, Template:Familytree. I still need work on the documentation and do more testing, but basically it works now. I've mainly intended this as a nicer-looking replacement for the ASCII art family trees, although it can also be used to replace simple images, its main advantage here being the ability to include wikilinks. Other advantages and disadvantages include:


 * Pro
 * Looks like a proper tree, not a block of preformatted text.
 * Allows arbitrary wiki markup within boxes.
 * Scales according to user's font size and window size.
 * Editable without external software. Template syntax is reasonably readable (though hardly pretty).


 * Con
 * Requires CSS support for line rendering.
 * Does not render properly in text-mode browsers. Lynx, which doesn't do tables, is particularly hopeless.
 * Only one box type and two line types currently supported. Can be extended, but takes some work.
 * Semi-rigid table structure may require some trial and efford to achieve nice box placement.

Comments and suggestions for improvement are welcome. —Ilmari Karonen (talk) 20:53, 14 December 2005 (UTC)

What's the best way to wikify family trees?

 * discussion moved from the Village Pump

Is there a good wiki way of creating family trees in such a way that the family members can be clicked? For example, I've made a couple in Dream of the Red Chamber using ascii art, but the wiki source is a disgusting mess to edit and maintain. Any better ideas? Lupin 14:08, 24 Mar 2005 (UTC)


 * Tipping the tree on its side and doing it with a wiki-table is probably your best bet right now. There are extensions being developed elsewhere which will allow direct entry of trees for all sorts of things (WikiTeX amongst others) but don't go holding your breath. --Phil | Talk 17:06, Mar 24, 2005 (UTC)


 * This seems make the tree structure a lot harder to understand at a glance, unfortunately. Also I see no good way to distinguish between children and children-in-law with this method. Anyway, not a bad idea for simple trees! Lupin 02:25, 25 Mar 2005 (UTC)

I couldn't resist. Here's my first attempt at a tree template: (calling template tree with parameters in Ahnentafel order, 1-15) produces:


 * suggestions? - Nunh-huh 18:04, 24 Mar 2005 (UTC)


 * This seems to be a binary tree template - what if there's more than one child? Lupin 02:25, 25 Mar 2005 (UTC)
 * I think you're reading it backwards. It's showing Albert's ancestors, and therefore has to be binary (well, more or less). -- Cyrius|&#9998; 04:32, 25 Mar 2005 (UTC)


 * Can the rendering be reversed, so that Albert appears on the right? That would be a more intuitive display.  What about top-down, which would be the most natural?


 * Will this template work if we know more generations on one branch than on another? I guess the blanks could be filled with "unknown", or "-", or "?", or simply left blank.  &mdash;Michael Z. 2005-03-25 06:47 Z 


 * Here are some varieties. I don't know if there's a way to fix the spacing in the top-to-bottom/bottom-to-top ones when there are unknowns. Does someone know a way?


 * I don't know that left-to-right is any less intuitive than right-to-left, but bottom-to-top is clearly more intuitive than top-to-bottom. - Nunh-huh 15:19, 25 Mar 2005 (UTC)


 * Simply because it follows the standard conventions for family trees, the penultimate table (ancestors above descendents) is the clear winner for me. It remains to see how a table could be used to effectively display more complex trees, eg involving multiple offspring, marriages and so on. I tried one fairly simple tree at User:Lupin/stone with a table and was not too pleased with the result. Lupin 16:03, 25 Mar 2005 (UTC)


 * FYI, both the bottom-to-top (that is, with the descendant at the bottom) and the left-to-right (descendant on the left, as in the original tree) are traditional. The former is more commonly seen in Europe, while the latter is more usual in America. Eugene van der Pijll 19:07, 25 Mar 2005 (UTC)


 * Can I suggest that, once this discussion is done, these examples are moved to somewhere more permanent (e.g. family tree which can capture some of the possible ways of doing trees (and have existing stuff, like Image:SwabiaDukes.png and Family tree of the Greek gods as alternate approaches). Given that none of these options are entirely satisfactory, and the subject matter is one you'd expect to find a lot of in an encyclopedia, it might be in order to start thinking about what we might like a mediawiki family-tree extension to do. -- John Fader (talk | contribs) 15:35, 25 Mar 2005 (UTC)

None of the examples above look like family trees. While they might do for now, I think that what we really need is image map support, so that we can draw proper trees, like the one on the right, and still be able to click on a family member to go to their article. Gdr 19:51, 2005 Mar 25 (UTC)


 * How do they look if drawn without the borders? How about if each cell had a small "joining lines" graphic inserted above the name; this may also help widen tiny table cells.


 * Can MathML render a family tree? &mdash;Michael Z. 2005-03-25 20:16 Z 


 * Rather than imagemaps I was hoping for somethink akin to easy timelines, where the syntax allowed one to define basic relationships (married, child, adopted, etc.). Then the extension would render that to whatever format.  Possible formats would include a PNG with nicely rendered text like Muriel's examples (with imagemap links), a text-graph (like Family tree of the Greek gods) suitable for text browsers, one of the table types above, and later stuff like clickable SVGs.  By representing the data in a more abstract form (family tree rather than imagemap) we can change the behavour, make improvements, and support new modes out output without having to change all the pages that use the syntax. -- John Fader (talk | contribs) 00:10, 26 Mar 2005 (UTC)


 * Ideally this would be done by some extension for this purpose that allows the logical relationships to be expressed, but the most practical thing in the short run is to use tables. For simple family trees, I like the first example above, because it's compact and clearly expresses the relationships. Families with extensive interbreeding are a rarer and more complicated case to deal with &mdash; in the short run good image-map support may be the most general, useful solution, since it can also be applied to many other problems (such as a clickable United States map linking to each state or a clickable periodic table). Deco 01:30, 26 Mar 2005 (UTC)

Here is the family tree I did for House Baratheon:

Steffon==+==? Eastermont |                   ++--+                    |        |                  |      Cersei==+===Robert  Stannis==+==Selyse  Renly Lannister |    |              | Florent |    |              |    +++     +--+       |    |    |    |     |      |       |   Joffrey | Tommen  Mya   Edric  Shireen Myrcella   Stone  Storm

This works pretty well. The relationships are clear, and it is clickable. It can be scaled and printed, edited, and re-used. Within the current limitation, this scheme works better than most, and breaks down only for the really intricate trees like the Wars of the Roses or House Targaryen.

The biggest problem is really that it is ugly. The monospaced typeface is acceptable (and could be replaced by something less jarring than courier), but the worst thing are the lines and intersections. This could be remedied to some extent (and with minimal programming effort) if the software selected a correctly monospaced font for the Box Drawing range of Unicode characters, which are adequate for this purpose. Here's what that would look like:

&#9484;&#9472;&#9472;&#9472;&#9472;&#9516;&#9476;&#9476;&#9476;&#9476;&#9488; Bob   Paul    Mary

Problem is, I cannot convince the rendering engine to use the same typeface (and hence monospaced character width) for the entire construction, so the tree is impossible to line up. (Especially over browsers, skins, and sizes.) However, all that is needed is really to have the underlying software select the same font. I have tried to force that with CSS, but couldn't make it dance. 130.235.16.196 11:05, 29 Mar 2005 (UTC)


 * I have played around with the Box Drawing characters a bit more. On a Windows box under IE I can get the machine to select both the text and the Box Drawing characters from the same font (Courier New), provided I stay within a small (but useful) subset of the Box Drawing range (see Box Drawing for a list of characters supported by Windows codepage 40 or so). That way I can produce pretty good-looking trees. However, try as I might, I cannot convince the Mac to do the same, under Safari and Firefox it insist on selecting the Box Drawing characters from some other typeface (hard to tell which), resulting in a terribly aligned mess. The "Courier New" on my Mac doesn't even seem to have the Box Drawing range. Arbor 08:15, 30 Mar 2005 (UTC)

And another attempt. This time I have tried to use tables, for House Tully:

To understand how I did this, let me switch on all table borders:

This solution can be scaled and printed, edited, and searched. We can have mark-up in the text, including character formatting and hyperlinks. The above tree I did by hand (which gives the nicest results), but I you want to avoid fighting with the HTML table syntax, Microsoft Excel allows you to draw the tree in a spreadsheet and then export the HTML. The code isn't as nice as mine, and the result doesn't scale as nicely either, but the result is pretty reasonable. Arbor 11:08, 7 Apr 2005 (UTC)


 * Wow. That is fantastic. Now we only need some perl/python wizard to knock together a script to generate this code from a human-editable family description and we're halfway to a MediaWiki extension. Lupin 12:55, 7 Apr 2005 (UTC)




 * It looks nice in a visual browser, but the table structure is semantically meaningless. It won't make any sense to people with text-based or audio browsers, e.g. the visually impaired.  It would be better to generate an image map.


 * I think something might be workable with a table if there were cells containing graphics analogous to the box-drawing characters. E.g., a T-shaped graphic with the alt text "spouse of" that goes between two spouses.  &mdash;Michael Z. 2005-04-7 14:01 Z 


 * Is there no way to assign "alt text" of some sort to a table cell or chunk of text? If so we could use the alt text of a family member to describe their place in the tree, like "Spouse of ..., second daughter of ...". This should be possible to do automatically given a sufficiently clever script. Also the table approach has the advantage over the imagemap that it can be scaled, so it's accessibility for some will be improved that way. Lupin 14:19, 7 Apr 2005 (UTC)

Before this is deleted from the Pump, could someone take on the task of creating a page in Wikipedia-space talking about the various ways of doing this? There is some cool stuff here, that merits a how-to. -- Jmabel | Talk 05:56, Apr 8, 2005 (UTC)
 * As a matter of information the reference on this page to Paul Foley should be to "Paul Foley of Prestwood", son of Philip Foley. This Paul is NN but is mentioned in a diambiguation page.  No commetn on the subject.  Peterkingiron (talk) 18:48, 16 March 2008 (UTC)

For dummies
I'm interested in making a family tree, but I find all this computer code hard to follow. Is there a program or the like that I can download that will simplify it for me? TIA. Yehoishophot Oliver 15:31, 12 July 2007 (UTC)