diff options
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.tex | 181 |
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 |