diff options
Diffstat (limited to 'macros/latex/contrib/familytree/README.md')
-rw-r--r-- | macros/latex/contrib/familytree/README.md | 212 |
1 files changed, 212 insertions, 0 deletions
diff --git a/macros/latex/contrib/familytree/README.md b/macros/latex/contrib/familytree/README.md new file mode 100644 index 0000000000..944c10aab8 --- /dev/null +++ b/macros/latex/contrib/familytree/README.md @@ -0,0 +1,212 @@ + +# familytree package +`jiro1010senju AT gmail DOT com` + +--- +``` +This package is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +any later version. + +This package is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this package. If not, see <http://www.gnu.org/licenses/>. +``` +--- + +Some LaTeX macros (or commands) to draw a family tree. + + +# Install + +`$ make Dir=/tmp` + +You will get these files under `/tmp`. +``` +familytree.sty +familytree.pdf +familytree-ja.pdf +Crawley.pdf +Asai.pdf +Tokugawa.pdf +``` + +`$ make InstallDir=/tmp/texmf-dist install` + +You will get these under `/tmp/texmf-dist`. + +``` +tex/latex/familytree.sty +source/latex/familytree/familytree.pdf +source/latex/familytree/familytree-ja.pdf +source/latex/familytree/Crawley.pdf +source/latex/familytree/Asai.pdf +source/latex/familytree/Tokugawa.pdf +``` + + +# Usage + +1. +``` +\indvdldef{Harry}{Harry} +\indvdldef{Lily}{Lily}[\matrilineal] +\pcdef{Potters}{Lily}{Harry} +\fbox{\usebox{\Potters}} +``` + +2. +``` +\indvdldef{Petunia}{Petunia} +\indvdldef{Lily}{Lily} +\sblngdef{sis}{Petunia,Lily} +\fbox{\usebox{\sis}} +``` + +3. +``` +\indvdldef{Lily}{Lily} +\indvdldef[\blank]{James}{James Potter}[\haschild] +\mrrgdef{Potters}{James}{Lily}{} +\fbox{\usebox{\Potters}} +``` + +4. +``` +\indvdldef{Petunia}{Petunia} +\indvdldef[\blank]{Vernon}{Vernon Dursley}[\haschild] +\mrrgdef{Dursleys}{Vernon}{Petunia}{} +%\fbox{\usebox{\Dursleys}} + +\newsavebox{\boxA} +\savebox{\boxA}{\hbox{Petunia}} +\indvdldef{Lily}{\hbox to \wd\boxA{Lily}} +\indvdldef[\blank]{James}{James Potter}[\haschild] +\mrrgdef{Potters}{}{Lily}{James}[\dimexpr\wd\Vernon - \wd\James\relax] +%\fbox{\usebox{\Potters}} + +\sblngdef{sis}{Dursleys,ivali,Potters} +\fbox{\usebox{\sis}} +``` + + +# Syntax + +To define an individual, +``` +\indvdldef + [child mark] + {new box name} + [title] + {individual name} + [list of additional info or attributes] + [maleline xlength] +``` + +- child mark + + `\ftbiological` + + `\ftadopted` + + `\fttop` + + `\ftblank` + +- attribute + + `\fthaschild` + + `\ftprivate` + + `\ftmaleline, \ftfemaleline, \ftpatrilineal, \ftmatrilineal` + +--- + +To define the siblings, +``` +\sblngdef + {new box name} + {name list of individual boxes} +``` + +You can insert the "interval box" in the name list, to make the +spaces between the siblings. + +To define the interval box, +``` +\ivaldef + {box-name} + {length} +``` + +There are three pre-defined interval boxes, `\ival`, `\ivali`, and `\ivalii`. + +--- + +To define a parent-child relationship, +``` +\pcdef + {new box name} + {parent box name} + {child box name} +``` + +To define the generations, +``` +\gensdef + {new box name} + {parent box name} + {list of connection-pair} +``` + +``` +connection-pair := + {individual box name in the parent box} + {child box name} +``` + +--- + +To define a married couple or the spouses, +``` +\mrrgdef + {new box name} + {spouse list A} + {oneself} + {spouse list B} + [childline xlength] +``` + + +Configuration +------------- + +``` +\nameboxcfg + {space from the child mark} + {font} + {space to the maleline} + {maleline length} + +\cmarkboxcfg + {space between two lines, for adopted} + {line length} + +\titleboxcfg + {indent} + {font} + {linestretch} + {vspace to the individual name} + +\optboxcfg + {vspace from the individual name} + {indent} + {font} + {linestretch} + +\sblngboxcfg + {space-length} +``` + + +For more details, refer to `*.dtx`, `familytree.pdf` or `familytree-ja.pdf`, +and `samples/` sub-dir. |