summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/familytree/doc-ja/ft-sibling-ja.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/familytree/doc-ja/ft-sibling-ja.tex')
-rw-r--r--macros/latex/contrib/familytree/doc-ja/ft-sibling-ja.tex181
1 files changed, 181 insertions, 0 deletions
diff --git a/macros/latex/contrib/familytree/doc-ja/ft-sibling-ja.tex b/macros/latex/contrib/familytree/doc-ja/ft-sibling-ja.tex
new file mode 100644
index 0000000000..00567f863a
--- /dev/null
+++ b/macros/latex/contrib/familytree/doc-ja/ft-sibling-ja.tex
@@ -0,0 +1,181 @@
+\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-sibling.dtx})}
+
+\DescribeMacro{\sblngdef}
+\cmd{\sblngdef
+ \marg{new box name}
+ \marg{name list of individual boxes}
+}
+\medskip
+
+|\indvdldef|で定義したboxの名前をカンマ区切りのlistとして与える。
+同列に並べ、兄弟姉妹間を線でつないだboxを、
+指定された\meta{new box name}で定義する。
+いづれも\CS ではない点に注意
+(冒頭にbackslashを含まない)。
+
+指定された兄弟姉妹の内、|\maleline|属性を持つ者が複数在れば、一番長い
+ものに線の長さを揃える。
+\smallskip
+
+|\indvdldef|同様に、後で使用する座標(単位は|pt|)を表す\CS も定義する。
+座標の原点はそれぞれ、
+横書きの場合はbox左下、
+縦書きの場合はbox左上である。
+
+\begin{itemize}
+\item \meta{box name}|nameCY|
+\par
+兄弟姉妹達をつなぐ線の中央
+\par
+兄弟姉妹間をつなぐ線とはすなわち\meta{list先頭box}|nameCY|と\meta{list
+末尾box}|nameCY|をつなぐ線である。
+
+\item \meta{box name}\meta{\kern0pt 人物box name}|nameCY|
+\par
+兄弟姉妹box内での人物名それぞれの高さの中央
+(縦書きならば幅の中央)
+\par
+|\indvdldef|が定義した\meta{\kern0pt 人物box name}|nameCY|が
+兄弟姉妹box内での人物名に合わせて平行移動したとも言える。
+\end{itemize}
+\bigskip
+
+\DescribeMacro{\ivaldef}
+\cmd{\ivaldef
+ \marg{new box name}
+ \marg{length}
+}
+\medskip
+
+\FamilyTree では兄弟姉妹の子孫が多い場合等、
+兄弟姉妹間の間隔を拡げる事がある。
+このような場合には|\ivaldef| (interval box)
+で生成した、中身が空のboxを手動で挿入する。
+このpackageでは予め三つのboxを定義してある。
+|\ival|、|\ivali|、|\ivalii|であり、
+中身は空だがそれぞれ|0.5zw|、|1zw|、|2zw|のlengthを持つ
+(厳密に言うと、日英対応のため|1zw|を|\ft@unit|として再定義しており、ここ
+ では|.5\ft@unit|、|1\ft@unit|、|2\ft@unit|のinterval boxとしている)。
+
+|\ivaldef|は|\global\newsavebox|するので、
+乱発しては資源消費が問題になる恐れがある。
+その場合は後述する|\sblngboxcfg|で全ての兄弟姉妹間に同じ間隔を設ければ問題
+を回避できる。または、小さな空白を複数連続して挿入することも可能であ
+る。
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\subsection{カスタマイズ}
+
+% 配置を調整する機能もある。
+% 大したことはしていないので必要に応じ参照\jslash 使用する程度のもの。
+% 引数等詳細は後述する。
+% \smallskip
+
+\DescribeMacro{\sblngboxcfg}
+\cmd{\sblngboxcfg
+ \marg{space between the siblings}
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\subsection{例}
+
+\begin{enumerate}
+\itemsep=\bigskipamount
+\item
+\srcfig{fig2base}
+
+\item
+\srcfig{fig2Hidetada}
+
+\item
+\srcfig{fig2ival}
+
+\needspace{5\baselineskip}
+\item
+\srcfig{fig2cfg}
+\end{enumerate}
+
+\iffalse
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \subsubsection{interval box}
+%
+% \DescribeMacro{\ftivaldef}
+% \DescribeMacro{\ivaldef}
+% サイズは持つが中身が空のboxを生成する。
+% 兄弟姉妹間に隙間として挿入する際に使用する。
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \parag{pre-defined interval boxes}
+%
+% \DescribeMacro{\ftival}
+% \DescribeMacro{\ival}
+%
+% \DescribeMacro{\ftivali}
+% \DescribeMacro{\ivali}
+%
+% \DescribeMacro{\ftivalii}
+% \DescribeMacro{\ivalii}
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \parag{カスタマイズ}\
+%
+% \DescribeMacro{\ftsblngboxcfg}
+% \DescribeMacro{\sblngboxcfg}
+% 兄弟姉妹を整形\jslash 配置したboxを生
+% 成する際に使用する兄弟姉妹間の間隔
+% をカスタマイズできる。
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \subsubsection{兄弟姉妹box --- core}
+%
+% 指定された兄弟姉妹を全て同列に並べ、関係線を結ぶ。
+% 指定された名前でboxを生成する。
+%
+% 指定された兄弟姉妹の内、|\maleline|属性を持つ者が複数在れば、一
+% 番長いものに線の長さを揃える。
+% 人物名と線の間にはここでも|\ft@namebox@maleline@sp|分の空白を設ける。
+%
+% \IhadtoSplit
+%
+% \DescribeMacro{\ft@sblng@maleline}
+% |maleline|の長さを揃える。
+%
+% \DescribeMacro{\ft@sblng@connect}
+% 兄弟姉妹間を線でつなぐ。
+%
+% 線の中点を\meta{box-name}|nameCY|として定義する。
+%
+% \DescribeMacro{\ft@sblng@layout}
+% 配置し、線でつなぐ。
+%
+% 人物名を配置した高さを\meta{box name}\meta{\kern0pt 人物box
+% name}|nameCY|として定義する。
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \subsubsection{兄弟姉妹box --- interface}
+%
+% \DescribeMacro{\ftsblngdef}
+% \DescribeMacro{\sblngdef}
+% 前処理として全体サイズを算出し、coreである|\ft@sblng@layout|を実行する。
+% memberに|\maleline|属性を持つものが居るけれど、
+% もっとも幅が広い人物boxは|\maleline|属性を持っていない場合、
+% このboxの幅を拡げ、malelineの長さを延ばす。
+% 延ばす量は|\ft@namebox@maleline@length|である。
+\fi