diff options
Diffstat (limited to 'macros/latex/contrib/familytree/doc-ja/ft-marriage-ja.tex')
-rw-r--r-- | macros/latex/contrib/familytree/doc-ja/ft-marriage-ja.tex | 219 |
1 files changed, 219 insertions, 0 deletions
diff --git a/macros/latex/contrib/familytree/doc-ja/ft-marriage-ja.tex b/macros/latex/contrib/familytree/doc-ja/ft-marriage-ja.tex new file mode 100644 index 0000000000..1076439f99 --- /dev/null +++ b/macros/latex/contrib/familytree/doc-ja/ft-marriage-ja.tex @@ -0,0 +1,219 @@ +\iffalse +Copyright 2022 Jiro Senju + +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/>. +\fi + +\section{婚姻関係 (\texttt{ft-marriage.dtx})} + +\DescribeMacro{\mrrgdef} +\cmd{\mrrgdef + \marg{new box name} + \marg{spouse list A} + \marg{oneself} + \marg{spouse list B} + \oarg{childline xlength} +} +\medskip + +指定された\meta{new box name}でboxを定義する。 +再婚や側室などにも対応するべく、配偶者はlist形式で指定する。 +|\indvdldef|で定義したboxの名前をカンマ区切りのlistとして与える。 +\meta{spouse list A}は本人(\meta{oneself})の上側(縦書きならば右)に、 +\meta{spouse list B}は本人(\meta{oneself})の下側(縦書きならば左)に、 +それぞれ配置する。 +いづれも\CS ではない点に注意 +(冒頭にbackslashを含まない)。 +\smallskip + +全員を同列に並べ、正式な婚姻関係は二重実線で、正式でなければ +(|\private|属性) +二重点線で結ぶ。 +二重線の位置は\meta{oneself}の人物名の中点とする。 +\smallskip + +子をもうけた夫婦 +(配偶者が|\haschild|属性を持つ) +間の二重線からは子をつなぐ線を描く。 +\smallskip + +|\sblngdef|同様に間隔を空ける場合はinterval boxを挿入できる。 +\medskip + +|\indvdldef|同様に、後で使用する座標(単位は|pt|)を表す\CS も定義する。 +座標の原点はそれぞれ、 +横書きの場合はbox左下、 +縦書きの場合はbox左上である。 + +\begin{itemize} +\item \meta{box name}|nameCY| +\par +婚姻関係box内での本人(\meta{oneself})の人物名の高さの中央 +(縦書きならば幅の中央) + +\item \meta{box name}\meta{\kern0pt 人物box name}|nameCY| +\par +婚姻関係box内でのcmarkを持つ人物名の高さの中央 + +\item \meta{box name}\meta{\kern0pt 人物box name}|mrrgCY| +\par +婚姻関係box内での|\haschild|属性を持つ人物名と婚姻線との中点 +\end{itemize} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{カスタマイズ} + +% 配置を調整する機能もある。 +% 変更しないものには空を指定すれば良い。 +% 大したことはしていないので必要に応じ参照\jslash 使用する程度で良い。 +% 引数等詳細は実装を参照のこと。 +% \medskip + +\DescribeMacro{\mrrgboxcfg} +\cmd{\mrrgboxcfg + \marg{space between two lines} + \marg{space between name and the line} + \marg{line length} +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\clearpage +\subsection{例} + +\begin{enumerate} +\item +\srcfig{fig4Hidetada} +\clearpage + +\item +\srcfig{fig4Ogou} +\end{enumerate} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{同世代内の配置と結線} + +一つの\FamilyTree になんでもかんでも詰め込むのは無理がある。 + +例えば夫婦がともに再婚していた場合、全員を同列に並べては見にく +くなるばかりだ。先に挙げた二つの図は秀忠夫婦を表すと言えば同じになって +しまうが、観点を秀忠にするかお江にするかで随分違う図になる。この二つの +図を合体させるのはまず無理と +思う。人物を減らすか、夫婦それぞれを主人公にした図の二つに分けるしかない。 +それでも自身の先祖や子孫が配偶者側の先祖\jslash 子孫と関係を +持つ場合があれば、更に分割せざるを得ないだろう。 + +兄弟姉妹関係と婚姻関係を同時に表現する場合も同様だ。 +同世代内で線が入り乱れると図が見にくくなってしまう。 +\refnm{sec:Lily1}の例を再利用し考えてみる。 + +Petunia -- Lily姉妹がそれぞれ結婚した場合、姉妹関係と婚姻関係を同時に、 +かつ綺麗に表現できるだろうか。 + +まず二組の夫婦を定義し、後に姉妹関係を定義する。 +\bigskip + +\srcfig{fig4Lily1} +\medskip + +夫婦単位で見れば問題はないかもしれないが、姉妹関係を結ぶと見づらい図となってし +まう。原因になりうる点は次の三つだろう。 + +\begin{enumerate} +\item 婚姻関係を表す二重線の位置が揃っていない。 +\item 子をつなぐ線の長さも異なっており、この状態で子をつなぐと見づらさに + 拍車がかかる。 +\item JamesがPetuniaとLilyの間に割り込んでおり、姉妹関係を見づらくして +いる。 +\end{enumerate} + +一点目の二重線の位置を揃えれば、二点目の線長不揃いも自動的に解消される。 +これには\refnm{sec:Lily1}でも紹介した、Lily boxの幅をPetunia boxのそれ +に揃える方法が使える。 +三点目のJamesの位置だが、まずは間隔を拡げてみる。 +\bigskip + +\srcfig{fig4Lily2} +\medskip + +間隔を拡げても姉妹線がJamesを跨いでいることは変わらない。見づらさは改 +善されただろうか? +更に改善するにはJamesとLilyの順序を入れ替えるしかない。 +\bigskip + +\srcfig{fig4Lily3} +\medskip + +入れ替えた上で間隔を拡げるのも一つの手だ。 +\bigskip + +\srcfig{fig4Lily4} +\medskip + +これがbestだろうか? +見やすさ\jslash 見にくさは主観や好みが強く出る所だ。 +個人的には夫婦の順序が変わっている点に抵抗を覚える。だが、姉妹に観点を +置いた\FamilyTree ならば、この形も有りだと認めざるを得ない。系図内の他 +の部分とのバランスもあるので、最終的には総合的に判断するものだろう。 +婚姻関係を含めない\Matrilineal 図も積極的に検討したい。 + +\iffalse +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \parag{カスタマイズ} +% +% \DescribeMacro{\ftmrrgboxcfg} +% \DescribeMacro{\mrrgboxcfg} +% 婚姻boxを生成する際に使用する +% 二重線の間隔、 +% 二重線と人物名との距離、 +% 二重線の長さ +% をカスタマイズできる。 +% +% 変更しないものには空を指定すれば良い。 +% +% \parag{解析} +% +% \DescribeMacro{\ft@mrrg@parse} +% 引数を解析し、婚姻boxのsizeを算出する。 +% +% 子につながる線を描く場合、一番長いものに +% |\ft@namebox@maleline@length|を加えた長さに揃える。 +% +% \parag{婚姻関係線の描画} +% +% \DescribeMacro{\ft@mrrg@line} +% 本人と配偶者を二重線でつなぐ。 +% +% 配偶者が|\haschild|属性を持っていれば、二重線の中点から子へつなぐため +% の線も描き、その座標を\meta{box name}\meta{\kern0pt 人物box name}|mrrgCY|に定 +% 義する。 +% +% \parag{人物名の配置} +% +% \DescribeMacro{\ft@mrrg@name} +% child mark属性を持つ人物boxの場合は、\meta{box name}\meta{\kern0pt 人物box +% name}|nameCY|を定義する。 +% +% \subsubsection{人物boxの配置と結線 --- core} +% +% \DescribeMacro{\ft@mrrg@spouse} +% 配偶者list内の要素それぞれを配置し、婚姻関係線を描く。 +% +% \subsubsection{婚姻box --- interface} +% +% \DescribeMacro{\ftmrrgdef} +% \DescribeMacro{\mrrgdef} +% 配置したbox内での本人(\meta{oneself})の|nameCY|を、\meta{box name}|nameCY|と +% して定義する。同様に本人の|hascmark|をそのまま\meta{box +% name}|hascmark|とする。 +\fi |