# HG changeset patch
# User sugi
# Date 1364900568 -32400
# Node ID e17bc730af1a01c98d5ea0d813236ebfc8d09588
# Parent 86eb165b4b91b4fc7c9c6864281bce8e644c1777
separate folder
diff -r 86eb165b4b91 -r e17bc730af1a .DS_Store
Binary file .DS_Store has changed
diff -r 86eb165b4b91 -r e17bc730af1a Makefile
--- a/Makefile Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-TARGET = sigos
-
-LATEX = platex
-#BIBTEX = jbibtex
-BIBTEX = extractbb
-DVIPS = dvips
-DVIPDFM = dvipdfmx
-RM = rm -f
-
-# Option definitions
-DVIPDFMOPT =
-DVIPSOPT = -D 720 -mode esphi -O 0mm,0mm -N0
-
-# Suffixes definitions
-.SUFFIXES: .tex .dvi
-
-# Recipes
-all: pdf# $(TARGET).ps
- open $(TARGET).pdf
-dvi:
- @echo "----------- make dvi file ($(TARGET).dvi) ----------"
- $(LATEX) $(TARGET)
- $(BIBTEX) $(TARGET)
- $(LATEX) $(TARGET)
- $(LATEX) $(TARGET)
-pdf: dvi
- $(DVIPDFM) $(DVIPDFMOPT) $(TARGET)
-ps: dvi
- $(DVIPS) $(DVIPSOPT) $(TARGET)
-
-clean:
- $(RM) *~ \#*
- @if [ -f $(TARGET).aux ];\
- then $(RM) $(TARGET).aux;\
- fi
- @if [ -f $(TARGET).log ];\
- then $(RM) $(TARGET).log;\
- fi
- @if [ -f $(TARGET).toc ];\
- then $(RM) $(TARGET).toc;\
- fi
- @if [ -f $(TARGET).lof ];\
- then $(RM) $(TARGET).lof;\
- fi
- @if [ -f $(TARGET).lot ];\
- then $(RM) $(TARGET).lot;\
- fi
- @if [ -f $(TARGET).big ];\
- then $(RM) $(TARGET).big;\
- fi
- @if [ -f $(TARGET).bbl ];\
- then $(RM) $(TARGET).bbl;\
- fi
- @if [ -f $(TARGET).ilg ];\
- then $(RM) $(TARGET).ilg;\
- fi
- @if [ -f $(TARGET).idx ];\
- then $(RM) $(TARGET).idx;\
- fi
- @if [ -f $(TARGET).ind ];\
- then $(RM) $(TARGET).ind;\
- fi
- @if [ -f $(TARGET).dvi ];\
- then $(RM) $(TARGET).dvi;\
- fi
- @if [ -f $(TARGET).ps ];\
- then $(RM) $(TARGET).ps;\
- fi
- @if [ -f $(TARGET).pdf ];\
- then $(RM) $(TARGET).pdf;\
- fi
- @if [ -f $(TARGET).out ];\
- then $(RM) $(TARGET).out;\
- fi
- @if [ -f $(TARGET).bbl ];\
- then $(RM) $(TARGET).bbl;\
- fi
- @if [ -f $(TARGET).blg ];\
- then $(RM) $(TARGET).blg;\
- fi
diff -r 86eb165b4b91 -r e17bc730af1a bib.tex
--- a/bib.tex Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-\bibliographystyle{ipsjunsrt}
-\bibliography{sigos}
diff -r 86eb165b4b91 -r e17bc730af1a conclusion.tex
--- a/conclusion.tex Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-\section{まとめ}
-今回の改善はAliceのLocalにおける並列処理の速度を向上させるためのものであった。その結果約10%程処理速を改善することができた。
-しかし、まだまだ十分な速度であるとは言いがたい。別の実験からCode Segment生成からの実行されるまでに、オーバーヘッドがあるとの実験結果が出ている。
-Code Segment側のオーバーヘッドを取り除くことで、更なる速度改善が見込まれる。
-LocalにおいてはSEDAは使用しないが、RemoteにData Segmentの更新する際にはまだSEDAを使用している。今回の実験によりRemoteにおいてもSEDAを使用しないことでレスポンスの向上が見込まれるので、実験を行い確認したい。Remoteの処理速度としては少なくともシングルスレッドのFederated Lindaと同等の速度を目指している。
-
-また、Aliceが抱える問題はAPIのシンタックス的な問題や拡張性の問題、永続性の問題などが現在判明している。これらの問題を解決し、Aliceが信頼性とスケーラビリティーを持つように改良を行なっていく必要がある。
\ No newline at end of file
diff -r 86eb165b4b91 -r e17bc730af1a dummy.tex
--- a/dummy.tex Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-%%% jdummy.def
-%
-\DeclareRelationFont{JY1}{mc}{it}{}{OT1}{cmr}{it}{}
-\DeclareRelationFont{JT1}{mc}{it}{}{OT1}{cmr}{it}{}
-\DeclareFontShape{JY1}{mc}{m}{it}{<5> <6> <7> <8> <9> <10> sgen*min
- <10.95><12><14.4><17.28><20.74><24.88> min10
- <-> min10}{}
-\DeclareFontShape{JT1}{mc}{m}{it}{<5> <6> <7> <8> <9> <10> sgen*tmin
- <10.95><12><14.4><17.28><20.74><24.88> tmin10
- <-> tmin10}{}
-\DeclareRelationFont{JY1}{mc}{sl}{}{OT1}{cmr}{sl}{}
-\DeclareRelationFont{JT1}{mc}{sl}{}{OT1}{cmr}{sl}{}
-\DeclareFontShape{JY1}{mc}{m}{sl}{<5> <6> <7> <8> <9> <10> sgen*min
- <10.95><12><14.4><17.28><20.74><24.88> min10
- <-> min10}{}
-\DeclareFontShape{JT1}{mc}{m}{sl}{<5> <6> <7> <8> <9> <10> sgen*tmin
- <10.95><12><14.4><17.28><20.74><24.88> tmin10
- <-> tmin10}{}
-\DeclareRelationFont{JY1}{mc}{sc}{}{OT1}{cmr}{sc}{}
-\DeclareRelationFont{JT1}{mc}{sc}{}{OT1}{cmr}{sc}{}
-\DeclareFontShape{JY1}{mc}{m}{sc}{<5> <6> <7> <8> <9> <10> sgen*min
- <10.95><12><14.4><17.28><20.74><24.88> min10
- <-> min10}{}
-\DeclareFontShape{JT1}{mc}{m}{sc}{<5> <6> <7> <8> <9> <10> sgen*tmin
- <10.95><12><14.4><17.28><20.74><24.88> tmin10
- <-> tmin10}{}
-\DeclareRelationFont{JY1}{gt}{it}{}{OT1}{cmbx}{it}{}
-\DeclareRelationFont{JT1}{gt}{it}{}{OT1}{cmbx}{it}{}
-\DeclareFontShape{JY1}{mc}{bx}{it}{<5> <6> <7> <8> <9> <10> sgen*goth
- <10.95><12><14.4><17.28><20.74><24.88> goth10
- <-> goth10}{}
-\DeclareFontShape{JT1}{mc}{bx}{it}{<5> <6> <7> <8> <9> <10> sgen*tgoth
- <10.95><12><14.4><17.28><20.74><24.88> tgoth10
- <-> tgoth10}{}
-\DeclareRelationFont{JY1}{gt}{sl}{}{OT1}{cmbx}{sl}{}
-\DeclareRelationFont{JT1}{gt}{sl}{}{OT1}{cmbx}{sl}{}
-\DeclareFontShape{JY1}{mc}{bx}{sl}{<5> <6> <7> <8> <9> <10> sgen*goth
- <10.95><12><14.4><17.28><20.74><24.88> goth10
- <-> goth10}{}
-\DeclareFontShape{JT1}{mc}{bx}{sl}{<5> <6> <7> <8> <9> <10> sgen*tgoth
- <10.95><12><14.4><17.28><20.74><24.88> tgoth10
- <-> tgoth10}{}
-\DeclareRelationFont{JY1}{gt}{sc}{}{OT1}{cmbx}{sc}{}
-\DeclareRelationFont{JT1}{gt}{sc}{}{OT1}{cmbx}{sc}{}
-\DeclareFontShape{JY1}{mc}{bx}{sc}{<5> <6> <7> <8> <9> <10> sgen*goth
- <10.95><12><14.4><17.28><20.74><24.88> goth10
- <-> goth10}{}
-\DeclareFontShape{JT1}{mc}{bx}{sc}{<5> <6> <7> <8> <9> <10> sgen*tgoth
- <10.95><12><14.4><17.28><20.74><24.88> tgoth10
- <-> tgoth10}{}
-\DeclareRelationFont{JY1}{gt}{it}{}{OT1}{cmr}{it}{}
-\DeclareRelationFont{JT1}{gt}{it}{}{OT1}{cmr}{it}{}
-\DeclareFontShape{JY1}{gt}{m}{it}{<5> <6> <7> <8> <9> <10> sgen*goth
- <10.95><12><14.4><17.28><20.74><24.88> goth10
- <-> goth10}{}
-\DeclareFontShape{JT1}{gt}{m}{it}{<5> <6> <7> <8> <9> <10> sgen*tgoth
- <10.95><12><14.4><17.28><20.74><24.88> tgoth10
- <-> tgoth10}{}
-\endinput
-%%%% end of jdummy.def
diff -r 86eb165b4b91 -r e17bc730af1a images/.DS_Store
Binary file images/.DS_Store has changed
diff -r 86eb165b4b91 -r e17bc730af1a images/jlisting.sty
--- a/images/jlisting.sty Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,216 +0,0 @@
-\NeedsTeXFormat{LaTeX2e}
-\def\filedate{2006/02/20}
-\def\fileversion{0.2}
-\ProvidesPackage{jlisting}[\filedate\space\fileversion\space(Thor)]
-%
-\newcount\lst@nextchar
-\let\lst@@ProcessSpace\lst@ProcessSpace
-\def\lst@ProcessSpace#1{%
- \lst@check@chartype{#1}%
- \lst@@ProcessSpace
- \lst@whitespacetrue}
-\let\lst@@ProcessLetter\lst@ProcessLetter
-\def\lst@ProcessLetter#1#2{%
- \lst@check@chartype{#2}%
- {\lst@@ProcessLetter{#1}}%
- \relax}
-\let\lst@@ProcessDigit\lst@ProcessDigit
-\def\lst@ProcessDigit#1#2{%
- \lst@check@chartype{#2}%
- {\lst@@ProcessDigit{#1}}%
- \relax}
-\let\lst@@ProcessOther\lst@ProcessOther
-\def\lst@ProcessOther#1#2{%
- \lst@check@chartype{#2}%
- {\lst@@ProcessOther{#1}}%
- \relax}
-\let\lst@@ProcessTabulator\lst@ProcessTabulator
-\def\lst@ProcessTabulator#1{%
- \lst@check@chartype{#1}%
- \lst@@ProcessTabulator
- \relax}
-\def\lst@check@chartype#1#2#3{%
- \edef\@tempa{\lst@nextchar=`\string#1\relax}%
- \afterassignment\remove@to@nnil
- \@tempa\@nnil
- #2%
- \ifnum\lst@nextchar<\@cclvi
- #3%
- \else
- \lst@ifletter \else \lst@OutputOther \fi
- \lst@whitespacefalse
- \expandafter\lst@AppendJchar
- \fi
- #1}
-\def\lst@AppendJchar#1#2{%
- \lst@check@chartype{#2}%
- {\advance\lst@length\@ne\lst@Append{#1}}%
- \relax}
-\def\lst@check@chartype@BOL#1{%
- \edef\@tempa{\lst@nextchar=`\string#1\relax}%
- \afterassignment\remove@to@nnil
- \@tempa\@nnil
- \ifnum\lst@nextchar<\@cclvi\else
- \lst@whitespacefalse
- \expandafter\lst@AppendJchar
- \fi
- #1}
-\def\lst@InputListing#1{%
- \begingroup
- \lsthk@PreSet \gdef\lst@intname{#1}%
- \expandafter\lstset\expandafter{\lst@set}%
- \lsthk@DisplayStyle
- \catcode\active=\active
- \lst@Init\relax \let\lst@gobble\z@
- \lst@SkipToFirst
- \lst@ifprint \def\lst@next{\lst@get@filecontents{#1}}%
- \else \let\lst@next\@empty
- \fi
- \lst@next
- \lst@DeInit
- \endgroup}
-\newread\lst@inputfile
-\def\lst@get@filecontents#1{%
- \let\lst@filecontents\@empty
- \openin\lst@inputfile=#1\relax
- \let\@lst@get@filecontents@prevline\relax
- \lst@get@filecontents@loop
- \closein\lst@inputfile
- \lst@filecontents\empty}
-\def\lst@get@filecontents@loop{%
- \read\lst@inputfile to\@lst@get@filecontents@currline
- \ifx\@lst@get@filecontents@prevline\relax\else
- \expandafter\expandafter\expandafter\def
- \expandafter\expandafter\expandafter\lst@filecontents
- \expandafter\expandafter\expandafter{%
- \expandafter\lst@filecontents\@lst@get@filecontents@prevline}%
- \fi
- \let\@lst@get@filecontents@prevline\@lst@get@filecontents@currline
- \ifeof\lst@inputfile\else
- \expandafter\lst@get@filecontents@loop
- \fi}
-%%% [$B$3$N=hM}$b!$AjEv6/0z$G$9!%(B]
-\def\lst@BOLGobble{%
- \ifnum\lst@gobble>\z@
- \@tempcnta\lst@gobble\relax
- \expandafter\lst@BOLGobble@
- \else
- \expandafter\lst@check@chartype@BOL
- \fi}
-\def\lst@BOLGobble@#1{%
- \let\lst@next#1%
- \ifx \lst@next\relax\else
- \ifx \lst@next\lst@MProcessListing\else
- \ifx \lst@next\lst@ProcessFormFeed\else
- \ifx \lst@next\lstenv@backslash
- \let\lst@next\lstenv@BOLGobble@@
- \else
- \let\lst@next\lst@BOLGobble@@
- \ifx #1\lst@ProcessTabulator
- \advance\@tempcnta-\lst@tabsize\relax
- \ifnum\@tempcnta<\z@
- \lst@length-\@tempcnta \lst@PreGotoTabStop
- \fi
- \else
- \edef\@tempa{\lst@nextchar=`\string#1\relax}%
- \@tempa
- \ifnum\lst@nextchar<\@cclvi\else
- \advance\@tempcnta\m@ne
- \fi
- \advance\@tempcnta\m@ne
- \fi
- \fi \fi \fi \fi
- \lst@next}
-\def\lst@BOLGobble@@{%
- \ifnum\@tempcnta>\z@
- \expandafter\lst@BOLGobble@
- \else
- \expandafter\lst@check@chartype@BOL
- \fi
-}
-%
-% \begin{$B=$@5;v9`(B}{1.3}
-% $B$A$g$C$H$7$?=$@5(B
-\gdef\lst@breakProcessOther#1{\lst@ProcessOther#1}
-% $B%=!<%9%3!<%IL\:\$7$^$7$?!#(B
-
-\begin{quote}
- \url{http://http://cise.edu.mie-u.ac.jp/~okumura/texfaq/qa/21172.html}\\
- \url{http://http://cise.edu.mie-u.ac.jp/~okumura/texfaq/qa/21184.html}\\
- \url{http://http://cise.edu.mie-u.ac.jp/~okumura/texfaq/qa/21189.html}\\
- \url{http://http://cise.edu.mie-u.ac.jp/~okumura/texfaq/qa/21197.html}
-\end{quote}
-
- Copyright $B$O5H1JE/H~;a$K$"$k$N$@$H;W$$$^$9!%(B
-
-\section{$B99?7MzNr(B}% ChageLogs
-
-\begin{description}
- \item[ver.~0.1 (2004/03/24)]
- $B$H$j$"$($:8x3+!%(B
- \item[ver.~0.2 (2006/02/20)]
- \verb|\lst@breakProcessOther| $BL?Na$NDj5A$NDI2C!%(B
-\end{description}
-
-\section{$B%=!<%9%3!<%I(B}
-\par\narrowbaselines
-\verbatiminput{jlisting.sty}
-\end{document}
diff -r 86eb165b4b91 -r e17bc730af1a images/peek.bb
--- a/images/peek.bb Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-%%Title: ./images/peek.pdf
-%%Creator: extractbb 20120420
-%%BoundingBox: 0 0 119 102
-%%CreationDate: Mon Apr 1 01:52:37 2013
-
diff -r 86eb165b4b91 -r e17bc730af1a images/peek.graffle
--- a/images/peek.graffle Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1035 +0,0 @@
-
-
-
-
- ActiveLayerIndex
- 0
- ApplicationVersion
-
- com.omnigroup.OmniGrafflePro
- 139.16.0.171715
-
- AutoAdjust
-
- BackgroundGraphic
-
- Bounds
- {{0, 0}, {558.99997329711914, 783}}
- Class
- SolidGraphic
- ID
- 2
- Style
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Draws
- NO
-
-
-
- BaseZoom
- 0
- CanvasOrigin
- {0, 0}
- ColumnAlign
- 1
- ColumnSpacing
- 36
- CreationDate
- 2012-02-07 04:36:21 +0000
- Creator
- Kazuki AKAMINE
- DisplayScale
- 1 0/72 in = 1.0000 in
- GraphDocumentVersion
- 8
- GraphicsList
-
-
- Bounds
- {{230.88900000000001, 161}, {27, 14}}
- Class
- ShapedGraphic
- FitText
- YES
- Flow
- Resize
- ID
- 149
- Shape
- Rectangle
- Style
-
- fill
-
- Draws
- NO
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Draws
- NO
-
-
- Text
-
- Pad
- 0
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 reply}
- VerticalPad
- 0
-
- Wrap
- NO
-
-
- AllowLabelDrop
-
- Class
- LineGraphic
- Head
-
- ID
- 147
- Info
- 3
-
- ID
- 148
- Points
-
- {248.88900000000001, 126.25}
- {198.87100000000001, 210.5}
-
- Style
-
- stroke
-
- HeadArrow
- FilledArrow
- HeadScale
- 1.4285709857940674
- Legacy
-
- TailArrow
- 0
- TailScale
- 0.5
-
-
- Tail
-
- ID
- 123
- Info
- 1
-
-
-
- Bounds
- {{148.87100000000001, 196.5}, {50, 28}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 147
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 dataA}
- VerticalPad
- 0
-
-
-
- Bounds
- {{148.87100000000001, 182.5}, {50, 14}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 146
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 1}
- VerticalPad
- 0
-
-
-
- Bounds
- {{152.87100000000001, 161}, {43, 14}}
- Class
- ShapedGraphic
- FitText
- YES
- Flow
- Resize
- ID
- 145
- Shape
- Rectangle
- Style
-
- fill
-
- Draws
- NO
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Draws
- NO
-
-
- Text
-
- Pad
- 0
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 receiver}
- VerticalPad
- 0
-
- Wrap
- NO
-
-
- Bounds
- {{140.38, 175}, {66.981499999999997, 57}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- HiraKakuProN-W3
- Size
- 12
-
- ID
- 144
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
-
-
- Bounds
- {{73.888999999999996, 98.25}, {50, 28}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 143
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 dataD}
- VerticalPad
- 0
-
-
-
- Bounds
- {{73.888999999999996, 84.25}, {50, 14}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 142
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 4}
- VerticalPad
- 0
-
-
-
- Bounds
- {{123.889, 98.25}, {50, 28}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 141
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 dataC}
- VerticalPad
- 0
-
-
-
- Bounds
- {{123.889, 84.25}, {50, 14}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 140
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 3}
- VerticalPad
- 0
-
-
-
- Bounds
- {{173.88900000000001, 98.25}, {50, 28}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 139
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 dataB}
- VerticalPad
- 0
-
-
-
- Bounds
- {{173.88900000000001, 84.25}, {50, 14}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 138
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 2}
- VerticalPad
- 0
-
-
-
- Bounds
- {{223.88900000000001, 98.25}, {50, 28}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 123
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 dataA}
- VerticalPad
- 0
-
-
-
- Bounds
- {{223.88900000000001, 84.25}, {50, 14}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 122
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 1}
- VerticalPad
- 0
-
-
-
- AllowLabelDrop
-
- Class
- LineGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 118
- Points
-
- {67.852000000000004, 129.5}
- {279.88900000000001, 129.5}
-
- Style
-
- stroke
-
- HeadArrow
- 0
- HeadScale
- 1.4285709857940674
- Legacy
-
- TailArrow
- 0
- TailScale
- 0.5
-
-
-
-
- AllowLabelDrop
-
- Class
- LineGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 121
- Points
-
- {67.852000000000004, 80}
- {279.88900000000001, 80}
-
- Style
-
- stroke
-
- HeadArrow
- 0
- HeadScale
- 1.4285709857940674
- Legacy
-
- TailArrow
- 0
- TailScale
- 0.5
-
-
-
-
- Bounds
- {{68.852000000000004, 30}, {131, 14}}
- Class
- ShapedGraphic
- FitText
- YES
- Flow
- Resize
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 119
- Shape
- Rectangle
- Style
-
- fill
-
- Draws
- NO
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Draws
- NO
-
-
- Text
-
- Pad
- 0
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 peek(recever, "key1", 0);}
- VerticalPad
- 0
-
- Wrap
- NO
-
-
- Bounds
- {{156.87100000000001, 48.75}, {34, 14}}
- Class
- ShapedGraphic
- FitText
- YES
- Flow
- Resize
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 120
- Shape
- Rectangle
- Style
-
- fill
-
- Draws
- NO
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Draws
- NO
-
-
- Text
-
- Pad
- 0
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 "key1"}
- VerticalPad
- 0
-
- Wrap
- NO
-
-
- Bounds
- {{57.851999999999997, 48}, {233.03700000000001, 103}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 117
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
- stroke
-
- CornerRadius
- 10
-
-
-
-
- GridInfo
-
- GuidesLocked
- NO
- GuidesVisible
- YES
- HPages
- 1
- ImageCounter
- 1
- KeepToScale
-
- Layers
-
-
- Lock
- NO
- Name
- レイヤー 1
- Print
- YES
- View
- YES
-
-
- LayoutInfo
-
- Animate
- NO
- circoMinDist
- 18
- circoSeparation
- 0.0
- layoutEngine
- dot
- neatoSeparation
- 0.0
- twopiSeparation
- 0.0
-
- LinksVisible
- NO
- MagnetsVisible
- NO
- MasterSheets
-
- ModificationDate
- 2013-03-31 10:39:26 +0000
- Modifier
- YuSugimoto
- NotesVisible
- NO
- Orientation
- 2
- OriginVisible
- NO
- PageBreaks
- YES
- PrintInfo
-
- NSBottomMargin
-
- float
- 41
-
- NSHorizonalPagination
-
- coded
- BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG
-
- NSLeftMargin
-
- float
- 18
-
- NSPaperSize
-
- size
- {594.99997329711914, 842}
-
- NSPrintReverseOrientation
-
- int
- 0
-
- NSRightMargin
-
- float
- 18
-
- NSTopMargin
-
- float
- 18
-
-
- PrintOnePage
-
- ReadOnly
- NO
- RowAlign
- 1
- RowSpacing
- 36
- SheetTitle
- キャンバス 1
- SmartAlignmentGuidesActive
- YES
- SmartDistanceGuidesActive
- YES
- UniqueID
- 1
- UseEntirePage
-
- VPages
- 1
- WindowInfo
-
- CurrentSheet
- 0
- ExpandedCanvases
-
- Frame
- {{59, 121}, {730, 779}}
- ListView
-
- OutlineWidth
- 142
- RightSidebar
-
- ShowRuler
-
- Sidebar
-
- SidebarWidth
- 138
- VisibleRegion
- {{-9, 0}, {577, 640}}
- Zoom
- 1
- ZoomValues
-
-
- キャンバス 1
- 1
- 1
-
-
-
-
-
diff -r 86eb165b4b91 -r e17bc730af1a images/peek.pdf
Binary file images/peek.pdf has changed
diff -r 86eb165b4b91 -r e17bc730af1a images/peek1.bb
--- a/images/peek1.bb Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-%%Title: ./images/peek1.pdf
-%%Creator: extractbb 20120420
-%%BoundingBox: 0 0 154 86
-%%CreationDate: Mon Apr 1 01:52:37 2013
-
diff -r 86eb165b4b91 -r e17bc730af1a images/peek1.graffle
--- a/images/peek1.graffle Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,961 +0,0 @@
-
-
-
-
- ActiveLayerIndex
- 0
- ApplicationVersion
-
- com.omnigroup.OmniGrafflePro
- 139.16.0.171715
-
- AutoAdjust
-
- BackgroundGraphic
-
- Bounds
- {{0, 0}, {558.99997329711914, 783}}
- Class
- SolidGraphic
- ID
- 2
- Style
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Draws
- NO
-
-
-
- BaseZoom
- 0
- CanvasOrigin
- {0, 0}
- ColumnAlign
- 1
- ColumnSpacing
- 36
- CreationDate
- 2012-02-07 04:36:21 +0000
- Creator
- Kazuki AKAMINE
- DisplayScale
- 1 0/72 in = 1.0000 in
- GraphDocumentVersion
- 8
- GraphicsList
-
-
- Bounds
- {{56, 113}, {21, 14}}
- Class
- ShapedGraphic
- FitText
- YES
- Flow
- Resize
- ID
- 172
- Shape
- Rectangle
- Style
-
- fill
-
- Draws
- NO
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Draws
- NO
-
-
- Text
-
- Pad
- 0
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 add}
- VerticalPad
- 0
-
- Wrap
- NO
-
-
- AllowLabelDrop
-
- Class
- LineGraphic
- Head
-
- ID
- 185
-
- ID
- 186
- Points
-
- {159.51492156862744, 40.5}
- {25, 122.75}
- {111.232, 168.75}
-
- Style
-
- stroke
-
- CornerRadius
- 23
- HeadArrow
- FilledArrow
- HeadScale
- 1.4285709857940674
- Legacy
-
- TailArrow
- 0
- TailScale
- 0.5
-
-
- Tail
-
- ID
- 170
-
-
-
- Bounds
- {{190.482, 140.75}, {41, 14}}
- Class
- ShapedGraphic
- FitText
- YES
- Flow
- Resize
- ID
- 183
- Shape
- Rectangle
- Style
-
- fill
-
- Draws
- NO
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Draws
- NO
-
-
- Text
-
- Pad
- 0
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 waitList}
- VerticalPad
- 0
-
- Wrap
- NO
-
-
- Bounds
- {{111.232, 154.75}, {200.5, 28}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 185
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Align
- 0
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;\f1\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural
-
-\f0\fs24 \cf0 \'81\'45
-\f1 peek(recever, "key1", 5);}
- VerticalPad
- 0
-
-
-
- Bounds
- {{110.5, 94.75}, {50, 28}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 179
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 dataD}
- VerticalPad
- 0
-
-
-
- Bounds
- {{110.5, 80.75}, {50, 14}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 177
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 4}
- VerticalPad
- 0
-
-
-
- Bounds
- {{160.5, 94.75}, {50, 28}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 181
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 dataC}
- VerticalPad
- 0
-
-
-
- Bounds
- {{160.5, 80.75}, {50, 14}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 174
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 3}
- VerticalPad
- 0
-
-
-
- Bounds
- {{210.5, 94.75}, {50, 28}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 178
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 dataB}
- VerticalPad
- 0
-
-
-
- Bounds
- {{210.5, 80.75}, {50, 14}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 175
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 2}
- VerticalPad
- 0
-
-
-
- Bounds
- {{260.5, 94.75}, {50, 28}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 180
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 dataA}
- VerticalPad
- 0
-
-
-
- Bounds
- {{260.5, 80.75}, {50, 14}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 176
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 1}
- VerticalPad
- 0
-
-
-
- AllowLabelDrop
-
- Class
- LineGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 182
- Points
-
- {104.46299999999999, 126}
- {316.5, 126}
-
- Style
-
- stroke
-
- HeadArrow
- 0
- HeadScale
- 1.4285709857940674
- Legacy
-
- TailArrow
- 0
- TailScale
- 0.5
-
-
-
-
- AllowLabelDrop
-
- Class
- LineGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 173
- Points
-
- {104.46299999999999, 76.5}
- {316.5, 76.5}
-
- Style
-
- stroke
-
- HeadArrow
- 0
- HeadScale
- 1.4285709857940674
- Legacy
-
- TailArrow
- 0
- TailScale
- 0.5
-
-
-
-
- Bounds
- {{105.46299999999999, 26.5}, {131, 14}}
- Class
- ShapedGraphic
- FitText
- YES
- Flow
- Resize
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 170
- Shape
- Rectangle
- Style
-
- fill
-
- Draws
- NO
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Draws
- NO
-
-
- Text
-
- Pad
- 0
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 peek(recever, "key1", 5);}
- VerticalPad
- 0
-
- Wrap
- NO
-
-
- Bounds
- {{193.482, 45.25}, {34, 14}}
- Class
- ShapedGraphic
- FitText
- YES
- Flow
- Resize
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 171
- Shape
- Rectangle
- Style
-
- fill
-
- Draws
- NO
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Draws
- NO
-
-
- Text
-
- Pad
- 0
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 "key1"}
- VerticalPad
- 0
-
- Wrap
- NO
-
-
- Bounds
- {{94.462999999999994, 44.5}, {233.03700000000001, 150.25}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 184
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
- stroke
-
- CornerRadius
- 10
-
-
-
-
- GridInfo
-
- GuidesLocked
- NO
- GuidesVisible
- YES
- HPages
- 1
- ImageCounter
- 1
- KeepToScale
-
- Layers
-
-
- Lock
- NO
- Name
- レイヤー 1
- Print
- YES
- View
- YES
-
-
- LayoutInfo
-
- Animate
- NO
- circoMinDist
- 18
- circoSeparation
- 0.0
- layoutEngine
- dot
- neatoSeparation
- 0.0
- twopiSeparation
- 0.0
-
- LinksVisible
- NO
- MagnetsVisible
- NO
- MasterSheets
-
- ModificationDate
- 2012-11-19 05:58:30 +0000
- Modifier
- Yu SUGIMOTO
- NotesVisible
- NO
- Orientation
- 2
- OriginVisible
- NO
- PageBreaks
- YES
- PrintInfo
-
- NSBottomMargin
-
- float
- 41
-
- NSHorizonalPagination
-
- coded
- BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG
-
- NSLeftMargin
-
- float
- 18
-
- NSPaperSize
-
- size
- {594.99997329711914, 842}
-
- NSPrintReverseOrientation
-
- int
- 0
-
- NSRightMargin
-
- float
- 18
-
- NSTopMargin
-
- float
- 18
-
-
- PrintOnePage
-
- ReadOnly
- NO
- RowAlign
- 1
- RowSpacing
- 36
- SheetTitle
- キャンバス 1
- SmartAlignmentGuidesActive
- YES
- SmartDistanceGuidesActive
- YES
- UniqueID
- 1
- UseEntirePage
-
- VPages
- 1
- WindowInfo
-
- CurrentSheet
- 0
- ExpandedCanvases
-
- Frame
- {{227, 52}, {730, 779}}
- ListView
-
- OutlineWidth
- 142
- RightSidebar
-
- ShowRuler
-
- Sidebar
-
- SidebarWidth
- 138
- VisibleRegion
- {{-9, 0}, {577, 640}}
- Zoom
- 1
- ZoomValues
-
-
- キャンバス 1
- 1
- 1
-
-
-
-
-
diff -r 86eb165b4b91 -r e17bc730af1a images/peek1.pdf
Binary file images/peek1.pdf has changed
diff -r 86eb165b4b91 -r e17bc730af1a images/put.bb
--- a/images/put.bb Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-%%Title: ./images/put.pdf
-%%Creator: extractbb 20120420
-%%BoundingBox: 0 0 168 80
-%%CreationDate: Mon Apr 1 01:52:37 2013
-
diff -r 86eb165b4b91 -r e17bc730af1a images/put.graffle
--- a/images/put.graffle Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1406 +0,0 @@
-
-
-
-
- ActiveLayerIndex
- 0
- ApplicationVersion
-
- com.omnigroup.OmniGraffle
- 138.17.0.133677
-
- AutoAdjust
-
- BackgroundGraphic
-
- Bounds
- {{0, 0}, {559, 783}}
- Class
- SolidGraphic
- ID
- 2
- Style
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Draws
- NO
-
-
-
- CanvasOrigin
- {0, 0}
- ColumnAlign
- 1
- ColumnSpacing
- 36
- CreationDate
- 2012-02-07 13:36:21 +0900
- Creator
- Kazuki AKAMINE
- DisplayScale
- 1 0/72 in = 1 0/72 in
- GraphDocumentVersion
- 6
- GraphicsList
-
-
- AllowLabelDrop
-
- Class
- LineGraphic
- Head
-
- ID
- 76
-
- ID
- 77
- Points
-
- {351.537, 232}
- {376, 198}
-
- Style
-
- stroke
-
- HeadArrow
- FilledArrow
- HeadScale
- 1.4285709857940674
- TailArrow
- 0
- TailScale
- 0.5
-
-
- Tail
-
- ID
- 62
-
-
-
- Bounds
- {{351, 170}, {50, 28}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 76
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs24 \cf0 dataB}
- VerticalPad
- 0
-
-
-
- Bounds
- {{351, 156}, {50, 14}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 75
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs24 \cf0 2}
- VerticalPad
- 0
-
-
-
- Bounds
- {{401, 170}, {50, 28}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 74
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs24 \cf0 dataA}
- VerticalPad
- 0
-
-
-
- Bounds
- {{401, 156}, {50, 14}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 73
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs24 \cf0 1}
- VerticalPad
- 0
-
-
-
- AllowLabelDrop
-
- Class
- LineGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 72
- Points
-
- {323, 201.5}
- {456, 201.5}
-
- Style
-
- stroke
-
- HeadArrow
- 0
- HeadScale
- 1.4285709857940674
- TailArrow
- 0
- TailScale
- 0.5
-
-
-
-
- AllowLabelDrop
-
- Class
- LineGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 71
- Points
-
- {323, 152}
- {456, 152}
-
- Style
-
- stroke
-
- HeadArrow
- 0
- HeadScale
- 1.4285709857940674
- TailArrow
- 0
- TailScale
- 0.5
-
-
-
-
- AllowLabelDrop
-
- Class
- LineGraphic
- Head
-
- ID
- 69
- Info
- 1
-
- ID
- 70
- Points
-
- {178.036, 232}
- {243.963, 198}
-
- Style
-
- stroke
-
- HeadArrow
- FilledArrow
- HeadScale
- 1.4285709857940674
- TailArrow
- 0
- TailScale
- 0.5
-
-
- Tail
-
- ID
- 54
-
-
-
- Bounds
- {{218.963, 170}, {50, 28}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 69
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs24 \cf0 dataA}
- VerticalPad
- 0
-
-
-
- Bounds
- {{218.963, 156}, {50, 14}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 68
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs24 \cf0 1}
- VerticalPad
- 0
-
-
-
- AllowLabelDrop
-
- Class
- LineGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 66
- Points
-
- {297.982, 97}
- {297.982, 252}
-
- Style
-
- stroke
-
- HeadArrow
- 0
- HeadScale
- 1.4285709857940674
- Pattern
- 1
- TailArrow
- 0
- TailScale
- 0.5
-
-
-
-
- Bounds
- {{323, 232}, {47, 14}}
- Class
- ShapedGraphic
- FitText
- YES
- Flow
- Resize
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 62
- Shape
- Rectangle
- Style
-
- fill
-
- Draws
- NO
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Draws
- NO
-
-
- Text
-
- Pad
- 0
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs24 \cf0 enqueue}
- VerticalPad
- 0
-
- Wrap
- NO
-
-
- Bounds
- {{339.5, 102}, {100, 14}}
- Class
- ShapedGraphic
- FitText
- YES
- Flow
- Resize
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 58
- Shape
- Rectangle
- Style
-
- fill
-
- Draws
- NO
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Draws
- NO
-
-
- Text
-
- Pad
- 0
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs24 \cf0 put("key1", dataB);}
- VerticalPad
- 0
-
- Wrap
- NO
-
-
- Bounds
- {{370.269, 120}, {34, 14}}
- Class
- ShapedGraphic
- FitText
- YES
- Flow
- Resize
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 57
- Shape
- Rectangle
- Style
-
- fill
-
- Draws
- NO
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Draws
- NO
-
-
- Text
-
- Pad
- 0
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs24 \cf0 "key1"}
- VerticalPad
- 0
-
- Wrap
- NO
-
-
- Bounds
- {{313, 120}, {148.537, 103}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 56
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
- stroke
-
- CornerRadius
- 10
-
-
- Text
-
- VerticalPad
- 0
-
-
-
- Bounds
- {{140.963, 232}, {47, 14}}
- Class
- ShapedGraphic
- FitText
- YES
- Flow
- Resize
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 54
- Shape
- Rectangle
- Style
-
- fill
-
- Draws
- NO
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Draws
- NO
-
-
- Text
-
- Pad
- 0
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs24 \cf0 enqueue}
- VerticalPad
- 0
-
- Wrap
- NO
-
-
- AllowLabelDrop
-
- Class
- LineGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 53
- Points
-
- {140.963, 201.5}
- {273.963, 201.5}
-
- Style
-
- stroke
-
- HeadArrow
- 0
- HeadScale
- 1.4285709857940674
- TailArrow
- 0
- TailScale
- 0.5
-
-
-
-
- AllowLabelDrop
-
- Class
- LineGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 52
- Points
-
- {140.963, 152}
- {273.963, 152}
-
- Style
-
- stroke
-
- HeadArrow
- 0
- HeadScale
- 1.4285709857940674
- TailArrow
- 0
- TailScale
- 0.5
-
-
-
-
- Bounds
- {{157.463, 102}, {100, 14}}
- Class
- ShapedGraphic
- FitText
- YES
- Flow
- Resize
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 50
- Shape
- Rectangle
- Style
-
- fill
-
- Draws
- NO
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Draws
- NO
-
-
- Text
-
- Pad
- 0
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs24 \cf0 put("key1", dataA);}
- VerticalPad
- 0
-
- Wrap
- NO
-
-
- Bounds
- {{188.232, 120}, {34, 14}}
- Class
- ShapedGraphic
- FitText
- YES
- Flow
- Resize
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 47
- Shape
- Rectangle
- Style
-
- fill
-
- Draws
- NO
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Draws
- NO
-
-
- Text
-
- Pad
- 0
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs24 \cf0 "key1"}
- VerticalPad
- 0
-
- Wrap
- NO
-
-
- Bounds
- {{130.963, 120}, {148.537, 103}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 46
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
- stroke
-
- CornerRadius
- 10
-
-
- Text
-
- VerticalPad
- 0
-
-
-
- GridInfo
-
- GuidesLocked
- NO
- GuidesVisible
- YES
- HPages
- 1
- ImageCounter
- 1
- KeepToScale
-
- Layers
-
-
- Lock
- NO
- Name
- レイヤー 1
- Print
- YES
- View
- YES
-
-
- LayoutInfo
-
- Animate
- NO
- circoMinDist
- 18
- circoSeparation
- 0.0
- layoutEngine
- dot
- neatoSeparation
- 0.0
- twopiSeparation
- 0.0
-
- LinksVisible
- NO
- MagnetsVisible
- NO
- MasterSheets
-
- ModificationDate
- 2012-02-07 13:53:06 +0900
- Modifier
- Kazuki AKAMINE
- NotesVisible
- NO
- Orientation
- 2
- OriginVisible
- NO
- PageBreaks
- YES
- PrintInfo
-
- NSBottomMargin
-
- float
- 41
-
- NSLeftMargin
-
- float
- 18
-
- NSPaperSize
-
- size
- {595, 842}
-
- NSRightMargin
-
- float
- 18
-
- NSTopMargin
-
- float
- 18
-
-
- PrintOnePage
-
- QuickLookPreview
-
- JVBERi0xLjMKJcTl8uXrp/Og0MTGCjUgMCBvYmoKPDwgL0xlbmd0aCA2IDAgUiAvRmls
- dGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAGdV8tuW0cM3c9XEFlJQDOZ9wNZxUa7
- 8C6wgC6SLAzZRuFIQV3Hi/59D+d1r6Ur2Q0EQcN5kTxDHlKP9JkeSeHjfaaYLP1zR3/S
- D/pw+aRp+0S6fJ629F5JT/ydbbwn7ZTMwRoKwYo9mZCxA2PakYleKmNyEU0sCz5Jb0zC
- WhUtbdvYR1XO8LwPTroYjRhX+KDa3TzaTmpZ3JG2XjqnLE4qCM2kfs2YEawEh8cGiKeF
- 2cbg2aGxNTQ3xNDLHs+hgJa/Xk7sCWDRFb4PFdvL6wK7outLehS6CO/5hx9hu59Oa6Oo
- I8vjGbIsVii1qZBVEYaxo3XJ6PoajKzR4wHa4xhjG7I8miHL4oSsYHEAMK6ZzZTDHVnW
- +WJtLogZspifIzvcGMiyiwNZFubICp7Y0zWCGPFqOF4VIVYfATPHNPA0yktjdaDgA8N6
- sSFt2qLBhiCztQh9JzZ7+vCHllBHm3v6Qqt33+/WHPaGVv/qPnq3pm+0uaLfNyVzZnqi
- dIiCEJ04VuOyzF7rSI6O1Pzdr37ug59rJBq0fi0miCMTfmvr1H5v+8GbPug3jIlPX9cf
- 12LR8sOII+0NB1y0nNlF2hWIZ6iWM+xnexrArBFe06kqH53TnNm41DvXHkNJpZQRG8TE
- 7FmMldYndwTX6u7H4/PdM95l81Cf4JCnhEWgcjruyXnYZGOjI+ejVD6nIrrQljohTRMc
- x00qfLHr0qAlXNyuYrrpWioxsfbKSVYjIGLURbTaikFHEKgyUR8d/m6JZyrr1FFL236p
- YA+7p5wRfcw0c/hOjDSv12Tp9rIE35orJZM6CCMLx0Shky5VQpmkZtu4iqmia6mkwtor
- n3QHisiuDSqpAqPfR/gVrKvLdaUyBs8NM8el7FP3tKPSKEKcpgibokThepUhRuqCrX+B
- IWwqNS/2yJ/H+8QPxzT0Gj8cU1TlB7H6H/xwwfywzGzWBa7JrvNazVj65Yz9Aq51UKXo
- djFUTY4yJ+0pRyaULhmwUuWTFykvQPccQ0xVAUHhuVxwEwMKP6OjndAoCv2EOFtGXGXD
- wBXoqIqArWzI0DvRe42RFerGKaYaZvsEeFHIUzX7MH2ZZruHGh3L2PoWe33OZ4lWexli
- RvBPltf6t7q9+XnzabL+0CrcKnRMUtlgyKABhJHWSNQ4rrlOapW5f2g2llaSK3Ipz8YZ
- aSJKACheapMNd45oHVB48BzJyJDB0+hzrJMqAVbPrWRC+dyB6o5OQ/U9Lr7C90Es2Dmd
- 0DnJFFUqxjZ9RilpUYLm+oxCCOpkxQt9s9PsVu/mljQWEipl1CHC4Bdu4jOn9vbyybvn
- pVNDi+aOxik9hbco4b10F2+bx3THf7E1ckAb8bzQrizEc4uKc/HMykcsv2LjW+OYbUQM
- NxuXqefNMczEIeb/aayfobqcfaV4YtsiqnzZYcNpY0H1bSzRUDVrcZIl2MaB6is2dlQZ
- /HPswDYeMsMhoU+oHpSkwgwXZ5mBYDRar4BgLsxgQ5JGey+MQgLqrE8xg41Opsx/5JKV
- aCg4Uy16xmhDBAsEGdAU7shGDY5ARfI8iDEXYlg6PIhhOfW6Op1Rm51hIhrqjAqS/zhM
- 6kDDWlpj2Hy0XIeHYSuD/vk/jN8hLgplbmRzdHJlYW0KZW5kb2JqCjYgMCBvYmoKMTIx
- OQplbmRvYmoKMyAwIG9iago8PCAvVHlwZSAvUGFnZSAvUGFyZW50IDQgMCBSIC9SZXNv
- dXJjZXMgNyAwIFIgL0NvbnRlbnRzIDUgMCBSIC9NZWRpYUJveCBbMCAwIDU1OSA3ODNd
- Cj4+CmVuZG9iago3IDAgb2JqCjw8IC9Qcm9jU2V0IFsgL1BERiAvVGV4dCBdIC9Db2xv
- clNwYWNlIDw8IC9DczEgOCAwIFIgL0NzMiA5IDAgUiA+PiAvRm9udCA8PAovRjEuMCAx
- MCAwIFIgPj4gPj4KZW5kb2JqCjExIDAgb2JqCjw8IC9MZW5ndGggMTIgMCBSIC9OIDMg
- L0FsdGVybmF0ZSAvRGV2aWNlUkdCIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVh
- bQp4AYVUz2sTQRT+Nm6p0CIIWmsOsniQIklZq2hF1Db9EWJrDNsftkWQZDNJ1m426+4m
- taWI5OLRKt5F7aEH/4AeevBkL0qFWkUo3qsoYqEXLfHNbky2perAzn7z3jfvfW923wAN
- ctI09YAE5A3HUqIRaWx8Qmr8iACOoglBNCVV2+xOJAZBg3P5e+fYeg+BW1bDe/t3snet
- mtK2mgeE/UDgR5rZKrDvF3EKWRICiDzfoSnHdAjf49jy7I85Tnl4wbUPKz3EWSJ8QDUt
- zn9NuFPNJdNAg0g4lPVxUj6c14uU1x0HaW5mxsgQvU+QprvM7qtioZxO9g6QvZ30fk6z
- 3j7CIcILGa0/RriNnvWM1T/iYeGk5sSGPRwYNfT4YBW3Gqn4NcIUXxBNJ6JUcdkuDfGY
- rv1W8kqCcJA4ymRhgHNaSE/XTG74uocFfSbXE6/id1ZR4XmPE2fe1N3vRdoCrzAOHQwa
- DJoNSFAQRQRhmLBQQIY8GjE0snI/I6sGG5N7MnUkart0YkSxQXs23D23UaTdPP4oInGU
- Q7UIkvxB/iqvyU/lefnLXLDYVveUrZuauvLgO8XlmbkaHtfTyONzTV58ldR2k1dHlqx5
- erya7Bo/7FeXMeaCNY/Ec7D78S1flcyXKYwUxeNV8+pLhHVaMTffn2x/Oz3iLs8utdZz
- rYmLN1abl2f9akj77qq8k+ZV+U9e9fH8Z83EY+IpMSZ2iuchiZfFLvGS2EurC+JgbccI
- nZWGKdJtkfok1WBgmrz1L10/W3i9Rn8M9VGUGczSVIn3f8IqZDSduQ5v+o/bx/wX5PeK
- 558oAi9s4MiZum1Tce8QoWWlbnOuAhe/0X3wtm5ro344/ARYPKsWrVI1nyC8ARx2h3oe
- 6CmY05aWzTlShyyfk7rpymJSzFDbQ1JS1yXXZUsWs5lVYul22JnTHW4coTlC98SnSmWT
- +q/xEbD9sFL5+axS2X5OGtaBl/pvwLz9RQplbmRzdHJlYW0KZW5kb2JqCjEyIDAgb2Jq
- CjczNwplbmRvYmoKOCAwIG9iagpbIC9JQ0NCYXNlZCAxMSAwIFIgXQplbmRvYmoKMTMg
- MCBvYmoKPDwgL0xlbmd0aCAxNCAwIFIgL04gMSAvQWx0ZXJuYXRlIC9EZXZpY2VHcmF5
- IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4AYVST0gUURz+zTYShIhBhXiI
- dwoJlSmsrKDadnVZlW1bldKiGGffuqOzM9Ob2TXFkwRdojx1D6JjdOzQoZuXosCsS9cg
- qSAIPHXo+83s6iiEb3k73/v9/X7fe0RtnabvOylBVHNDlSulp25OTYuDHylFHdROWKYV
- +OlicYyx67mSv7vX1mfS2LLex7V2+/Y9tZVlYCHqLba3EPohkWYAH5mfKGWAs8Adlq/Y
- PgE8WA6sGvAjogMPmrkw09GcdKWyLZFT5qIoKq9iO0mu+/m5xr6LtYmD/lyPZtaOvbPq
- qtFM1LT3RKG8D65EGc9fVPZsNRSnDeOcSEMaKfKu1d8rTMcRkSsQSgZSNWS5n2pOnXXg
- dRi7XbqT4/j2EKU+yWCoibXpspkdhX0AdirL7BDwBejxsmIP54F7Yf9bUcOTwCdhP2SH
- edatH/YXrlPge4Q9NeDOFK7F8dqKH14tAUP3VCNojHNNxNPXOXOkiO8x1BmY90Y5pgsx
- d5aqEzeAO2EfWapmCrFd+67qJe57AnfT4zvRmzkLXKAcSXKxFdkU0DwJWBR9i7BJDjw+
- zh5V4HeomMAcuYnczSj3HtURG2ejUoFWeo1Xxk/jufHF+GVsGM+Afqx213t8/+njFXXX
- tj48+Y163DmuvZ0bVWFWcWUL3f/HMoSP2Sc5psHToVlYa9h25A+azEywDCjEfwU+l/qS
- E1Xc1e7tuEUSzFA+LGwluktUbinU6j2DSqwcK9gAdnCSxCxaHLhTa7o5eHfYInpt+U1X
- suuG/vr2evva8h5tyqgpKBPNs0RmlLFbo+TdeNv9ZpERnzg6vue9ilrJ/klFED+FOVoq
- 8hRV9FZQ1sRvZw5+G7Z+XD+l5/VB/TwJPa2f0a/ooxG+DHRJz8JzUR+jSfCwaSHiEqCK
- gzPUTlRjjQPiKfHytFtkkf0PQBn9ZgplbmRzdHJlYW0KZW5kb2JqCjE0IDAgb2JqCjcw
- NAplbmRvYmoKOSAwIG9iagpbIC9JQ0NCYXNlZCAxMyAwIFIgXQplbmRvYmoKNCAwIG9i
- ago8PCAvVHlwZSAvUGFnZXMgL01lZGlhQm94IFswIDAgNjEyIDc5Ml0gL0NvdW50IDEg
- L0tpZHMgWyAzIDAgUiBdID4+CmVuZG9iagoxNSAwIG9iago8PCAvVHlwZSAvQ2F0YWxv
- ZyAvT3V0bGluZXMgMiAwIFIgL1BhZ2VzIDQgMCBSID4+CmVuZG9iagoyIDAgb2JqCjw8
- IC9MYXN0IDE2IDAgUiAvRmlyc3QgMTcgMCBSID4+CmVuZG9iagoxNyAwIG9iago8PCAv
- UGFyZW50IDE4IDAgUiAvQ291bnQgMCAvRGVzdCBbIDMgMCBSIC9YWVogMCA3ODMgMCBd
- IC9UaXRsZSAo/v8wrTDjMPMw0DC5XDAwMCBcMDAwMSkKPj4KZW5kb2JqCjE4IDAgb2Jq
- Cjw8ID4+CmVuZG9iagoxNiAwIG9iago8PCAvUGFyZW50IDE4IDAgUiAvQ291bnQgMCAv
- RGVzdCBbIDMgMCBSIC9YWVogMCA3ODMgMCBdIC9UaXRsZSAo/v8wrTDjMPMw0DC5XDAw
- MCBcMDAwMSkKPj4KZW5kb2JqCjE5IDAgb2JqCjw8IC9MZW5ndGggMjAgMCBSIC9MZW5n
- dGgxIDk3NzIgL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngBvVoJWFRHtj51
- 915oupve6aa7abqbZl8EQYi0CIgLBMEFiCggKKLGJYjBiQ4aHRWNiXGN2cYkzzWOLZrY
- aswzGROTTCYxGTUZJ8lMRpPJyzd8mTfPOBkj3e/c28gobyaf7/vyzb2cqjpVdatO/XXO
- qaXpWLykFaKgG2ioqm9aOAukJ2E1ANk3c37TwggfI2D87szODkeEZxMB6HmzFs6eH+GF
- rQBy2+x5XQPf6zBbrWtrbWqJlMNNjHPbMCPCk2EYJ7TN73gwwmuPYTxp3oKZA+UxF5BP
- md/04ED/8Anyjvub5rdG6ic0YpywcMEDHQO8DuMJCxe3DtQntSjf+0AwVw8LQAZzgQcK
- 1Pg2APBfyW3AYKlYjk9LimLLjOjCb0EjDhNgRsWjUvym85VL37Xe9Co2C3/HDNmt+mLM
- +UI+ACXB8j7F5sES6TsM9EGoSQ7CWKQipByk5ORRJugme+AxpJ8j0TCHbIAupPVITyAx
- g6n9yJ0gG3oZwX+SdIGFjPMrGPskndlukivsHwYJd+wZ+29NV04RM87e58TcGwWyUXLy
- c/IstICd/Ae4yTIoh0Sy66hvnr0Ri/bDQqRuJFoKCdnfG5dlf5WkgJsh+I0H4hjysv1P
- man2LzKDFOm1v+4NMhi9FoecP9p+xvaM/T9ts+2vIh2MFB3wYY2X7ftt8+xb4oJkV6/9
- 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
- LZKNdIev0J+hrhlRwun+EUHdWzpKFiPozDFmXSK3lP4IjRtYlRy4KDlr0ypMvMmkMOBI
- fEqFxUJ8orAf3jKSCnE5F9UPfWdkPS8qxMV8wEZIRFDc6ogLynDJx+EZTeMmeZaMh18p
- cR87QLmGzd7yRU0qOczg7ql6WOO++qcp1fcfPHNP0qQnqtdTH1tE3dGHxtJfocwmtOx3
- /Pf36NeZ9ppo0W/lacu1tdrZ/FJ6Kb9RtxN2sDv1Oww7jPtgn0FdDuP1Y4xv65kS9k2W
- WsvugT2ivhnZhETWpDcaCHB6pSLaJqjMvNlsiBU3skAOG/Wmw8pHDWZL7AXn7BU4Kbid
- rbhq6s/Px7/IntYUGW5Ff36WOd2EHq0QVxSCP7b7tXo9GAzztUajicXNuhbAhJtc9fKz
- UiRgTBoWZWYsIuIuNpujKZ5CC/N4c8TFIHc4nrhINqFp5znPw83FT3U/5fHFpSeps9LV
- 7EhVqONdYidM+uzQ5tCffxGadYwTXojinCZhawJTeXMnvUrESnrCrfj76z97xIMgjSd+
- Bf4eHY3nbz2eGXB9hhLpl91K/FW5BibBVKjFOwhxxdAiiQ+H9xUwpWzK+InVyeWt8zpb
- O+bMbJJqSMUYiPXbkB5EWoe0E2kfEl45wFtIHyN9hfQdNisgmZASkfKQypFqkdqQHkRa
- h7QzPPDgNzCYJug97uTjh/DY5h318X997uBThvCZQ/isIbz4XwG39z9qCF88hBdRub1+
- yxBempfbxjN3SLm4kt3+/cIh/KIhvPR/VLe1t2RIeZfI/y8j+PntCmVuZHN0cmVhbQpl
- bmRvYmoKMjAgMCBvYmoKNjMyMwplbmRvYmoKMjEgMCBvYmoKPDwgL1R5cGUgL0ZvbnRE
- ZXNjcmlwdG9yIC9Bc2NlbnQgNzcwIC9DYXBIZWlnaHQgNjg0IC9EZXNjZW50IC0yMzAg
- L0ZsYWdzIDMyCi9Gb250QkJveCBbLTk1MSAtNDgxIDE0NDUgMTEyMl0gL0ZvbnROYW1l
- IC9WRlZLUVIrSGVsdmV0aWNhIC9JdGFsaWNBbmdsZSAwCi9TdGVtViAwIC9NYXhXaWR0
- aCAxNTAwIC9YSGVpZ2h0IDUxMyAvRm9udEZpbGUyIDE5IDAgUiA+PgplbmRvYmoKMjIg
- MCBvYmoKWyAyNzggMCAzNTUgMCAwIDAgMCAwIDMzMyAzMzMgMCAwIDI3OCAwIDAgMCAw
- IDU1NiA1NTYgMCAwIDAgMCAwIDAgMCAwIDI3OAowIDAgMCAwIDAgNjY3IDY2NyAwIDAg
- MCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAw
- CjAgMCA1NTYgMCAwIDU1NiA1NTYgMCAwIDAgMCAwIDUwMCAwIDAgNTU2IDAgNTU2IDU1
- NiAwIDAgMjc4IDU1NiAwIDAgMCA1MDAKXQplbmRvYmoKMTAgMCBvYmoKPDwgL1R5cGUg
- L0ZvbnQgL1N1YnR5cGUgL1RydWVUeXBlIC9CYXNlRm9udCAvVkZWS1FSK0hlbHZldGlj
- YSAvRm9udERlc2NyaXB0b3IKMjEgMCBSIC9XaWR0aHMgMjIgMCBSIC9GaXJzdENoYXIg
- MzIgL0xhc3RDaGFyIDEyMSAvRW5jb2RpbmcgL01hY1JvbWFuRW5jb2RpbmcKPj4KZW5k
- b2JqCjIzIDAgb2JqCihNYWMgT1MgWCAxMC42LjggUXVhcnR6IFBERkNvbnRleHQpCmVu
- ZG9iagoyNCAwIG9iagooRDoyMDEyMDIwNzA0NTMxMFowMCcwMCcpCmVuZG9iagoxIDAg
- b2JqCjw8IC9Qcm9kdWNlciAyMyAwIFIgL0NyZWF0aW9uRGF0ZSAyNCAwIFIgL01vZERh
- dGUgMjQgMCBSID4+CmVuZG9iagp4cmVmCjAgMjUKMDAwMDAwMDAwMCA2NTUzNSBmIAow
- MDAwMDEwOTEwIDAwMDAwIG4gCjAwMDAwMDM0NTggMDAwMDAgbiAKMDAwMDAwMTMzNSAw
- MDAwMCBuIAowMDAwMDAzMzA5IDAwMDAwIG4gCjAwMDAwMDAwMjIgMDAwMDAgbiAKMDAw
- MDAwMTMxNSAwMDAwMCBuIAowMDAwMDAxNDM5IDAwMDAwIG4gCjAwMDAwMDI0MDkgMDAw
- MDAgbiAKMDAwMDAwMzI3MyAwMDAwMCBuIAowMDAwMDEwNjQxIDAwMDAwIG4gCjAwMDAw
- MDE1NDkgMDAwMDAgbiAKMDAwMDAwMjM4OSAwMDAwMCBuIAowMDAwMDAyNDQ1IDAwMDAw
- IG4gCjAwMDAwMDMyNTMgMDAwMDAgbiAKMDAwMDAwMzM5MiAwMDAwMCBuIAowMDAwMDAz
- NjM1IDAwMDAwIG4gCjAwMDAwMDM1MDYgMDAwMDAgbiAKMDAwMDAwMzYxMyAwMDAwMCBu
- IAowMDAwMDAzNzQyIDAwMDAwIG4gCjAwMDAwMTAxNTUgMDAwMDAgbiAKMDAwMDAxMDE3
- NiAwMDAwMCBuIAowMDAwMDEwNDAxIDAwMDAwIG4gCjAwMDAwMTA4MTYgMDAwMDAgbiAK
- MDAwMDAxMDg2OCAwMDAwMCBuIAp0cmFpbGVyCjw8IC9TaXplIDI1IC9Sb290IDE1IDAg
- UiAvSW5mbyAxIDAgUiAvSUQgWyA8Y2Y0NDk1Zjc0NjljMTAxMGRiMzQ2NDlhODcyODg4
- NDA+CjxjZjQ0OTVmNzQ2OWMxMDEwZGIzNDY0OWE4NzI4ODg0MD4gXSA+PgpzdGFydHhy
- ZWYKMTA5ODUKJSVFT0YKMSAwIG9iago8PC9BdXRob3IgKEthenVraSBBS0FNSU5FKS9D
- cmVhdGlvbkRhdGUgKEQ6MjAxMjAyMDcwNDM2MDBaKS9DcmVhdG9yIChPbW5pR3JhZmZs
- ZSA1LjIuMykvTW9kRGF0ZSAoRDoyMDEyMDIwNzA0NTMwMFopL1Byb2R1Y2VyIDIzIDAg
- UiAvVGl0bGUgKHB1dCk+PgplbmRvYmoKeHJlZgoxIDEKMDAwMDAxMTY0MyAwMDAwMCBu
- IAp0cmFpbGVyCjw8L0lEIFs8Y2Y0NDk1Zjc0NjljMTAxMGRiMzQ2NDlhODcyODg4NDA+
- IDxjZjQ0OTVmNzQ2OWMxMDEwZGIzNDY0OWE4NzI4ODg0MD5dIC9JbmZvIDEgMCBSIC9Q
- cmV2IDEwOTg1IC9Sb290IDE1IDAgUiAvU2l6ZSAyNT4+CnN0YXJ0eHJlZgoxMTgwNQol
- JUVPRgo=
-
- QuickLookThumbnail
-
- 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
- /ZH///ui///9owAAA9wAAMBs
-
- ReadOnly
- NO
- RowAlign
- 1
- RowSpacing
- 36
- SheetTitle
- キャンバス 1
- SmartAlignmentGuidesActive
- YES
- SmartDistanceGuidesActive
- YES
- UniqueID
- 1
- UseEntirePage
-
- VPages
- 1
- WindowInfo
-
- CurrentSheet
- 0
- ExpandedCanvases
-
- Frame
- {{68, 181}, {693, 937}}
- ListView
-
- OutlineWidth
- 142
- RightSidebar
-
- ShowRuler
-
- Sidebar
-
- SidebarWidth
- 120
- VisibleRegion
- {{0, 0}, {558, 783}}
- Zoom
- 1
- ZoomValues
-
-
- キャンバス 1
- 1
- 1
-
-
-
- saveQuickLookFiles
- YES
-
-
diff -r 86eb165b4b91 -r e17bc730af1a images/put.pdf
Binary file images/put.pdf has changed
diff -r 86eb165b4b91 -r e17bc730af1a images/remote_datasegment.bb
--- a/images/remote_datasegment.bb Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-%%Title: ./images/remote_datasegment.pdf
-%%Creator: extractbb 20120420
-%%BoundingBox: 0 0 140 75
-%%CreationDate: Mon Apr 1 01:52:37 2013
-
diff -r 86eb165b4b91 -r e17bc730af1a images/remote_datasegment.graffle
--- a/images/remote_datasegment.graffle Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,924 +0,0 @@
-
-
-
-
- ActiveLayerIndex
- 0
- ApplicationVersion
-
- com.omnigroup.OmniGraffle
- 138.17.0.133677
-
- AutoAdjust
-
- BackgroundGraphic
-
- Bounds
- {{0, 0}, {559, 783}}
- Class
- SolidGraphic
- ID
- 2
- Style
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Draws
- NO
-
-
-
- CanvasOrigin
- {0, 0}
- ColumnAlign
- 1
- ColumnSpacing
- 36
- CreationDate
- 2012-02-08 00:00:26 +0900
- Creator
- Kazuki AKAMINE
- DisplayScale
- 1 0/72 in = 1 0/72 in
- GraphDocumentVersion
- 6
- GraphicsList
-
-
- AllowLabelDrop
-
- Class
- LineGraphic
- Head
-
- ID
- 3
-
- ID
- 14
- Points
-
- {281, 186}
- {206, 122}
-
- Style
-
- stroke
-
- HeadArrow
- FilledArrow
- HeadScale
- 1.4285709857940674
- TailArrow
- 0
- TailScale
- 0.5
-
-
- Tail
-
- ID
- 10
- Info
- 4
-
-
-
- AllowLabelDrop
-
- Class
- LineGraphic
- Head
-
- ID
- 9
-
- ID
- 13
- Points
-
- {206, 186}
- {281, 122}
-
- Style
-
- stroke
-
- HeadArrow
- FilledArrow
- HeadScale
- 1.4285709857940674
- TailArrow
- 0
- TailScale
- 0.5
-
-
- Tail
-
- ID
- 4
-
-
-
- Bounds
- {{310.5, 73}, {33, 14}}
- Class
- ShapedGraphic
- FitText
- YES
- Flow
- Resize
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 11
- Shape
- Rectangle
- Style
-
- fill
-
- Draws
- NO
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Draws
- NO
-
-
- Text
-
- Pad
- 0
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs24 \cf0 HostB}
- VerticalPad
- 0
-
- Wrap
- NO
-
-
- Bounds
- {{281, 158.5}, {92, 55}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 10
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs24 \cf0 Remote\
-Data Segment\
-Manager}
- VerticalPad
- 0
-
-
-
- Bounds
- {{281, 94.5}, {92, 55}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 9
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs24 \cf0 Local\
-Data Segment\
-Manager}
- VerticalPad
- 0
-
-
-
- Bounds
- {{273, 87}, {108, 134}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- HiraKakuProN-W3
- Size
- 12
-
- ID
- 8
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- VerticalPad
- 0
-
-
-
- Bounds
- {{143.5, 73}, {33, 14}}
- Class
- ShapedGraphic
- FitText
- YES
- Flow
- Resize
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 7
- Shape
- Rectangle
- Style
-
- fill
-
- Draws
- NO
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Draws
- NO
-
-
- Text
-
- Pad
- 0
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs24 \cf0 HostA}
- VerticalPad
- 0
-
- Wrap
- NO
-
-
- Bounds
- {{114, 158.5}, {92, 55}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 4
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs24 \cf0 Remote\
-Data Segment\
-Manager}
- VerticalPad
- 0
-
-
-
- Bounds
- {{114, 94.5}, {92, 55}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 3
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs24 \cf0 Local\
-Data Segment\
-Manager}
- VerticalPad
- 0
-
-
-
- Bounds
- {{106, 87}, {108, 134}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- HiraKakuProN-W3
- Size
- 12
-
- ID
- 6
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- VerticalPad
- 0
-
-
-
- GridInfo
-
- GuidesLocked
- NO
- GuidesVisible
- YES
- HPages
- 1
- ImageCounter
- 1
- KeepToScale
-
- Layers
-
-
- Lock
- NO
- Name
- レイヤー 1
- Print
- YES
- View
- YES
-
-
- LayoutInfo
-
- Animate
- NO
- circoMinDist
- 18
- circoSeparation
- 0.0
- layoutEngine
- dot
- neatoSeparation
- 0.0
- twopiSeparation
- 0.0
-
- LinksVisible
- NO
- MagnetsVisible
- NO
- MasterSheets
-
- ModificationDate
- 2012-02-08 00:12:51 +0900
- Modifier
- Kazuki AKAMINE
- NotesVisible
- NO
- Orientation
- 2
- OriginVisible
- NO
- PageBreaks
- YES
- PrintInfo
-
- NSBottomMargin
-
- float
- 41
-
- NSLeftMargin
-
- float
- 18
-
- NSPaperSize
-
- size
- {595, 842}
-
- NSRightMargin
-
- float
- 18
-
- NSTopMargin
-
- float
- 18
-
-
- PrintOnePage
-
- QuickLookPreview
-
- JVBERi0xLjMKJcTl8uXrp/Og0MTGCjUgMCBvYmoKPDwgL0xlbmd0aCA2IDAgUiAvRmls
- dGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAHNVk2P0zAQvftXzLE91Ovxt49sAaEV
- HEorcUAcULUFoXZRt/x/MZPEXidNoCuxFYqiuO6M33je+HmOsIIjKHqcSxCigcd7+AQP
- cLM8IWxPgM1z2sJCSQf8VoY7QOXBeU3fCGisIG+ahDt6f7RrLNfN8grWS0LC5seCPwy2
- PTQrxJAXYPg1xYRowRtDcEkTYrvuqDsZJpvtsjtFrzl6BRR55YZegfcoCPd2A6i7aDQs
- 0EpjTXA0UrA5wM1blIrC3ezgM8zez3n/GmY/82D7tR2J2X4OX2BzB282TS7LDjss3uMA
- y0RpnLMBbB9JENLrDNCtD7Nfc0o7QZcJ6CbW99n2Wx4cuikxe8hT5P7M8LSRPirvASPF
- J/qZ+FDCKAhlpoRRAnuswbmkRF1STLLzqSZvV7P1VCNkiC7Whmux4vqaZNmlMJJ5TaSq
- GFKPZZFZ/phzVuI/FL4zC/TXZDoJc6SyptjmuvoT26KtuAvYhsvYHg+vz/ag7qfZFrO/
- sD04dUE1p31wEtBLYyIdfyvOzty7zEbh4JRJeFWTMFQqoYOpNYk1Ybys2PBcenTEy6SH
- DS+XHqPD1aSnwxo5AFPFeFXpmQ6vX4wvKD3M3UXSw4bPkB7e2rWlp8P8X6VnOrw+2y8i
- PQz+T6XntpaeSuOau4op0NQRYfRAo6Bk9Ej1Y5T0DhPsm94mCxZ3XU2DogPdgdwPeJdk
- 8D7AQWgfpQrU/HjnpFfUK+1pQbqZrSF5skmqSJW5h+80e+ZNeqeoB1PUgx3pdmOYuuUq
- HkgMaGMMB5vxUAdpEoYaD6kTS4hJ9PAq76Zl67q+YVJYhZpT1CaFJB9NTGKQFK2CtNaZ
- Kgeg0VCj5FO9X41RJk3d5lNeBOVgxLvKwUjbWTyqXWQ8iq3dL+cg41V5qfAqb87B6jet
- G01lCmVuZHN0cmVhbQplbmRvYmoKNiAwIG9iago2OTAKZW5kb2JqCjMgMCBvYmoKPDwg
- L1R5cGUgL1BhZ2UgL1BhcmVudCA0IDAgUiAvUmVzb3VyY2VzIDcgMCBSIC9Db250ZW50
- cyA1IDAgUiAvTWVkaWFCb3ggWzAgMCA1NTkgNzgzXQo+PgplbmRvYmoKNyAwIG9iago8
- PCAvUHJvY1NldCBbIC9QREYgL1RleHQgXSAvQ29sb3JTcGFjZSA8PCAvQ3MxIDggMCBS
- IC9DczIgOSAwIFIgPj4gL0ZvbnQgPDwKL0YxLjAgMTAgMCBSID4+ID4+CmVuZG9iagox
- MSAwIG9iago8PCAvTGVuZ3RoIDEyIDAgUiAvTiAzIC9BbHRlcm5hdGUgL0RldmljZVJH
- QiAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAGFVM9rE0EU/jZuqdAiCFpr
- DrJ4kCJJWatoRdQ2/RFiawzbH7ZFkGQzSdZuNuvuJrWliOTi0SreRe2hB/+AHnrwZC9K
- hVpFKN6rKGKhFy3xzW5MtqXqwM5+8943731vdt8ADXLSNPWABOQNx1KiEWlsfEJq/IgA
- jqIJQTQlVdvsTiQGQYNz+Xvn2HoPgVtWw3v7d7J3rZrStpoHhP1A4Eea2Sqw7xdxClkS
- Aog836Epx3QI3+PY8uyPOU55eMG1Dys9xFkifEA1Lc5/TbhTzSXTQINIOJT1cVI+nNeL
- lNcdB2luZsbIEL1PkKa7zO6rYqGcTvYOkL2d9H5Os94+wiHCCxmtP0a4jZ71jNU/4mHh
- pObEhj0cGDX0+GAVtxqp+DXCFF8QTSeiVHHZLg3xmK79VvJKgnCQOMpkYYBzWkhP10xu
- +LqHBX0m1xOv4ndWUeF5jxNn3tTd70XaAq8wDh0MGgyaDUhQEEUEYZiwUECGPBoxNLJy
- PyOrBhuTezJ1JGq7dGJEsUF7Ntw9t1Gk3Tz+KCJxlEO1CJL8Qf4qr8lP5Xn5y1yw2Fb3
- lK2bmrry4DvF5Zm5Gh7X08jjc01efJXUdpNXR5aseXq8muwaP+xXlzHmgjWPxHOw+/Et
- X5XMlymMFMXjVfPqS4R1WjE3359sfzs94i7PLrXWc62JizdWm5dn/WpI++6qvJPmVflP
- XvXx/GfNxGPiKTEmdornIYmXxS7xkthLqwviYG3HCJ2VhinSbZH6JNVgYJq89S9dP1t4
- vUZ/DPVRlBnM0lSJ93/CKmQ0nbkOb/qP28f8F+T3iuefKAIvbODImbptU3HvEKFlpW5z
- rgIXv9F98LZua6N+OPwEWDyrFq1SNZ8gvAEcdod6HugpmNOWls05Uocsn5O66cpiUsxQ
- 20NSUtcl12VLFrOZVWLpdtiZ0x1uHKE5QvfEp0plk/qv8RGw/bBS+fmsUtl+ThrWgZf6
- b8C8/UUKZW5kc3RyZWFtCmVuZG9iagoxMiAwIG9iago3MzcKZW5kb2JqCjggMCBvYmoK
- WyAvSUNDQmFzZWQgMTEgMCBSIF0KZW5kb2JqCjEzIDAgb2JqCjw8IC9MZW5ndGggMTQg
- MCBSIC9OIDEgL0FsdGVybmF0ZSAvRGV2aWNlR3JheSAvRmlsdGVyIC9GbGF0ZURlY29k
- ZSA+PgpzdHJlYW0KeAGFUk9IFFEc/s02EoSIQYV4iHcKCZUprKyg2nZ1WZVtW5XSohhn
- 37qjszPTm9k1xZMEXaI8dQ+iY3Ts0KGbl6LArEvXIKkgCDx16PvN7OoohG95O9/7/f1+
- 33tEbZ2m7zspQVRzQ5UrpaduTk2Lgx8pRR3UTlimFfjpYnGMseu5kr+719Zn0tiy3se1
- dvv2PbWVZWAh6i22txD6IZFmAB+ZnyhlgLPAHZav2D4BPFgOrBrwI6IDD5q5MNPRnHSl
- si2RU+aiKCqvYjtJrvv5uca+i7WJg/5cj2bWjr2z6qrRTNS090ShvA+uRBnPX1T2bDUU
- pw3jnEhDGinyrtXfK0zHEZErEEoGUjVkuZ9qTp114HUYu126k+P49hClPslgqIm16bKZ
- HYV9AHYqy+wQ8AXo8bJiD+eBe2H/W1HDk8AnYT9kh3nWrR/2F65T4HuEPTXgzhSuxfHa
- ih9eLQFD91QjaIxzTcTT1zlzpIjvMdQZmPdGOaYLMXeWqhM3gDthH1mqZgqxXfuu6iXu
- ewJ30+M70Zs5C1ygHElysRXZFNA8CVgUfYuwSQ48Ps4eVeB3qJjAHLmJ3M0o9x7VERtn
- o1KBVnqNV8ZP47nxxfhlbBjPgH6sdtd7fP/p4xV117Y+PPmNetw5rr2dG1VhVnFlC93/
- xzKEj9knOabB06FZWGvYduQPmsxMsAwoxH8FPpf6khNV3NXu7bhFEsxQPixsJbpLVG4p
- 1Oo9g0qsHCvYAHZwksQsWhy4U2u6OXh32CJ6bflNV7Lrhv769nr72vIebcqoKSgTzbNE
- ZpSxW6Pk3Xjb/WaREZ84Or7nvYpayf5JRRA/hTlaKvIUVfRWUNbEb2cOfhu2flw/pef1
- Qf08CT2tn9Gv6KMRvgx0Sc/Cc1Efo0nwsGkh4hKgioMz1E5UY40D4inx8rRbZJH9D0AZ
- /WYKZW5kc3RyZWFtCmVuZG9iagoxNCAwIG9iago3MDQKZW5kb2JqCjkgMCBvYmoKWyAv
- SUNDQmFzZWQgMTMgMCBSIF0KZW5kb2JqCjQgMCBvYmoKPDwgL1R5cGUgL1BhZ2VzIC9N
- ZWRpYUJveCBbMCAwIDYxMiA3OTJdIC9Db3VudCAxIC9LaWRzIFsgMyAwIFIgXSA+Pgpl
- bmRvYmoKMTUgMCBvYmoKPDwgL1R5cGUgL0NhdGFsb2cgL091dGxpbmVzIDIgMCBSIC9Q
- YWdlcyA0IDAgUiA+PgplbmRvYmoKMiAwIG9iago8PCAvTGFzdCAxNiAwIFIgL0ZpcnN0
- IDE3IDAgUiA+PgplbmRvYmoKMTcgMCBvYmoKPDwgL1BhcmVudCAxOCAwIFIgL0NvdW50
- IDAgL0Rlc3QgWyAzIDAgUiAvWFlaIDAgNzgzIDAgXSAvVGl0bGUgKP7/MK0w4zDzMNAw
- uVwwMDAgXDAwMDEpCj4+CmVuZG9iagoxOCAwIG9iago8PCA+PgplbmRvYmoKMTYgMCBv
- YmoKPDwgL1BhcmVudCAxOCAwIFIgL0NvdW50IDAgL0Rlc3QgWyAzIDAgUiAvWFlaIDAg
- NzgzIDAgXSAvVGl0bGUgKP7/MK0w4zDzMNAwuVwwMDAgXDAwMDEpCj4+CmVuZG9iagox
- OSAwIG9iago8PCAvTGVuZ3RoIDIwIDAgUiAvTGVuZ3RoMSAxMDU0MCAvRmlsdGVyIC9G
- bGF0ZURlY29kZSA+PgpzdHJlYW0KeAG9egt8VEWW96m69/a9/Uw/0+9033S6O533gwRC
- AmlCEsIjIRCENBJIAoEEYQQMQdyBjQoCAfGBPARHQUfkMQ5NYKSRwY9xUfS3syPOKirj
- PNxBx2++ybo7H844QnfvubdDFvLtzM/f7/M39+ZU1amqW3XqX6dOnap075q1XaCFfmCg
- eX7HqqUgP8FNAOTI4pUdq1K8ScD49cV9vd4Uz2UDMCuWrlq2MsULTwGo3MtWrB/+3vQV
- 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
- a9Zr1+v6fL1Zvf7ewOGMI3kmBk02l88WmMBhcVpdNku+uSA7Td2DHnm5n/oztSo212R7
- 0+U28ay7YH+uupBX6vSUh0Kx0OGxpduC1onZAT6Y7SjWeYL6iRAssBcVD47sM7i8Uvav
- Qo8pabgVhRgOe67ousrLLeWyziD5NGBBV1XUeURQ4s9SCHqrInA5mHIbMc9ptonEm5Yp
- gpip0wpBlUgCfqUKvVcRf4uEQYbBJUoea8pbSm3o8q4ua8UtpcDt3SSbSfnUMOyyymuc
- /399VtyIAkHyheCvPbJk34TgfY9tm9T7i7N/vGcyPcYFJj69tKcuu2nd6zU9H/3qi0s8
- OUOa5xfNm3d3XRbu0Jk5Ux/c9+Od87snlExpCtfn2E3uwry6px67/NFB+hfUJWvyC6rk
- 5uPKmf0jbYHqgo7ESHXYz6ZXWBmFTmVwoCnD/9CHwKKzpDEehjI30/EG4Ka4bNgbirdV
- XJQORfqUCSuslk+3Q/r4NfmAW2rxGdD5HvH/AmUGX1npkVeOHw9YirUZZs/k4Mb5TzzB
- zU+8vyteN86kJnSnUnhwGX1jF9piioRPsgt/f/A/PWjhcf2jN4Onwlz5HFQG5VAL9fi7
- hmkwU/5dhfTrhbkwD2sS/LUFkZtR4J0d1E6ZOXNKS25D14q+rt6exR1yDbkYgwVI3Uj3
- I21FQmXHX44A/j4EAI0lfIj0OdJX2KyAZEPKRhqH1IDUitSNdD/SVqR9yeEHv4GRNAHv
- KH7SKL5mFF87ise+7mhvxii+cRQ/exTfMoqXULhdvsWjeHkebpN/2ahy6fcEt38v/y7x
- tvrfGVV+7yh+zSj+vlF8r8T/F8l0mcwKZW5kc3RyZWFtCmVuZG9iagoyMCAwIG9iago2
- ODg3CmVuZG9iagoyMSAwIG9iago8PCAvVHlwZSAvRm9udERlc2NyaXB0b3IgL0FzY2Vu
- dCA3NzAgL0NhcEhlaWdodCA3MTcgL0Rlc2NlbnQgLTIzMCAvRmxhZ3MgMzIKL0ZvbnRC
- Qm94IFstOTUxIC00ODEgMTQ0NSAxMTIyXSAvRm9udE5hbWUgL0RHT09HUytIZWx2ZXRp
- Y2EgL0l0YWxpY0FuZ2xlIDAKL1N0ZW1WIDAgL01heFdpZHRoIDE1MDAgL1hIZWlnaHQg
- NjM3IC9Gb250RmlsZTIgMTkgMCBSID4+CmVuZG9iagoyMiAwIG9iagpbIDI3OCAwIDAg
- MCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAw
- IDAgMCAwIDAgNjY3CjY2NyAwIDcyMiAwIDAgMCA3MjIgMCAwIDAgNTU2IDgzMyAwIDAg
- MCAwIDcyMiA2NjcgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAKMCA1NTYgMCA1MDAgMCA1
- NTYgMCA1NTYgMCAwIDAgMCAyMjIgODMzIDU1NiA1NTYgMCAwIDMzMyA1MDAgMjc4IF0K
- ZW5kb2JqCjEwIDAgb2JqCjw8IC9UeXBlIC9Gb250IC9TdWJ0eXBlIC9UcnVlVHlwZSAv
- QmFzZUZvbnQgL0RHT09HUytIZWx2ZXRpY2EgL0ZvbnREZXNjcmlwdG9yCjIxIDAgUiAv
- V2lkdGhzIDIyIDAgUiAvRmlyc3RDaGFyIDMyIC9MYXN0Q2hhciAxMTYgL0VuY29kaW5n
- IC9NYWNSb21hbkVuY29kaW5nCj4+CmVuZG9iagoyMyAwIG9iagooTWFjIE9TIFggMTAu
- Ni44IFF1YXJ0eiBQREZDb250ZXh0KQplbmRvYmoKMjQgMCBvYmoKKEQ6MjAxMjAyMDcx
- NTEyNTZaMDAnMDAnKQplbmRvYmoKMSAwIG9iago8PCAvUHJvZHVjZXIgMjMgMCBSIC9D
- cmVhdGlvbkRhdGUgMjQgMCBSIC9Nb2REYXRlIDI0IDAgUiA+PgplbmRvYmoKeHJlZgow
- IDI1CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAxMDkzNSAwMDAwMCBuIAowMDAwMDAy
- OTI4IDAwMDAwIG4gCjAwMDAwMDA4MDUgMDAwMDAgbiAKMDAwMDAwMjc3OSAwMDAwMCBu
- IAowMDAwMDAwMDIyIDAwMDAwIG4gCjAwMDAwMDA3ODYgMDAwMDAgbiAKMDAwMDAwMDkw
- OSAwMDAwMCBuIAowMDAwMDAxODc5IDAwMDAwIG4gCjAwMDAwMDI3NDMgMDAwMDAgbiAK
- MDAwMDAxMDY2NiAwMDAwMCBuIAowMDAwMDAxMDE5IDAwMDAwIG4gCjAwMDAwMDE4NTkg
- MDAwMDAgbiAKMDAwMDAwMTkxNSAwMDAwMCBuIAowMDAwMDAyNzIzIDAwMDAwIG4gCjAw
- MDAwMDI4NjIgMDAwMDAgbiAKMDAwMDAwMzEwNSAwMDAwMCBuIAowMDAwMDAyOTc2IDAw
- MDAwIG4gCjAwMDAwMDMwODMgMDAwMDAgbiAKMDAwMDAwMzIxMiAwMDAwMCBuIAowMDAw
- MDEwMTkwIDAwMDAwIG4gCjAwMDAwMTAyMTEgMDAwMDAgbiAKMDAwMDAxMDQzNiAwMDAw
- MCBuIAowMDAwMDEwODQxIDAwMDAwIG4gCjAwMDAwMTA4OTMgMDAwMDAgbiAKdHJhaWxl
- cgo8PCAvU2l6ZSAyNSAvUm9vdCAxNSAwIFIgL0luZm8gMSAwIFIgL0lEIFsgPDdjMTQz
- MjQ4ODFlODBiODg4NjQxZWM4YzcyYWFkZTVjPgo8N2MxNDMyNDg4MWU4MGI4ODg2NDFl
- YzhjNzJhYWRlNWM+IF0gPj4Kc3RhcnR4cmVmCjExMDEwCiUlRU9GCjEgMCBvYmoKPDwv
- QXV0aG9yIChLYXp1a2kgQUtBTUlORSkvQ3JlYXRpb25EYXRlIChEOjIwMTIwMjA3MTUw
- MDAwWikvQ3JlYXRvciAoT21uaUdyYWZmbGUgNS4yLjMpL01vZERhdGUgKEQ6MjAxMjAy
- MDcxNTEyMDBaKS9Qcm9kdWNlciAyMyAwIFIgL1RpdGxlIChyZW1vdGVfZGF0YXNlZ21l
- bnQpPj4KZW5kb2JqCnhyZWYKMSAxCjAwMDAwMTE2NjggMDAwMDAgbiAKdHJhaWxlcgo8
- PC9JRCBbPDdjMTQzMjQ4ODFlODBiODg4NjQxZWM4YzcyYWFkZTVjPiA8N2MxNDMyNDg4
- MWU4MGI4ODg2NDFlYzhjNzJhYWRlNWM+XSAvSW5mbyAxIDAgUiAvUHJldiAxMTAxMCAv
- Um9vdCAxNSAwIFIgL1NpemUgMjU+PgpzdGFydHhyZWYKMTE4NDUKJSVFT0YK
-
- QuickLookThumbnail
-
- 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
- wGw=
-
- ReadOnly
- NO
- RowAlign
- 1
- RowSpacing
- 36
- SheetTitle
- キャンバス 1
- SmartAlignmentGuidesActive
- YES
- SmartDistanceGuidesActive
- YES
- UniqueID
- 1
- UseEntirePage
-
- VPages
- 1
- WindowInfo
-
- CurrentSheet
- 0
- ExpandedCanvases
-
- Frame
- {{128, 121}, {693, 937}}
- ListView
-
- OutlineWidth
- 142
- RightSidebar
-
- ShowRuler
-
- Sidebar
-
- SidebarWidth
- 120
- VisibleRegion
- {{0, 0}, {558, 783}}
- Zoom
- 1
- ZoomValues
-
-
- キャンバス 1
- 1
- 1
-
-
-
- saveQuickLookFiles
- YES
-
-
diff -r 86eb165b4b91 -r e17bc730af1a images/remote_datasegment.pdf
Binary file images/remote_datasegment.pdf has changed
diff -r 86eb165b4b91 -r e17bc730af1a images/take.bb
--- a/images/take.bb Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-%%Title: ./images/take.pdf
-%%Creator: extractbb 20120420
-%%BoundingBox: 0 0 119 102
-%%CreationDate: Mon Apr 1 01:52:37 2013
-
diff -r 86eb165b4b91 -r e17bc730af1a images/take.graffle
--- a/images/take.graffle Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1437 +0,0 @@
-
-
-
-
- ActiveLayerIndex
- 0
- ApplicationVersion
-
- com.omnigroup.OmniGraffle
- 138.17.0.133677
-
- AutoAdjust
-
- BackgroundGraphic
-
- Bounds
- {{0, 0}, {559, 783}}
- Class
- SolidGraphic
- ID
- 2
- Style
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Draws
- NO
-
-
-
- CanvasOrigin
- {0, 0}
- ColumnAlign
- 1
- ColumnSpacing
- 36
- CreationDate
- 2012-02-07 13:36:21 +0900
- Creator
- Kazuki AKAMINE
- DisplayScale
- 1 0/72 in = 1 0/72 in
- GraphDocumentVersion
- 6
- GraphicsList
-
-
- AllowLabelDrop
-
- Class
- LineGraphic
- Head
-
- ID
- 123
-
- ID
- 171
- Points
-
- {193.379, 233}
- {297, 184.25}
-
- Style
-
- stroke
-
- HeadArrow
- FilledArrow
- HeadScale
- 1.4285709857940674
- TailArrow
- 0
- TailScale
- 0.5
-
-
- Tail
-
- ID
- 170
-
-
-
- Bounds
- {{155, 233}, {47, 14}}
- Class
- ShapedGraphic
- FitText
- YES
- Flow
- Resize
- ID
- 170
- Shape
- Rectangle
- Style
-
- fill
-
- Draws
- NO
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Draws
- NO
-
-
- Text
-
- Pad
- 0
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs24 \cf0 dequeue}
- VerticalPad
- 0
-
- Wrap
- NO
-
-
- Bounds
- {{304, 233}, {27, 14}}
- Class
- ShapedGraphic
- FitText
- YES
- Flow
- Resize
- ID
- 149
- Shape
- Rectangle
- Style
-
- fill
-
- Draws
- NO
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Draws
- NO
-
-
- Text
-
- Pad
- 0
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs24 \cf0 reply}
- VerticalPad
- 0
-
- Wrap
- NO
-
-
- AllowLabelDrop
-
- Class
- LineGraphic
- Head
-
- ID
- 147
- Info
- 3
-
- ID
- 148
- Points
-
- {322, 198.25}
- {271.982, 282.5}
-
- Style
-
- stroke
-
- HeadArrow
- FilledArrow
- HeadScale
- 1.4285709857940674
- TailArrow
- 0
- TailScale
- 0.5
-
-
- Tail
-
- ID
- 123
- Info
- 1
-
-
-
- Bounds
- {{221.982, 268.5}, {50, 28}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 147
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs24 \cf0 dataA}
- VerticalPad
- 0
-
-
-
- Bounds
- {{221.982, 254.5}, {50, 14}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 146
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs24 \cf0 1}
- VerticalPad
- 0
-
-
-
- Bounds
- {{225.982, 233}, {43, 14}}
- Class
- ShapedGraphic
- FitText
- YES
- Flow
- Resize
- ID
- 145
- Shape
- Rectangle
- Style
-
- fill
-
- Draws
- NO
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Draws
- NO
-
-
- Text
-
- Pad
- 0
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs24 \cf0 receiver}
- VerticalPad
- 0
-
- Wrap
- NO
-
-
- Bounds
- {{213.491, 247}, {66.9815, 57}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- HiraKakuProN-W3
- Size
- 12
-
- ID
- 144
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- VerticalPad
- 0
-
-
-
- Bounds
- {{147, 170.25}, {50, 28}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 143
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs24 \cf0 dataD}
- VerticalPad
- 0
-
-
-
- Bounds
- {{147, 156.25}, {50, 14}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 142
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs24 \cf0 4}
- VerticalPad
- 0
-
-
-
- Bounds
- {{197, 170.25}, {50, 28}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 141
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs24 \cf0 dataC}
- VerticalPad
- 0
-
-
-
- Bounds
- {{197, 156.25}, {50, 14}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 140
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs24 \cf0 3}
- VerticalPad
- 0
-
-
-
- Bounds
- {{247, 170.25}, {50, 28}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 139
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs24 \cf0 dataB}
- VerticalPad
- 0
-
-
-
- Bounds
- {{247, 156.25}, {50, 14}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 138
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs24 \cf0 2}
- VerticalPad
- 0
-
-
-
- Bounds
- {{297, 170.25}, {50, 28}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 123
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Pattern
- 1
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs24 \cf0 dataA}
- VerticalPad
- 0
-
-
-
- Bounds
- {{297, 156.25}, {50, 14}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 122
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Pattern
- 1
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs24 \cf0 1}
- VerticalPad
- 0
-
-
-
- AllowLabelDrop
-
- Class
- LineGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 118
- Points
-
- {140.963, 201.5}
- {353, 201.5}
-
- Style
-
- stroke
-
- HeadArrow
- 0
- HeadScale
- 1.4285709857940674
- TailArrow
- 0
- TailScale
- 0.5
-
-
-
-
- AllowLabelDrop
-
- Class
- LineGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 121
- Points
-
- {140.963, 152}
- {353, 152}
-
- Style
-
- stroke
-
- HeadArrow
- 0
- HeadScale
- 1.4285709857940674
- TailArrow
- 0
- TailScale
- 0.5
-
-
-
-
- Bounds
- {{143.463, 102}, {128, 14}}
- Class
- ShapedGraphic
- FitText
- YES
- Flow
- Resize
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 119
- Shape
- Rectangle
- Style
-
- fill
-
- Draws
- NO
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Draws
- NO
-
-
- Text
-
- Pad
- 0
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs24 \cf0 take(recever, "key1", 0);}
- VerticalPad
- 0
-
- Wrap
- NO
-
-
- Bounds
- {{229.982, 120.75}, {34, 14}}
- Class
- ShapedGraphic
- FitText
- YES
- Flow
- Resize
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 120
- Shape
- Rectangle
- Style
-
- fill
-
- Draws
- NO
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Draws
- NO
-
-
- Text
-
- Pad
- 0
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs24 \cf0 "key1"}
- VerticalPad
- 0
-
- Wrap
- NO
-
-
- Bounds
- {{130.963, 120}, {233.037, 103}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 117
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
- stroke
-
- CornerRadius
- 10
-
-
- Text
-
- VerticalPad
- 0
-
-
-
- GridInfo
-
- GuidesLocked
- NO
- GuidesVisible
- YES
- HPages
- 1
- ImageCounter
- 1
- KeepToScale
-
- Layers
-
-
- Lock
- NO
- Name
- レイヤー 1
- Print
- YES
- View
- YES
-
-
- LayoutInfo
-
- Animate
- NO
- circoMinDist
- 18
- circoSeparation
- 0.0
- layoutEngine
- dot
- neatoSeparation
- 0.0
- twopiSeparation
- 0.0
-
- LinksVisible
- NO
- MagnetsVisible
- NO
- MasterSheets
-
- ModificationDate
- 2012-02-07 14:33:47 +0900
- Modifier
- Kazuki AKAMINE
- NotesVisible
- NO
- Orientation
- 2
- OriginVisible
- NO
- PageBreaks
- YES
- PrintInfo
-
- NSBottomMargin
-
- float
- 41
-
- NSLeftMargin
-
- float
- 18
-
- NSPaperSize
-
- size
- {595, 842}
-
- NSRightMargin
-
- float
- 18
-
- NSTopMargin
-
- float
- 18
-
-
- PrintOnePage
-
- QuickLookPreview
-
- JVBERi0xLjMKJcTl8uXrp/Og0MTGCjUgMCBvYmoKPDwgL0xlbmd0aCA2IDAgUiAvRmls
- dGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAGtV01vGzcQvfNXDHKSgZohh9/oqXHb
- g2+BBfTg5GDINlrXLmo7KZB/3zfcL652JcVFbQgiV5ydxzePM8Nn+kjPZPAfQqGUHb3c
- 0W/0F72/eLW0eyVb/193dG50IPk0C+/JeqNLdEwxOvVELngZ0SNGRQfmUqcu4nHI8iBT
- N3G0q6OQjKzGghC99inxaKpCNPWN8r2bXMn0kawL2nvjYGcw6WGML5mewMFOzaaHJ/Ay
- vCkG2UYz7eDjTb1f2We7fUD8ff7giUAQXeLz0PF5cVWpNnR1Qc/K1sm5fAnxu6fJ2rKh
- jk0ZNWzKVMiyPJAlE2dUxybbyj2esR3oHgLB7Cqb8t2wKdOGTUwnssaXjDSIg4Ykmc5+
- m00a2vG8ZXOEP7IpGxvZlMmMTTyAuq4gVuiSRZeGoMlnUCvaBYfsoy7ZBugsaA7C5oct
- aOp/Z6zBAgdZklfbJ3r/q9XwSNt7uqbNuz/vzkThTJtvdhi9O6PPtL2kX7b1kEyuTNIe
- wY/Jq6Wb6HRka+CGFm6+nOEEwcfN4GJy+2nzcnemOgi7Ecw/4+jlNJjlnll7cBp5bcs/
- 9Fio/16nYH+VGTB+OvvxAKJ9NZMNXMUMqWD0WMPYRK6uFyL78BMbizQj8nf9uLNZpCQu
- iaJlnZCURD2Su+7VNZj3iJyh21YgIyyxsiGKSEarY8pyjOxmC7ysRNtp52KB6/1obyCj
- 7UOnnVXgIfseOGclwA+DTRBNBYvsiZWnwIaSJ7BGG2OYtji07VkIOqYSlyLd3N58uflp
- Dl21ZYD9Cud0fYRuGLR0y16P7YBRATq6l3o+n9GtmjO84TnmWekSzC3dVScLuiW6stK+
- gW4B29Hdg+3oVm+i+8MR6HZP4oeVIitbnk8phf+brN0JsC3PJ8C+hWeA/R5ZR22sSSun
- UWR9MYc+k7VdlfV+lpIgy8o9ntUxPdvv1nNXk9AWoCZt/BzsTM8CoeV5Xc8AqyrYN/As
- YFf0jPShZunjKM8/H4GOhkH7YjL5JK1hLdlwmQ5LZbSomWeyOKlvjyqdbaTg3UriZovM
- XfJSKugGUIn7ZmCqxH90j9TmQEle5nh4qA1JsB7lzBdd8JeHMrXa//Fgw2HF5pjKxvYn
- 4BX/Y6EaAPkc200cLVmDDUe0oNPGDxWvqQ+eNmHkotH1Vm8oYEoOzl4BWzvCUtEtiiSK
- KlJ+QrXMIWOAjtAVKx2Kqo1mvQBJf1mbTeR6XRBMdA2srXNZjDNarIRmLxg0CMmJMaeg
- rTEQHgJvfc7qEReDNet7vPgSn4dFLZK9jxacjc4RXdyTGv1xcpoZBbzxJ3zngHM68zdZ
- t2VX7ffPziZQjrPS0z477g5NBDayaHK6s9J3rX8Ph+ZxGHw70CFaUN76GkM8SzKMYo8s
- t3C6ub17/nr3FWd06K+GO9Z+rGtTWfCalAuxczVgHreAEshmHEj2NdrdtWIv2gXXiIxE
- FUrSxVvG/YOz0xZXjFCQhoKr5ONcpIhhwPugqY77fVs4bmI9Cb7pSXtvNgdtAqievFm4
- MD5WaQ3eLHaVDXfKGrw1tpIqPv4LTzhMDwplbmRzdHJlYW0KZW5kb2JqCjYgMCBvYmoK
- MTE3MQplbmRvYmoKMyAwIG9iago8PCAvVHlwZSAvUGFnZSAvUGFyZW50IDQgMCBSIC9S
- ZXNvdXJjZXMgNyAwIFIgL0NvbnRlbnRzIDUgMCBSIC9NZWRpYUJveCBbMCAwIDU1OSA3
- ODNdCj4+CmVuZG9iago3IDAgb2JqCjw8IC9Qcm9jU2V0IFsgL1BERiAvVGV4dCBdIC9D
- b2xvclNwYWNlIDw8IC9DczIgOSAwIFIgL0NzMSA4IDAgUiA+PiAvRm9udCA8PAovRjEu
- MCAxMCAwIFIgPj4gPj4KZW5kb2JqCjExIDAgb2JqCjw8IC9MZW5ndGggMTIgMCBSIC9O
- IDEgL0FsdGVybmF0ZSAvRGV2aWNlR3JheSAvRmlsdGVyIC9GbGF0ZURlY29kZSA+Pgpz
- dHJlYW0KeAGFUk9IFFEc/s02EoSIQYV4iHcKCZUprKyg2nZ1WZVtW5XSohhn37qjszPT
- m9k1xZMEXaI8dQ+iY3Ts0KGbl6LArEvXIKkgCDx16PvN7OoohG95O9/7/f1+33tEbZ2m
- 7zspQVRzQ5UrpaduTk2Lgx8pRR3UTlimFfjpYnGMseu5kr+719Zn0tiy3se1dvv2PbWV
- ZWAh6i22txD6IZFmAB+ZnyhlgLPAHZav2D4BPFgOrBrwI6IDD5q5MNPRnHSlsi2RU+ai
- KCqvYjtJrvv5uca+i7WJg/5cj2bWjr2z6qrRTNS090ShvA+uRBnPX1T2bDUUpw3jnEhD
- GinyrtXfK0zHEZErEEoGUjVkuZ9qTp114HUYu126k+P49hClPslgqIm16bKZHYV9AHYq
- y+wQ8AXo8bJiD+eBe2H/W1HDk8AnYT9kh3nWrR/2F65T4HuEPTXgzhSuxfHaih9eLQFD
- 91QjaIxzTcTT1zlzpIjvMdQZmPdGOaYLMXeWqhM3gDthH1mqZgqxXfuu6iXuewJ30+M7
- 0Zs5C1ygHElysRXZFNA8CVgUfYuwSQ48Ps4eVeB3qJjAHLmJ3M0o9x7VERtno1KBVnqN
- V8ZP47nxxfhlbBjPgH6sdtd7fP/p4xV117Y+PPmNetw5rr2dG1VhVnFlC93/xzKEj9kn
- OabB06FZWGvYduQPmsxMsAwoxH8FPpf6khNV3NXu7bhFEsxQPixsJbpLVG4p1Oo9g0qs
- HCvYAHZwksQsWhy4U2u6OXh32CJ6bflNV7Lrhv769nr72vIebcqoKSgTzbNEZpSxW6Pk
- 3Xjb/WaREZ84Or7nvYpayf5JRRA/hTlaKvIUVfRWUNbEb2cOfhu2flw/pef1Qf08CT2t
- n9Gv6KMRvgx0Sc/Cc1Efo0nwsGkh4hKgioMz1E5UY40D4inx8rRbZJH9D0AZ/WYKZW5k
- c3RyZWFtCmVuZG9iagoxMiAwIG9iago3MDQKZW5kb2JqCjkgMCBvYmoKWyAvSUNDQmFz
- ZWQgMTEgMCBSIF0KZW5kb2JqCjEzIDAgb2JqCjw8IC9MZW5ndGggMTQgMCBSIC9OIDMg
- L0FsdGVybmF0ZSAvRGV2aWNlUkdCIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVh
- bQp4AYVUz2sTQRT+Nm6p0CIIWmsOsniQIklZq2hF1Db9EWJrDNsftkWQZDNJ1m426+4m
- taWI5OLRKt5F7aEH/4AeevBkL0qFWkUo3qsoYqEXLfHNbky2perAzn7z3jfvfW923wAN
- ctI09YAE5A3HUqIRaWx8Qmr8iACOoglBNCVV2+xOJAZBg3P5e+fYeg+BW1bDe/t3snet
- mtK2mgeE/UDgR5rZKrDvF3EKWRICiDzfoSnHdAjf49jy7I85Tnl4wbUPKz3EWSJ8QDUt
- zn9NuFPNJdNAg0g4lPVxUj6c14uU1x0HaW5mxsgQvU+QprvM7qtioZxO9g6QvZ30fk6z
- 3j7CIcILGa0/RriNnvWM1T/iYeGk5sSGPRwYNfT4YBW3Gqn4NcIUXxBNJ6JUcdkuDfGY
- rv1W8kqCcJA4ymRhgHNaSE/XTG74uocFfSbXE6/id1ZR4XmPE2fe1N3vRdoCrzAOHQwa
- DJoNSFAQRQRhmLBQQIY8GjE0snI/I6sGG5N7MnUkart0YkSxQXs23D23UaTdPP4oInGU
- Q7UIkvxB/iqvyU/lefnLXLDYVveUrZuauvLgO8XlmbkaHtfTyONzTV58ldR2k1dHlqx5
- erya7Bo/7FeXMeaCNY/Ec7D78S1flcyXKYwUxeNV8+pLhHVaMTffn2x/Oz3iLs8utdZz
- rYmLN1abl2f9akj77qq8k+ZV+U9e9fH8Z83EY+IpMSZ2iuchiZfFLvGS2EurC+JgbccI
- nZWGKdJtkfok1WBgmrz1L10/W3i9Rn8M9VGUGczSVIn3f8IqZDSduQ5v+o/bx/wX5PeK
- 558oAi9s4MiZum1Tce8QoWWlbnOuAhe/0X3wtm5ro344/ARYPKsWrVI1nyC8ARx2h3oe
- 6CmY05aWzTlShyyfk7rpymJSzFDbQ1JS1yXXZUsWs5lVYul22JnTHW4coTlC98SnSmWT
- +q/xEbD9sFL5+axS2X5OGtaBl/pvwLz9RQplbmRzdHJlYW0KZW5kb2JqCjE0IDAgb2Jq
- CjczNwplbmRvYmoKOCAwIG9iagpbIC9JQ0NCYXNlZCAxMyAwIFIgXQplbmRvYmoKNCAw
- IG9iago8PCAvVHlwZSAvUGFnZXMgL01lZGlhQm94IFswIDAgNjEyIDc5Ml0gL0NvdW50
- IDEgL0tpZHMgWyAzIDAgUiBdID4+CmVuZG9iagoxNSAwIG9iago8PCAvVHlwZSAvQ2F0
- YWxvZyAvT3V0bGluZXMgMiAwIFIgL1BhZ2VzIDQgMCBSID4+CmVuZG9iagoyIDAgb2Jq
- Cjw8IC9MYXN0IDE2IDAgUiAvRmlyc3QgMTcgMCBSID4+CmVuZG9iagoxNyAwIG9iago8
- PCAvUGFyZW50IDE4IDAgUiAvQ291bnQgMCAvRGVzdCBbIDMgMCBSIC9YWVogMCA3ODMg
- MCBdIC9UaXRsZSAo/v8wrTDjMPMw0DC5XDAwMCBcMDAwMSkKPj4KZW5kb2JqCjE4IDAg
- b2JqCjw8ID4+CmVuZG9iagoxNiAwIG9iago8PCAvUGFyZW50IDE4IDAgUiAvQ291bnQg
- MCAvRGVzdCBbIDMgMCBSIC9YWVogMCA3ODMgMCBdIC9UaXRsZSAo/v8wrTDjMPMw0DC5
- XDAwMCBcMDAwMSkKPj4KZW5kb2JqCjE5IDAgb2JqCjw8IC9MZW5ndGggMjAgMCBSIC9M
- ZW5ndGgxIDExOTA4IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4Ab16CXRU
- RfZ3Vb21l3Re70t6Tae709n3hUTyCNlYgpCoJJFAEgg7sghBGGGCgkhAXJBlcMVx2JEm
- RG1AHHRAdMYFF1AZdXQEx7/HfM7Mh46DdPd33+sQId/MHP/neKZf36q6VfXq3frVrXur
- 6r3Fi5Z0ogTUjSg0vqV9wXQk/zJSESKTps5rXxDn9RkQvz61a7E7zjNQTs2dvmDGvDjP
- P4yQ0jFj7rKB+w0lCJnnzuxsnxYvR1cgLpoJGXEeF0CcMnPe4jvivK4P4jvmzp86UK7/
- Hvjh89rvGHg++gh4923t8zrj9TNoiFMWzL99cZxPfxritgWLOgfq4yaQ7y2EIdeJ5iMF
- moM4RJAAVytC3JdKB6KhVCqH37QM1aYpieXfIi0v81Pq75fjVzwvnPu+80pA9SD/T8hQ
- XK0vxWwwGkRIjaG8X/XgYIl8HwTOMGpMD6NRQBVAhUDp6SMsqBvvRA8APQlEoVl4PVoG
- tA7oV0D0YGoPcEfw+l6aF4/iZciGR4sq2nWTweqyKFWud8KY7Xvc9aHl82PYCqP3Gbb2
- JiDFCCV+Ej+BpiEX/g3y4eWoDqXi7YeDc11tULQHLQDqBqLkEOM9vc4814s4A/loDPf4
- kZPGz7n+kpvpupgbJrjX9XIgTEP0khM4MdF1wvG467eOGa4XgfbFi/YGocZzrj2Oua5N
- zjDe3ut6yBHGcM+D8WiJA259zjUvuMU1LVcuH7slTPb1ukqh/BZR5Soq8bgKHRdc2YEw
- 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
- KUc8xLh1YW7OQiztpvNZisDBCayMA/KRTlExnPYBEhTlOe2/u6Py0e5H/UFndpqQly0w
- wzXRxa9jF6azZ0QfjH79THR6H8s/ncB6LPzDKfQ4gOsuyT7Kv1gnfA/1r36wywYPw4D2
- qeWTEoN8+m+GfSmsopAfBVAVqpG/uhoL3yPdCF9x3QTfVk1ETagZ3gBIPwxvD6T3GNLb
- CnibMGbEiNGjWtLrOud2dS6eNbVdriEXQ9ANtAFIOpzeD/QCkOTNpeXC10BXoDk1kB0o
- A6gcaCzQJKC5QHcCbQB6FGg/0AtArwN9BPQ10BXosBrIDpQBVA40Njbwg/bRYBqDt7ie
- Tx7Cw3fK19WHb3av46H96/icIXzuED5vCJ8/hIeztOvak74GvFbeEUP4yiG85PGvrV81
- hJdG4tryqUP4aUN4WV+uwWvWkPI5Q/i5Q/gFQ/iFQ/hFQ/jFQ/glQ/iuIfwyif9/Mgos
- rwplbmRzdHJlYW0KZW5kb2JqCjIwIDAgb2JqCjc4NjIKZW5kb2JqCjIxIDAgb2JqCjw8
- IC9UeXBlIC9Gb250RGVzY3JpcHRvciAvQXNjZW50IDc3MCAvQ2FwSGVpZ2h0IDY4NCAv
- RGVzY2VudCAtMjMwIC9GbGFncyAzMgovRm9udEJCb3ggWy05NTEgLTQ4MSAxNDQ1IDEx
- MjJdIC9Gb250TmFtZSAvS0FBSklaK0hlbHZldGljYSAvSXRhbGljQW5nbGUgMAovU3Rl
- bVYgMCAvTWF4V2lkdGggMTUwMCAvWEhlaWdodCA1MTMgL0ZvbnRGaWxlMiAxOSAwIFIg
- Pj4KZW5kb2JqCjIyIDAgb2JqClsgMjc4IDAgMzU1IDAgMCAwIDAgMCAzMzMgMzMzIDAg
- MCAyNzggMCAwIDAgNTU2IDU1NiA1NTYgNTU2IDU1NiAwIDAgMCAwIDAKMCAyNzggMCAw
- IDAgMCAwIDY2NyA2NjcgNzIyIDcyMiAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAg
- MCAwIDAgMCAwIDAgMAowIDAgMCAwIDAgMCAwIDU1NiAwIDUwMCA1NTYgNTU2IDAgMCAw
- IDIyMiAwIDUwMCAyMjIgMCAwIDAgNTU2IDU1NiAzMzMgMCAyNzgKNTU2IDUwMCAwIDAg
- NTAwIF0KZW5kb2JqCjEwIDAgb2JqCjw8IC9UeXBlIC9Gb250IC9TdWJ0eXBlIC9UcnVl
- VHlwZSAvQmFzZUZvbnQgL0tBQUpJWitIZWx2ZXRpY2EgL0ZvbnREZXNjcmlwdG9yCjIx
- IDAgUiAvV2lkdGhzIDIyIDAgUiAvRmlyc3RDaGFyIDMyIC9MYXN0Q2hhciAxMjEgL0Vu
- Y29kaW5nIC9NYWNSb21hbkVuY29kaW5nCj4+CmVuZG9iagoyMyAwIG9iagooTWFjIE9T
- IFggMTAuNi44IFF1YXJ0eiBQREZDb250ZXh0KQplbmRvYmoKMjQgMCBvYmoKKEQ6MjAx
- MjAyMDcwNTMzNTNaMDAnMDAnKQplbmRvYmoKMSAwIG9iago8PCAvUHJvZHVjZXIgMjMg
- MCBSIC9DcmVhdGlvbkRhdGUgMjQgMCBSIC9Nb2REYXRlIDI0IDAgUiA+PgplbmRvYmoK
- eHJlZgowIDI1CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAxMjQyMCAwMDAwMCBuIAow
- MDAwMDAzNDEwIDAwMDAwIG4gCjAwMDAwMDEyODcgMDAwMDAgbiAKMDAwMDAwMzI2MSAw
- MDAwMCBuIAowMDAwMDAwMDIyIDAwMDAwIG4gCjAwMDAwMDEyNjcgMDAwMDAgbiAKMDAw
- MDAwMTM5MSAwMDAwMCBuIAowMDAwMDAzMjI1IDAwMDAwIG4gCjAwMDAwMDIzMjkgMDAw
- MDAgbiAKMDAwMDAxMjE1MSAwMDAwMCBuIAowMDAwMDAxNTAxIDAwMDAwIG4gCjAwMDAw
- MDIzMDkgMDAwMDAgbiAKMDAwMDAwMjM2NSAwMDAwMCBuIAowMDAwMDAzMjA1IDAwMDAw
- IG4gCjAwMDAwMDMzNDQgMDAwMDAgbiAKMDAwMDAwMzU4NyAwMDAwMCBuIAowMDAwMDAz
- NDU4IDAwMDAwIG4gCjAwMDAwMDM1NjUgMDAwMDAgbiAKMDAwMDAwMzY5NCAwMDAwMCBu
- IAowMDAwMDExNjQ3IDAwMDAwIG4gCjAwMDAwMTE2NjggMDAwMDAgbiAKMDAwMDAxMTg5
- MyAwMDAwMCBuIAowMDAwMDEyMzI2IDAwMDAwIG4gCjAwMDAwMTIzNzggMDAwMDAgbiAK
- dHJhaWxlcgo8PCAvU2l6ZSAyNSAvUm9vdCAxNSAwIFIgL0luZm8gMSAwIFIgL0lEIFsg
- PGIyYjdhN2QyOTUxM2NlNWM0OWI1OWU1OWYxMDZlODNhPgo8YjJiN2E3ZDI5NTEzY2U1
- YzQ5YjU5ZTU5ZjEwNmU4M2E+IF0gPj4Kc3RhcnR4cmVmCjEyNDk1CiUlRU9GCjEgMCBv
- YmoKPDwvQXV0aG9yIChLYXp1a2kgQUtBTUlORSkvQ3JlYXRpb25EYXRlIChEOjIwMTIw
- MjA3MDQzNjAwWikvQ3JlYXRvciAoT21uaUdyYWZmbGUgNS4yLjMpL01vZERhdGUgKEQ6
- MjAxMjAyMDcwNTMzMDBaKS9Qcm9kdWNlciAyMyAwIFIgL1RpdGxlICh0YWtlKT4+CmVu
- ZG9iagp4cmVmCjEgMQowMDAwMDEzMTUzIDAwMDAwIG4gCnRyYWlsZXIKPDwvSUQgWzxi
- MmI3YTdkMjk1MTNjZTVjNDliNTllNTlmMTA2ZTgzYT4gPGIyYjdhN2QyOTUxM2NlNWM0
- OWI1OWU1OWYxMDZlODNhPl0gL0luZm8gMSAwIFIgL1ByZXYgMTI0OTUgL1Jvb3QgMTUg
- MCBSIC9TaXplIDI1Pj4Kc3RhcnR4cmVmCjEzMzE2CiUlRU9GCg==
-
- QuickLookThumbnail
-
- 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
-
- ReadOnly
- NO
- RowAlign
- 1
- RowSpacing
- 36
- SheetTitle
- キャンバス 1
- SmartAlignmentGuidesActive
- YES
- SmartDistanceGuidesActive
- YES
- UniqueID
- 1
- UseEntirePage
-
- VPages
- 1
- WindowInfo
-
- CurrentSheet
- 0
- ExpandedCanvases
-
- Frame
- {{68, 181}, {693, 937}}
- ListView
-
- OutlineWidth
- 142
- RightSidebar
-
- ShowRuler
-
- Sidebar
-
- SidebarWidth
- 120
- VisibleRegion
- {{0, 0}, {558, 783}}
- Zoom
- 1
- ZoomValues
-
-
- キャンバス 1
- 1
- 4
-
-
-
- saveQuickLookFiles
- YES
-
-
diff -r 86eb165b4b91 -r e17bc730af1a images/take.pdf
Binary file images/take.pdf has changed
diff -r 86eb165b4b91 -r e17bc730af1a images/tree.bb
--- a/images/tree.bb Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-%%Title: ./images/tree.pdf
-%%Creator: extractbb 20120420
-%%BoundingBox: 0 0 342 296
-%%CreationDate: Mon Apr 1 01:52:37 2013
-
diff -r 86eb165b4b91 -r e17bc730af1a images/tree.pdf
Binary file images/tree.pdf has changed
diff -r 86eb165b4b91 -r e17bc730af1a images/update.bb
--- a/images/update.bb Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-%%Title: ./images/update.pdf
-%%Creator: extractbb 20120420
-%%BoundingBox: 0 0 168 80
-%%CreationDate: Mon Apr 1 01:52:37 2013
-
diff -r 86eb165b4b91 -r e17bc730af1a images/update.graffle
--- a/images/update.graffle Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1244 +0,0 @@
-
-
-
-
- ActiveLayerIndex
- 0
- ApplicationVersion
-
- com.omnigroup.OmniGrafflePro
- 139.16.0.171715
-
- AutoAdjust
-
- BackgroundGraphic
-
- Bounds
- {{0, 0}, {558.99997329711914, 783}}
- Class
- SolidGraphic
- ID
- 2
- Style
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Draws
- NO
-
-
-
- BaseZoom
- 0
- CanvasOrigin
- {0, 0}
- ColumnAlign
- 1
- ColumnSpacing
- 36
- CreationDate
- 2012-02-07 04:36:21 +0000
- Creator
- Kazuki AKAMINE
- DisplayScale
- 1 0/72 in = 1.0000 in
- GraphDocumentVersion
- 8
- GraphicsList
-
-
- AllowLabelDrop
-
- Class
- LineGraphic
- ID
- 137
- Points
-
- {409.67948780487808, 232}
- {427.73099999999999, 198}
-
- Style
-
- stroke
-
- HeadArrow
- FilledArrow
- HeadScale
- 1.4285709857940674
- Legacy
-
- TailArrow
- 0
- TailScale
- 0.5
-
-
- Tail
-
- ID
- 136
-
-
-
- Bounds
- {{382.46300000000002, 232}, {47, 14}}
- Class
- ShapedGraphic
- FitText
- YES
- Flow
- Resize
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 136
- Shape
- Rectangle
- Style
-
- fill
-
- Draws
- NO
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Draws
- NO
-
-
- Text
-
- Pad
- 0
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 dequeue}
- VerticalPad
- 0
-
- Wrap
- NO
-
-
- AllowLabelDrop
-
- Class
- LineGraphic
- Head
-
- ID
- 126
-
- ID
- 125
- Points
-
- {351.53658536585368, 232}
- {376, 198}
-
- Style
-
- stroke
-
- HeadArrow
- FilledArrow
- HeadScale
- 1.4285709857940674
- Legacy
-
- TailArrow
- 0
- TailScale
- 0.5
-
-
- Tail
-
- ID
- 132
-
-
-
- Bounds
- {{351, 170}, {50, 28}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 126
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 dataB}
- VerticalPad
- 0
-
-
-
- Bounds
- {{351, 156}, {50, 14}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 127
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 2}
- VerticalPad
- 0
-
-
-
- Bounds
- {{401, 170}, {50, 28}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 128
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Pattern
- 1
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 dataA}
- VerticalPad
- 0
-
-
-
- Bounds
- {{401, 156}, {50, 14}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 129
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Pattern
- 1
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 1}
- VerticalPad
- 0
-
-
-
- AllowLabelDrop
-
- Class
- LineGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 130
- Points
-
- {323, 201.5}
- {456, 201.5}
-
- Style
-
- stroke
-
- HeadArrow
- 0
- HeadScale
- 1.4285709857940674
- Legacy
-
- TailArrow
- 0
- TailScale
- 0.5
-
-
-
-
- AllowLabelDrop
-
- Class
- LineGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 131
- Points
-
- {323, 152}
- {456, 152}
-
- Style
-
- stroke
-
- HeadArrow
- 0
- HeadScale
- 1.4285709857940674
- Legacy
-
- TailArrow
- 0
- TailScale
- 0.5
-
-
-
-
- AllowLabelDrop
-
- Class
- LineGraphic
- Head
-
- ID
- 123
- Info
- 1
-
- ID
- 174
- Points
-
- {178.0338530760572, 232}
- {243.5158138267511, 198.22366164559278}
-
- Style
-
- stroke
-
- HeadArrow
- FilledArrow
- HeadScale
- 1.4285709857940674
- Legacy
-
- TailArrow
- 0
- TailScale
- 0.5
-
-
- Tail
-
- ID
- 173
-
-
-
- Bounds
- {{218.96299999999999, 170}, {50, 28}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 123
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 dataA}
- VerticalPad
- 0
-
-
-
- Bounds
- {{218.96299999999999, 156}, {50, 14}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 122
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
-
- Text
-
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 1}
- VerticalPad
- 0
-
-
-
- AllowLabelDrop
-
- Class
- LineGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 66
- Points
-
- {297.98200000000003, 97}
- {297.98200000000003, 252}
-
- Style
-
- stroke
-
- HeadArrow
- 0
- HeadScale
- 1.4285709857940674
- Legacy
-
- Pattern
- 1
- TailArrow
- 0
- TailScale
- 0.5
-
-
-
-
- Bounds
- {{323, 232}, {47, 14}}
- Class
- ShapedGraphic
- FitText
- YES
- Flow
- Resize
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 132
- Shape
- Rectangle
- Style
-
- fill
-
- Draws
- NO
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Draws
- NO
-
-
- Text
-
- Pad
- 0
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 enqueue}
- VerticalPad
- 0
-
- Wrap
- NO
-
-
- Bounds
- {{329.5, 102}, {120, 14}}
- Class
- ShapedGraphic
- FitText
- YES
- Flow
- Resize
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 133
- Shape
- Rectangle
- Style
-
- fill
-
- Draws
- NO
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Draws
- NO
-
-
- Text
-
- Pad
- 0
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 update("key1", dataB);}
- VerticalPad
- 0
-
- Wrap
- NO
-
-
- Bounds
- {{370.26900000000001, 120}, {34, 14}}
- Class
- ShapedGraphic
- FitText
- YES
- Flow
- Resize
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 134
- Shape
- Rectangle
- Style
-
- fill
-
- Draws
- NO
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Draws
- NO
-
-
- Text
-
- Pad
- 0
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 "key1"}
- VerticalPad
- 0
-
- Wrap
- NO
-
-
- Bounds
- {{313, 120}, {148.53700000000001, 103}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 135
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
- stroke
-
- CornerRadius
- 10
-
-
- Text
-
- VerticalPad
- 0
-
-
-
- Bounds
- {{140.96299999999999, 232}, {47, 14}}
- Class
- ShapedGraphic
- FitText
- YES
- Flow
- Resize
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 173
- Shape
- Rectangle
- Style
-
- fill
-
- Draws
- NO
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Draws
- NO
-
-
- Text
-
- Pad
- 0
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 enqueue}
- VerticalPad
- 0
-
- Wrap
- NO
-
-
- AllowLabelDrop
-
- Class
- LineGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 118
- Points
-
- {140.96299999999999, 201.5}
- {273.96300000000002, 201.5}
-
- Style
-
- stroke
-
- HeadArrow
- 0
- HeadScale
- 1.4285709857940674
- Legacy
-
- TailArrow
- 0
- TailScale
- 0.5
-
-
-
-
- AllowLabelDrop
-
- Class
- LineGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 121
- Points
-
- {140.96299999999999, 152}
- {273.96300000000002, 152}
-
- Style
-
- stroke
-
- HeadArrow
- 0
- HeadScale
- 1.4285709857940674
- Legacy
-
- TailArrow
- 0
- TailScale
- 0.5
-
-
-
-
- Bounds
- {{147.46299999999999, 102}, {120, 14}}
- Class
- ShapedGraphic
- FitText
- YES
- Flow
- Resize
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 171
- Shape
- Rectangle
- Style
-
- fill
-
- Draws
- NO
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Draws
- NO
-
-
- Text
-
- Pad
- 0
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 update("key1", dataA);}
- VerticalPad
- 0
-
- Wrap
- NO
-
-
- Bounds
- {{188.232, 120}, {34, 14}}
- Class
- ShapedGraphic
- FitText
- YES
- Flow
- Resize
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 120
- Shape
- Rectangle
- Style
-
- fill
-
- Draws
- NO
-
- shadow
-
- Draws
- NO
-
- stroke
-
- Draws
- NO
-
-
- Text
-
- Pad
- 0
- Text
- {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 "key1"}
- VerticalPad
- 0
-
- Wrap
- NO
-
-
- Bounds
- {{130.96299999999999, 120}, {148.53700000000001, 103}}
- Class
- ShapedGraphic
- FontInfo
-
- Font
- Helvetica
- Size
- 12
-
- ID
- 117
- Magnets
-
- {0, 1}
- {0, -1}
- {1, 0}
- {-1, 0}
-
- Shape
- Rectangle
- Style
-
- shadow
-
- Draws
- NO
-
- stroke
-
- CornerRadius
- 10
-
-
- Text
-
- VerticalPad
- 0
-
-
-
- GridInfo
-
- GuidesLocked
- NO
- GuidesVisible
- YES
- HPages
- 1
- ImageCounter
- 1
- KeepToScale
-
- Layers
-
-
- Lock
- NO
- Name
- レイヤー 1
- Print
- YES
- View
- YES
-
-
- LayoutInfo
-
- Animate
- NO
- circoMinDist
- 18
- circoSeparation
- 0.0
- layoutEngine
- dot
- neatoSeparation
- 0.0
- twopiSeparation
- 0.0
-
- LinksVisible
- NO
- MagnetsVisible
- NO
- MasterSheets
-
- ModificationDate
- 2012-02-07 04:57:12 +0000
- Modifier
- Kazuki AKAMINE
- NotesVisible
- NO
- Orientation
- 2
- OriginVisible
- NO
- PageBreaks
- YES
- PrintInfo
-
- NSBottomMargin
-
- float
- 41
-
- NSHorizonalPagination
-
- coded
- BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG
-
- NSLeftMargin
-
- float
- 18
-
- NSPaperSize
-
- size
- {594.99997329711914, 842}
-
- NSPrintReverseOrientation
-
- int
- 0
-
- NSRightMargin
-
- float
- 18
-
- NSTopMargin
-
- float
- 18
-
-
- PrintOnePage
-
- ReadOnly
- NO
- RowAlign
- 1
- RowSpacing
- 36
- SheetTitle
- キャンバス 1
- SmartAlignmentGuidesActive
- YES
- SmartDistanceGuidesActive
- YES
- UniqueID
- 1
- UseEntirePage
-
- VPages
- 1
- WindowInfo
-
- CurrentSheet
- 0
- ExpandedCanvases
-
- Frame
- {{57, 83}, {693, 937}}
- ListView
-
- OutlineWidth
- 142
- RightSidebar
-
- ShowRuler
-
- Sidebar
-
- SidebarWidth
- 120
- VisibleRegion
- {{0, -7}, {558, 798}}
- Zoom
- 1
- ZoomValues
-
-
- キャンバス 1
- 1
- 1
-
-
-
-
-
diff -r 86eb165b4b91 -r e17bc730af1a images/update.pdf
Binary file images/update.pdf has changed
diff -r 86eb165b4b91 -r e17bc730af1a ipsjcommon.sty
--- a/ipsjcommon.sty Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,995 +0,0 @@
-% Copyright (C) 1995-2007 by Hiroshi Nakashima, Yasuki Saito and
-% The Editorial Board of the IPSJ Journal
-%
-% ipsjcommon.sty 15-Jun-07 by Hiroshi Nakashima (ver 2.12)
-% (revision history deleted)
-% ipsjcommon.sty 24-Apr-95 by Hiroshi Nakashima (ver 1.0)
-
-%%%%%% Sectioning Commands %%%%%%
-
-% \section: 2 rows
-% others: 1 row
-%
-% Note that \paragraph and \subparagraph act as \subsubsubsection and
-% \subsubsubsubsection resp.
-%
-% The form of sectioning header is;
-% <1 Kanji sp> \the [`.' if \section] <1 Kanji sp>
-% Nothe that <1 Kanji sp> is that of \normalsize.
-
-\def\section{\@startsection
- {section}{1}{\@mojihaba}{\sec@aboveskip}{\sec@belowskip}{\fs@sec\bf}}
-\let\ipsj@section\section % 2.04(1)
-\def\subsection{\@startsection
- {subsection}{2}{\@mojihaba}{\z@}{\z@}{\fs@subsec\bf}}
-\def\subsubsection{\@startsection
- {subsubsection}{3}{\@mojihaba}{\z@}{\z@}{\fs@subsec\bf}}
-\def\paragraph{\@startsection
- {paragraph}{4}{\@mojihaba}{\z@}{\z@}{\fs@subsec\bf}}
-\def\subparagraph{\@startsection
- {subparagraph}{5}{\@mojihaba}{\z@}{\z@}{\fs@subsec\bf}}
-
-\newcounter{section}
-\newcounter{subsection}[section]
-\newcounter{subsubsection}[subsection]
-\newcounter{paragraph}[subsubsection]
-\newcounter{subparagraph}[paragraph]
-
-\def\thesection{\arabic{section}}
-\def\sec@section@postfix{.}
-\def\thesubsection{\thesection.\arabic{subsection}}
-\def\thesubsubsection{\thesubsection.\arabic{subsubsection}}
-\def\theparagraph{\thesubsubsection.\arabic{paragraph}}
-\def\thesubparagraph{\theparagraph.\arabic{subparagraph}}
-
-\setcounter{secnumdepth}{5}
-
-\def\appendix{\let\sec@sec\section
- \def\section{\@startsection
- {section}{1}{\@mojihaba}{\z@}{\z@}{\fs@subsec\bf}}%
- \def\thesection{\appendixprefix\arabic{section}}%
- \def\sec@section@postfix{\appendixpostfix}%
- \stepcounter{section}\setcounter{section}{0}%
- \@ifnextchar[%]
- {\sec@oappendix}{\sec@xappendix}}
-\def\sec@xappendix{\@ifstar{\let\section\sec@sec}%
- {\sec@sec*{\ifDS@english Appendix\else\ipsj@j@app \fi}}}% 2.12(1b)
-\def\sec@oappendix[#1]{\sec@sec*{\ifDS@english Appendix: \else
- \ipsj@j@app\hskip\jspaceskip\fi #1}} % 2.12(1b)
-\def\appendixprefix{A.}
-\def\appendixpostfix{}
-
-\def\acknowledgment{\par
- {\bf \ifDS@english Acknowledgments \else\ipsj@j@ack\fi}%% 2.12(1b)
- \hskip\@mojihaba \ignorespaces}
-\let\endacknowledgment\par
-
-\newif\ifipsj@recommendation \ipsj@recommendationfalse % 2.04(1) >>
-\def\recommendation#1{\global\ipsj@recommendationtrue
- \ifDS@draft\else \ra@putrcvacc\fi
- \ipsj@section*{#1}
-}
-\def\endrecommendation{\par\vskip\baselineskip\penalty\opt@magicpenalty}
- % 2.04(1) <<
-
-% Modified \@startsection has a trick for "2-row" of \section, which must
-% work even if \section appears the top of a page. The BEFORESKIP must be
-% inserted with respect to the previous baseline. So, we must go back to
-% the imaginary previous baseline at the top of a page. That is, we do;
-% \vskip\baselineskip \vspace*{-\baselineskip}
-% which resuls;
-% do nothing at midpage
-% go to the first baseline by \topskip, then go back to 0th
-% baseline by \vspace*.
-% The trick "\vskip-\prevdepth \prevdepth\z@" will assure exact vertical
-% space even when the last line has much depth.
-%
-% \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}
-\def\@startsection#1#2#3#4#5#6{\if@noskipsec \leavevmode \fi
- \par \@tempskipa #4\relax
- \@afterindenttrue
- \ifdim\@tempskipa<\z@ \@tempskipa-\@tempskipa \@afterindentfalse\fi
- \if@nobreak \everypar{}\else \addpenalty{\@secpenalty}\fi
- \ifdim\@tempskipa>\z@
-% Here is the trick for \section.
- \vskip-\prevdepth \prevdepth\z@ \vskip\baselineskip
- \vspace*{-\baselineskip}\vskip\@tempskipa\fi
- \@ifstar
- {\@ssect{#3}{#4}{#5}{#6}}{\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
-
-% \@sect is modified to cope with `.' for \section and MOJI-DORI
-%
-% \@sect{NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}[TITLE]{TITLE}
-\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth
- \def\@svsec{}\else
- \refstepcounter{#1}
- % 2.00(1)>>
- \let\@@protect\protect \def\protect{\noexpand\protect\noexpand}
- \edef\@svsec{\csname the#1\endcsname \csname sec@#1@postfix\endcsname
- \hskip\@mojihaba} \let\protect\@@protect\fi % 2.00(1)<<
- \@tempskipa #5\relax
- \ifdim \@tempskipa<\z@
- \def\@svsechd{#6\hskip #3\relax\@svsec #8} % 2.00(1)
- \else
- \begingroup #6\relax
- \@hangfrom{\hskip #3\relax\@svsec}%
- {\interlinepenalty\@M \sec@mojidori{#8}\par}%
- \endgroup
- \fi \@xsect{#5}}
-
-% \@ssect is modified to cope with MOJI-DORI
-%
-% \@sect{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}{TITLE}
-\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax
- \ifdim \@tempskipa<\z@ \def\@svsechd{#4\hskip #1\relax #5}%
- \else \begingroup #4%
- \@hangfrom{\hskip #1}{\interlinepenalty\@M
- \sec@mojidori{#5}\par}\endgroup
- \fi \@xsect{#3}}
-
-%% Modify \@xsect to avoid (buggy) \clubpenalty=10000. (H.N.)
-\def\@xsect#1{\@tempskipa #1\relax
- \ifdim \@tempskipa<\z@
- \glboal\@nobreakfalse \global\@noskipsectrue
- \everypar{\global\@noskipsecfalse \hskip-\parindent
- \begingroup \@svsechd \endgroup \unskip
- \hskip -#1\everypar{}}%
- \else
- \par \nobreak
- \vskip \@tempskipa \global\@nobreaktrue
- \everypar{\global\@nobreakfalse
- \if@afterindent\else {\setbox0\lastbox}\fi \everypar{}}
- \fi\ignorespaces}
-
-% Here is a trick for MOJI-DORI of sectioning tilte. The rule is;
-% 2 - 4 Kanji char -> 5 Kanji char
-% otherwise -> natural width
-%
-\def\sec@mojidori#1{\ifDS@english #1\else % 2.12(1b)
- \setbox0\hbox{#1}\settowidth\@tempdimb{\ipsj@j@a}% % 2.12(1b)
- \ifdim\wd0>4.5\@tempdimb #1\else
- \ifdim\wd0<1.5\@tempdimb #1\else
- \jintercharskip\fill \jasciikanjiskip\fill \jmathkanjiskip\fill
- \leavevmode\hbox to5\@tempdimb{#1\hfil}\fi\fi\fi}
-
-%%%%%% List-like Environments %%%%%%
-%
-% LM RM LW LS LPI II
-% default 2K 0 0.75K 0.25K 0 0
-% \enumerate 3K 0 3K 0 0 0
-% \Enumerate 0 0 3K 0 0 3K
-% \ENUMERATE 0 0 3K 0 0 4K
-% \enumerate* 1K 0 3K 0 0 2K
-% \itemize 2K 0 2K 0 0 0
-% \Itemize 0 0 2K 0 0 2K
-% \ITEMIZE 0 0 2K 0 0 3K
-% \itemize* 1K 0 2K 0 0 1K
-% \description 2K 0 0 1K 0 -1K
-% \Description 0 0 0 1K 0 1K
-% \DESCRIPTION 0 0 0 1K 0 2K
-% \description* 1K 0 0 1K 0 0
-% \verse 3K 2K 0.75K 0.25K -1K -1K
-% \quotation 2K 2K 0.75K 0.25K 1K 1K
-% \quote 2K 2K 0.75K 0.25K 0 0
-%
-% where LM is \leftmargin, RM is \rightmargin, LW is \labelwidth, LS is
-% \labelsep, \LPI is \listparindent, II is \itemindent, and K is Kanji char
-% width (\@mojihaba).
-%
-% All vertical space parameters, \topsep, \partopsep, \itemsep and \parsep,
-% are 0pt.
-
-\leftmargini2\@mojihaba
-\leftmarginii2\@mojihaba
-\leftmarginiii2\@mojihaba
-\leftmarginiv2\@mojihaba
-\leftmarginv2\@mojihaba
-\leftmarginvi2\@mojihaba
-
-\def\lst@listi{\labelsep.75\@mojihaba \labelwidth.25\@mojihaba
- \rightmargin\z@ \listparindent\z@ \itemindent\z@
- \partopsep\z@ \parsep\z@ \topsep\z@ \itemsep\z@}
-\def\@listi{\leftmargin\leftmargini \lst@listi}
-\def\@listii{\leftmargin\leftmarginii \lst@listi}
-\def\@listiii{\leftmargin\leftmarginiii \lst@listi}
-\def\@listiv{\leftmargin\leftmarginiv \lst@listi}
-\def\@listv{\leftmargin\leftmarginv \lst@listi}
-\def\@listvi{\leftmargin\leftmarginvi \lst@listi}
-
-\@listi
-
-\def\labelenumi{(\,\theenumi\,)}
-\def\theenumi{\arabic{enumi}}
-\def\labelenumii{(\,\theenumii\,)}
-\def\theenumii{\alph{enumii}}
-\def\p@enumii{\theenumi}
-\def\labelenumiii{(\,\theenumiii\,)}
-\def\theenumiii{\roman{enumiii}}
-\def\p@enumiii{\theenumi(\theenumii)}
-\def\labelenumiv{(\,\theenumiv\,)}
-\def\theenumiv{\Alph{enumiv}}
-\def\p@enumiv{\p@enumiii\theenumiii}
-\def\enumerate{\ifnum \@enumdepth >3 \@toodeep\else
- \advance\@enumdepth \@ne
- \edef\@enumctr{enum\romannumeral\the\@enumdepth}
- \list{\csname label\@enumctr\endcsname}{\usecounter
- {\@enumctr}\def\makelabel##1{##1\hss}%
- \leftmargin3\@mojihaba \labelwidth3\@mojihaba \labelsep\z@}\fi}
-\let\endenumerate\endlist
-
-\def\labelitemi{$\bullet$}
-\def\labelitemii{\bf --}
-\def\labelitemiii{$\ast$}
-\def\labelitemiv{$\cdot$}
-\def\itemize{\ifnum \@itemdepth >3 \@toodeep\else \advance\@itemdepth \@ne
- \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
- \list{\csname\@itemitem\endcsname}{\def\makelabel##1{\hss##1\hss}%
- \labelwidth2\@mojihaba \labelsep\z@}\fi}
-\let\enditemize\endlist
-
-\def\description{\list{}{\labelwidth\z@ \labelsep\@mojihaba
- \itemindent\labelsep \advance\itemindent-\leftmargin
- \def\makelabel##1{\bf ##1}}}
-\let\enddescription\endlist
-
-\let\latex@trivlist\@trivlist
-\def\lst@trivlist#1#2{\leftmargin#1\relax
- \itemindent\labelwidth \advance\itemindent\labelsep
- \advance\itemindent#2\relax
- \let\@trivlist\latex@trivlist \@trivlist}
-
-\def\lst@Trivlist{\def\@trivlist{\lst@trivlist\z@\z@}}
-\def\Enumerate{\lst@Trivlist \enumerate}
-\let\endEnumerate\endlist
-\def\Itemize{\lst@Trivlist \itemize}
-\let\endItemize\endlist
-\def\Description{\lst@Trivlist \description}
-\let\endDescription\endlist
-
-\def\lst@TRIVLIST{\def\@trivlist{\lst@trivlist\z@\@mojihaba}}
-\def\ENUMERATE{\lst@TRIVLIST \enumerate}
-\let\endENUMERATE\endlist
-\def\ITEMIZE{\lst@TRIVLIST \itemize}
-\let\endITEMIZE\endlist
-\def\DESCRIPTION{\lst@TRIVLIST \description}
-\let\endDESCRIPTION\endlist
-
-\def\lst@strivlist{\def\@trivlist{\lst@trivlist\@mojihaba{-\@mojihaba}}}
-\@namedef{enumerate*}{\lst@strivlist \enumerate}
-\@namedef{endenumerate*}{\endlist}
-\@namedef{itemize*}{\lst@strivlist \itemize}
-\@namedef{enditemize*}{\endlist}
-\@namedef{description*}{\lst@strivlist \description}
-\@namedef{enddescription*}{\endlist}
-
-\def\verse{\let\\=\@centercr
- \list{}{\itemindent-\@mojihaba \listparindent\itemindent
- \rightmargin\leftmargin \advance\leftmargin\@mojihaba}\item[]}
-\let\endverse\endlist
-\def\quotation{\list{}{\listparindent\@mojihaba \itemindent\listparindent
- \rightmargin\leftmargin}\item[]}
-\let\endquotation\endlist
-\def\quote{\list{}{\rightmargin\leftmargin}\item[]}
-\let\endquote\endlist
-
-\def\newtheorem{\@ifstar
- {\theo@newtheorem{\theo@it}{\ }}{\theo@newtheorem{}{\theo@sp}}}
-\def\theo@newtheorem#1#2#3{\@namedef{theo@it@#3}{#1}\@namedef{theo@sp@#3}{#2}%
- \@ifnextchar[%]
- {\@othm{#3}}{\@nthm{#3}}}
-\def\@begintheorem#1#2{\DESCRIPTION \csname theo@it@\@currenvir\endcsname
- \item[#1\csname theo@sp@\@currenvir\endcsname #2]}
-\def\@opargbegintheorem#1#2#3{\DESCRIPTION
- \csname theo@style@\@currenvir\endcsname
- \item[#1\csname theo@sp@\@currenvir\endcsname #2\ (#3)]}
-\let\@endtheorem\endlist % 1.02(2)
-\ifDS@english
-\let\theo@it\it \let\theo@sp\ %
-\else
-\let\theo@it\relax \let\theo@sp\relax
-\fi
-
-%%%%%% Bibliography %%%%%%
-%
-% 1. Label format is ")".
-% 2. \leftmargin 24Q (or 2K)
-% 3. \labelsep is 6Q (or 0.5K)
-% 4. \baselineskip is 16Q(j)/15Q(e)/normal(d)
-% 5. ~ and \ is null but stretchable and (hardly) breakable. % 2.09(1)
-
-\def\thebibliography#1{%
- \section*{\hskip-\@mojihaba\hfill\hbox{\bib@refname}\hfill\hskip\z@}
- \ifDS@draft \@tempdima\@mojihaba \else\@tempdima12\@Q\fi
- \list{\arabic{enumi}\rlap{%(
- )}}%
- {\fs@bibliography \leftmargin2\@tempdima \labelwidth\z@
- \labelsep\@tempdima \itemindent.5\@tempdima
- \usecounter{enumi}\def\makelabel##1{\hss\llap{##1}}}
- \def\newblock{\hskip .11em plus .33em minus .07em}
- \sloppy \frenchspacing
- \def\ {\hskip\z@ plus\fontdimen\thr@@\font \penalty5000\relax}
- % 2.09(1)
- \ifDS@english\else \ipsj@defcolonforbib \fi} % 2.12(1b)(2)
-
-% (removal of \bib@refname) % 2.12(1a)
-
-\newdimen\bib@adjustheight \bib@adjustheight-\maxdimen
-\def\endthebibliography{\endlist \par \@normalsize
- \@tempdima\@colht \advance\@tempdima-\@colroom
- \advance\@tempdima\pagetotal \advance\@tempdima-\prevdepth
- \advance\@tempdima-\topskip
- \@tempdimb\@tempdima \divide\@tempdima\baselineskip
- \@tempcnta\@tempdima \@tempdima\@tempcnta\baselineskip
- \advance\@tempdima-\@tempdimb
- \ifdim\@tempdima<\z@ \advance\@tempdima\baselineskip \fi
- \vskip-\prevdepth \vskip\@tempdima \prevdepth\z@
- \bib@adjustheight\@tempdimb \advance\bib@adjustheight\@tempdima
- \global\advance\bib@adjustheight\topskip
- \if@firstcolumn\else\global\advance\bib@adjustheight\@M pt\fi}
-
-
-%%%%%% Floats %%%%%%
-
-% You may need to change following parameters
-\setcounter{topnumber}{4}
-\setcounter{bottomnumber}{4}
-\setcounter{totalnumber}{8}
-\setcounter{dbltopnumber}{4}
-\def\topfraction{.9}
-\def\bottomfraction{.9}
-\def\textfraction{.1}
-\def\dbltopfraction{.9}
-\def\floatpagefraction{.9}
-\def\dblfloatpagefraction{.9}
-
-\newcounter{figure}
-\newcounter{table}
-\def\thefigure{\@arabic\c@figure}
-\def\thetable{\@arabic\c@table}
-\def\fps@figure{tbp}
-\def\fps@table{tbp}
-\def\ftype@figure{1}
-\def\ftype@table{2}
-\def\fnum@figure{\fname@figure\thefigure}
-\def\fnum@table{\fname@table\thetable}
-\ifDS@english
-\def\fname@figure{Fig.\,} % 2.06(1)
-\def\fname@Figure{Figure~}
-\def\fname@table{Table~}
-\def\fname@figures{Figs.\,} % 2.12(8)>>
-\def\fname@Figures{Figures~}
-\def\fname@tables{Tables~} % 2.12(8)<<
-\else
-\def\fname@figure{\ipsj@j@fig\fref@nobreak} % 1.06(1), 2.12(1b)
-\let\fname@Figure\fname@figure
-\def\fname@table{\ipsj@j@tab\fref@nobreak} % 1.06(1), 2.12(1b)
-\let\fname@figures\fname@figure % 2.12(8)>>
-\let\fname@Figures\fname@figure
-\let\fname@tables\fname@table % 2.12(8)<<
-\fi
-\def\fnum@efigure{Fig.\,\thefigure} % 2.06(1)
-\def\fnum@etable{Table~\thetable}
-
-% 1.06(3) >>
-\def\figure{\let\cap@afterskip\relax \let\flt@fontsize\relax \@float{figure}}
-\def\endfigure{\end@float}
-\@namedef{figure*}{\let\cap@afterskip\relax \let\flt@fontsize\relax
- \@dblfloat{figure}}
-\@namedef{endfigure*}{\end@dblfloat}
-
-%% Default font for table env. is \footnotesize (H.N.)
-\def\table{\let\cap@beforeskip\relax \let\flt@fontsize\fs@table
- \@float{table}}
-\def\endtable{\end@float}
-\@namedef{table*}{\let\cap@beforeskip\relax \let\flt@fontsize\fs@table
- \@dblfloat{table}} % 2.01(2)
-\@namedef{endtable*}{\end@dblfloat}
-% 1.06(3) <<
-
-\let\latex@float\@float
-\let\latex@dbflt\@dbflt
-\def\@float{\cap@linewidth\hsize \cap@hsize\hsize \latex@float}
-\def\@dbflt{\cap@linewidth.8\textwidth \cap@hsize.667\textwidth \latex@dbflt}
-\let\latex@xfloat\@xfloat % 1.06(3)
-\def\@xfloat#1[#2]{\latex@xfloat#1[#2]\flt@fontsize}
- % 1.06(3)
-\def\end@float{\flt@endfloat
- \ifdim\bib@adjustheight=-\maxdimen\else
- \advance\bib@adjustheight\@tempdima
- \global\advance\bib@adjustheight\baselineskip \fi
- \ifnum\@floatpenalty <\z@
- \@nameuse{@largefloatcheck}% % 2.00(2)
- \@cons\@currlist\@currbox
- \ifdim \ht\@currbox >\textheight
- \ht\@currbox\textheight \fi
- \ifnum\@floatpenalty < -\@Mii
- \penalty -\@Miv
- \@tempdima\prevdepth \vbox{} \prevdepth\@tempdima
- \penalty\@floatpenalty
- \else \vadjust{\penalty -\@Miv \vbox{}\penalty\@floatpenalty}\@esphack
- \fi\fi}
-\def\end@dblfloat{\if@twocolumn \flt@endfloat
- \ifnum\@floatpenalty <\z@ \@cons\@dbldeferlist\@currbox\fi
- \ifnum \@floatpenalty =-\@Mii \@esphack\fi\else\end@float\fi}
-\def\flt@endfloat{\par \boxmaxdepth\dp\strutbox % 2.12(7c)
- \global\@minipagefalse \@nameuse{outer@nobreak}\egroup % 2.00(2)
- \@nameuse{color@endbox}\@normalsize % 2.00(2)
- \@tempdima\ht\@currbox \advance\@tempdima\dp\@currbox
- \divide\@tempdima\baselineskip \@tempcnta\@tempdima
- \advance\@tempcnta\@ne \@tempdima\@tempcnta\baselineskip
- \global\setbox\@currbox\vbox to\@tempdima{\box\@currbox\vfil}}
- % 2.10(1)
-% 2.12(7a,b)>>
-\let\ipsj@cflb\@cflb
-\let\ipsj@comflelt\@comflelt
-\def\@cflb{\let\ipsj@botfigrule\botfigrule \let\botfigrule\vfil
- \let\@comflelt\ipsj@comfleltbot \ipsj@cflb
- \let\@comflelt\ipsj@comflelt \let\botfigrule\ipsj@botfigrule}
-\def\ipsj@comfleltbot#1{%
- \setbox#1\vbox to\ht#1{\vfil\unvbox#1\unskip}\ipsj@comflelt{#1}}
-% 2.12(7a,b)<<
-
-\def\cap@beforeskip{\nointerlineskip\vskip5pt}
-\def\cap@afterskip{\nointerlineskip\vskip5pt}
-\long\def\@caption#1[#2]#3{\par\begingroup
- \fs@caption \cap@beforeskip
- \@makecaption{{\bf \csname fnum@#1\endcsname}}{\ignorespaces#3}\par
- \ifDS@english \cap@afterskip \fi
- \endgroup}
-\def\ecaption{\@dblarg{\@ecaption\@captype}}
-\long\def\@ecaption#1[#2]#3{\par
- \begingroup \fs@caption
- \@makecaption{\csname fnum@e#1\endcsname}{\ignorespaces #3}\par
- \cap@afterskip
- \endgroup}
-
-\newif\ifcap@sw
-\newdimen\cap@linewidth
-\newdimen\cap@hsize
-\newcount\cap@prevgraf
-\newbox\cap@box
-\let\latex@label\label
-\long\def\@makecaption#1#2{\begingroup \gdef\cap@label{}\let\label\@gobble
- \setbox0\hbox{#1\hskip\jspaceskip}
- \advance\cap@linewidth-\wd0 \advance\cap@hsize-\wd0
- \cap@makepar\cap@linewidth{#2}{\def\label##1{{% %1.03(1)
- \def\protect{\noexpand\protect\noexpand} %1.03(1)
- \xdef\cap@label{\cap@label\protect\label{##1}}}}} %1.03(1)
- \cap@swtrue
- \ifnum\cap@prevgraf=\@ne
- \setbox1\vbox{\unvcopy1\cap@getbox1
- \ifhbox1 \global\setbox\cap@box\hbox{\unhbox1}
- \ifdim\wd\cap@box>\cap@linewidth\else
- \global\cap@swfalse \fi\fi}
- \ifcap@sw\else
- \cap@put{\vtop{\box\cap@box\hbox{}}}
- \fi\fi
- \ifcap@sw \cap@makepar\cap@hsize{#2}\relax
- \ifnum\cap@prevgraf=\tw@
- \setbox1\vbox{\unvcopy1\cap@getbox2\cap@getbox3
- \ifhbox2\ifhbox3
- \setbox2\hbox{\unhbox2}\setbox3\hbox{\unhbox3}
- \ifdim\wd2>\cap@hsize\else
- \ifdim\wd3>\cap@hsize\else
- \global\cap@swfalse
- \global\setbox\cap@box\vtop{\box3\box2\hbox{}}
- \fi\fi\fi\fi}\fi
- \ifcap@sw \setbox1\vtop{\hsize\cap@hsize
- \@parboxrestore #2\par\hbox{}}\cap@put{\box1}
- \else\cap@put{\box\cap@box}\fi
- \fi
- \endgroup \cap@label}
-\long\def\cap@makepar#1#2#3{\setbox1\vbox{\hsize#1\@parboxrestore
- \rightskip\@flushglue \hfuzz\maxdimen
- \exhyphenpenalty\z@ \finalhyphendemerits\z@
- \let\@@par\cap@par \let\par\cap@par \global\cap@prevgraf\z@
- #3#2\cap@par}}
-\let\cap@@par\@@par
-\def\cap@par{\cap@@par\global\advance\cap@prevgraf\prevgraf \prevgraf\z@}
-\def\cap@put#1{\hbox to\hsize{\hss\box0#1\hss}
- \vskip-\baselineskip\prevdepth\z@}
-\def\cap@getbox#1{\@tempcnta10\relax\@whilenum\@tempcnta>0\do{%
- \unskip\unkern\unpenalty\advance\@tempcnta\m@ne}\setbox#1\lastbox}
-
-\def\figref{\fref@ref\fname@figure}
-\def\Figref{\fref@ref\fname@Figure}
-\def\tabref{\fref@ref\fname@table}
-\let\Tabref\tabref
-\def\fref@ref#1{\@ifstar{\fref@sref{#1}}{\fref@iref\bf{#1}}}
-\def\fref@iref#1#2#3{{\@ifundefined{fref@r@#3}%
- {#1#2\fref@doref{#3}\global\@namedef{fref@r@#3}{}}{#2\fref@doref{#3}}}}
-\def\fref@sref#1#2{#1\fref@doref{#2}}
-\def\fref@doref#1{{\let\null\relax\ref{#1}}} % 1.06(2)
-\def\fref@nobreak{\nobreak\ifASCII\else\hskip\@@jasciikanjiskip\fi}
- % 1.06(1)
-\def\figsref{\fref@refs\fname@figures} % 2.12(8)>>
-\def\Figsref{\fref@refs\fname@Figures}
-\def\tabsref{\fref@refs\fname@tables}
-\let\Tabsref\tabsref
-\def\fref@refs#1{\@ifstar{\fref@irefs\relax{#1}}{\fref@irefs\bf{#1}}}
-\def\fref@irefs#1#2#3{\def\fref@list{#3}\@tempswafalse \@tempcnta\z@
- \@for\fref@elem:=\fref@list\do{%
- \@ifundefined{fref@r@\fref@elem}{\@tempswatrue}{}%
- \advance\@tempcnta\@ne}%
- \ifx#1\relax \@tempswafalse\fi
- \ifDS@english {\if@tempswa #1\fi #2}\let\fref@temp\relax
- \else \def\fref@temp{#2}\fi
- \@for\fref@elem:=\fref@list\do{%
- \if@tempswa \fref@iref{#1}{\fref@temp}{\fref@elem}%
- \else \fref@temp\fref@doref{\fref@elem}\fi
- \advance\@tempcnta\m@ne
- \ifnum\@tempcnta=\@ne \fref@and
- \else\ifnum\@tempcnta>\@ne \fref@comma \fi\fi}}
-\ifDS@english
-\def\fref@and{ and~}
-\def\fref@comma{, }
-\else
-\def\fref@and{\ipsj@j@comma}
-\let\fref@comma\fref@and
-\fi
-
-\ifDS@printer
-\def\figures{{\bf\fname@figures}}
-\def\Figures{{\bf\fname@Figures}}
-\def\tables{{\bf\fname@tables}}
-\let\Tables\tables
-\def\Ref{\fref@iref\bf\relax}
-\fi % 2.12(8)<<
-
-\def\fig@extraspace{3mm} %1.04(4)
-\def\figspace#1{\vskip#1\vskip\fig@extraspace} %1.04(4)
-
-%%%%%% Footnote %%%%%%
-
-%% The following codes are from pfnote.sty, by H. Nakashima of Kyoto Univ.,
-%% to reset footnote counter at the begining of every page. (H.N.)
-
-% 1.04(2c)>>
-\def\footnote{\@ifnextchar[%]
- {\@xfootnote}{{\PF@adjustfnote \stepcounter{\@mpfn}%
- \def\protect{\noexpand\protect\noexpand}%
- \xdef\@thefnmark{\thempfn}}\@footnotemark\@footnotetext}}
-\def\footnotemark{\@ifnextchar[%]
- {\@xfootnotemark}{{\PF@adjustfnote \stepcounter{footnote}%
- \def\protect{\noexpand\protect\noexpand}%
- \xdef\@thefnmark{\thefootnote}}\@footnotemark}}
-% 1.04(2c)<<
-
-\newcount\PF@fnotectr\global\PF@fnotectr=\z@
-\newcount\PF@page\global\PF@page=-\@M
-\def\PF@thepage{\number\c@page}
-\def\PF@adjustfnote{\global\advance\PF@fnotectr\@ne
- \expandafter\ifx\csname PF@fn\number\PF@fnotectr\endcsname\relax
- \global\c@footnote\z@\else
- \expandafter\@tempcnta\csname PF@fn\number\PF@fnotectr\endcsname\relax
- \ifnum\@tempcnta=\PF@page\else
- \global\PF@page\@tempcnta \global\c@footnote\z@ \fi\fi
- \@tempcnta\c@footnote \multiply\@tempcnta\@M
- \advance\@tempcnta\PF@fnotectr
- \if@filesw{\let\PF@thepage\relax
- \xdef\@gtempa{\write\@auxout{\string\PF@fnpage
- {\number\@tempcnta}{\PF@thepage}}}}%
- \@gtempa\fi}
-% 1.04(2a)<<
-
-% 1.04(2a)>>
-\def\PF@fnpage#1#2{\@tempcnta#1\relax \@tempcntb\@tempcnta \divide\@tempcnta\@M
- \expandafter\xdef\csname PF@fnpage#2\endcsname{\number\@tempcnta}
- \multiply\@tempcnta\@M \advance\@tempcntb-\@tempcnta
- \global\@namedef{PF@fn\number\@tempcntb}{#2}}
-% 1.04(2a)<<
-%% End of quote from pfnote.sty. (H.N.)
-
-\long\def\@makefntext#1{\leftskip20\@Q
- \noindent\llap{\@makefnmarkforfn\hskip-\scriptspace\hskip5\@Q}#1}
- % 1.04(2e)
-\def\@makefnmarkstar{$\@thefnmark$} % 2.12(3)
-\def\@makefnmarkdagger{$\@thefnmark$}
-\def\@makefnmarkast{$\@thefnmark$} % 2.12(3)
-\let\@makefnmarkforfn\@makefnmarkstar
-
-\def\@makefnmark{\smash{$^{\@thefnmark}$}} % 2.12(3)
- % 1.04(2d)
- % smashed to make it
- % zero height
-
-\def\thefootnote{\ifnum\c@footnote>0\relax{\star}\number\c@footnote\fi}
- % 2.12(3)
-
-%%%%%% Citation %%%%%%
-
-%% The following codes for \cite are from overcite.sty by D. Arseneau, but
-%% modified for Trans. IPSJ (H.N.)
-% O V E R C I T E . S T Y
-%
-% version 3.2 (Mar 1993)
-%
-% Compressed, sorted lists of superscript numerical citations.
-% see also CITE.STY and DRFTCITE.STY
-%
-% Copyright (C) 1989-1993 by Donald Arseneau
-% These macros may be freely transmitted, reproduced, or modified for
-% non-commercial purposes provided that this notice is left intact.
-%
-\def\cite{\protect\@p@cite}
-\def\@p@cite{\let\@citeY\@citey \@p@@cite}
-\def\Cite{\protect\@p@Cite}
-\def\@p@Cite{\let\@citeY\@Citey \@p@@cite}
-\def\@p@@cite{\@ifnextchar[%]
- {\@tempswatrue\@citex}{\@tempswafalse\@citex[]}}
-\def\@citex[#1]#2{\@citeY{\@p@citen{#2}}\if@tempswa\space[#1]\fi}
-\def\@citey#1{\leavevmode\unskip\kern\z@$\let\@cite@tiestyle\ipsj@j@citescript
-% % 2.06(2)
- % 2.12(4)
- \def\@cite@punct{,}\m@th^{\hbox{\scriptsize#1}}$\spacefactor\@m}
-\def\@Citey#1{\let\@cite@tiestyle\ipsj@j@citetext % 2.12(4)
- % 1.04(1)>>
- \ifDS@english \def\@cite@punct{,\space\penalty\@highpenalty}
- \else\def\@cite@punct{\ipsj@j@comma}\fi#1\spacefactor\@m}
- % 1.04(1)<<
- % 2.12(1b)
-\def\@p@citen#1{%
- \edef\@tempa{\@ignspaftercomma,#1, \@end, }%
- \edef\@tempa{\expandafter\@ignendcommas\@tempa\@end}%
- \if@filesw \immediate\write\@auxout{\string\citation{\@tempa}}\fi
- \@tempcntb\m@ne \let\@h@ld\relax \let\@citea\@empty
- \let\@celt\relax \def\@cite@list{}% % 2.06(3)
- \@for\@citeb:=\@tempa\do{\@make@cite@list}%
- \def\protect{\noexpand\protect\noexpand}%
- \@tempcnta\m@ne \let\@celt\@compress@cite \@cite@list
- \let\protect\relax \@h@ld}
-\def\@ignspaftercomma#1, {\ifx\@end#1\@empty\else
- #1,\expandafter\@ignspaftercomma\fi}
-\def\@ignendcommas,#1,\@end{#1}
-
-%(
-\let\@cite@rp)
-\chardef\@cite@escape`\\
-\def\@make@cite@list{%
- \expandafter\let\expandafter\@B@citeB\csname b@\@citeb\endcsname
- \ifx\@B@citeB\relax
- \@citea {\bf ?}\@cite@rp \let\@citea\@cite@punct
- \@latex@warning{Citation `\@citeb' on page \thepage\space undefined}%
- % 2.00(3)
- \global\@namedef{b@\@citeb}{{\bf ?}}%
- \else
- \ifcat \@cite@escape\ifnum\z@<0\@B@citeB \@cite@escape\else A\fi
- \@tempcnta\@B@citeB \relax
- \ifnum \@tempcnta>\@tempcntb
- \edef\@cite@list{\@cite@list \@celt{\@B@citeB}}%
- \@tempcntb\@tempcnta
- \else
- \edef\@cite@list{\expandafter\@sort@celt\@cite@list\@gobble @}%
- \fi
- \else \@citea \@B@citeB \@cite@rp \let\@citea\@cite@punct
- \fi\fi}
-
-\def\@sort@celt#1#2{\ifx \@celt #1% parameters are \@celt {num}
- \ifnum #2<\@tempcnta % number goes later in list
- \@celt{#2}\expandafter\expandafter\expandafter\@sort@celt
- \else \@celt{\number\@tempcnta}\@celt{#2}\fi\fi}
-
-\def\@compress@cite#1{\advance\@tempcnta\@ne
- \ifnum #1=\@tempcnta
- \ifx\@h@ld\relax \edef\@h@ld{\@citea #1\@cite@rp}%
- \else \edef\@h@ld{\@cite@tie{\protect\@cite@tiestyle}%
- % 2.12(4)
- \penalty\@highpenalty #1\@cite@rp}\fi
- \else \@h@ld \@citea #1\@cite@rp
- \let\@h@ld\relax
- \fi \@tempcnta#1\relax \let\@citea\@cite@punct}
-
-%% End of quote from overcite.sty. (H.N.)
-
-\def\multicite{\protect\@p@multicite}
-\def\@p@multicite#1#2{\@citey{\@p@citen{#1}%
- \@cite@tie\ipsj@j@citescript \@p@citen{#2}}} % 2.12(4)
-\def\multiCite{\protect\@p@multiCite}
-\def\@p@multiCite#1#2{\@Citey{\@p@citen{#1}\@cite@tie\relax % 2.12(4)
- \penalty\@highpenalty \@p@citen{#2}}}
-
-
-%%%%%% Box Height Adjustment and Displayed Math %%%%%%
-
-\newbox\adj@boxa \newbox\adj@boxb
-\newdimen\adj@height
-\@tempdima\baselineskip \advance\@tempdima-\topskip
-\edef\adj@minaboveclearance{\the\@tempdima}
-\@tempdima\baselineskip \advance\@tempdima-1ex
-\edef\adj@maxaboveclearance{\the\@tempdima}
-
-\def\adj@setbhd#1{\setbox0\hbox{#1} % 2.12(1c)>>
- \@tempdima\baselineskip \advance\@tempdima-\ht0 \advance\@tempdima\dp0
- \edef\adj@bhd{\the\@tempdima}} % 2.12(1c)<<
-
-% 2.01(1) >>
-\def\adjustvboxheight{\ifinner \let\@tempa\relax
- \let\endadjustvboxheight\relax \let\@endadjustvboxheight\relax
- \else \let\@tempa\@adjustvboxheight \fi \@tempa}
-\def\@adjustvboxheight{\par\penalty\z@
- \global\setbox\adj@boxa\vbox\bgroup\relax % 1.01(3)
- \let\@footnotetext\@mpfootnotetext % 2.02(1)
-% % 2.05(1)
- \hsize\columnwidth}
-% 2.01(1) <<
-\def\endadjustvboxheight{\adj@closebox \adj@putbox
- \ifvoid\@mpfootins\else\insert\footins{\unvbox\@mpfootins}\fi
-% % 2.02(1)
- \global\@ignoretrue\@endparenv}
-\def\adj@closebox{\egroup \normalsize \boxmaxdepth\@maxdepth % 1.01(1,3)
- \setbox\adj@boxa\vbox{\unvbox\adj@boxa} % 1.01(3)
- \adj@height\ht\adj@boxa
- \advance\adj@height\adj@minaboveclearance\relax
- \@tempdima\adj@height \divide\adj@height\baselineskip
- \@tempcnta\adj@height \adj@height\@tempcnta\baselineskip
- \ifdim\adj@height<\@tempdima \advance\adj@height\baselineskip\fi}
-\def\adj@putbox{\vskip-\prevdepth \prevdepth\z@ \vskip\baselineskip
- \vspace*{-\baselineskip}\advance\@tempdima-\adj@height
- \@tempdima-\@tempdima \advance\@tempdima\adj@minaboveclearance\relax
- \@tempdimb\dp\adj@boxa
- \ifdim\@tempdima>\adj@maxaboveclearance\relax
- \advance\@tempdima-\@tempdimb \advance\@tempdima\adj@bhd\relax
- \divide\@tempdima\tw@
- \vbox to\adj@height{\vskip\@tempdima \box\adj@boxa \vss}
- \else \vbox to\adj@height{\vfil\box\adj@boxa\vskip-\@tempdimb}\fi}
-
-\newcount\adj@deadcycle
-\@namedef{adjustvboxheight*}{\adjustvboxheight}
-\@namedef{endadjustvboxheight*}{\@endadjustvboxheight}
-\def\@endadjustvboxheight{\global\adj@deadcycle10\relax
- \@iendadjustvboxheight
- \ifvoid\@mpfootins\else\insert\footins{\unvbox\@mpfootins}\fi
-% % 2.05(2)
- \global\@ignoretrue\@endparenv}
-\def\@iendadjustvboxheight{\adj@closebox
- \ifnum\adj@deadcycle<\@ne
- \ipsj@error{I cannot adjust too tall/deep box}{\@ehd}\fi % 2.00(3)
- \global\advance\adj@deadcycle\m@ne
- \ifdim\pagegoal=\maxdimen
- \@tempdimb\@colht \advance\@tempdimb-\topskip
- \advance\@tempdimb\baselineskip
- \else \@tempdimb\pagegoal
- \advance\@tempdimb-\pagetotal \advance\@tempdimb-\pagedepth
- \advance\@tempdimb\prevdepth \fi % 1.01(4a)
- \let\next\relax
- \ifdim\adj@height<\@tempdimb \adj@putbox \else
- \ifdim\adj@height=\@tempdimb \adj@putbox \else
- \divide\@tempdimb\baselineskip \@tempcnta\@tempdimb % 1.01(4b)>>
- \@tempdimb\@tempcnta\baselineskip
- \advance\@tempdimb-\adj@minaboveclearance\relax % 1.01(4b)<<
- \setbox\adj@boxa\vbox{\allowbreak\unvbox\adj@boxa}
- \vbadness\@M \splittopskip\z@ \splitmaxdepth\@maxdepth %1.01(1)
- \setbox\@tempboxa\vsplit\adj@boxa to\@tempdimb
- \setbox\adj@boxb\copy\adj@boxa
- \setbox\@tempboxa\vbox{\unvbox\@tempboxa}
- \@tempdimb\ht\@tempboxa \advance\@tempdimb\dp\@tempboxa
- \ifdim\@tempdimb>\z@
- \setbox\adj@boxa\vbox\bgroup\unvbox\@tempboxa
- \adj@closebox \adj@putbox \newpage
- \else \newpage \fi
- \setbox\adj@boxa\vbox\bgroup\unvbox\adj@boxb
- \let\next\@iendadjustvboxheight \fi\fi \next}
-
-\def\adj@eqindent{2\@mojihaba}
-\def\[{\adjustvboxheight\advance\@totalleftmargin\adj@eqindent\relax
- \hbox to\hsize\bgroup\hskip\@totalleftmargin$\displaystyle}
-\def\]{$\hfill\egroup\endadjustvboxheight\@doendpe\ignorespaces} % 2.03(1)
-\def\equation{\refstepcounter{equation}\[}
-\def\endequation{\hfill\@eqnnum$\egroup\endadjustvboxheight}
-\def\theequation{\arabic{equation}}
-\def\@eqnnum{{\rm (\theequation)\hskip\@mojihaba}}
-
-\def\adj@eqnlineskip{3pt}
-\def\adj@eqnlineskiplimit{2pt}
-\def\eqnarray{\futurelet\@tempa\adj@eqnarray}
-\def\adj@eqnarray{\ifx\@tempa[%]
- \let\next\adj@ieqnarray\else\let\next\adj@xeqnarray\fi\next}
-\def\adj@ieqnarray[#1]{\@ifundefined{adj@xeqnarray#1}%
- {\ipsj@warning{Unknown eqnarray option `#1'}\adj@xeqnarray}% 2.00(3)
- {\@nameuse{adj@xeqnarray#1}}}
-\def\adj@xeqnarray{\adjustvboxheight
- \advance\@totalleftmargin\adj@eqindent\relax
- \stepcounter{equation}\let\@currentlabel=\theequation
- \global\@eqnswtrue
- \global\@eqcnt\z@\tabskip\z@\let\\=\@eqncr
- \lineskip\adj@eqnlineskip \lineskiplimit\adj@eqnlineskiplimit \jot\z@
- \halign to \hsize\bgroup\@eqnsel\hskip\@totalleftmargin
- \hfil$\displaystyle{##}$&\global\@eqcnt\@ne % 1.01(2)
- \hfil$\displaystyle{}\mathrel{##}{}$\hfil
- &\global\@eqcnt\tw@ $\displaystyle{##}$\hfil
- \tabskip\@centering&\llap{##}\tabskip\z@\cr}
-\def\adj@xeqnarrays{\let\endadjustvboxheight\@endadjustvboxheight
- \adj@xeqnarray}
-\@namedef{adj@xeqnarrays!}{\par\let\adjustvboxheight\relax
- \let\endadjustvboxheight\relax \adj@xeqnarray}
-\def\endeqnarray{\@@eqncr \egroup \global\advance\c@equation\m@ne
- \endadjustvboxheight}
-
-
-%%%%%% Miscellaneous %%%%%%
-
-%% \doublerulesep is 1pt (H.N.)
-\arraycolsep5pt \tabcolsep6pt \arrayrulewidth.4pt \doublerulesep1pt
-\tabbingsep.5\@mojihaba
-
-\skip\@mpfootins\skip\footins
-\fboxsep3pt \fboxrule.4pt
-
-%% We simply allow (not encourage) club and widow lines. (H.N.)
-\clubpenalty\z@ \widowpenalty\z@ \displaywidowpenalty\z@
-
-% The following redefinition influences \linebreak etc.
-\def\sloppy{\tolerance9999\hbadness9999\hfuzz.5\p@ \vfuzz.5\p@}
-
-%% For heading of TBIO papers
-\ifDS@TBIO % 2.11(1)>>
-\def\TBIOpapercategory#1{\def\ipsj@TBIO@pcat{#1}\ignorespaces}
-\def\ipsj@TBIO@pcat{original}
-\def\ipsj@TBIO@pcat@original{Original Paper}
-\def\ipsj@TBIO@pcat@survey{Survey Paper}
-\def\ipsj@TBIO@pcat@database{Database/Software Paper}
-\def\ipsj@TBIO@pcatref{\@ifundefined{ipsj@TBIO@pcat@\ipsj@TBIO@pcat}%
- {\ipsj@warning{TBIO paper category \ipsj@TBIO@pcat\space is undefined.}}%
- \relax
- \@nameuse{ipsj@TBIO@pcat@\ipsj@TBIO@pcat}}
-\fi % 2.11(1)<<
-
-
-% 2.12(1a)>>
-\let\ipsj@j@citescript\scriptsize % 2.12(4)>>
-\let\ipsj@j@citetext\normalsize
-\def\@cite@tie#1{\hbox{#1--}} % 2.12(4)<<
-\def\bib@refname{References}
-\adj@setbhd{A}
-
-\ifipsj@nonjp \let\next\endinput \else \let\next\relax \fi
-\next
-
-\def\ipsj@j@a{あ}
-\def\ipsj@j@app{付録}
-\def\ipsj@j@ack{謝辞}
-\def\ipsj@j@bib{参考文献}
-\def\ipsj@j@fig{図}
-\def\ipsj@j@tab{表}
-\def\ipsj@j@comma{,}
-\def\ipsj@j@technote{テクニカルノート}
-\def\ipsj@j@invited{招待論文}
-\def\ipsj@j@sigrec{研究会推薦論文}
-\def\ipsj@j@talkabst{発表概要}
-\def\ipsj@j@presently{現在,}
-\def\ipsj@j@jipsj{情報処理学会論文誌}
-\def\ipsj@j@regpaper{論文}
-\def\ipsj@j@contactto{連絡先}
-\def\ipsj@j@abstract{概要}
-\def\ipsj@j@colon{:}
-\def\ipsj@j@year{年}
-\def\ipsj@j@month{月}
-\def\ipsj@j@day{日}
-\def\ipsj@j@lp{(}
-\def\ipsj@j@rp{)}
-\def\ipsj@j@edinch{担当編集委員}
-\def\ipsj@j@rerec{再受付}
-\def\ipsj@j@received{受付}
-\def\ipsj@j@accepted{採録}
-\def\ipsj@j@presented{発表}
-\def\ipsj@j@member{正会員}
-\def\ipsj@j@stmember{学生会員}
-\def\ipsj@j@nomember{非会員}
-
-\ifDS@english\else \ifDS@draft\else
-\sec@setskips{\ipsj@j@a}
-\fi\fi
-
-\expandafter\let\csname c@巻数\endcsname\c@volume
-\expandafter\let\csname c@号数\endcsname\c@number
-\expandafter\let\csname c@月数\endcsname\c@number
-\expandafter\let\csname c@年数\endcsname\c@year
-
-\def\ipsj@sig@PRO@j{プログラミング}
-\def\ipsj@sig@TOM@j{数理モデル化と応用}
-\def\ipsj@sig@TOD@j{データベース}
-\def\ipsj@sig@HPS@j{ハイパフォーマンスコンピューティングシステム}
-\def\ipsj@sig@CVIM@j{コンピュータビジョンとイメージメディア}
-\def\ipsj@sig@ACS@j{コンピューティングシステム} % 2.09(2)
-
-\def\ra@nengo{平成} %% Change here when ...
-\let\受付\received
-\let\採録\accepted
-\let\発表\presented % 2.07(7)
-\let\再受付\rereceived
-
-\def\々{\hskip\jintercharskip\hbox to\jspaceskip{\hfil 々\hfil}%% 2.12(5)
- \hskip\jintercharskip}
-
-\ifDS@english\else \ifDS@draft\else
-{\fs@sec \@tempdima7\jspaceskip
-\xdef\bib@refname{\hbox to\the\@tempdima{\jintercharskip\fill\ipsj@j@bib}}}
-\adj@setbhd\ipsj@j@a
-\fi\fi
-
-\def\ipsj@j@colon@command{{\nobreak % 2.12(2)>>
- \hbox to.7\jspaceskip{:\hss}\allowbreak
- \@tempdima.3\jspaceskip \hskip\@tempdima minus\@tempdima
- \allowbreak
- \hskip\z@ minus-\@tempdima}\ignorespaces}
-\def\ipsj@defcolonforbib{\let\:\ipsj@j@colon@command}
-\ifDS@printer \ipsj@defcolonforbib \fi % 2.12(2)<<
-
-
-%%%%%% Kinsoku Parameters %%%%%%
-
-% 1.04(3)>>
-\ifASCII
-\postbreakpenalty`\`=\@M
-\prebreakpenalty`'=\@M
-\prebreakpenalty`)=\@M
-\postbreakpenalty`(=\@M
-\prebreakpenalty`]=\@M
-\postbreakpenalty`[=\@M
-\prebreakpenalty`\}=\@M
-\postbreakpenalty`\{=\@M
-
-\prebreakpenalty`・=\@M
-\prebreakpenalty`:=\@M
-\prebreakpenalty`;=\@M
-\prebreakpenalty`?=\@M
-\prebreakpenalty`!=\@M
-
-\prebreakpenalty\jis"212D=\@M % ´
-\postbreakpenalty\jis"212E=\@M % `
-\postbreakpenalty\jis"2146=\@M % ‘
-\prebreakpenalty\jis"2147=\@M % ’
-\postbreakpenalty\jis"2148=\@M % “
-\prebreakpenalty\jis"2149=\@M % ”
-
-\prebreakpenalty`)=\@M
-\postbreakpenalty`(=\@M
-\prebreakpenalty`}=\@M
-\postbreakpenalty`{=\@M
-\prebreakpenalty`]=\@M
-\postbreakpenalty`[=\@M
-\postbreakpenalty`‘=\@M
-\prebreakpenalty`’=\@M
-
-\postbreakpenalty\jis"214C=\@M %〔
-\prebreakpenalty\jis"214D=\@M % 〕
-\postbreakpenalty\jis"2152=\@M % 〈
-\prebreakpenalty\jis"2153=\@M % 〉
-\postbreakpenalty\jis"2154=\@M % 《
-\prebreakpenalty\jis"2155=\@M % 》
-\postbreakpenalty\jis"2156=\@M % 「
-\prebreakpenalty\jis"2157=\@M % 」
-\postbreakpenalty\jis"2158=\@M % 『
-\prebreakpenalty\jis"2159=\@M % 』
-\postbreakpenalty\jis"215A=\@M % 【
-\prebreakpenalty\jis"215B=\@M % 】
-
-\prebreakpenalty`ー=\@M % 2.12(6)
-\prebreakpenalty`〜=\@M % 2.12(6)
-
-\prebreakpenalty`ぁ=\@M
-\prebreakpenalty`ぃ=\@M
-\prebreakpenalty`ぅ=\@M
-\prebreakpenalty`ぇ=\@M
-\prebreakpenalty`ぉ=\@M
-\prebreakpenalty`っ=\@M
-\prebreakpenalty`ゃ=\@M
-\prebreakpenalty`ゅ=\@M
-\prebreakpenalty`ょ=\@M
-\prebreakpenalty\jis"246E=\@M % ゎ
-\prebreakpenalty`ァ=\@M
-\prebreakpenalty`ィ=\@M
-\prebreakpenalty`ゥ=\@M
-\prebreakpenalty`ェ=\@M
-\prebreakpenalty`ォ=\@M
-\prebreakpenalty`ッ=\@M
-\prebreakpenalty`ャ=\@M
-\prebreakpenalty`ュ=\@M
-\prebreakpenalty`ョ=\@M
-\prebreakpenalty\jis"256E=\@M % ヮ
-\prebreakpenalty\jis"2575=\@M % ヵ
-\prebreakpenalty\jis"2576=\@M % ヶ
-
-\fi
-% 1.04(3)<<
-% 2.12(1a)<<
diff -r 86eb165b4b91 -r e17bc730af1a ipsjdrafts.sty
--- a/ipsjdrafts.sty Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,392 +0,0 @@
-% Copyright (C) 1995-2007 by Hiroshi Nakashima, Yasuki Saito and
-% The Editorial Board of the IPSJ Journal
-%
-% ipsjdrafts.sty 15-Jun-07 by Hiroshi Nakashima (ver 2.12)
-% (revision history deleted)
-% ipsjdrafts.sty 24-Apr-95 by Hiroshi Nakashima (ver 1.0)
-
-%%%%%% Fonts %%%%%%
-% All font loading are removed.
-
-\ifipsj@nonjp\else % 2.12(1a)
-\ifASCII
-\let\latex@setsize\@setsize
-\def\@setsize#1#2#3#4{\latex@setsize{#1}{#2}{#3}{#4}\jspaceskip1zw}
-
-\newcount\jfsize
-\let\setjglues\relax
-\let\jintercharskip\kanjiskip
-\let\jasciikanjiskip\xkanjiskip
-\let\jmathkanjiskip\xkanjiskip
-\newdimen\jspaceskip
-
-\def\defjintercharskip#1#2#3#4{\@asciiwarning{\defjintercharskip}}
-\def\defjasciikanjiskip#1#2#3#4{\@asciiwarning{\defjasciicharskip}}
-\def\defmathkanjiskip#1#2#3#4{\@asciiwarning{\defmathcharskip}}
-\def\defjspaceskip#1#2#3#4{\@asciiwarning{\defjspaceskip}}
-
-\def\@asciiwarning#1{\ipsj@warning{\string#1\space % 2.00(1)
- is not supported in ASCII version}}
-
-\if@LaTeX@eN % 2.00(2)>>
-\DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{\mathmc}
-\DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{\mathgt}
-\fi % 2.00(2)<<
-
-\def\dg{\gt} % 1.06(1)
-\def\dm{\mc} % 1.06(1)
-
-\else % This is necessary even in 2e.
-\ifx\sixdm\undefined \jfont\sixdm=dm6 \fi % 1.01(1)
- % 1.06(2)
-\fi \fi
-
-\if@LaTeX@eN % 2.00(2)>>
-\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
-\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
-\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
-\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
-\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
-\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
-\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
-\DeclareRobustCommand*{\cal}{\@fontswitch{\relax}{\mathcal}}
-\DeclareRobustCommand*{\mit}{\@fontswitch{\relax}{\mathnormal}}
-\fi % 2.00(2)<<
-
-%%%%%% Basic Font Size Macros %%%%%%
-% Nothing at all.
-
-
-%%%%%% Font Size Macros %%%%%%
-
-\def\fs@setsize#1#2#3#4{\normalsize\dimen@\normalbaselineskip
- \@ifstar{\@setsize{#1}{\dimen@}{#3}{#4}}%
- {\@setsize{#1}{#2}{#3}{#4}}}
-
-% \baselineskip's are almost 1.25 times those defined in NTT jart12.
-
-\def\@normalsize{\@setsize\normalsize{20pt}\xiipt\@xiipt}
-\def\small{\fs@setsize\small{17pt}\xipt\@xipt}
-\def\footnotesize{\fs@setsize\footnotesize{14pt}\xpt\@xpt}
-\def\scriptsize{\@setsize\scriptsize{11.875pt}\viiipt\@viiipt}
-\def\tiny{\@setsize\tiny{8.75pt}\vipt\@vipt}
-\def\large{\@setsize\large{20pt}\xivpt\@xivpt} % 1.06(3)
-\def\Large{\@setsize\Large{25pt}\xviipt\@xviipt}
-\def\LARGE{\@setsize\LARGE{25pt}\xxpt\@xxpt}
-\let\huge\LARGE
-\let\Huge\LARGE
-
-\if@LaTeX@e % 2.00(3)>>
-\let\normalsize\@normalsize
-\fi % 2.00(3)<<
-
-\let\fs@sec\large
-\let\fs@subsec\normalsize
-\let\fs@bibliography\normalsize
-\let\fs@caption\normalsize
-\let\fs@table\normalsize
-\let\fs@footnote\footnotesize
-{\tiny \xdef\fn@fontv{\ifipsj@nonjp \the\font \else % 2.12(1a)
- \ifASCII \the\jfont \else \sixdm \fi\fi}}
-\let\fn@fontvi\fn@fontv
-
-\@normalsize
-
-\ifipsj@nonjp\else % 2.12(1a)
-\ifASCII\else % 1.06(2) >>
-\ifx\setjglue\undefined\else % 2.04(1)
-\def\@tempc{\edef\@tempa{\the\ja}
- \edef\@tempa{\expandafter\string\@tempa}
- \expandafter\@tempb\@tempa\@nil
- \expandafter\defjintercharskip\csname\@tempa\endcsname}
-\let\@tempd\@namedef
-{\catcode`j=12\catcode`a=12\gdef\@tempb#1#2ja\@nil{\@tempd{@tempa}{#2}}}
-\dg\@tempc{0pt}{1.4pt}{0.14pt}
-\dm\@tempc{0pt}{1.4pt}{0.14pt}
-\setjglues
-\fi\fi\fi % 1.06(2) <<
-
-\@tempdima.55\baselineskip
-\edef\sec@aboveskip{\the\@tempdima}
-\@tempdima.45\baselineskip
-\edef\sec@belowskip{\the\@tempdima}
-
-\ifipsj@nonjp\else % 2.12(1a)
-\if@LaTeX@e\else % 2.04(2)
-\let\latex@bf\bf % 1.06(1)
-\def\bf{\dg\latex@bf} % 1.06(1)
-\fi\fi % 2.04(2)
-
-
-%%%%%% Page Layout Parameters %%%%%%
-
-\newdimen\@mojihaba
-\ifipsj@nonjp % 2.12(1a)>>
- \@mojihaba11.54659pt
- \let\jspaceskip\@mojihaba
-\else
- \@mojihaba\jspaceskip
-\fi % 2.12(1a)<<
-
-% No heads
-\headheight\z@
-\headsep\z@
-
-\setbox0\hbox{$\displaystyle X^X$}
-\topskip\ht0
-
-% 1 page = 32 lines
-\textheight31\baselineskip \advance\textheight\topskip \advance\textheight100sp
-
-% \topmargin is (A4height-\textheight)/2 - 1in
-\topmargin296mm \advance\topmargin-\textheight \divide\topmargin\tw@
-\advance\topmargin-1in
-\ifASCII\if@LaTeX@e\ifipsj@nonjp\else
- \@@topmargin\topmargin \fi\fi\fi % 2.00(4),2.12(1a)
-
-\footskip 1.5\baselineskip
-
-% 1 page = 35 Kanji chars
-\ifDS@english % 1.06(4) >>
-\textwidth404.13048pt
-\else
-\textwidth35\@mojihaba
-\fi % 1.06(4) <<
-
-% \oddsidemargin is (A4width-\textwidth)/2 - 1in
-\oddsidemargin210mm \advance\oddsidemargin-\textwidth \divide\oddsidemargin\tw@
-\advance\oddsidemargin-1in
-
-% As jart12
-\footnotesep10pt
-\skip\footins 10.8pt plus 4pt minus 2pt
-\def\footnoterule{\kern-3\p@ \hrule width.4\columnwidth \kern2.6\p@}
-
-\floatsep \baselineskip \textfloatsep \baselineskip
-\intextsep \baselineskip \@maxsep \baselineskip
-\dblfloatsep \baselineskip \dbltextfloatsep \baselineskip
-\@dblmaxsep \baselineskip
-\@fptop 0pt plus 1fil \@fpsep 0pt plus 2fil \@fpbot 0pt plus 1fil
-\@dblfptop 0pt plus 1fil \@dblfpsep 0pt plus 2fil \@dblfpbot 0pt plus 1fil
-
-\parskip\z@ \parindent \@mojihaba
-\@lowpenalty 51 \@medpenalty 151 \@highpenalty 301
-\@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty
-\@itempenalty -\@lowpenalty
-
-
-%%%%%% Title and Authors %%%%%%
-%
-% Format of title, author names and abstract.
-%
-% \leftline{\LARGE <>}
-% \vfill
-% \beign{center}\LARGE\bf \end{center}
-% \vfill
-% \begin{center}\LARGE\bf \end{center}
-% \vfill\vfill
-% \newpage
-% \large
-% \vfill
-% <>
-% \begin{itemize}\item[]\large \end{itemize}
-% \vfill\vfill
-% \newpage
-% \normalsize
-% \normalsize
-
-\def\maketitle{\@maketitle}
-
-% default title header
-
-\def\title{\@dblarg{\@xtitle}}
-\def\@xtitle[#1]#2{\gdef\@title{#2}}
-\def\@title{\leavevmode\mkt@warning\title}
-\long\def\author#1{\long\gdef\@author{#1}}
-\def\@author{\mkt@warning\author}
-
-\newbox\@abstractbox
-
-\def\abstract{\global\let\@abstract\relax
- \global\setbox\@abstractbox\vtop\bgroup}
-\def\endabstract{\par\hbox{}\egroup}
-\def\@abstract{\mkt@warning{abstract env}}
-
-%% We need English title, author name(s) and abstract. (H.N.)
-%% English author names are simply ignored.
-\def\etitle#1{\gdef\@etitle{#1}}
-\def\@etitle{\leavevmode\mkt@warning\etitle}
-\long\def\eauthor#1{}
-
-\newbox\@eabstractbox
-\def\eabstract{\global\let\@eabstract\relax
- \global\setbox\@eabstractbox\vtop\bgroup}
-\let\endeabstract\endabstract
-\def\@eabstract{\mkt@warning{eabstract env}}
-
-\ifDS@english \let\abstract\eabstract \let\@eabstract\@abstract \fi
-
-% Contact address is no longer required even in draft.
-\def\contact{\long\def\mkt@contact}
-\def\mkt@contact{} % 2.12(4)
-
-\def\@maketitle{\newpage\thispagestyle{empty}
- \leftline{\LARGE
- \ifDS@TBIO \ipsj@TBIO@pcatref % 2.11(1)
- \else\ifDS@english \ifDS@technote Technical Note\else
- Regular Paper\fi
- \else \ifDS@technote \ipsj@j@technote % 2.12(1b)
- \else \ipsj@j@regpaper\fi\fi\fi}
- \vfill
- \begin{center}\LARGE\bf\@title\end{center}
- \ifDS@english\else
- \vfill
- \begin{center}\LARGE\bf\@etitle\end{center}\fi
- \@thanks
- \vfill\vfill
-% % 2.12(4)>>
-% \ifDS@anonymous\else % 2.10(1)>>
-% \newpage\thispagestyle{empty}
-% \begingroup\large\vspace*{\fill}\rightskip0pt plus1fil
-% \parindent\z@\parskip.5\baselineskip\hangindent2em\hangafter\@ne
-% \def\par{{\@@par}}
-% \mkt@makeauthor
-% \par\vfill
-% \noindent
-% \ifDS@english Contact To:\else \ipsj@j@contactto \fi% 2.12(1b)
-% \endgroup
-% \begin{itemize}\large\item[]\mkt@contact\end{itemize}
-% \vfill\vfill
-% \fi % 2.10(1)<<
-% % 2.12(4)<<
- \newpage \setcounter{page}{1}\def\thepage{\roman{page}}
- \ifDS@english\else \@abstract \centerline{\bf \ipsj@j@abstract}
-% % 2.12(1b)
- \vskip-\prevdepth\vskip\baselineskip\vskip-\ht\@abstractbox
- \unvbox\@abstractbox\prevdepth\z@ \fi
- \centerline{\bf Abstract}
- \vskip-\prevdepth \vskip\baselineskip\vskip-\ht\@eabstractbox
- \@eabstract \unvbox\@eabstractbox
- \newpage \def\thepage{\arabic{page}}\setcounter{page}{1}}
-
-\def\mkt@makeauthor{\let\member\mkt@member \let\nomember\mkt@nomember
- \let\stmember\mkt@stmember
- \expandafter\mkt@imakeauthor\@author\and\@nil\and}
-\def\mkt@imakeauthor#1\and{\def\@tempa{#1}\ifx\@tempa\@nnil\let\next\relax
- \else #1\par\let\next\mkt@imakeauthor\fi\next}
-
-% Macros to specify author's affiliation easily.
-\ifDS@english
-\def\paffilabel#1#2{\affilabel{#1}{Presently with #2}}
-\else
-\def\paffilabel#1#2{\affilabel{#1}{\ipsj@j@presently #2}}
-\fi
-% Ignore English affiliation even if given.
-\def\affilabel#1#2{\@ifundefined{affi@r@#1}%
- {\expandafter\xdef\csname affi@r@#1\endcsname
- {\affi@cuteng#2\\\@nil}}
- {\ipsj@warning{Affiliation label `#1' multiply defined}}}
- % 2.00(1)
-\def\affiref#1{\@ifundefined{affi@r@#1}%
- {\ipsj@warning{% % 2.00(1)
- Affiliation reference `#1' undefined}\hbox{(???)}}
- {\setbox\@tempboxa\hbox{(\csname affi@r@#1\endcsname)}%
- \@tempdima\wd\@tempboxa \advance\@tempdima2em\relax
- \ifdim\@tempdima>\hsize
- \newline\unhbox\@tempboxa
- \else\ \box\@tempboxa\fi}}
-\def\affi@cuteng#1\\#2\@nil{#1}
-
-% Membership of aurthor is required in draft.
-\ifDS@english
-\def\mkt@member#1{\ \hbox{[Regular Member\##1]}}
-\def\mkt@nomember{\ \hbox{[Non Member]}}
-\def\mkt@stmember#1{\ \hbox{[Student Member\##1]}}
-\else
-\def\mkt@member#1{\ \hbox{[\ipsj@j@member\##1]}}
-\def\mkt@nomember{\ \hbox{[\ipsj@j@nomember]}}
-\def\mkt@stmember#1{\ \hbox{[\ipsj@j@stmember\##1]}}
-\fi
-
-%%%%%% Page Header and Footer %%%%%%
-
-\mark{{}{}}
-
-% The following counters are not used, but may appear.
-\let\c@volpage\c@page % 2.00(5)
-\def\thevolpage{\thepage} % 2.00(5)
-\newcounter{volpageoffset} % You must set this to appropriate value
-\newcounter{volume} % 2.12(1b)>>
-\newcounter{number}
-\newcounter{year} % 2.12(1b)<<
-
-\def\ps@plain{\let\@mkboth\@gobbletwo
- \def\@oddhead{\@checklines}\let\@evenhead\@oddhead
- \def\@oddfoot{\rm \hfil\thepage\hfil}\let\@evenfoot\@oddfoot}
-
-\def\transaction#1#2#3{} % 2.11(2)
-\long\def\copyrightnotice#1{} % 2.11(2)
-
-% \checklines enables to draw a horizontal rule onto each baselines.
-
-\newif\if@checklines \@checklinesfalse
-\def\checklines{\@checklinestrue}
-\def\@checklines{\if@checklines \rlap{\smash{\vtop{
- \hbox{} \vskip\headsep \hrule width\textwidth\vskip-.4pt \vskip\topskip
- \hrule\vskip-.4pt
- \@tempcnta31\relax\@@checklines}}}\hfil\fi}
-\def\@@checklines{\ifnum\@tempcnta>\z@
- \vskip\normalbaselineskip \hrule\vskip-.4pt \advance\@tempcnta\m@ne
- \let\next\@@checklines\else\let\next\relax\fi\next}
-
-\pagestyle{plain}
-\pagenumbering{arabic}
-
-\ifDS@english\else
-\def\today{\the\year\ipsj@j@year \the\month\ipsj@j@month \the\day\ipsj@j@day}
- % 2.12(1b)
-\fi
-
-
-%%%%%% Output Routine %%%%%%
-% Nothing at all.
-
-
-%%%%%% Biography %%%%%%
-% Almost nothing.
-
-\def\received#1#2#3{} % 2.12(1b)>>
-\def\accepted#1#2#3{}
-\def\rereceived#1#2#3{} % 2.11(2)>>
-% definition of \released is removed % 2.12(2)
-\def\edInCharge#1{} % 2.11(2)<<
-% % 2.12(1b)<<
-
-\def\biography{\let\member\@gobble \let\nomember\@gobble \let\stmember\@gobble
- \ifDS@english \let\author\@gobble \fi % 2.12(3)
- \let\adjust\@gobble \setbox0\vbox\bgroup
- \tolerance\@M \hbadness\@M \hfuzz\maxdimen}
-\def\endbiography{\egroup\setbox0\hbox{}}
-
-
-%%%%%% Miscellaneous %%%%%%
-
-\raggedbottom
-
-\input{ipsjcommon.sty}
-
-% Redefine \acknowledgment to put it separately.
-\newbox\ack@box
-\let\@acknowledgment\acknowledgment
-
-\def\acknowledgment{\global\setbox\ack@box\vtop\bgroup\@acknowledgment}
-\def\endacknowledgment{\par\egroup}
-
-% % 2.12(4)>>
-%\let\id@enddocument\enddocument
-%\def\enddocument{\clearpage
-% \ifDS@anonymous\else \unvbox\ack@box \fi % 2.10(1)
-% \id@enddocument}
-% % 2.12(4)<<
-
-\endinput
diff -r 86eb165b4b91 -r e17bc730af1a ipsjpapers.cls
--- a/ipsjpapers.cls Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-% Copyright (C) 1995-2007 by Hiroshi Nakashima, Yasuki Saito and
-% The Editorial Board of the IPSJ Journal
-%
-% ipsjpapers.cls 13-Mar-07 by Hiroshi Nakashima (ver 2.12)
-% (revision history deleted)
-% ipsjpapers.cls 1-Apr-96 by Hiroshi Nakashima (ver 2.00)
-
-\ifx\pfmtname\undefined
-\NeedsTeXFormat{LaTeX2e}
-\else
-\NeedsTeXFormat{pLaTeX2e}
-\fi
-
-\ProvidesClass{ipsjpapers}[2007/06/15 ver 2.12]
-\input{ipsjpapers.sty}
-\endinput
diff -r 86eb165b4b91 -r e17bc730af1a ipsjpapers.sty
--- a/ipsjpapers.sty Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1919 +0,0 @@
-% Copyright (C) 1995-2007 by Hiroshi Nakashima, Yasuki Saito and
-% The Editorial Board of the IPSJ Journal
-%
-% ipsjpapers.sty 15-Jun-07 by Hiroshi Nakashima (ver 2.12)
-% (revision history deleted)
-% ipsjpapers.sty 24-Apr-95 by Hiroshi Nakashima (ver 1.0)
-% ipsjpapers.sty 30-Nov-93 by Hiroshi Nakashima
-% ipsjpapers.sty 3-Feb-93 by Yaski Saito
-% compsoft.sty 22-April-92 by Yaski Saito
-% compsoft.sty 18-July-90 by Hideki Isozaki
-% j-article.sty 10-Feb-89 from report.sty 16-Mar-88
-
-%%%%%% LaTeX Version %%%%%%
-
-% 2.00(1) >>
-%% \ifASCII is true if ASCII version Japanese TeX, which doesn't have
-%% \jintercharskip (H.N.)
-\newif\ifipsj@nonjp \ipsj@nonjpfalse % 2.12(1a)
-\newif\ifASCII \ASCIIfalse
-\ifx\jintercharskip\undefined \ASCIItrue
-\ifx\kanjiskip\undefined \ipsj@nonjptrue % 2.12(1a)
-\fi\fi
-\newif\if@LaTeX@e \@LaTeX@efalse % 1.06(1)
-\newif\if@LaTeX@eN \@LaTeX@eNfalse % 2.00(1)
-\def\@tempa{LaTeX2e} % 1.06(1)
-\ifx\fmtname\@tempa \@LaTeX@etrue % 1.06(1)
-\ifx\xpt\undefined \@LaTeX@eNtrue \fi\fi % 2.00(1)
-% 2.00(1) <<
-
-
-
-%%%%%% Document Styles %%%%%%
-
-% 2.00(2) >>
-\newif\ifDS@printer \DS@printerfalse
-\newif\ifDS@english \DS@englishfalse
-\newif\ifDS@technote \DS@technotefalse
-\newif\ifDS@preface \DS@prefacefalse
-\newif\ifDS@draft \DS@draftfalse
-\newif\ifDS@techrep \DS@techrepfalse % 1.05(2)
-\newif\ifDS@sigrecommended \DS@sigrecommendedfalse % 2.04(1)
-\newif\ifDS@invited \DS@invitedfalse % 2.06(1)
-\newif\ifDS@abstract \DS@abstractfalse % 2.07(7)
-\newif\ifDS@private \DS@privatefalse % 2.07(8)
-\newif\ifDS@anonymous \DS@anonymousfalse % 2.10(1)
-\newif\ifDS@TBIO \DS@TBIOfalse % 2.11(1)
-\newif\ifDS@online \DS@onlinefalse % 2.12(4a)
-
-\if@LaTeX@eN
-\DeclareOption{printer}{\DS@printertrue} % 2.09(1)
- % 2.12(2)
-\DeclareOption{english}{\DS@englishtrue}
-\DeclareOption{technote}{\DS@technotetrue}
-\DeclareOption{preface}{\DS@prefacetrue}
-\DeclareOption{draft}{\DS@drafttrue}
-\DeclareOption{techrep}{\DS@techreptrue}
-\DeclareOption{sigrecommended}{\DS@sigrecommendedtrue} % 2.04(1)
-\DeclareOption{invited}{\DS@invitedtrue} % 2.06(1)
-\DeclareOption{abstract}{\DS@abstracttrue} % 2.07(7)
-\DeclareOption{private}{\DS@privatetrue} % 2.07(8)
-\DeclareOption{anonymous}{\DS@anonymoustrue} % 2.10(1)
-\DeclareOption{TBIO}{\DS@TBIOtrue \DS@englishtrue} % 2.11(1)
-\DeclareOption{online}{\DS@onlinetrue \DS@printertrue \DS@englishtrue}
- % 2.12(4a)
-\DeclareOption{10pt}{\def\@ptsize{0}}
-\DeclareOption{11pt}{\def\@ptsize{1}}
-\DeclareOption{12pt}{\def\@ptsize{2}}
-\ExecuteOptions{10pt}
-\ProcessOptions
-\def\ipsj@warning{\ClassWarning{ipsjpapers}} % 2.00(3)
-\def\ipsj@error{\ClassError{ipsjpapers}} % 2.00(3)
-\newskip \old@latex@skip % 2.00(14)
-\let\@maxsep\old@latex@skip % 2.00(14)
-\let\@dblmaxsep\old@latex@skip % 2.00(14)
-
-\else
-\expandafter\ifx\csname ver@ipsjpapers.cls\endcsname\relax
-\typeout{Document Style `ipsjpapers' (ver 2.12) <15 Jun 2007>.} % 2.05(1)
-\fi % \ifx
-
-\def\ds@printer{\relax} % 2.09(1)
-\def\ds@english{\DS@englishtrue}
-\def\ds@technote{\DS@technotetrue}
-\def\ds@preface{\DS@prefacetrue}
-\def\ds@draft{\DS@drafttrue}
-\def\ds@techrep{\DS@techreptrue} % 1.05(2)
-\def\ds@sigrecommended{\DS@sigrecommendedtrue} % 2.04(1)
-\def\ds@invited{\DS@invitedtrue} % 2.06(1)
-\def\ds@abstract{\DS@abstracttrue} % 2.07(7)
-\def\ds@private{\DS@privatetrue} % 2.07(8)
-\def\ds@anonymous{\DS@anonymoustrue} % 2.10(1)
-\def\ds@TBIO{\DS@TBIOtrue \DS@englishtrue} % 2.11(1)
-\def\ds@online{\DS@onlinetrue \DS@printertrue \DS@englishtrue} % 2.12(4a)
-
-% 1.04(3)>>
-\def\@ptsize{0}
-\@namedef{ds@11pt}{\def\@ptsize{1}}
-\@namedef{ds@12pt}{\def\@ptsize{2}}
-% 1.04(3)<<
-
-\@options
-\let\ipsj@warning\@warning % 2.00(3)
-\let\@latex@warning\@warning % 2.00(3)
-\def\ipsj@error#1#2{\errhlp{#2}\errmessge{#1}} % 2.00(3)
-\fi % \if@LaTeX@eN
-% 2.00(2) <<
-
-\ifx\@classoptionslist\undefined\else % 2.03(1) >>
-\def\ipsj@draft@option{draft}
-\def\ipsj@remove@draft@option{\def\@tempb{}%
- \@for\@tempa:=\@classoptionslist\do{%
- \ifx\@tempa\ipsj@draft@option\else
- \edef\@tempb{\@tempb,\@tempa}\fi}%
- \ifx\@tempb\@empty \def\@classoptionslist{}\else
- \expandafter\ipsj@remove@draft@ption\@tempb\@nil\fi}
-\def\ipsj@remove@draft@ption,#1\@nil{%
- \def\@classoptionslist{#1}}
-\ipsj@remove@draft@option
-\fi % \ifx % 2.03(1) <<
-
-\ifipsj@nonjp \DS@englishtrue \fi % 2.12(1a)
-
-%%%%%% Basics %%%%%%
-
-\newdimen\@Q \@Q=0.25mm
-
-\lineskip\z@ \normallineskip\z@
-\lineskiplimit\z@ \normallineskiplimit\z@
-\abovedisplayskip\z@ \belowdisplayskip\z@
-\abovedisplayshortskip\z@ \belowdisplayshortskip\z@
-
-\def\baselinestretch{1}
-\jot\z@
-
-\ifDS@draft\def\next{\input{ipsjdrafts.sty}\endinput}\else\let\next\relax\fi
-\next
-
-\@twosidetrue
-
-%%%%%% Fonts %%%%%%
-% \finvedm(dg) dm5 \vpt \tiny fn-mark
-% \sixdm(dg) dm6 \vipt \scriptsize
-% \sevendm(dg) dm7 \vipt \footnotesize f-note, capt
-% 10Q = 7.11304pt -> w(min7) = 6.73550pt
-% \eightdm(dg) dm8 \viiipt \small abst, header
-% 11Q = 7.82434pt -> w(min8) = 7.69772pt
-% \eightdm(dg)half dm9 \ixpt \normalsize main text
-% 12Q = 8.53564pt -> w(min9) = 8.65994
-% \tendm(dg) dm10 \xpt \large sec title
-% 13Q = 9.24695pt -> w(min10) = 9.62216pt
-% \tendm(dg)half dm10*1095 \xipt \Large author names
-% 15Q =10.66956pt -> w(min10*1095) = 10.53625pt
-% (\twlvdm) (dm12) \xiipt \LARGE e-title
-% \twelvedm(dg)half dm12*1095 \xivpt \huge title
-% min10*1440
-% 18Q =12.80347pt -> w(min10*1440) = 13.8559pt
-%
-% Note that cm fonts follows LaTeX standard. (e.g. \viiipt -> cmr8, etc.)
-
-% 2.00(4)>>
-\if@LaTeX@e
-\ifASCII
-\def\ipsj@declare@font#1#2#3{{\fontsize{#3}{\z@}#2\selectfont % 2.00(5)>>
- \edef\@tempa{\ifipsj@nonjp \the\font \else \the\jfont \fi} % 2.12(1b)
- \expandafter\global\expandafter\let\expandafter#1\@tempa}} % 2.00(5)<<
-
-\iffalse % ASCII LaTeX2e printer settings is removed % 2.12(2a)
-\else % ASCII LaTeX2e non-printer
-\ifipsj@nonjp % 2.12(1b)>>
-\ipsj@declare@font\fn@fontv\rmfamily\@vpt
-\ipsj@declare@font\fn@fontvi\rmfamily\@vpt
-\ipsj@declare@font\fn@fontvii\rmfamily\@vpt
-% no declaration for \fn@fontxv % 2.12(1b)<<
-\else % \ifipsj@nonjp
-\ipsj@declare@font\fn@fontv\mcfamily\@vpt
-\ipsj@declare@font\fn@fontvi\mcfamily\@vpt
-\ipsj@declare@font\fn@fontvii\mcfamily\@vpt
-\ipsj@declare@font\fn@fontxv\gtfamily\@xipt
-\fi\fi %\ifipsj@nonjp\iffalse
-
-\else % \ifASCII = NTT LaTeX2e
-\def\ipsj@declare@font#1#2#3{{\fontsize{#3}{\z@}#2\selectfont % 2.00(5)
- \xdef#1{\expandafter\noexpand\csname\jf@ntn@me\endcsname}}} % 2.00(5)
-\ipsj@declare@font\fn@fontv\dm\@vpt
-\ipsj@declare@font\fn@fontvi\dm\@vpt
-\ipsj@declare@font\fn@fontvii\dm\@vpt
-\ipsj@declare@font\fn@fontxv\dg\@xipt
-\fi % \ifASCII
-% 2.00(4) <<
-
-\else % \if@LaTeX@e = LaTeX 2.09 % 2.00(4)
-%% Fonts for ASCII TeX. (H.N.)
-\ifASCII
-\iffalse % ASCII LaTeX 2.09 printer settings is removed % 2.12(2a)
-\else \ifipsj@nonjp\else % 2.12(1b)
-\font\fivedm min5
-\font\fivedg goth5
-\font\sixdm min6
-\font\sixdg goth6
-\font\sevendm min7
-\font\sevendg goth7
-\font\eightdm min8
-\font\eightdg goth8
-\font\eightdmhalf min9
-\font\eightdghalf goth9
-\font\tendm min10
-\font\tendg goth10
-\font\tendmhalf min10 scaled\magstephalf
-\font\tendghalf goth10 scaled\magstephalf
-\font\twelvedm min10 scaled\magstep1
-\font\twelvedg goth10 scaled\magstep1
-\font\twelvedmhalf min10 scaled\magstep2
-\font\twelvedghalf goth10 scaled\magstep2
-\let\fn@fontv\fivedm
-\let\fn@fontvi\fivedm
-\let\fn@fontvii\fivedm
-\let\fn@fontxv\tendghalf
-
-\fi\fi % \ifipsj@nonjp\iffalse
-
-%% ASCII doesn't have \old@Npt. (H.N.)
-\let\old@@vpt\vpt
-\let\old@@vipt\vipt
-\let\old@@viipt\viipt
-\let\old@@viiipt\viiipt
-\let\old@@ixpt\ixpt
-\let\old@@xpt\xpt
-\let\old@@xipt\xipt
-\let\old@@xiipt\xiipt
-\let\old@@xivpt\xivpt
-
-\ifipsj@nonjp % 2.12(1b)>>
-\def\old@vpt{\old@@vpt}
-\def\old@vipt{\old@@vipt}
-\def\old@viipt{\old@@viipt}
-\def\old@viiipt{\old@@viiipt}
-\def\old@ixpt{\old@@ixpt}
-\def\old@xpt{\old@@xpt}
-\def\old@xipt{\old@@xipt}
-\def\old@xiipt{\old@@xiipt}
-\def\old@xivpt{\old@@xivpt} % 2.12(1b)<<
-\else % \ifipsj@nonjp
-\def\old@vpt{\old@@vpt\jspaceskip1zw\relax}
-\def\old@vipt{\old@@vipt\jspaceskip1zw\relax}
-\def\old@viipt{\old@@viipt\jspaceskip1zw\relax}
-\def\old@viiipt{\old@@viiipt\jspaceskip1zw\relax}
-\def\old@ixpt{\old@@ixpt\jspaceskip1zw\relax}
-\def\old@xpt{\old@@xpt\jspaceskip1zw\relax}
-\def\old@xipt{\old@@xipt\jspaceskip1zw\relax}
-\def\old@xiipt{\old@@xiipt\jspaceskip1zw\relax}
-\def\old@xivpt{\old@@xivpt\jspaceskip1zw\relax}
-\fi % \ifipsj@nonjp
- % 2.00(6)
- % 1.06(2)
-
-%% ASCII doesn't have \dg nor \dm. (H.N.)
-\ifipsj@nonjp\else % 2.12(1b)
-\def\dg{\protect\pdg}
-\def\dm{\protect\pdm}
-%% Redefine \gt and \mc
-\def\gt{\protect\pdg}
-\def\mc{\protect\pdm}
-\let\pdm\relax
-\fi % \ifipsj@nonjp
-
-\else % \ifASCII
-%% Fonts for NTT jTeX
-%% \magstephalf and \magstep1 may cause trouble in older versions.
-
-\jfont\fivedm=dm5
-\jfont\fivedg=dg5
-\jfont\sixdm=dm6
-\jfont\sixdg=dg6
-\jfont\sevendm=dm7
-\jfont\sevendg=dg7
-\jfont\eightdm=dm8
-\jfont\eightdg=dg8
-\jfont\eightdmhalf=dm9
-\jfont\eightdghalf=dg9
-\jfont\tendm=dm10
-\jfont\tendg=dg10
-\jfont\tendmhalf=dm10 scaled 1095
-\jfont\tendghalf=dg10 scaled 1095
-\jfont\twelvedm=dm12
-\jfont\twelvedg=dg12
-\jfont\twelvedmhalf=dm12 scaled 1095
-\jfont\twelvedghalf=dg12 scaled 1095
-\let\fn@fontv\fivedm
-\let\fn@fontvi\fivedm
-\let\fn@fontvii\fivedm
-\let\fn@fontxv\tendghalf
- % 1.06(3)
-\fi % \ifASCII
-\fi % \if@LaTeX@e
-
-\ifx\jfsize\undefined \newcount\jfsize \fi % 1.06(2)
-
-\ifASCII % 1.06(3),2.00(6)>>
-\ifipsj@nonjp\else % 2.12(1b)
-\let\setjglues\relax
-\let\jintercharskip\kanjiskip
-\let\jasciikanjiskip\xkanjiskip
-\let\jmathkanjiskip\xkanjiskip
-\newdimen\jspaceskip
-
-\def\defjintercharskip#1#2#3#4{\@asciiwarning{\defjintercharskip}}
-\def\defjasciikanjiskip#1#2#3#4{\@asciiwarning{\defjasciicharskip}}
-\def\defmathkanjiskip#1#2#3#4{\@asciiwarning{\defmathcharskip}}
-\def\defjspaceskip#1#2#3#4{\@asciiwarning{\defjspaceskip}}
-
-\def\@asciiwarning#1{\ipsj@warning{\string#1\space % 2.00(3)
- is not supported in ASCII version}}
- % 1.06(3),2.00(6)<<
-\fi % \ifipsj@nonjp
-\else % \ifASCII % 2.00(7)>>
-\if@LaTeX@e
-\ipsj@declare@font\fn@eightdmhalf\dm\@ixpt
-\ipsj@declare@font\fn@eightdghalf\dg\@ixpt
-\else
-\def\fn@eightdmhalf{\eightdmhalf}
-\def\fn@eightdghalf{\eightdghalf}
-\fi % \if@LaTeX@e
-\ifx\setjglues\undefined\else
-\expandafter\defjintercharskip\fn@eightdmhalf{0pt}{1.4pt}{0.5pt}
-\expandafter\defjintercharskip\fn@eightdghalf{0pt}{1.4pt}{0.5pt}
-\expandafter\defjasciikanjiskip\fn@eightdmhalf{2pt}{1pt}{1pt}
-\expandafter\defjasciikanjiskip\fn@eightdghalf{2pt}{1pt}{1pt}
-\expandafter\defjmathkanjiskip\fn@eightdmhalf{2pt}{1pt}{1pt}
-\expandafter\defjmathkanjiskip\fn@eightdghalf{2pt}{1pt}{1pt}
-\fi % \if@LaTeX@e % 2.00(7)<<
-\fi % \ifASCII % 2.00(4)
-
-\if@LaTeX@e % 2.00(8)>>
-\if@LaTeX@eN
-\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
-\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
-\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
-\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
-\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
-\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
-\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
-\DeclareRobustCommand*{\cal}{\@fontswitch{\relax}{\mathcal}}
-\DeclareRobustCommand*{\mit}{\@fontswitch{\relax}{\mathnormal}}
-\ifASCII \ifipsj@nonjp\else % 2.12(1b)
-\DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{\mathmc}
-\DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{\mathgt}
-\fi\fi\fi % \ifipsj@nonjp\ifASCII\if@LaTeX@eN
-
-\ifASCII \ifipsj@nonjp\else % 2.12(1b)
-\def\dm{\mc}
-\def\dg{\gt}
-\fi\fi\fi % \ifipsj@nonjp\ifASCII\if@LaTeX@e % 2.00(8)<<
-
-%%%%%% Basic Font Size Macros %%%%%%
-
-\if@LaTeX@e % 1.06(4),2.00(9),2.04(3)>>
-\def\@setsize#1#2#3#4{\@setfontsize#1{#4}{#2}\ipsj@setjspaceskip}
-\let\ipsj@setjspaceskip\relax % 2.12(1b)>>
-\ifASCII \ifipsj@nonjp\else
-\def\ipsj@setjspaceskip{\jspaceskip1zw\relax}
-\fi\fi % \ifipsj@nonjp\ifASCII % 2.12(1b)<<
- % 1.06(4),2.00(9),2.04(3)<<
-
-%% \vipt etc. are redefined to use appropriate Japanese fonts.
-\else % \if@LaTeX@e % 2.00(9)
-\ifipsj@nonjp\else % 2.12(1b)
-\def\vpt{\old@vpt\fivedm\let\pdg\fivedg\let\pdm\fivedm\jfsize=5\relax}
-\def\vipt{\old@vipt\sixdm\let\pdg\sixdg\let\pdm\sixdm\jfsize=6\relax}
-\def\viipt{\old@viipt\sevendm\let\pdg\sevendg\let\pdm\sevendm\jfsize=7\relax}
-\def\viiipt{\old@viiipt\eightdm\let\pdg\eightdg\let\pdm\eightdm\jfsize=8\relax}
-\def\ixpt{\old@ixpt\eightdmhalf\let\pdg\eightdghalf\let\pdm\eightdmhalf
- \jfsize=9\relax \@ixptboldmath} % 1.02(2)
-\def\xpt{\old@xpt\tendm\let\pdg\tendg\let\pdm\tendm\jfsize=10\relax}
-\def\xipt{\old@xipt\tendmhalf\let\pdg\tendghalf\let\pdm\tendmhalf\jfsize=11
- \relax}
-\def\xiipt{\old@xiipt\twelvedm\let\pdg\twelvedg\let\pdm\twelvedm
- \jfsize=12\relax}
-\def\xivpt{\old@xivpt\twelvedmhalf\let\pdg\twelvedghalf\let\pdm\twelvedmhalf
- \jfsize=14\relax}
-\fi\fi % \ifipsj@nonjp\if@LaTeX@e % 2.00(9)
-
-\if@LaTeX@e % 1.06(5)
-\let\@ixptboldmath\relax % 1.06(5)
-\else % 1.06(5)
-% 1.02(2) >>
-\iffalse % printer setting removed % 2.12(2a)
-\else
-\def\@ixptboldmath{%
- \def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath
- \textfont\@ne\ninmi
- \textfont\tw@\ninsy \textfont\lyfam\ninly
- \@boldfalse}\@boldfalse
-% 1.03(1) >>
- \def\boldmath{\@ifundefined{ninmib}{\global\font\ninmib\@mbi
- \global\font\ninsyb\@mbsy\relax
- \global\font\ninlyb\@lasyb\relax
- \@addfontinfo\@ixpt
- {\def\boldmath{\everymath{\mit}\everydisplay{\mit}%
- \@prtct\@nomathbold
- \textfont\@ne\ninmib \textfont\tw@\ninsyb
- \textfont\lyfam\ninlyb \@prtct\@boldtrue}}}{}%
- \@ixpt\boldmath}}
-% 1.03(1) <<
-\fi % \iffalse
-% 1.02(2) <<
-\fi % \if@LaTeX@e % 1.06(5)
-
-
-%%%%%% Font Size Macros %%%%%%
-
-\def\fs@setsize#1#2#3#4{\normalsize\dimen@\normalbaselineskip
- \@ifstar{\@setsize{#1}{\dimen@}{#3}{#4}}%
- {\@setsize{#1}{#2}{#3}{#4}}}
-
-% s = (3*b - (h' + d') - (h + d))/2
-% s_a = s + h' + d - b
-% s_b = s + h + d' - b
-\def\sec@setskips#1{\setbox0\hbox{\fs@sec\bf#1}\setbox1\hbox{#1}
- \@tempdima3\baselineskip
- \advance\@tempdima-\ht0 \advance\@tempdima-\dp0
- \advance\@tempdima-\ht1 \advance\@tempdima-\dp1
- \divide\@tempdima\tw@ \advance\@tempdima-\baselineskip
- \@tempdimb\@tempdima
- \advance\@tempdima\ht0 \advance\@tempdima\dp1
- \advance\@tempdimb\ht1 \advance\@tempdimb\dp0
- \edef\sec@aboveskip{\the\@tempdima}
- \edef\sec@belowskip{\the\@tempdimb}}
-
-\ifDS@english
-% size pt \baselineskip size \?pt \baselineskip
-% \normalsize 10 16Q \large 11 18Q (*)
-% \small 9 15Q \Large 12 22Q
-% \footnotesize 8 13Q \LARGE 14 26Q (*)
-% \scriptsize 6 8pt (*) \huge 18 30Q (*)
-% \tiny 5 6pt (*) \Huge 18 30Q (*)
-% * : not measured
-
-\def\@normalsize{\@setsize\normalsize{16\@Q}\xpt\@xpt}
-\def\small{\fs@setsize\small{15\@Q}\ixpt\@ixpt}
-\def\footnotesize{\fs@setsize\footnotesize{13\@Q}\viiipt\@viiipt}
-\def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt}
-\def\tiny{\@setsize\tiny{6pt}\vpt\@vpt}
-\def\large{\@setsize\Large{18\@Q}\xipt\@xipt}
-\def\Large{\@setsize\LARGE{22\@Q}\xiipt\@xiipt}
-\def\LARGE{\@setsize\LARGE{26\@Q}\xivpt\@xivpt}
-\def\huge{\@setsize\Huge{30\@Q}\xviipt\@xviipt}
-\let\Huge\huge
-
-\ifDS@techrep % 1.05(2)>>
-\def\@normalsize{\@setsize\normalsize{17\@Q}\xpt\@xpt}
-\fi % 1.05(2)<<
-
-\if@LaTeX@e % 2.00(10)>>
-\let\normalsize\@normalsize
-\fi % 2.00(10)<<
-
-\let\fs@footnote\footnotesize
-\let\fs@caption\footnotesize
-\let\fs@table\footnotesize
-\let\fs@eabst\footnotesize
-\let\fs@header\footnotesize
-\let\fs@footer\footnotesize
-\let\fs@bibliography\small
-\let\fs@subsec\normalsize
-\let\fs@sec\normalsize
-\let\fs@type\large
-\let\fs@eauthor\large
-\let\fs@title\Large
-
-\@normalsize
-
-\sec@setskips{A}
-
-\else % \ifDS@english
-% size pt \baselineskip size \?pt \baselineskip
-% \normalsize 9 19Q \large 10 19Q
-% \small 8 14Q \Large 11 22Q
-% \footnotesize 7 14Q \LARGE 12 18Q
-% \scriptsize 6 8pt (*) \huge 14 26Q
-% \tiny 5 6pt (*) \Huge 14 26Q
-% * : not measured
-
-\def\@normalsize{\@setsize\normalsize{19\@Q}\ixpt\@ixpt}
-\def\small{\fs@setsize\small{14\@Q}\viiipt\@viiipt}
-\def\footnotesize{\fs@setsize\footnotesize{14\@Q}\viipt\@viipt}
-\def\scriptsize{\@setsize\scriptsize{8pt}\vipt\@vipt}
-\def\tiny{\@setsize\tiny{6pt}\vpt\@vpt}
-\def\large{\@setsize\large{19\@Q}\xpt\@xpt}
-\def\Large{\@setsize\Large{22\@Q}\xipt\@xipt}
-\def\LARGE{\@setsize\LARGE{18\@Q}\xiipt\@xiipt}
-\def\huge{\@setsize\Huge{26\@Q}\xivpt\@xivpt}
-\let\Huge\huge
-
-\ifDS@techrep % 1.05(2)>>
-\def\@normalsize{\@setsize\normalsize{17\@Q}\ixpt\@ixpt}
-\fi % 1.05(2)<<
-
-\if@LaTeX@e % 2.00(10)>>
-\let\normalsize\@normalsize
-\fi % 2.00(10)<<
-
-\let\fs@footnote\footnotesize
-\let\fs@caption\footnotesize
-\let\fs@table\footnotesize
-\let\fs@abst\small
-\def\fs@eabst{\small\baselineskip13\@Q}
-\let\fs@header\small
-\let\fs@footer\small
-\let\fs@subsec\normalsize
-\def\fs@bibliography{\normalsize\baselineskip16\@Q}
-\let\fs@sec\large
-\let\fs@type\fn@fontxv
-\let\fs@author\Large
-\def\fs@eauthor{\Large\baselineskip20\@Q} % 2.12(7)
-\let\fs@etitle\LARGE
-\let\fs@title\huge
-
-\@normalsize
- % 2.00(7)
-\ifx\setjglues\undefined\else
-\setjglues
-\fi
-
-% \sec@setskips{} is moved to ipsjcommon % 2.12(1c)
-\fi % \ifDS@englisth
-
-\if@LaTeX@e\else \ifipsj@nonjp\else % 2.00(11),2.12(1b)
-\let\latex@bf\bf % 1.06(6)
-\def\bf{\latex@bf \dg} % 1.06(6)
-\fi\fi % 2.00(11)
-
-
-%%%%%% Page Layout Parameters %%%%%%
-
-\newdimen\@mojihaba
-\ifipsj@nonjp \let\jspaceskip\@mojihaba \fi % 2.12(1b)
-
-\ifDS@printer % 2.12(2b) >>
-\voffset=-20mm
-\hoffset=-14mm
-\fi % 2.12(2b) <<
-
-\headheight 12\@Q
-
-% We want to allow a line containing $\displaystyle X^X$ to be a first line.
-\setbox0\hbox{$\displaystyle X^X$}
-\topskip\ht0
-
-\ifdim\maxdepth<\dp\strutbox \maxdepth\dp\strutbox \@maxdepth\maxdepth\fi
-
-\@tempswafalse % 1.05(2)>>
-\ifDS@english \ifDS@techrep \else \@tempswatrue \fi\fi
-\if@tempswa % 1.05(2)<<
-\topmargin 138\@Q \advance\topmargin-1in
-
-% \textheight = 53\baselineskip + \topskip + epsilon(100sp)
-\textheight53\baselineskip \advance\textheight\topskip \advance\textheight100sp
-
-% \headsep = 24Q - \topskip
-\headsep28\@Q \advance\headsep-\topskip % 2.02(2)
-
-% Only first page has page number (footer) at the bottom
-\footskip 27\@Q
-
-\@mojihaba13\@Q
-
-\else % \if@tempswa
-\topmargin 131\@Q \advance\topmargin-1in
-
-% \textheight = 45\baselineskip + \topskip + epsilon(100sp)
-\textheight45\baselineskip \advance\textheight\topskip \advance\textheight100sp
-
-\ifDS@techrep % 1.05(2)>>
-\textheight50\baselineskip \advance\textheight\topskip \advance\textheight100sp
-\fi % \ifDS@techrep % 1.05(2)<<
-
-% \headsep = 28Q - \topskip
-\headsep28\@Q \advance\headsep-\topskip
-
-% Only first page has page number (footer) at the bottom
-\footskip24\@Q
-
-\@mojihaba12\@Q
-\fi % \if@tempswa
-
-\columnsep30\@Q
-
-% \textwidth - \columnwidth = 24 * 12Q * 2 + \columnsep = 606Q
-\textwidth606\@Q
-\columnseprule0pt
-
-\oddsidemargin210mm \advance\oddsidemargin-\textwidth \divide\oddsidemargin\tw@
-\advance\oddsidemargin-1in \evensidemargin\oddsidemargin
-
-\skip\footins\baselineskip \advance\skip\footins-.5\@mojihaba
-% \footnotesep = \baselineskip - depth(\strutbox)
-{\fs@footnote
- \footnotesep\baselineskip
- \global\advance\footnotesep-\dp\strutbox}
-
-\def\footnoterule{{\fs@footnote\kern-\dp\strutbox \hrule \kern-.4\p@
- \kern\dp\strutbox}}
-
-\floatsep \baselineskip \textfloatsep \baselineskip
-\intextsep \baselineskip \@maxsep \baselineskip
-\dblfloatsep \baselineskip \dbltextfloatsep \baselineskip
-\@dblmaxsep \baselineskip
-\@fptop 0pt plus 1fil \@fpsep 0pt plus 2fil \@fpbot 0pt plus 1fil
-\@dblfptop 0pt plus 1fil \@dblfpsep 0pt plus 2fil \@dblfpbot 0pt plus 1fil
-
-\parskip\z@ \parindent\@mojihaba
-\@lowpenalty 51 \@medpenalty 151 \@highpenalty 301
-\@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty
-\@itempenalty -\@lowpenalty
-
-
-%%%%%% Title and Authors %%%%%%
-%
-% Format of title, author names and abstract.
-%
-% \huge\bf
-% \vskip 32Q
-% \Large
-% \vskip 32Q
-% \small
-% \vskip 34Q
-% \LARGE\bf
-% \vskip 28Q
-% \Large\sc
-% \vskip 28Q
-% \small
-% \vskip 25Q
-
-% 2.07(3)>>
-\def\ipsj@ohcheck#1#2#3{\fs@header\hskip12\@Q#1\qquad#2\qquad#3\hskip12\@Q}
-\def\ipsj@ohcvolno{Vol.~00\hskip12\@Q No.~SIG\ 00(\ipsj@sig@code\ 00)}
-
-\newif\ifipsj@trans \ipsj@transfalse % 2.12(4f)
-\def\maketitle{\let\ipsj@oddhead@t\ipsj@oddhead@a
- \ifipsj@trans
- \settowidth\@tempdima{%
- \ipsj@ohcheck\ipsj@ohcvolno\@titlestring\ipsj@ohcvolno}%
- \ifdim\@tempdima>\textwidth
- \let\ipsj@oddhead@t\ipsj@oddhead@b
- \settowidth\@tempdima{%
- \ipsj@ohcheck\ipsj@ohcvolno\@titlestring{000}}%
- \ifdim\@tempdima>\textwidth
- \ipsj@warning{% % 2.00(3)
- \string\title\space for headding is too wide}%
- \fi \fi
- \else
- \settowidth\@tempdima{\fs@header
- \hskip12\@Q Vol.~00\hskip12\@Q No.~00\qquad\@titlestring\qquad
- Vol.~00\hskip12\@Q No.~00\hskip12\@Q}
- \ifdim\@tempdima>\textwidth
- \ipsj@warning{% % 2.00(3)
- \string\title\space for headding is too wide}%
- \fi \fi
- \par\twocolumn[\@maketitle]\thispagestyle{myheadings}\@thanks}
-% 2.07(3)<<
-
-% default title header
-
-\def\title{\@dblarg{\@xtitle}}
-\def\@xtitle[#1]#2{\gdef\@title{#2}%
- {\def\protect{\noexpand\protect\noexpand}%
- \ifDS@english\def\\{\unskip\ \ignorespaces}%
- \else\def\\{\unskip\ignorespaces}\fi
- \xdef\@titlestring{#1}}} % 2.07(3)
-
-\def\@title{\mkt@warning\title}\def\@titlestring{}
-\long\def\author#1{\long\gdef\@author{#1}}
-\def\@author{\mkt@warning\author}
-
-\newbox\@abstractbox
-%% Introduce \@titlewidth because we now use this dimen repeatedly. (H.N.)
-%% \@titlewidth = 44 * 11Q = 484Q
-\newdimen\@titlewidth \@titlewidth 484\@Q
-
-\def\abstract{\global\let\@abstract\relax
- \global\setbox\@abstractbox\hbox\bgroup
- \begin{minipage}[b]{\@titlewidth}\fs@abst\parindent11\@Q}
-\def\endabstract{\end{minipage}\egroup}
-\def\@abstract{\mkt@warning{abstract env}}
-
-%% We need English title, author name(s) and abstract. (H.N.)
-\def\etitle#1{\gdef\@etitle{#1}}
-\def\@etitle{\mkt@warning\etitle}
-\long\def\eauthor#1{\long\gdef\@eauthor{#1}}
-\def\@eauthor{\mkt@warning\eauthor}
-
-\newbox\@eabstractbox
-\def\eabstract{\global\let\@eabstract\relax
- \global\setbox\@eabstractbox\hbox\bgroup
- \begin{minipage}[b]{\@titlewidth}\fs@eabst\parindent11\@Q}
-\let\endeabstract\endabstract
-\def\@eabstract{\mkt@warning{eabstract env}}
-
-\ifDS@english
-\let\author\eauthor \let\abstract\eabstract
-\let\@eauthor\@author \let\@eabstract\@abstract
-\fi
-
-\def\mkt@warning#1{\ipsj@warning{Missing \string#1}} % 2.00(3)
-
-\newdimen\mkt@prevdepth
-\newbox\mkt@titlebox
-\def\@maketitle{\setbox\mkt@titlebox\vbox{
- \ifDS@english \ifDS@preface
- \hbox{}\vskip60\@Q \vskip-\headsep \vskip-\baselineskip
- \else
- \hbox{}\vskip26\@Q \vskip-\headsep \vskip-\baselineskip
- \leftline{\fs@type\it
- \ifDS@TBIO \ipsj@TBIO@pcatref % 2.11(2)
- \else\ifDS@technote Technical Note
- \else\ifDS@invited Invited Paper % 2.06(1)
- \else\ifDS@sigrecommended % 2.04(1)
- Recommended Paper % 2.04(1)
- \else\ifDS@abstract % 2.07(7)
- Abstract % 2.07(7)
- \else\ifDS@techrep\else % 2.02(1)
- Regular Paper\fi\fi\fi\fi\fi\fi}% 2.06(1)
-% % 2.04(1)
- \vskip32\@Q \vskip-\baselineskip \fi
- \else % 2.04(1) >>
- \@tempswafalse \ifDS@technote\@tempswatrue\fi
- \ifDS@sigrecommended\@tempswatrue\fi
- \ifDS@invited\@tempswatrue\fi % 2.06(1)
- \ifDS@abstract\@tempswatrue\fi % 2.07(7)
- \if@tempswa
- \vskip18\@Q \vskip-\headsep
- \leftline{\vbox to28\@Q{\hrule height.8pt\vss
- \hbox{\hskip7\@Q \fs@type
- \ifDS@technote \ipsj@j@technote % 2.12(1c)>>
- \else\ifDS@invited
- \ipsj@j@invited % 2.06(1)
- \else\ifDS@sigrecommended
- \ipsj@j@sigrec % 2.06(1)
- \else \ipsj@j@talkabst % 2.07(7)
- \fi\fi\fi % 2.12(1c)<<
- \hskip7\@Q}\vss\hrule height.8pt}}
-% % 2.04(1) <<
- \vskip40\@Q \vskip-\baselineskip
- \else
- \hbox{}\vskip60\@Q \vskip-\headsep \vskip-\baselineskip
- \fi\fi
- \@tempswafalse \ifDS@english\else\ifDS@preface\@tempswatrue\fi\fi
- \mkt@maketitle{\fs@title\bf}\@title\title
- \affi@labels
- \ifDS@english\else
- \vskip-\mkt@prevdepth \nointerlineskip\vskip32\@Q
- \centerline{\vbox{\centering\hsize\@titlewidth\fs@author
- \mkt@makeauthor}}
- \ifDS@preface\else
- \vskip-\prevdepth \nointerlineskip\vskip32\@Q
- \centerline{\@abstract\box\@abstractbox}
- \vskip-\prevdepth \nointerlineskip\vskip34\@Q
- \mkt@maketitle{\fs@etitle\bf}\@etitle\etitle
- \fi\fi
- \if@tempswa\else
- \vskip-\mkt@prevdepth \nointerlineskip\vskip28\@Q
- \centerline{\vbox{\centering\hsize\@titlewidth\fs@eauthor\sc
- \mkt@makeeauthor}}
- \fi
- \ifDS@preface\else
- \vskip-\prevdepth \nointerlineskip\vskip28\@Q
- \centerline{\@eabstract\box\@eabstractbox}
- \fi
- \vskip-\prevdepth \nointerlineskip\vskip25\@Q}
- \@tempdimb\ht\mkt@titlebox \advance\@tempdimb\dp\mkt@titlebox
- \@tempcnta\@tempdimb \@tempcntb\baselineskip
- \divide\@tempcnta\@tempcntb \@tempdima\@tempcnta\baselineskip
- \advance\@tempdima-\@tempdimb
- \box\mkt@titlebox
- \ifdim\@tempdima=\z@\else\advance\@tempdima\baselineskip
- \vskip\@tempdima\fi}
-
-%% \mkt@maketitle puts Japanese/English title, whose lines should be
-%% properly broken with \\ by the user. The result is flushed to left, then
-%% centered with respect to the longest line. (H.N.)
-\def\mkt@maketitle#1#2#3{\setbox\@tempboxa\vtop{
- \def\\{\unskip\egroup\hbox\bgroup\ignorespaces}
- #1\hbox\bgroup#2\unskip\egroup
- \global\mkt@prevdepth\prevdepth}
- \@tempdima\textwidth\advance\@tempdima-4\@mojihaba
- \ifdim\wd\@tempboxa>\@tempdima
- \ipsj@warning{% % 2.00(3)
- \string#3 is too wide. Break line(s) by \string\\}\fi
- \centerline{\box\@tempboxa}}
-
-% Assignment of Japanese author names to lines:
-% 1 -> 1, 2 -> 2, 3 -> 3, 4 -> 2+2, 5 -> 3+2, 6 -> 3+3, 7 -> 3+2+2, 8 -> 3+3+2,
-% ...
-% Rule for N authors (N > 2, q := N div 3)
-% N mod 3 = 0 -> 3 * q
-% N mod 3 = 1 -> 3 * (q - 2) + 2 + 2
-% N mod 3 = 2 -> 3 * (q - 1) + 2
-
-\newcount\mkt@cnta\newcount\mkt@cntb
-\newcount\mkt@sname\newcount\mkt@gname
-\newbox\mkt@boxa
-\newdimen\mkt@namewidth
-\def\mkt@makeauthor{\let\member\@gobble \let\nomember\relax
- \let\stmember\@gobble % Those are not necessary in final manuscript.
- \def\@makefnmark{\smash{\rlap{$^{\affi@thefnmark}$}}}% % 2.12(7)
- \gdef\affi@thefnmark{}\leavevmode\let\+\ignorespaces
- \settowidth\@tempdima{\ifipsj@nonjp x\else\ipsj@j@a \fi}% 2.12(1c)
- \mkt@namewidth7\@tempdima\@tempcnta\z@
- \expandafter\mkt@countauthor\@author\and\@nil\and
- \ifnum\@tempcnta=\@ne\let\mkt@anhbox\mkt@anhboxc\mkt@makesingleauthor
- \else
- \@tempcntb\@tempcnta \divide\@tempcntb\thr@@
- \multiply\@tempcntb\thr@@ \advance\@tempcntb-\@tempcnta
- \ifnum\@tempcntb=\m@ne\relax\@tempcntb\tw@\else\@tempcntb\z@\fi
- \mkt@cnta\thr@@
- \let\mkt@anhbox\mkt@anhboxl
- \expandafter\mkt@makemultiauthor\@author\and\and\fi}
-\def\mkt@countauthor#1\and{\def\@tempa{#1}\ifx\@tempa\@nnil\let\next\relax
- \else\advance\@tempcnta\@ne \let\next\mkt@countauthor\fi\next}
-
-% If single author, author name has 9 KC width instead of 7.
-\def\mkt@makesingleauthor{\divide\mkt@namewidth7\multiply\mkt@namewidth9\relax
- \expandafter\mkt@putauthor\@author\+ \@nil}
-
-\def\mkt@makemultiauthor#1\and{\ifnum\@tempcnta=\z@\unskip\let\next\relax\else
- \leavevmode
- \advance\mkt@cnta\m@ne \advance\@tempcnta\m@ne
- \ifnum\mkt@cnta=\z@\mkt@maleft{#1}\mkt@cnta\thr@@\else
- \ifnum\@tempcnta=\@tempcntb\mkt@maleft{#1}\mkt@cnta\tw@\else
- \mkt@putauthor#1\+ \@nil\let\mkt@anhbox\mkt@anhboxc\fi\fi
- \let\next\mkt@makemultiauthor\fi\next}
-\def\mkt@maleft#1{\let\mkt@anhbox\mkt@anhboxr\mkt@putauthor#1\+ \@nil
- \par\let\mkt@anhbox\mkt@anhboxl}
-
-% Japanese author name format:
-% Non Japanese : As is.
-% Japanese w/o s/g delimitor : As is with warning.
-% Japanese (s+g>6) : As is.
-% Japanese (s+g<7) : Give 1-KC space to s/g delimitor, then insert
-% infinit stretch between each character pair, assuming the
-% s/g delimitor as a charcter, to make the name have 7-KC
-% width. An exception is 2s + 2g case, in which s/g
-% delimitor has 0 width in order to have the result
-% "S_S_G_G".
-
-\def\mkt@putauthor#1 #2\@nil{%
- \ifipsj@nonjp \mkt@anhbox{#1 #2}\else
- \setbox\@tempboxa\hbox{\let\affiref\@gobble \let\mkt@warning\@gobble
- \jintercharskip\z@#1#2}%
- \setbox\mkt@boxa\hbox{\let\affiref\@gobble \let\mkt@warning\@gobble
- \jintercharskip1cm#1#2}%
- \ifdim\wd\@tempboxa=\wd\mkt@boxa \mkt@anhbox{#1 #2}\else
- % probably no Kanjis
- \def\@tempa{#2}\ifx\@tempa\empty % without space btwn s/g-name
- {\let\affiref\@gobble \def\+{}%
- \ipsj@warning{Author name #1 doesn't have a space}}%
- % 2.00(3)
- \mkt@anhbox{#1}\else
- \mkt@getnamewidth\mkt@sname{#1}\mkt@getnamewidth\mkt@gname{#2}%
- \mkt@cntb\mkt@sname \advance\mkt@cntb\mkt@gname
- \ifnum\mkt@cntb>6\relax\mkt@anhbox{#1\ #2}\else
- \jintercharskip\fill%
- \@tempskipa\@tempdima plus2fill\relax
- \ifnum\mkt@sname=\tw@ \ifnum\mkt@gname=\tw@ \@tempskipa\fill\fi\fi
- \hbox to\mkt@namewidth{#1\hskip-\lastskip
- \hskip\@tempskipa#2\hskip-\lastskip\@makefnmark}\fi\fi\fi
- \fi
- \gdef\affi@thefnmark{}\hskip\columnsep}
-
-% When an author name is formatted "as is", the following macros are used
-% according to their position (left, right, or center).
-\def\mkt@anhboxl#1{\hbox to\mkt@namewidth{\hss#1\@makefnmark}}
-\def\mkt@anhboxr#1{\hbox to\mkt@namewidth{#1\@makefnmark\hss}}
-\def\mkt@anhboxc#1{\setbox\@tempboxa\hbox{#1\@makefnmark}%
- \ifdim\wd\@tempboxa>\mkt@namewidth\box\@tempboxa
- \else\hbox to\mkt@namewidth{\hss\box\@tempboxa\hss}\fi} % 2.08(1)
-
-\def\mkt@getnamewidth#1#2{\setbox\@tempboxa\hbox{\let\affiref\@gobble#2}%
- \@tempdimb\wd\@tempboxa
- \advance\@tempdimb.5\@tempdima #1\@tempdimb \mkt@cntb\@tempdima
- \divide#1\mkt@cntb}
-
-% English author name format
-% 1 -> ^*
-% 2 -> ^* and~^*
-% 3 or more -> ,^* ,^* ... ^* and~^*
-% (be careful the position of comma).
-%
-% No special tricks for assignment names to line. Names are simply put in a
-% \centering paragraph.
-
-\def\mkt@makeeauthor{\let\member\@gobble \let\nomember\relax
- \let\stmember\@gobble % Those are not necessary in final manuscript.
- \leavevmode\let\mkt@and\relax\gdef\affi@thefnmark{}%
- \def\@thefnmark{\affi@thefnmark}%
- \expandafter\mkt@imakeeauthor\@eauthor\and\@nil\and}
-\def\mkt@imakeeauthor#1\and#2\and{\def\@tempa{#2}\ifx\@tempa\@nnil
- #1\@makefnmark\let\next\relax
- \else
- \def\@tempb{#1}\def\next{\mkt@iimakeeauthor#2\and}%
- \fi\next}
-\def\mkt@iimakeeauthor#1\and{\def\@tempa{#1}\ifx\@tempa\@nnil
- \@makefnmark\ {\rm{and}~}\gdef\affi@thefnmark{}\hbox{\@tempb}%
- \@makefnmark\let\next\relax
- \else
- \mkt@and\hbox{\@tempb}\let\mkt@and\mkt@andmid
- \let\next\mkt@iimakeeauthor
- \fi\def\@tempb{#1}\next}
-\def\mkt@andmid{,\@makefnmark\ \gdef\affi@thefnmark{}}
-
-% Macros to specify author's affiliation easily.
-% 2.12(7)>>
-\newcounter{affi@footnote} \c@affi@footnote\z@
-\newcounter{affi@pfootnote} \c@affi@pfootnote\z@
-\def\affilabel{\affi@deflabels\affi@affilabel}
-\def\paffilabel{\affi@deflabels\affi@paffilabel}
-\def\affi@deflabels#1#2#3{{\def\protect{\noexpand\protect\noexpand}%
- \let\affi@affilabel\relax \let\affi@paffilabel\relax \let\\\relax
- \xdef\affi@labels{\affi@labels#1{#2}{#3}}}}
-\def\affi@labels{}
-\def\affi@affilabel{\begingroup \affi@label{affi@footnote}\@makefnmarkdagger}
-\def\affi@paffilabel#1#2{\begingroup
- \def\protect{\noexpand\protect\noexpand}%
- \def\\{\noexpand\\Presently with \ignorespaces}%
- \edef\@tempa{\ifDS@english Presently with \else % 1.04(1d)
- \ipsj@j@presently\fi#2}% % 2.12(1c)
- \affi@label{affi@pfootnote}\@makefnmarkast{#1}\@tempa}
-\def\affi@label#1#2#3#4{\stepcounter{#1}%
- \@ifundefined{affi@r@#3}%
- {\expandafter\xdef\csname affi@r@#3\endcsname{%
- \csname the#1\endcsname}}%
- {\ipsj@warning{Affiliation label `#3' multiply defined}}%
- % 2.00(3)
- \let\affi@footnotetext\relax\let\\\relax
- \def\protect{\noexpand\protect\noexpand}%
- \xdef\@thanks{\@thanks
- \affi@footnotetext
- {\csname the#1\endcsname}{\protect#2}{#4}}\endgroup}
-
-\def\affiref#1{\@ifundefined{affi@r@#1}%
- {\ipsj@warning{Affiliation reference `#1' undefined}% 2.00(3)
- \def\@tempa{?}}%
- {\def\@tempa{\csname affi@r@#1\endcsname}}%
- {\def\protect{\noexpand\protect\noexpand}%
- \ifx\affi@thefnmark\empty \xdef\affi@thefnmark{\@tempa}\else
- \xdef\affi@thefnmark{\affi@thefnmark,\hskip\z@\@tempa}\fi}}
-\def\affi@footnotetext#1#2#3{{\def\@thefnmark{#1}%
- \def\@makefnmarkforfn{#2}\@footnotetext{#3}}}
-
-\def\theaffi@footnote{{\dagger}\number\c@affi@footnote}
-\def\theaffi@pfootnote{{\ast}\number\c@affi@pfootnote}
-
-\def\thanks#1{\begingroup
- \stepcounter{affi@pfootnote}\let\thempfn\theaffi@pfootnote
- \let\@thefnmark\thempfn \@makefnmark
- \let\affi@footnotetext\relax\let\\\relax
- \def\protect{\noexpand\protect\noexpand}%
- \xdef\@thanks{\@thanks
- \affi@footnotetext{\thempfn}{\protect\@makefnmarkast}{#1}}%
- \endgroup}
-% 2.12(7)<<
-
-% \contact is necessary only for drafts.
-\long\def\contact#1{}
-
-
-%%%%%% Page Header and Footer %%%%%%
-
-\mark{{}{}}
-
-\newcounter{volpageoffset} % You must set this to appropriate value
-\setcounter{volpageoffset}{1} % for each issue!
-\ifDS@printer % 2.12(4d)>>
-\def\LastPageNumber{\gdef\ipsj@last@page}
-\fi % 2.12(4d)<<
-
-% 2.00(16)>>
-\let\latex@document\document
-\def\document{\latex@document
- \ifDS@private\else
- \ifDS@online \global\c@page\ipsj@olh@page % 2.12(4)
- \else \global\c@page\c@volpageoffset \fi \fi} % 2.07(8)
-\let\c@volpage\c@page % for backward compatibility
-\def\thevolpage{\thepage} % for backward compatibility
-% 2.00(16)<<
-
-\newcounter{volume} % 2.12(1c)>>
-\newcounter{number}
-\let\c@month\c@number % 2.07(4)
-\newcounter{year} % 2.12(1c)<<
-
-\ifDS@printer % 2.12(4b)>>
-\def\SetOnlineHeaderInfo#1#2#3#4{% % []
- \def\ipsj@olh@vol{#1}%
- \def\ipsj@olh@year{#2}%
- \def\ipsj@olh@month{#3}%
- \def\ipsj@olh@page{#4}%
- \@ifnextchar[%]
- \ipsj@olh@setlastpage\relax}
-\def\ipsj@olh@setlastpage[#1]{\def\ipsj@olh@lastpage{#1}}
-\fi % 2.12(4b)<<
-
-% 2.07(4)>>
-\ifDS@online % 2.12(4b)
-\def\@thevolno{Vol.~\ipsj@olh@vol} % 2.12(4b)
-\else
-\def\@thevolno{Vol.~\arabic{volume}\hskip\@mojihaba No.~% % 2.12(1c)>>
- \ifipsj@trans SIG\ \ipsj@sig@numa(\ipsj@sig@code\ \ipsj@sig@numb)%
- \else \arabic{number}\fi} % 2.12(1c)<<
-\fi
-% 2.07(4)<<
-% 2.00(15)>>
-% 2.12(1c)(4b)>>
-\def\@monthyear{%
- \ifDS@online \ipsj@monthyear\ipsj@olh@month\ipsj@olh@year
- \else \c@year1959 \advance\c@year\c@volume
- \ipsj@monthyear\c@number\c@year \fi}
-\def\ipsj@monthyear#1#2{\ifcase#1\or Jan.\or Feb.\or Mar.\or Apr.\or May\or
- June\or July\or Aug.\or Sep.\or Oct.\or Nov.\or Dec.\else\fi
- \hskip.5\@mojihaba \number#2}
-% 2.12(1c)(4b)<<
-% 2.00(15)<<
-
-% 2.07(2)>>
-\def\transaction#1#2#3{\ipsj@transtrue
- \def\ipsj@sig@code{#1}\def\ipsj@sig@numa{#2}\def\ipsj@sig@numb{#3}%
- \expandafter\let\expandafter\ipsj@sig@title
- \csname ipsj@sig@#1@\ifDS@english e\else j\fi\endcsname
- \ifx\ipsj@sig@title\relax
- \ipsj@warning{Transaction code #1 is unknown}\fi
- \let\ipsj@oddhead@s\ipsj@oddhead@a
- \ifDS@online\else % 2.12(4c)
- \settowidth\@tempdima{%
- \ipsj@ohcheck\ipsj@ohcvolno\hdr@tipsj\ipsj@ohcvolno}%
- \ifdim\@tempdima>\textwidth
- \let\ipsj@oddhead@s\ipsj@oddhead@b
- \settowidth\@tempdima{\c@month3\relax % "Mar." is longest
- \ipsj@ohcheck\ipsj@ohcvolno\hdr@tipsj\@monthyear}%
- \ifdim\@tempdima>\textwidth
- \let\ipsj@oddhead@s\ipsj@oddhead@c
- \fi \fi \fi}
-
-\def\ipsj@sig@PRO@e{Programming}
-\def\ipsj@sig@TOM@e{Mathematical Modeling and Its Applications}
-\def\ipsj@sig@TOD@e{Databases}
-\def\ipsj@sig@HPS@e{High Performance Computing Systems}
-\def\ipsj@sig@CVIM@e{Computer Vision and Image Media}
-\def\ipsj@sig@ACS@e{Advanced Computing Systems} % 2.09(2)
-\def\ipsj@sig@TBIO@e{Bioinformatics} % 2.11(3)
-\def\ipsj@sig@SLDM@e{System LSI Design Methodology} % 2.12(8)
-% 2.07(2)<<
-
-\def\copyrightnotice{\long\def\ipsj@cnotice}
-
-% 1.05(2)>>
-\ifDS@techrep
-\def\ps@headings{\let\@mkboth\markboth
- \def\@oddhead{\@checklines\hss}\let\@evenhead\@oddhead
- \def\@oddfoot{}\def\@evenfoot{}}
-\let\ps@myheadings\ps@headings
-
-\else\ifDS@private % 2.07(8)>>
-\def\ps@headings{\let\@mkboth\markboth
- \def\@oddhead{\@checklines\hfil\thepage\hskip12\@Q}%
- \def\@evenhead{\@checklines\hskip12\@Q\thepage\hfil}
- \def\@oddfoot{}\def\@evenfoot{}}
-\def\ps@myheadings{\ps@headings
- \def\@oddhead{\@checklines
- \smash{\parbox[b]{.75\textwidth}{\@nameuse{ipsj@cnotice}}}%
- \hfil\thepage\hskip12\@Q}%
- \let\@evenhead\@oddhead}
- % 2.07(8)<<
-\else
-% 1.05(2)<<
-\def\ps@headings{\let\@mkboth\markboth
- \def\@oddfoot{}
- \def\@evenfoot{}
- \def\@evenhead{\fs@header \@checklines
- \hskip12\@Q\rlap{\thepage}\hss % 2.07(3)
- \hdr@tipsj\hss\llap{\@monthyear}\hskip12\@Q}
- \def\@oddhead{\fs@header \@checklines
- \ipsj@oddhead@t\@titlestring\thepage} % 2.07(3)
- \def\sectionmark##1{}\def\subsectionmark##1{}}
-
-\def\ps@myheadings{\let\@mkboth\@gobbletwo
- \def\@oddhead{\fs@header \@checklines
- \ipsj@oddhead@s\hdr@tipsj\@monthyear} % 2.07(3)
- \def\@oddfoot{\fs@footer\hfil\thepage\hfil}
- \let\@evenhead\@oddhead
- \let\@evenfoot\@oddfoot
- \def\sectionmark##1{}\def\subsectionmark##1{}}
-\fi\fi % 1.05(2)
- % 2.07(8)
-
-% 2.12(9)>>
-\def\ipsj@lc@Rtop{\rlap{\smash{\rule[-\headsep]{0.05mm}{10mm}%
- \rule[-\headsep]{10mm}{0.05mm}}}}
-\def\ipsj@lc@Ltop{\llap{\smash{\rule[-\headsep]{10mm}{0.05mm}%
- \rule[-\headsep]{0.05mm}{10mm}}}}
-\def\ipsj@lc@Lbot{\llap{\smash{\raisebox{-\textheight}{%
- \raisebox{-\headsep}{\rule{10mm}{0.05mm}\rule[-10mm]{0.05mm}{10mm}}}}}}
-\def\ipsj@lc@Rbot{\rlap{\smash{\raisebox{-\textheight}{%
- \raisebox{-\headsep}{\rule[-10mm]{0.05mm}{10mm}\rule{10mm}{0.05mm}}}}}}
-
-\def\ps@layoutcheck{\ps@headings
- \let\ipsj@lc@evenhead\@evenhead
- \def\@evenhead{\ipsj@lc@Lbot \ipsj@lc@Ltop
- \ipsj@lc@evenhead
- \ipsj@lc@Rtop \ipsj@lc@Rbot}%
- \let\ipsj@lc@oddhead\@oddhead
- \def\@oddhead{\ipsj@lc@Lbot \ipsj@lc@Ltop
- \ipsj@lc@oddhead
- \ipsj@lc@Rtop \ipsj@lc@Rbot}%
- \let\ipsj@lc@myheadings\ps@myheadings
- \def\ps@myheadings{\ipsj@lc@myheadings
- \let\ipsj@lc@fpoddhead\@oddhead
- \def\@oddhead{\ipsj@lc@Lbot \ipsj@lc@Ltop
- \ipsj@lc@fpoddhead
- \ipsj@lc@Rtop \ipsj@lc@Rbot}%
- \let\@evenhead\@oddhead}}
-% 2.12(9)<<
-
-% 2.07(3)>>
-\def\ipsj@oddhead@a#1#2{\hskip12\@Q \rlap{\@thevolno}\hss#1\hss
- \llap{#2}\hskip12\@Q}
-\def\ipsj@oddhead@b#1#2{\hskip12\@Q \@thevolno\qquad#1\hss
- \llap{#2}\hskip12\@Q}
-\def\ipsj@oddhead@c#1#2{\hskip12\@Q \@thevolno\hss#1\hss#2\hskip12\@Q}
-\let\ipsj@oddhead@t\ipsj@oddhead@a
-\let\ipsj@oddhead@s\ipsj@oddhead@a
-% 2.07(3)<<
-
-\def\ipsj@online@trans{IPSJ Digital Courier} % 2.12(4c)
-\def\ipsj@online@journal{IPSJ Digital Courier} % 2.12(4c)
-% 2.02(2),2.07(4)>>
-\ifDS@english
-\def\hdr@tipsj{\smash{%
- \ifDS@online % 2.12(4c)>>
- \ifipsj@trans
- \ipsj@online@trans
- \else
- \ipsj@online@journal\fi % 2.12(4c)<<
- \else
- \ifipsj@trans
- IPSJ Transactions on \ipsj@sig@title
- \else
- IPSJ Journal\fi
- \fi}}
-\else
-\def\hdr@tipsj{\smash{\ipsj@j@jipsj % 2.12(1c)>>
- \ifipsj@trans \ipsj@j@colon \ipsj@sig@title \fi}} % 2.12(1c)<<
-\fi
-% 2.02(2),2.07(4)<<
-
-% \checklines enables to draw a horizontal rule onto each baselines.
-
-\newif\if@checklines \@checklinesfalse
-\def\checklines{\@checklinestrue}
-\def\@checklines{\if@checklines \rlap{\smash{\vtop{\normalsize
- \hbox{} \vskip\headsep \hrule width\textwidth\vskip-.4pt \vskip\topskip
- \hrule\vskip-.4pt
- \ifDS@techrep\@tempcnta50\else % 1.05(2)
- \ifDS@english\@tempcnta53\else\@tempcnta45\fi\fi % 1.05(2)
- \relax\@@checklines}}}\fi
- \ifDS@english\@tempcnta-7\else\@tempcnta\z@\fi\relax
-% 1.05(2)>>
- % register marks are removed % 2.12(2d)
-% 1.05(2)<<
- }
-\def\@@checklines{\ifnum\@tempcnta>\z@
- \vskip\normalbaselineskip \hrule\vskip-.4pt \advance\@tempcnta\m@ne
- \let\next\@@checklines\else\let\next\relax\fi\next}
-
-\pagestyle{headings}
-\pagenumbering{arabic}
-
-\ifDS@english\else
-\def\today{\the\year\ipsj@j@year \the\month\ipsj@j@month \the\day\ipsj@j@day}
- % 2.12(1c)
-\fi
-
-
-%%%%%% Output Routine %%%%%%
-
-% To balance the final page,
-% following code is borrowed from nicetwocolumn style
-
-% you can refrain from balancing by falsifying following switch!
-%% Initial value of \if@lastpagebalancing is false. It may be turned true by
-%% biography processing macros. (H.N.)
-
-\newif\if@lastpagebalancing \@lastpagebalancingfalse
-\newif\if@finalpageoutput \@finalpageoutputfalse
-% incorporate balanced output to \enddocument
-\let\latex@enddocument\enddocument
-\def\enddocument{\@finalpageoutputtrue
- \if@lastpagebalancing
- \global\let\@outputdblcol\opt@balanceoutputdblcol\fi
- \ifDS@preface
- \global\let\@outputdblcol\opt@balanceoutputdblcol\fi
- \ifDS@abstract % 2.07(7)>>
- \hbox{}\newpage
- \ifDS@english \rightline{(Presented \ra@presented)}
- \else \expandafter\ra@putpresented\ra@presented \fi
- \fi % 2.07(7)<<
-% % 2.12(4d)>>
- \if@filesw \write\@auxout{\string\gdef\string\ipsj@lastpage
- {\number\c@page}}\fi % 2.12(4d)<<
- \latex@enddocument}
-
-\newbox\@leftcolumnfootnote \newbox\@rightcolumnfootnote
-\newif\if@leftfootnoteexist \@leftfootnoteexistfalse
-\newif\if@rightfootnoteexist \@rightfootnoteexistfalse
-\newif\ifopt@floatexist \opt@floatexistfalse
-
-% 2.00(12) \color@{begin/end}group ignored
-\def\enlargethispage{\ipsj@warning{\string\enlargepage is ignored}}
- % 2.00(3,12)
-\def\@makecol{\vbadness10000 \lineskiplimit\normallineskiplimit % 1.05(1)
- \setbox\@outputbox\box\@cclv
- \if@firstcolumn
- \ifvoid\footins \global\@leftfootnoteexistfalse
- \else
- \global\@leftfootnoteexisttrue
- \@tempdima\dp\footins
- \global\setbox\@leftcolumnfootnote\vbox{
- \unvbox\footins\vskip-\@tempdima}
- \fi
- \ifx\@botlist\@empty\else\global\opt@floatexisttrue\fi
- \else
- \ifvoid\footins \global\@rightfootnoteexistfalse
- \else
- \global\@rightfootnoteexisttrue
- \@tempdima\dp\footins
- \global\setbox\@rightcolumnfootnote\vbox{
- \unvbox\footins \vskip-\@tempdima}
- \ifx\@toplist\@empty\else\global\opt@floatexisttrue\fi
- \fi
- \fi
- \xdef\@freelist{\@freelist\@midlist}\gdef\@midlist{}\@combinefloats
- \global\maxdepth\@maxdepth}
-
-% 2.01(1) >>
-\let\latex@vtryfc\@vtryfc
-\def\@vtryfc{\if@firstcolumn \global\@leftfootnoteexistfalse
- \else \global\@rightfootnoteexistfalse \fi \latex@vtryfc}
-% 2.01(1) <<
-
-% 1.01(1,2) >>
-\let\latex@addtobot\@addtobot
-\def\@addtobot{\latex@addtobot\global\maxdepth\@maxdepth}
-\let\latex@combinefloats\@combinefloats
-\def\@combinefloats{\ifx\@botlist\@empty\else \dimen@\dp\@outputbox
- \setbox\@outputbox\vbox{\unvbox\@outputbox \vskip-\dimen@}\fi
- \latex@combinefloats}
-% 1.01(1,2) <<
-
-\newskip\opt@baselineskip
-\def\@outputdblcol{
- \if@firstcolumn \global\@firstcolumnfalse
- \global\setbox\@leftcolumn\box\@outputbox
- \global\opt@baselineskip\baselineskip
- \else \global\@firstcolumntrue \global\opt@floatexistfalse
- \global\bib@adjustheight-\maxdimen
- \setbox\@leftcolumn\vbox to\@colht{\boxmaxdepth\@maxdepth % 1.01(3)
- \unvbox\@leftcolumn
- \if@leftfootnoteexist\vfil
- \footnoterule\box\@leftcolumnfootnote\fi}
- \setbox\@outputbox\vbox to\@colht{\boxmaxdepth\@maxdepth % 1.01(3)
- \unvbox\@outputbox
- \if@rightfootnoteexist\vfil
- \footnoterule\box\@rightcolumnfootnote\fi}
- \global\maxdepth\@maxdepth
- \if@finalpageoutput
- \if@leftfootnoteexist\else\if@rightfootnoteexist\else
- \setbox\@leftcolumn\vbox{\unvbox\@leftcolumn}%
- \setbox\@outputbox\vbox{\unvbox\@outputbox}
- \ifdim\ht\@leftcolumn<\ht\@outputbox
- \setbox\@leftcolumn\vbox to\ht\@outputbox{
- \unvbox\@leftcolumn}%
- \else
- \setbox\@outputbox\vbox to\ht\@leftcolumn{
- \unvbox\@outputbox}%
- \fi
- \fi\fi\fi
- \setbox\@outputbox\vbox{\hbox to\textwidth{\hbox to\columnwidth
- {\box\@leftcolumn \hss}\hfil \vrule width\columnseprule\hfil
- \hbox to\columnwidth{\box\@outputbox \hss}}}
- \@combinedblfloats
- \@outputpage \begingroup \@dblfloatplacement \@startdblcolumn
- \@whilesw\if@fcolmade \fi{\@outputpage\@startdblcolumn}%
- \endgroup
- \fi}
-
-\let\opt@outputdblcol\@outputdblcol
-\chardef\opt@boxa\z@
-\chardef\opt@boxb\@ne
-\chardef\opt@boxc\tw@
-\def\opt@magicpenalty{1234}
-\def\opt@balanceoutputdblcol{\let\next\opt@ibalanceoutputdblcol
- \if@firstcolumn \let\next\opt@outputdblcol
- \else \ifopt@floatexist \opt@warning \let\next\opt@outputdblcol
- \else\ifx\@deferlist\@empty\else
- \opt@warning \let\next\opt@outputdblcol\fi\fi\fi
- \next}
-\def\opt@ibalanceoutputdblcol{%
- \setbox\@leftcolumn\vbox{\unvbox\@leftcolumn
- \ifnum\lastpenalty=\opt@magicpenalty\relax\else
- \@tempcnta10\relax\@whilenum\@tempcnta>0\do{%
- \unskip\unskip\unkern\unpenalty
- \advance\@tempcnta\m@ne}\fi}
- \advance\opt@baselineskip-\dp\@leftcolumn
- \ifdim\dp\@leftcolumn=\z@ \ifdim\opt@baselineskip=\baselineskip
- \@tempdima\ht\@leftcolumn \advance\@tempdima-\topskip
- \divide\@tempdima\baselineskip
- \@tempcnta\@tempdima \@tempdima\@tempcnta\baselineskip
- \advance\@tempdima\topskip
- \advance\@tempdima-\ht\@leftcolumn
- \advance\opt@baselineskip\@tempdima \fi\fi
- \advance\opt@baselineskip-\topskip
- \setbox\@outputbox\vbox{\unvbox\@outputbox}
- \ifdim\ht\@outputbox=\topskip \ifdim\dp\@outputbox=\z@
- \setbox\opt@boxa\vbox{\unvcopy\@outputbox\unskip
- \global\setbox\opt@boxb\lastbox
- \global\dimen@\lastskip}
- \ifvoid\opt@boxb\else\ifdim\ht\opt@boxb=\z@
- \ifdim\dp\opt@boxb=\z@\ifdim\dimen@=\topskip
- \@firstcolumntrue\fi\fi\fi\fi\fi\fi
- \setbox\opt@boxa\copy\@outputbox
- \setbox\@outputbox\vbox{\unvcopy\@leftcolumn
- \if@firstcolumn\else
- \vskip\opt@baselineskip
- \penalty\interlinepenalty\unvbox\@outputbox\fi}
- \@tempdima\ht\@outputbox \advance\@tempdima\topskip
- \divide\@tempdima\tw@ \advance\@tempdima100sp
- \splittopskip\topskip \splitmaxdepth\@maxdepth
- \ifdim\bib@adjustheight<\@M pt
- \opt@split\@outputbox\opt@boxb\@tempdima
- \ifdim\ht\opt@boxb<\bib@adjustheight
- \opt@split\@leftcolumn\opt@boxc\bib@adjustheight
- \opt@split\opt@boxc\opt@boxb\@tempdima
- \if@firstcolumn
- \opt@adjust\opt@boxc{\unvbox\@leftcolumn}
- \else\opt@adjust\opt@boxc{\ifvoid\@leftcolumn\else
- \unvbox\@leftcolumn\vskip\opt@baselineskip\fi
- \unvbox\opt@boxa}\fi\fi
- \else
- \advance\bib@adjustheight-\@M pt
- \opt@split\opt@boxa\opt@boxc\bib@adjustheight
- \setbox\@outputbox\vbox{\unvbox\@leftcolumn
- \vskip\opt@baselineskip\unvbox\opt@boxc}
- \opt@split\@outputbox\opt@boxb\@tempdima
- \opt@adjust\@outputbox{\unvbox\opt@boxa}
- \fi
- \if@leftfootnoteexist
- \setbox\opt@boxb\vbox to\@colht{\box\opt@boxb\vfill
- \footnoterule\box\@leftcolumnfootnote}\fi
- \if@rightfootnoteexist
- \setbox\@outputbox\vbox to\@colht{\box\@outputbox\vfill
- \footnoterule\box\@rightcolumnfootnote}\fi
- \ifdim\ht\@outputbox>\ht\opt@boxb
- \setbox\opt@boxb\vbox to\ht\@outputbox{\unvbox\opt@boxb}
- \else
- \setbox\@outputbox\vbox to\ht\opt@boxb{\unvbox\@outputbox}
- \fi
- \setbox\@outputbox\vbox{\hbox to\textwidth{\hbox to\columnwidth
- {\box\opt@boxb \hss}\hfil \vrule width\columnseprule\hfil
- \hbox to\columnwidth{\box\@outputbox \hss}}}
- \global\@firstcolumntrue \@combinedblfloats
- \@outputpage \begingroup \@dblfloatplacement \@startdblcolumn
- \@whilesw\if@fcolmade \fi{\@outputpage\@startdblcolumn}\endgroup}
-
-\if@LaTeX@eN % 2.00(3)>>
-\def\opt@warning{\ClassWarning{ipsjpapers}{%
- Single column floats still remain on biography\MessageBreak
- processing.\MessageBreak
- Do \string\verbbiography\space for manual balcing}}
-\else
-\def\opt@warning{\@warning{Single column floats still remain on biography
- processing.^^J\space\space\space\space\space
- \space\space\space\space\space\space\space\space\space\space
- Do \string\verbbiography\space for manual balancing}}
-\fi % 2.00(3)<<
-\def\opt@split#1#2#3{\setbox#2\vsplit#1to#3\setbox#2\vbox{\unvbox#2}}
-\def\opt@adjust#1#2{\@tempdima\ht#1 \advance\@tempdima-\topskip
- \@tempdimb\@tempdima \divide\@tempdima\baselineskip
- \@tempcnta\@tempdima \@tempdima\@tempcnta\baselineskip
- \advance\@tempdima-\@tempdimb
- \ifdim\@tempdima<\z@ \advance\@tempdima\baselineskip \fi
- \advance\@tempdima\baselineskip \advance\@tempdima-\dp#1
- \advance\@tempdima-\topskip
- \setbox\@outputbox\vbox{\ifvoid#1\else\unvbox#1\vskip\@tempdima\fi#2}}
-
-\let\latex@outputpage\@outputpage
-% \opt@finalgap: vertical space above the \hrule at the end of paper.
-% \opt@finallinewidth: width of the \hrule at the end of paper.
-\@tempdima2\baselineskip % This might be changed
-\edef\opt@finalgap{\the\@tempdima}
-\def\opt@finallinewidth{220\@Q} % This might be changed
-\ifDS@techrep \let\opt@finallinewidth\z@ \fi % 1.05(2)
-
-\def\@outputpage{\if@finalpageoutput
- \setbox\@outputbox\vbox{\unvbox\@outputbox}
- \@tempdima\dp\@outputbox
- \@tempdimb\ht\@outputbox \advance\@tempdimb\opt@finalgap\relax
- \ifdim\@tempdimb>\textheight\else
- \setbox\@outputbox\vbox{\unvbox\@outputbox\vskip-\@tempdima
- \nointerlineskip\vbox to\z@{\vskip\opt@finalgap
- \hbox to\textwidth{\hss
- \vrule height0.4pt width\opt@finallinewidth\hss}
- \vss}}\fi\fi
- \ifASCII\if@LaTeX@e\ifipsj@nonjp\else
- \@@topmargin\topmargin \fi\fi\fi % 2.00(13),2.12(1b)
- \latex@outputpage}
-
-%%%%%% Biography %%%%%%
-
-% If you want to control the allocation of biographies manually, do
-% \verbbiography and insert \adjust{} just before
-% \member (or its relatives). For example;
-% \verbbiography
-% \begin{biography}
-% \member{...} ...
-% \adjust{\protect\newpage}
-% \member{...} ...
-% \adjust{\protect\vspace{1.3cm}}
-% \member{...} ...
-% \end{biography}
-% will make page break just after the biography of the 1st author, and will
-% insert a vertical space of 1.3cm just after that of the 2nd. It is
-% strongly recommended to \protect any control sequence in the argument of
-% \adjust.
-
-% \received and \accepted define the dates of receipt/acceptance.
-% They are put at the end of manuscript (just before biographies) by
-% \ra@putrcvacc.
-
-% 2.12(1c)>>
-% \def\ra@nengo is moved to the tail % 2.12(1c)
-\ifDS@english
-\def\received#1#2#3{\def\ra@received{\ra@date{#1}{#2}{#3}}\ignorespaces}
-\def\accepted#1#2#3{\def\ra@accepted{\ra@date{#1}{#2}{#3}}\ignorespaces}
- % 2.07(5)
-% \rereceived is moved below % 2.12(5)
-\def\presented#1#2#3{\def\ra@presented{\ra@date{#1}{#2}{#3}}\ignorespaces}
- % 2.07(7)
-\ifDS@printer % 2.12(4e)>>
-\def\ReleasedToOnline#1#2#3{\ifDS@online
- \def\ra@released{\ra@date{#1}{#2}{#3}}\fi}
-\fi % 2.12(4e)<<
-\def\ra@received{??? ??, ????}
-\def\ra@accepted{??? ??, ????}
-\def\ra@presented{??? ??, ????} % 2.07(7)
-\def\ipsj@TOD@editor{(Editor in Charge:\quad{\it\ipsj@TOD@ename\/})}
- % 2.07(6)
- % 2.12(6)
-
-\ifDS@TBIO % 2.11(4)>>
-\def\ipsj@TOD@editor{(Communicated by\quad{\it\ipsj@TOD@ename\/})}% 2.12(6)
-\fi % 2.11(4)<<
-\else
-\def\received#1#2#3{\def\ra@received{#1&}\ignorespaces}
-\def\accepted#1#2#3{\def\ra@accepted{#1&}\ignorespaces}
- % 2.07(5)
-% \rereceived is moved below % 2.12(5)
-\def\presented#1#2#3{\def\ra@presented{#1&}\ignorespaces} % 2.07(7)
-\def\ra@received{?&?&?&}
-\def\ra@accepted{?&?&?&}
-\def\ra@presented{?&?&?&} % 2.07(7)
-\def\ipsj@TOD@editor{\ipsj@j@lp\ipsj@j@edinch
- \quad\ipsj@TOD@ename\ipsj@j@rp} % 2.07(6)
- % 2.08(2)
- % 2.12(6)
-\fi
-% aliasing of \received etc. is moved to the tail.
-
-% 2.12(1c)<<
-
-\let\ra@elt\relax % 2.12(5)>>
-\def\rereceived#1#2#3{\ifx\ra@rereceived\undefined
- \def\ra@rereceived{\ra@elt{}{#1}{#2}{#3}}\def\ra@rerecnum{1}%
- \else
- \@tempcnta\ra@rerecnum \advance\@tempcnta\@ne
- \edef\ra@rerecnum{\number\@tempcnta}%
- \edef\ra@rereceived{\ra@rereceived
- \ra@elt{(\ra@rerecnum)}{#1}{#2}{#3}}%
- \fi \ignorespaces} % 2.12(5)<<
-
-\def\edInCharge#1{\def\ipsj@TOD@ename{#1}\ignorespaces} % 2.07(6)
-
-\def\ra@putrcvacc{\rightline{\vtop{\normalsize\tabskip\z@
- \ifDS@english
- \llap{(Received \ra@received)}
- \def\ra@elt##1##2##3##4{% % 2.12(5)>>
- \llap{(Revised##1 \ra@date{##2}{##3}{##4})}}
- \ifx\ra@rereceived\undefined \else \ra@rereceived \fi
- % 2.12(5)<<
- \llap{(Accepted \ra@accepted)}
- \ifx\ra@released\undefined\else % 2.12(4e)
- \llap{(Released \ra@released)}\fi % 2.12(4e)
- \hbox{}
- \else % 2.12(1c)>>
- \def\ra@elt##1##2##3##4{##2#3#4&\ipsj@j@rerec##1)\cr}%
- % 2.12(5)
- \halign{(\ra@nengo\hskip\jasciikanjiskip
- \hfil##\hfil\hskip\jasciikanjiskip \ipsj@j@year
- \hskip\jasciikanjiskip&
- \hfil##\hfil\hskip\jasciikanjiskip \ipsj@j@month
- \hskip\jasciikanjiskip&
- \hfil##\hfil\hskip\jasciikanjiskip \ipsj@j@day
- #\hfil\cr % 2.07(5)>>
- \ra@received \ipsj@j@received)\cr
- \ifx\ra@rereceived\undefined \else \ra@rereceived \fi
- % 2.12(5)
- \ra@accepted \ipsj@j@accepted)\cr\multispan3\cr}\fi}%
- % 2.07(5)<<
- % 2.12(1c)<<
- \hskip\@mojihaba}
- \nobreak\vskip-2\baselineskip\prevdepth\z@\hbox{}
- \ifDS@printer \ifDS@english % 2.12(4d)>>
- \ifipsj@trans
- \ifDS@online \noindent \ipsj@refer@trans \par \fi
- \else
- \ifDS@online\else \noindent \ipsj@refer@online \par \fi
- \fi \fi \fi % 2.12(4d)<<
- \ifipsj@recommendation\else % 2.04(2)
- \ifx\ipsj@TOD@ename\undefined\else % 2.07(6)>>
- \nobreak\vskip\baselineskip
- \hbox{\ipsj@TOD@editor}\fi % 2.07(6)<<
- \vskip\baselineskip\penalty\opt@magicpenalty\fi}% 2.04(2)
-\def\ra@date#1#2#3{\ifcase#2\or
- January\or February\or March\or April\or May\or June\or
- July\or August\or September\or October\or November\or December\fi
- \space#3, #1}
-\def\ra@jdate#1#2#3{#1&}
-\def\ra@putpresented#1&{\rightline{% % 2.12(1c)>>
- (\ra@nengo\hskip\jasciikanjiskip % 2.07(7)>>
- #1\hskip\jasciikanjiskip \ipsj@j@year \hskip\jasciikanjiskip
- #2\hskip\jasciikanjiskip \ipsj@j@month \hskip\jasciikanjiskip
- #3\hskip\jasciikanjiskip \ipsj@j@day\ipsj@j@presented)}}
- % 2.07(7)<<
- % 2.12(1c)<<
-
-% 2.12(4d)>>
-\def\ipsj@space{\hskip\z@ plus\fontdimen\thr@@\font \penalty5000\relax}
-\def\ipsj@refer@trans{%
- (Paper version of this article can be found in the IPSJ Transactions on
- \csname ipsj@sig@\ipsj@sig@code @e\endcsname,
- Vol.\ipsj@space\number\c@volume,
- No.\ipsj@space SIG\ipsj@sig@numa\ipsj@space
- (\ipsj@sig@code\ipsj@space\ipsj@sig@numb),
- pp.\ipsj@space\number\c@volpageoffset--\penalty5000\relax
- \ipsj@thelastpage\c@volpageoffset\ipsj@last@page.)}
-\def\ipsj@refer@online{%
- (Online version of this article can be found in the
- IPSJ Digital Courier,
- Vol.\ipsj@space\ipsj@olh@vol,
- pp.\ipsj@space\ipsj@olh@page--\penalty5000\relax
- \ipsj@thelastpage\ipsj@olh@page\ipsj@olh@lastpage.)}
-\def\ipsj@thelastpage#1#2{\begingroup
- \@tempcnta#1\relax
- \ifDS@online \@tempcntb\ipsj@olh@page
- \else \@tempcntb\c@volpageoffset\fi
- \ifx#2\undefined
- \ifx\ipsj@lastpage\undefined \def\@tempa{???}%
- \else \advance\@tempcntb-\ipsj@lastpage
- \advance\@tempcnta-\@tempcntb
- \def\@tempa{\number\@tempcnta}%
- \fi
- \else \def\@tempa{#2}%
- \fi
- \@tempa \endgroup}
-% 2.12(4d)<<
-
-\newbox\bio@picbox
-% The following define the height and width of a picture for biography, and
-% the indentation of the first 6 lines. They might be changed.
-\def\bio@picheight{100\@Q}
-\def\bio@picwidth{80\@Q}
-
-\newif\ifbio@showpicbox
-\bio@showpicboxtrue
-% Do \bio@showpicboxfalse if you don't want to put a frame box at the
-% position for picture.
-\ifDS@english
-\def\bio@lineheight{9\@Q}
-\def\bio@piclines{7}
-\def\bio@indent{91\@Q}
-\def\bio@hangafter{7}
-\else
-\def\bio@lineheight{8\@Q}
-\def\bio@piclines{6}
-\def\bio@indent{96\@Q}
-\def\bio@hangafter{5}
-\fi
-
-% \verbbiography forces verbatim output of biography (i.e. not ballanced).
-\newif\ifbio@verb \bio@verbfalse
-\def\verbbiography{\global\bio@verbtrue}
-% The environment biography saves texts for biographies into the list of
-% \inserts (for floats).
-\def\biography{\ifipsj@recommendation\else\par\ra@putrcvacc\fi % 2.04(2)
- \def\member{\bio@member{}{\ipsj@j@member}}% %2.12(3a)(1c)>>
- \def\nomember{\bio@member{}{}}%
- \def\stmember{\bio@member{}{\ipsj@j@stmember}}%
- \def\xmember{\bio@member{}}%
- \ifDS@printer
- \def\Kmember{\bio@Kmember{\ipsj@j@member}}%
- \def\Knomember{\bio@Kmember{}}%
- \def\Kstmember{\bio@Kmember{\ipsj@j@stmember}}
- \let\Kxmember\bio@Kmember
- \fi %2.12(3a)(1c)<<
- \ifDS@english \let\author\nomember % 2.12(3d)>>
- \ifDS@printer \let\Kauthor\Knomember \fi
- \fi % 2.12(3d)<<
- \let\adjust\bio@adjust
- \ifbio@showpicbox
- \setbox\bio@picbox\hbox{\hbox to\z@{\vrule\hskip-0.4pt%
- \vtop to\bio@picheight{\vskip\z@\hrule width\bio@picwidth
- \vfil\hrule}\hskip-0.4pt\vrule\hss}}
- \else
- \setbox\bio@picbox\hbox{}
- \fi
- \@tempdima\bio@piclines\baselineskip \advance\@tempdima\bio@lineheight
- \dp\bio@picbox\@tempdima
- \let\bio@egroup\relax\let\+\ignorespaces\let\@elt\relax
- \def\bio@list{}\global\bio@th\z@}
-
-\def\bio@Kmember#1#2#3{\bio@member{#3}{#1}{#2}} % 2.12(3a)
-\def\bio@member#1#2#3{\bio@egroup\let\bio@egroup\bio@@egroup % 2.12(3b)>>
- \@next\@currbox\@freelist\relax
- {\@latexerr{Too many unprocessed floats and biographies}\@ehb}%
- \def\@tempa{#3}\def\@tempb{#1}%
- \global\setbox\@currbox\hbox\bgroup
- \@tempswatrue
- \ifx\@tempb\@empty
- \ifDS@printer \@tempswafalse
- \else \raise\bio@lineheight\copy\bio@picbox
- \fi
- \else
- \setbox\@tempboxa\hbox to\z@{\vtop{\vskip\z@
- \hbox{\includegraphics
- [width=\bio@picwidth,height=\bio@picheight]{#1.eps}}}%
- \hss}
- \dp\@tempboxa\dp\bio@picbox
- \raise\bio@lineheight\box\@tempboxa
- \fi % 2.12(3b)<<
- \vtop\bgroup
- \let\par\\
- \if@tempswa \hangindent\bio@indent\hangafter-\bio@hangafter \fi
- \ifDS@english {\bf #3\ }%
- \else {\bf\bio@putauthor#3\+ \@nil}%
- \def\@tempb{#2}\ifx\@tempb\@empty\else % 2.12(3c)
- \ipsj@j@lp#2\ipsj@j@rp\fi{\@@par}\fi % 2.12(3c)(1c)
- \ignorespaces}
-
-% Author name format:
-% S + G < 5 -> fill space between S/G (like SS__G)
-% otherwise -> 1 KC space between S/G (like SS_GG)
-\def\bio@putauthor#1 #2\@nil{%
- \ifipsj@nonjp#1 #2\else
- \setbox\@tempboxa\hbox{\jintercharskip\z@#1#2}%
- \setbox\mkt@boxa\hbox{\jintercharskip1cm#1#2}%
- \ifdim\wd\@tempboxa=\wd\mkt@boxa #1 #2\else
- \def\@tempa{#2}\ifx\@tempa\empty
- {\def\+{}\ipsj@warning{Author name #1 doesn't have a space}}%
- % 2.00(3)
- #1\else
- \@tempdima\@mojihaba
- \mkt@getnamewidth\mkt@sname{#1}\mkt@getnamewidth\mkt@gname{#2}%
- \advance\mkt@sname\mkt@gname
- \ifnum\mkt@sname<5\leavevmode\hbox to5\@mojihaba{#1\hfil#2}\else
- #1#2\fi\fi\fi\fi}
-\def\bio@@egroup{\@@par\hbox{}\egroup\egroup\@tempdima\dp\@currbox
- \ifdim\@tempdima>\textheight
- \ipsj@warning{Biography of \@tempa\space is too long}% 2.00(3)
- \bio@verbtrue \fi
- \advance\@tempdima\baselineskip\global\advance\bio@th\@tempdima
- \global\dimen\@currbox\@tempdima \global\count\@currbox\z@
- {\let\protect\bio@protect\xdef\bio@list{\bio@list\@elt\@currbox}}}
-\def\bio@adjust#1{\bio@egroup\let\bio@egroup\relax
- \ifbio@verb {\let\protect\bio@protect\xdef\bio@list{\bio@list#1}\fi}}
-\def\bio@protect{\noexpand\protect\noexpand}
-
-\def\endbiography{\bio@egroup \@tempswatrue
- \ifx\@botlist\@empty\ifx\@deferlist\@empty \@tempswafalse \fi\fi
- \ifbio@verb\else\if@tempswa \bio@verbtrue \opt@warning\fi\fi
- \ifbio@verb{\let\@elt\bio@putelt \let\protect\relax \bio@list}%
- \else\bio@putbio\fi}
-
-\newdimen\bio@colht \newdimen\bio@splitheight
-\newdimen\bio@maxgap \newdimen\bio@lastgap
-\newdimen\bio@th \newdimen\bio@lhA \newdimen\bio@hA \newdimen\bio@hB
-\newdimen\bio@lh \newdimen\bio@rh
-\newdimen\bio@tempdim
-\newif\ifbio@awful
-\newinsert\bio@pbox \count\bio@pbox\@ne
-
-\def\bio@putbio{\let\@elt\relax \let\bio@vskip\relax \allowbreak
- \bio@colht\@colht \advance\bio@colht-\topskip
- \advance\bio@colht\baselineskip
- \@tempdima\bio@colht \advance\@tempdima-\@colroom
- \advance\@tempdima\pagetotal
- \if@firstcolumn
- \ifdim\@tempdima>\bio@th
- \global\@lastpagebalancingtrue
- {\let\@elt\bio@putelt\bio@list}\vskip-\baselineskip
- \else
- \ifdim\pagetotal=\z@\else
- \dimen\bio@pbox\@tempdima \advance\bio@th\@tempdima
- \edef\bio@list{\@elt\bio@pbox\bio@list}\fi
- \bio@splitheight\bio@colht \bio@splitpage
- \bio@splitheight.5\bio@th
- \let\bio@awfulput\bio@specialawfulput
- \bio@trybalance\fi
- \else \advance\@tempdima\bio@th
- \ifdim\@tempdima<\bio@colht
- \global\@lastpagebalancingtrue
- \ifdim\pagetotal=\z@ \global\opt@baselineskip2\baselineskip\fi
- {\let\@elt\bio@putelt\bio@list}\vskip-\baselineskip
- \else
- \let\bio@awfulput\bio@normalawfulput
- \bio@splitheight\z@ \advance\@tempdima-\bio@th
- \advance\bio@colht-\@tempdima \bio@splitpage
- {\let\@elt\bio@putelt\bio@list}\bio@nextpage
- \bio@trybalance\fi
- \fi}
-
-\def\bio@trybalance{\bio@split
- \let\bio@right\bio@rightA \let\bio@left\bio@leftA
- \def\bio@rightx{}\def\bio@leftx{}%
- \let\bio@hX\bio@hA \bio@balance
- \let\bio@rightxA\bio@rightx \let\bio@leftxA\bio@leftx
- \ifbio@awful\@tempcnta\tw@\else\@tempcnta\z@\fi
- \let\bio@right\bio@rightB \let\bio@left\bio@leftB
- \def\bio@rightx{}\def\bio@leftx{}%
- \let\bio@hX\bio@hB \bio@balance
- \let\bio@rightxB\bio@rightx \let\bio@leftxB\bio@leftx
- \ifbio@awful\advance\@tempcnta\@ne\fi
- \ifcase\@tempcnta
- \ifdim\bio@hA<\bio@hB \bio@balanceput\bio@leftxA\bio@rightxA
- \else \bio@balanceput\bio@leftxB\bio@rightxB\fi
- \or \bio@balanceput\bio@leftxA\bio@rightxA
- \or \bio@balanceput\bio@leftxB\bio@rightxB
- \else \bio@awfulput\fi
- \ifx\bio@deferred\empty\vskip-\baselineskip\let\next\relax
- \else\bio@nextpage\let\next\bio@trybalance\fi\next}
-
-\def\bio@split{\def\bio@leftA{}\def\bio@leftB{}%
- \def\bio@rightA{}\def\bio@rightB{}%
- \bio@lhA\z@\@tempdimb\z@ \bio@isplit}
-\def\bio@isplit{\ifx\bio@list\empty\let\next\relax\else
- \bio@car\@tempdima\@currbox\bio@list
- \bio@lhA\@tempdimb\advance\@tempdimb\@tempdima
- \edef\bio@leftB{\bio@leftB\@elt\@currbox}%
- \ifdim\@tempdimb>\bio@splitheight
- \edef\bio@rightA{\@elt\@currbox\bio@list}%
- \let\bio@rightB\bio@list \let\next\relax
- \else\edef\bio@leftA{\bio@leftA\@elt\@currbox}\let\next\bio@isplit
- \fi\fi\next}
-
-\def\bio@balanceput#1#2{{\let\@elt\bio@putelt\let\bio@vskip\bio@xvskip
- #1\bio@newpage#2}}
-\def\bio@normalawfulput{{\let\bio@vskip\@gobble \@tempcnta\z@
- \@tempdima\z@ \bio@addheight\@tempdima\bio@leftxB
- \ifdim\@tempdima<\bio@colht
- \@tempdima\z@ \bio@addheight\@tempdima\bio@rightxB
- \ifdim\@tempdima<\bio@colht \@tempcnta\@ne
- \let\@elt\bio@putelt
- \bio@leftxB\bio@newpage\bio@rightxB\fi\fi
- \ifnum\@tempcnta=\z@
- \@tempdima\z@ \bio@addheight\@tempdima\bio@leftxA
- \ifdim\@tempdima<\bio@colht
- \@tempdima\z@\bio@addheight\@tempdima\bio@rightxA
- \ifdim\@tempdima<\bio@colht \@tempcnta\@ne
- \let\@elt\bio@putelt
- \bio@leftxA\bio@newpage\bio@rightxA\fi\fi\fi
-% The following may be redundant.
- \ifnum\@tempcnta=\z@
- \let\@elt\bio@putelt\bio@listsave\fi}}
-\def\bio@specialawfulput{{\advance\bio@th-\dimen\bio@pbox
- \ifdim\bio@th<\bio@colht\bio@newpage
- \let\bio@newpage\relax\fi\bio@normalawfulput}}
-
-\def\bio@putelt#1{\ifnum\count#1>\z@\else\box#1
- \nobreak\vskip-2\baselineskip\prevdepth\z@\hbox{}
- \vskip\baselineskip\fi}
-\def\bio@xvskip#1{\vskip#1\prevdepth\z@}
-\def\bio@newpage{\vskip-\baselineskip\newpage}
-
-\def\bio@nextpage{\bio@newpage \let\bio@list\bio@deferred
- \bio@th\z@ \bio@addheight\bio@th\bio@list
- \bio@colht\@colht \advance\bio@colht-\topskip
- \advance\bio@colht\baselineskip
- \bio@splitheight\bio@colht \bio@splitpage
- \bio@splitheight.5\bio@th
- \let\bio@awfulput\bio@normalawfulput}
-\def\bio@splitpage{\let\bio@listsave\bio@list \bio@split
- \@tempdima\bio@th \advance\@tempdima-\bio@lhA
- \ifdim\@tempdima>\bio@colht
- \let\bio@leftAsave\bio@leftA \bio@th\bio@lhA
- \let\bio@list\bio@rightA \bio@splitheight\bio@colht
- \bio@split \edef\bio@list{\bio@leftAsave\bio@leftA}%
- \advance\bio@th\bio@lhA
- \let\bio@deferred\bio@rightA
- \else\def\bio@deferred{}\let\bio@list\bio@listsave\fi}
-
-% \bio@tolerablegap: maximum tolerable gap between adjacent bio's.
-% \bio@tolerablestretch:maximum stretch of a column.
-
-\@tempdima10\baselineskip % This might be changed
-\edef\bio@tolerablegap{\the\@tempdima}
-\@tempdima15\baselineskip
-\edef\bio@tolerablelastgap{\the\@tempdima}
-\def\bio@tolerablestretch{2} % This might be changed
-
-\def\bio@balance{\let\@elt\relax \edef\bio@bstack{%
- \@elt{{\bio@left}{\bio@right}{}{}{0pt}}}
- \bio@xbalance}
-\def\bio@xbalance{%
- \expandafter\bio@popstack\bio@bstack\@nil
- \let\bio@nextA\bio@xbalance \@tempdima\z@
- \ifx\bio@left\empty \ifx\bio@right\empty
- \let\bio@nextA\bio@balanceend
- \else
- \bio@addheight\@tempdima\bio@right
- \edef\bio@leftx{\bio@leftx\bio@vskip{\the\@tempdima}}%
- \advance\bio@hX\@tempdima
- \edef\bio@rightx{\bio@rightx\bio@right}\def\bio@right{}%
- \bio@pushstack \fi\else
- \ifx\bio@right\empty
- \bio@addheight\@tempdima\bio@left
- \edef\bio@rightx{\bio@rightx\bio@vskip{\the\@tempdima}}%
- \advance\bio@hX\@tempdima
- \edef\bio@leftx{\bio@leftx\bio@left}\def\bio@left{}%
- \bio@pushstack \else
- \bio@car\@tempdima\bio@leftbox\bio@left
- \bio@car\@tempdimb\bio@rightbox\bio@right
- \edef\bio@leftx{\bio@leftx\@elt\bio@leftbox}%
- \edef\bio@rightx{\bio@rightx\@elt\bio@rightbox}%
- \ifdim\@tempdima>\@tempdimb
- \advance\bio@hX\@tempdima
- \let\bio@da\@tempdima\let\bio@db\@tempdimb
- \bio@ibalance\bio@left\bio@right\bio@leftx\bio@rightx
- \else \advance\bio@hX\@tempdimb
- \let\bio@da\@tempdimb\let\bio@db\@tempdima
- \bio@ibalance\bio@right\bio@left\bio@rightx\bio@leftx\fi
- \fi\fi\bio@nextA}
-\def\bio@ibalance#1#2#3#4{\let\bio@nextB\relax
- \ifx#2\empty
- \advance\bio@da-\bio@db
- \edef#4{#4\bio@vskip{\the\bio@da}}\bio@pushstack\else
- \bio@car\bio@tempdim\@currbox#2 \advance\bio@db\bio@tempdim
- \ifdim\bio@da<\bio@db
- \advance\bio@db-\bio@da
- \let\@tempa#3\edef#3{#3\bio@vskip{\the\bio@db}}%
- \let\@tempb#4\edef#4{#4\@elt\@currbox}%
- \advance\bio@hX\bio@db \bio@pushstack
- \advance\bio@hX-\bio@db
- \edef#2{\@elt\@currbox#2}%
- \advance\bio@tempdim-\bio@db
- \let#3\@tempa \edef#4{\@tempb\bio@vskip{\the\bio@tempdim}}%
- \bio@pushstack
- \else \edef#4{#4\@elt\@currbox}\def\bio@nextB{\bio@ibalance#1#2#3#4}%
- \fi\fi\bio@nextB}
-\def\bio@balanceend{\bio@awfulfalse \def\bio@bstack{}%
- \bio@maxgap\z@ \bio@lastgap\z@
- \bio@checkgap\bio@leftx \bio@checkgap\bio@rightx
- \ifdim\bio@maxgap>\bio@tolerablegap\relax\bio@awfultrue\fi
- \ifdim\bio@lastgap>\bio@tolerablelastgap\relax\bio@awfultrue\fi
- \ifdim\bio@hX>\bio@tolerablestretch\bio@splitheight\bio@awfultrue\fi
- \ifdim\bio@hX>\bio@colht\bio@awfultrue\fi}
-\def\bio@checkgap#1{{\@tempdima\z@ \@tempdimb\z@ \bio@tempdim\z@
- \let\@elt\bio@cgelt \let\bio@vskip\bio@cgvskip #1\relax
- \ifdim\@tempdima>\bio@maxgap \global\bio@maxgap\@tempdima \fi
- \ifdim\bio@tempdim>\bio@lastgap \global\bio@lastgap\bio@tempdim \fi}}
-\def\bio@cgvskip#1{\advance\bio@tempdim#1\relax
- \ifdim\bio@tempdim>\@tempdimb \@tempdimb\bio@tempdim\fi}
-\def\bio@cgelt#1{\@tempdima\@tempdimb \bio@tempdim\z@}
-\def\bio@popstack\@elt#1#2\@nil{\edef\bio@bstack{#2}\bio@ipopstack#1}
-\def\bio@ipopstack#1#2#3#4#5{\def\bio@left{#1}\def\bio@right{#2}%
- \def\bio@leftx{#3}\def\bio@rightx{#4}\bio@hX#5\relax}
-\def\bio@pushstack{\def\bio@bstackx{}%
- \expandafter\bio@ipushstack\bio@bstack\@elt\@nil}
-\def\bio@ipushstack\@elt#1{\def\@tempc{#1}%
- \ifx\@tempc\@nnil \edef\bio@bstack{\bio@bstackx\bio@stackelt}%
- \let\bio@nextC\relax \else
- \bio@iipushstack#1\fi\bio@nextC}
-\def\bio@iipushstack#1#2#3#4#5{\ifdim#5>\bio@hX
- \edef\bio@bstackx{\bio@bstackx\bio@stackelt
- \@elt{{#1}{#2}{#3}{#4}{#5}}}%
- \let\bio@nextC\bio@pushstackend\else
- \edef\bio@bstackx{\bio@bstackx
- \@elt{{#1}{#2}{#3}{#4}{#5}}}%
- \let\bio@nextC\bio@ipushstack\fi}
-\def\bio@pushstackend#1\@elt\@nil{\edef\bio@bstack{\bio@bstackx#1}}
-\def\bio@stackelt{\@elt{{\bio@left}{\bio@right}{\bio@leftx}{\bio@rightx}%
- {\the\bio@hX}}}
-\def\bio@addheight#1#2{\def\@elt##1{\advance#1\dimen##1}#2\let\@elt\relax}
-\def\bio@car#1#2#3{\expandafter\bio@icar#3\@nil#1#2#3}
-\def\bio@icar\@elt#1#2\@nil#3#4#5{#3=\dimen#1\relax\def#4{#1}\def#5{#2}}
-
-
-%%%%%% Miscellaneous %%%%%%
-
-\flushbottom
-
-\ifDS@english
-\hbadness9999 \tolerance9999
-\else
-\hbadness5000 \tolerance5000
-\pretolerance\m@ne
-\fi
-
-\input{ipsjcommon.sty}
-
-\twocolumn
-
-\endinput
diff -r 86eb165b4b91 -r e17bc730af1a ipsjsort.bst
--- a/ipsjsort.bst Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1285 +0,0 @@
-% ipsjsort.bst 15-Jun-07 by Hiroshi Nakashima (ver 2.12)
-% ipsjsort.bst 30-Jan-02 by Hiroshi Nakashima (ver 2.00)
-% ipsjsort.bst 28-Dec-93 by Hiroshi Nakashima (ver 1.00)
-% jssst.bst tomura@etl.go.jp (Satoru Tomura)
-% BibTeX standard bibliography style `jplain'
- % version 0.10 for JBibTeX versions 0.10 or later, JLaTeX version 2.09.
- % by Shouichi Matsui, matsui@denken.junet
-
-ENTRY
- { address
- author
- booktitle
- chapter
- edition
- editor
- howpublished
- institution
- journal
- key
- month
- note
- number
- organization
- pages
- publisher
- school
- series
- title
- type
- volume
- year
- yomi
- }
- {}
- { label }
-
-INTEGERS { output.state before.all mid.sentence after.sentence after.block }
-
-INTEGERS { before.year }
-
-FUNCTION {init.state.consts}
-{ #0 'before.all :=
- #1 'mid.sentence :=
- #2 'after.sentence :=
- #3 'after.block :=
- #4 'before.year := % 1.00(1)
-}
-
-STRINGS { s t }
-
-FUNCTION {is.kanji}
-{ is.kanji.str$ } % 1.00(2), 2.00(1)
-
-FUNCTION {output.nonnull}
-{ 's :=
- output.state mid.sentence =
- { duplicate$ is.kanji % 2.00(2)
- { "," * write$ }
- { ", " * write$ }
- if$
- }
- { output.state after.block =
- { add.period$ write$
- newline$
- "\newblock " write$
- }
- { output.state before.all =
- 'write$
- { output.state before.year = % 1.00(1)
- { " " * write$ }
- { add.period$ " " * write$ }
- if$
- }
- if$
- }
- if$
- mid.sentence 'output.state :=
- }
- if$
- s
-}
-
-FUNCTION {output}
-{ duplicate$ empty$
- 'pop$
- 'output.nonnull
- if$
-}
-
-FUNCTION {required.argument}
-{ 't :=
- empty$
- {"Missing required argument " t * " in " * cite$ * warning$}
- 'skip$
- if$
-}
-
-FUNCTION {required.exclusive.or.argument}
-{ 't :=
- empty$
- { 's :=
- empty$
- { t " or " * s * " is missing in " * cite$ * warning$}
- 'skip$
- if$
- }
- { 's :=
- empty$
- 'skip$
- { "You can use only one of " t * " and " * s * " in " * cite$ * warning$}
- if$
- }
- if$
-}
-
-FUNCTION {required.and.or.argument}
-{ 't := empty$
- { 's := empty$
- { "there's no " t * " and/or " * s * cite$ * warning$ }
- 'skip$
- if$
- }
- { pop$ pop$ }
- if$
-}
-
-FUNCTION {optional.series.volume.number.argument}
-{ series empty$
- { volume empty$
- { number empty$
- 'skip$
- { "there's a number but no series in " cite$ * warning$ }
- if$
- }
- { number empty$
- { "there's a volume but no series in " cite$ * warning$ }
- { "you can use only one of volume and number in " cite$ * warning$}
- if$
- }
- if$
- }
- { volume empty$
- { number empty$
- { "there's a series but neither volume nor number in " cite$ * warning$ }
- 'skip$
- if$
- }
- { number empty$
- 'skip$
- { "you can use only one of volume and number in " cite$ * warning$ }
- if$
- }
- if$
- }
- if$
-}
-
-FUNCTION {output.bibitem}
-{ newline$
- "\bibitem{" write$
- cite$ write$
- "}" write$
- newline$
- before.all 'output.state :=
-}
-
-FUNCTION {fin.entry}
-{ add.period$
- write$
- newline$
-}
-
-FUNCTION {new.block}
-{ output.state before.all =
- 'skip$
- { after.block 'output.state := }
- if$
-}
-
-FUNCTION {new.sentence}
-{ output.state after.block =
- 'skip$
- { output.state before.all =
- 'skip$
- { after.sentence 'output.state := }
- if$
- }
- if$
-}
-
-FUNCTION {not}
-{ { #0 }
- { #1 }
- if$
-}
-
-FUNCTION {and}
-{ 'skip$
- { pop$ #0 }
- if$
-}
-
-FUNCTION {or}
-{ { pop$ #1 }
- 'skip$
- if$
-}
-
-FUNCTION {new.block.checka}
-{ empty$
- 'skip$
- 'new.block
- if$
-}
-
-FUNCTION {new.block.checkb}
-{ empty$
- swap$ empty$
- and
- 'skip$
- 'new.block
- if$
-}
-
-FUNCTION {new.sentence.checka}
-{ empty$
- 'skip$
- 'new.sentence
- if$
-}
-
-FUNCTION {new.sentence.checkb}
-{ empty$
- swap$ empty$
- and
- 'skip$
- 'new.sentence
- if$
-}
-
-FUNCTION {field.or.null}
-{ duplicate$ empty$
- { pop$ "" }
- 'skip$
- if$
-}
-
-FUNCTION {emphasize}
-{ duplicate$ empty$
- { pop$ "" }
- { duplicate$ is.kanji
- 'skip$ % 1.00(3)
- { "{\em " swap$ * "}" * } % 2.00(3)
- if$
- }
- if$
-}
-
-INTEGERS { nameptr namesleft numnames }
-
-FUNCTION {format.names} % 1.00(4), 2.00(4)
-{ 's :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr "{ff}{ll}" format.name$ duplicate$ is.kanji
- { duplicate$ text.length$ #6 >
- { 't := }
- { pop$ s nameptr "{ff} {ll}" format.name$ 't := }
- if$
- }
- { pop$ s nameptr "{vv }{ll}{, jj}{, f.}" format.name$ 't := }
- if$
- nameptr #1 >
- { namesleft #1 >
- { s is.kanji
- { "," }
- { ", " }
- if$
- * t * }
- { t "others" =
- { s is.kanji
- {"ほか" * }
- {" et al." * }
- if$
- }
- { s is.kanji
- {"," * t * } % put "," here for Kanji (H.N.)
- {" and " * t * }
- if$
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { author format.names }
- if$
-}
-
-FUNCTION {add.colon} % 2.00(5)
-{ duplicate$ is.kanji
- { "\:" * } % 2.12(1)
- { ": " * }
- if$
-}
-
-FUNCTION {format.editors.inparen} % 2.00(6)
-{ editor empty$
- { "" }
- { editor format.names
- editor num.names$ #1 >
- { editor is.kanji
- {",編" * } {", eds." *} if$
- }
- { editor is.kanji
- {",編" *} {", ed." *} if$
- }
- if$
- }
- if$
-}
-
-FUNCTION {format.editors}
-{ editor empty$
- { "" }
- { editor format.names
- editor num.names$ #1 >
- { editor is.kanji
- {"(編)" * } {"(eds.)" *} if$ % 2.00(7)
- }
- { editor is.kanji
- {"(編)" *} {"(ed.)" *} if$ % 2.00(7)
- }
- if$
- }
- if$
-}
-
-FUNCTION {n.dashify}
-{ 't :=
- ""
- { t empty$ not }
- { t #1 #1 substring$ "-" =
- { t #1 #2 substring$ "--" = not
- { "--" *
- t #2 global.max$ substring$ 't :=
- }
- { { t #1 #1 substring$ "-" = }
- { "-" *
- t #2 global.max$ substring$ 't :=
- }
- while$
- }
- if$
- }
- { t #1 #1 substring$ *
- t #2 global.max$ substring$ 't :=
- }
- if$
- }
- while$
-}
-
-FUNCTION {format.date}
-{ before.year 'output.state := % 1.00(1)
- year empty$
- { month empty$
- { "" }
- { "there's a month but no year in " cite$ * warning$
- "" % 1.00(5)
- }
- if$
- }
- { "(" year ")" * * } % 1.00(5)
- if$
-}
-
-FUNCTION {tie.or.space.connect}
-{ duplicate$ text.length$ #3 <
- { "~" }
- { "\ " } % 1.00(6)
- if$
- swap$ * *
-}
-
-FUNCTION {output.volume}
-{
- volume empty$
- 'skip$
- { "Vol.~" volume * output}
- if$
-
-}
-
-FUNCTION {output.number}
-{
- number empty$
- 'skip$
- { "No.~" number * output}
- if$
-}
-
-FUNCTION {output.series.volume.number}
-{ series empty$
- { output.volume
- output.number }
- { series is.kanji
- volume empty$
- number empty$
- or
- and
- { series " " * volume * number * output}
- { series output
- output.volume
- output.number}
- if$
- }
- if$
-}
-
-FUNCTION {format.edition}
-{ edition empty$
- { "" }
- { output.state mid.sentence =
- { edition "l" change.case$ " edition" * }
- { edition "t" change.case$ " edition" * }
- if$
- }
- if$
-}
-
-INTEGERS { multiresult }
-
-FUNCTION {multi.page.check}
-{ 't :=
- #0 'multiresult :=
- { multiresult not
- t empty$ not
- and
- }
- { t #1 #1 substring$
- duplicate$ "-" =
- swap$ duplicate$ "," =
- swap$ "+" =
- or or
- { #1 'multiresult := }
- { t #2 global.max$ substring$ 't := }
- if$
- }
- while$
- multiresult
-}
-
-FUNCTION {format.pages} % 1.00(7)
-{ pages empty$
- { "" }
- { pages multi.page.check
- { "pp." pages n.dashify tie.or.space.connect }
- { "p." pages tie.or.space.connect }
- if$
- }
- if$
-}
-
-FUNCTION {format.vol.num.pages} % 1.00(8)
-{ volume empty$
- { ""}
- { " Vol.~" volume * }
- if$
- number empty$
- 'skip$
- { volume empty$
- { "there's a number but no volume in " cite$ * warning$ }
- { "," *}
- if$
- " No.~" number * *
- }
- if$
- pages empty$
- 'skip$
- { duplicate$ empty$
- { pop$ format.pages }
- { ", " * format.pages * }
- if$
- }
- if$
-}
-
-FUNCTION {format.chapter.pages}
-{ chapter empty$
- 'format.pages
- { type empty$
- { "chapter" chapter tie.or.space.connect }
- { type is.kanji
- { chapter type tie.or.space.connect }
- { type "l" change.case$ chapter tie.or.space.connect }
- if$
- }
- if$
- pages empty$
- 'skip$
- { ", " * format.pages * }
- if$
- }
- if$
-}
-
-FUNCTION {format.in.ed.booktitle}
-{ booktitle empty$
- { "" }
- { booktitle emphasize
- editor empty$
- 'skip$
- { booktitle is.kanji
- { "(" * format.editors.inparen * ")" *} % 2.00(6,7)
- { " (" * format.editors.inparen * ")" *} % 1.00(9), 2.00(6)
- if$
- }
- if$
- }
- if$
-}
-
-FUNCTION {empty.misc.check}
-{ author empty$ title empty$ howpublished empty$
- month empty$ year empty$ note empty$
- and and and and and
- key empty$ not and
- { "all relevant fields are empty in " cite$ * warning$ }
- 'skip$
- if$
-}
-
-FUNCTION {format.thesis.type}
-{ type empty$
- 'skip$
- { pop$
- type "t" change.case$
- }
- if$
-}
-
-FUNCTION {format.tr.number}
-{ type empty$
- { title empty$
- { "Technical Report" }
- { title is.kanji
- { "技術報告" }
- { "Technical Report" }
- if$
- }
- if$
- }
- {type}
- if$
- number empty$
- { "t" change.case$ }
- { " " number * * }
- if$
-}
-
-FUNCTION {format.article.crossref} % 2.00(8)
-{ key empty$
- { journal empty$
- { "need key or journal for " cite$ * " to crossref " * crossref *
- warning$
- ""
- }
- { journal emphasize } % 1.00(10)
- if$
- }
- { "In " key * }
- if$
- " \cite{" * crossref * "}" *
-}
-
-FUNCTION {format.crossref.editor} % 1.00(11)
-{ editor #1
- editor is.kanji { "{ff}" } { "{vv }{ll}" } if$
- format.name$
- editor num.names$ duplicate$
- #2 >
- { editor is.kanji
- {pop$ "ほか" *} {pop$ " et al." * } if$
- }
- { #2 <
- 'skip$
- { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
- { editor is.kanji
- {"ほか" *} {" et al." * } if$
- }
- { editor is.kanji
- {"・" * editor #2 "{ff}" format.name$ * }
- {" and " * editor #2 "{vv }{ll}" format.name$ * }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-FUNCTION {format.book.crossref} % 2.00(8)
-{ editor empty$
- editor field.or.null author field.or.null =
- or
- { key empty$
- { series empty$
- { "need editor, key, or series for " cite$ * " to crossref " *
- crossref * warning$
- ""
- }
- { series emphasize } % 1.00(10)
- if$
- }
- { "In " key * }
- if$
- }
- { format.crossref.editor }
- if$
- " \cite{" * crossref * "}" *
- volume empty$
- { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ }
- { duplicate$ is.kanji { "," } { ", "} if$ *
- "Vol." * volume tie.or.space.connect
- }
- if$
-}
-
-FUNCTION {format.incoll.inproc.crossref} % 2.00(8)
-{ editor empty$
- editor field.or.null author field.or.null =
- or
- { key empty$
- { booktitle empty$
- { "need editor, key, or booktitle for " cite$ * " to crossref " *
- crossref * warning$
- ""
- }
- { booktitle emphasize } % 1.00(10)
- if$
- }
- { "In " key * }
- if$
- }
- { format.crossref.editor }
- if$
- " \cite{" * crossref * "}" *
-}
-
-FUNCTION {article}
-{
-%%%%
- author "author" required.argument
- title "title" required.argument
- journal "journal" required.argument
- year "year" required.argument
-%%%% jssst
- volume "volume"
- number "number"
- required.and.or.argument
- pages "pages" required.argument
-%%%%
- output.bibitem
- format.authors add.colon % 2.00(5)
- title output
- crossref missing$
- { journal emphasize output
- format.vol.num.pages output % 1.00(12)
- format.date output
- }
- { format.article.crossref output.nonnull
- format.pages output
- }
- if$
- new.block
- note output
- fin.entry
-}
-
-FUNCTION {book}
-{
-%%%%
- author "author"
- editor "editor"
- required.exclusive.or.argument
- title "title" required.argument
- publisher "publisher" required.argument
- year "year" required.argument
- optional.series.volume.number.argument
-%%%%
- output.bibitem
- author empty$
- { format.editors}
- { format.authors}
- if$
- add.colon % 2.00(5)
- title emphasize output
- crossref missing$
- { output.series.volume.number
- publisher output
- address output
- }
- { new.block
- format.book.crossref output.nonnull
- }
- if$
- format.edition output
- format.date output
- new.block
- note output
- fin.entry
-}
-
-FUNCTION {booklet}
-{
-%%%%
- title "title" required.argument
-%%%% jssst
- author "author" required.argument
-%%%%
- output.bibitem
- format.authors add.colon % 2.00(5)
- title output
- howpublished output
- address output
- format.date output
- new.block
- note output
- fin.entry
-}
-
-FUNCTION {inbook}
-{
-%%%%
- author "author"
- editor "editor"
- required.exclusive.or.argument
- title "title" required.argument
- chapter "chapter"
- pages "pages"
- required.and.or.argument
- publisher "publisher" required.argument
- year "year" required.argument
-
- optional.series.volume.number.argument
-%%%%
- output.bibitem
- author empty$
- { format.editors}
- { format.authors}
- if$
- add.colon % 2.00(5)
- title emphasize output
- crossref missing$
- { output.series.volume.number
- format.chapter.pages output
- publisher output
- }
- { format.chapter.pages output
- new.block
- format.book.crossref output.nonnull
- }
- if$
- format.edition output
- format.date output % 1.00(13)
- new.block
- note output
- fin.entry
-}
-
-FUNCTION {incollection}
-{
-%%%%
- author "author" required.argument
- title "title" required.argument
- booktitle "booktitle" required.argument
- publisher "publisher" required.argument
- year "year" required.argument
-
- optional.series.volume.number.argument
-%%%%
- output.bibitem
- format.authors add.colon % 2.00(5)
- title output
- crossref missing$
- { format.in.ed.booktitle output
- output.series.volume.number
- publisher output
- address output
- format.edition output
- format.chapter.pages output % 1.00(13)
- format.date output
- }
- { format.incoll.inproc.crossref output.nonnull
- format.chapter.pages output
- }
- if$
- new.block
- note output
- fin.entry
-}
-
-FUNCTION {inproceedings}
-{
-%%%%
- author "author" required.argument
- title "title" required.argument
- year "year" required.argument
-
- optional.series.volume.number.argument
-%%%%
- output.bibitem
- format.authors add.colon % 2.00(5)
- title output
- crossref missing$
- { format.in.ed.booktitle output
- booktitle "booktitle" required.argument
- output.series.volume.number
- address output
- organization output
- publisher output
- format.pages output
- format.date output % 1.00(13)
- }
- { format.incoll.inproc.crossref output.nonnull
- format.pages output
- }
- if$
- new.block
- note output
- fin.entry
-}
-
-FUNCTION {conference} { inproceedings }
-
-FUNCTION {manual}
-{
-%%%%
- title "title" required.argument
-%%%% jssst
- author "author"
- organization "organazaion"
- required.exclusive.or.argument
-%%%%
- output.bibitem
- author empty$
- { organization}
- { format.authors}
- if$
- add.colon % 2.00(5)
- title emphasize output
- author empty$
- 'skip$
- { organization output }
- if$
- address output
- format.edition output
- format.date output
- new.block
- note output
- fin.entry
-}
-
-FUNCTION {mastersthesis}
-{
-%%%%
- author "author" required.argument
- title "title" required.argument
- school "school" required.argument
- year "year" required.argument
-%%%%
- output.bibitem
- format.authors add.colon % 2.00(5)
- title output
- author empty$
- { "Master's thesis" }
- { author is.kanji
- { "修士論文" }
- { "Master's thesis" }
- if$
- }
- if$
- format.thesis.type output.nonnull
- school output
- address output
- format.date output
- new.block
- note output
- fin.entry
-}
-
-FUNCTION {misc}
-{
-%%%%
-%%%% jssst
- author "author" required.argument
- title "title" required.argument
-%%%%
- output.bibitem
- format.authors add.colon % 2.00(5)
- title output
- howpublished output
- format.date output
- new.block
- note output
- fin.entry
- empty.misc.check
-}
-
-FUNCTION {phdthesis}
-{
-%%%%
- author "author" required.argument
- title "title" required.argument
- school "school" required.argument
- year "year" required.argument
-%%%%
- output.bibitem
- format.authors add.colon % 2.00(5)
- title output % 2.00(9)
- author empty$
- { "PhD Thesis" }
- { author is.kanji
- { "博士論文" }
- { "PhD Thesis" }
- if$
- }
- if$
- format.thesis.type output.nonnull
- school output
- address output
- format.date output
- new.block
- note output
- fin.entry
-}
-
-FUNCTION {proceedings}
-{
-%%%%
- title "title" required.argument
- year "year" required.argument
-
- optional.series.volume.number.argument
-%%%% jssst
- editor "editor"
- organization "organization"
- required.exclusive.or.argument
-%%%%
- output.bibitem
- editor empty$
- { organization }
- { format.editors }
- if$
- add.colon % 2.00(5)
- title emphasize output
- output.series.volume.number
- address output
- editor empty$
- 'skip$
- { organization output }
- if$
- publisher output
- format.date output
- new.block
- note output
- fin.entry
-}
-
-FUNCTION {techreport}
-{
-%%%%
- author "author" required.argument
- title "title" required.argument
- institution "institution" required.argument
- year "year" required.argument
-%%%%
- output.bibitem
- format.authors add.colon % 2.00(5)
- title output
- format.tr.number output.nonnull
- institution output
- address output
- format.date output
- new.block
- note output
- fin.entry
-}
-
-FUNCTION {unpublished}
-{
-%%%%
- author "author" required.argument
- title "title" required.argument
- note "note" required.argument
-%%%%
- output.bibitem
- format.authors add.colon % 2.00(5)
- title output
- format.date output
- new.block
- note output
- fin.entry
-}
-
-FUNCTION {default.type} { misc }
-
-MACRO {jan} {"January"}
-
-MACRO {feb} {"February"}
-
-MACRO {mar} {"March"}
-
-MACRO {apr} {"April"}
-
-MACRO {may} {"May"}
-
-MACRO {jun} {"June"}
-
-MACRO {jul} {"July"}
-
-MACRO {aug} {"August"}
-
-MACRO {sep} {"September"}
-
-MACRO {oct} {"October"}
-
-MACRO {nov} {"November"}
-
-MACRO {dec} {"December"}
-
-MACRO {acmcs} {"ACM Computing Surveys"}
-
-MACRO {acta} {"Acta Informatica"}
-
-MACRO {cacm} {"Communications of the ACM"}
-
-MACRO {ibmjrd} {"IBM Journal of Research and Development"}
-
-MACRO {ibmsj} {"IBM Systems Journal"}
-
-MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
-
-MACRO {ieeetc} {"IEEE Transactions on Computers"}
-
-MACRO {ieeetcad}
- {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
-
-MACRO {ipl} {"Information Processing Letters"}
-
-MACRO {jacm} {"Journal of the ACM"}
-
-MACRO {jcss} {"Journal of Computer and System Sciences"}
-
-MACRO {scp} {"Science of Computer Programming"}
-
-MACRO {sicomp} {"SIAM Journal on Computing"}
-
-MACRO {tocs} {"ACM Transactions on Computer Systems"}
-
-MACRO {tods} {"ACM Transactions on Database Systems"}
-
-MACRO {tog} {"ACM Transactions on Graphics"}
-
-MACRO {toms} {"ACM Transactions on Mathematical Software"}
-
-MACRO {toois} {"ACM Transactions on Office Information Systems"}
-
-MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
-
-MACRO {tcs} {"Theoretical Computer Science"}
-
-READ
-
-FUNCTION {sortify}
-{ purify$
- "l" change.case$
-}
-
-INTEGERS { len }
-
-FUNCTION {chop.word}
-{ 's :=
- 'len :=
- s #1 len substring$ =
- { s len #1 + global.max$ substring$ }
- 's
- if$
-}
-
-FUNCTION {sort.format.names}
-{ 's :=
- yomi empty$
- 'skip$
- { yomi 's := }
- if$
-
- #1 'nameptr :=
- ""
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { nameptr #1 >
- { " " * }
- 'skip$
- if$
- s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
- nameptr numnames = t "others" = and
- { "et al" * }
- { t sortify * }
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {sort.format.title}
-{ 't :=
- "A " #2
- "An " #3
- "The " #4 t chop.word
- chop.word
- chop.word
- sortify
- #1 global.max$ substring$
-}
-
-FUNCTION {author.sort}
-{ author empty$
- { key empty$
- { "to sort, need author or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { author sort.format.names }
- if$
-}
-
-FUNCTION {author.editor.sort}
-{ author empty$
- { editor empty$
- { key empty$
- { "to sort, need author, editor, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { editor sort.format.names }
- if$
- }
- { author sort.format.names }
- if$
-}
-
-FUNCTION {author.organization.sort}
-{ author empty$
- { organization empty$
- { key empty$
- { "to sort, need author, organization, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { "The " #4 organization chop.word sortify }
- if$
- }
- { author sort.format.names }
- if$
-}
-
-FUNCTION {editor.organization.sort}
-{ editor empty$
- { organization empty$
- { key empty$
- { "to sort, need editor, organization, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { "The " #4 organization chop.word sortify }
- if$
- }
- { editor sort.format.names }
- if$
-}
-
-FUNCTION {presort}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.sort
- { type$ "proceedings" =
- 'editor.organization.sort
- { type$ "manual" =
- 'author.organization.sort
- 'author.sort
- if$
- }
- if$
- }
- if$
- " "
- *
- year field.or.null sortify
- *
- " "
- *
- title field.or.null
- sort.format.title
- *
- #1 entry.max$ substring$
- 'sort.key$ :=
-}
-
-ITERATE {presort}
-
-SORT
-
-STRINGS { longest.label }
-
-INTEGERS { number.label longest.label.width }
-
-FUNCTION {initialize.longest.label}
-{ "" 'longest.label :=
- #1 'number.label :=
- #0 'longest.label.width :=
-}
-
-FUNCTION {longest.label.pass}
-{ number.label int.to.str$ 'label :=
- number.label #1 + 'number.label :=
- label width$ longest.label.width >
- { label 'longest.label :=
- label width$ 'longest.label.width :=
- }
- 'skip$
- if$
-}
-
-EXECUTE {initialize.longest.label}
-
-ITERATE {longest.label.pass}
-
-FUNCTION {begin.bib}
-{ preamble$ empty$
- 'skip$
- { preamble$ write$ newline$ }
- if$
- "\begin{thebibliography}{" longest.label * "}" * write$ newline$
-}
-
-EXECUTE {begin.bib}
-
-EXECUTE {init.state.consts}
-
-ITERATE {call.type$}
-
-FUNCTION {end.bib}
-{ newline$
- "\end{thebibliography}" write$ newline$
-}
-
-EXECUTE {end.bib}
-
-
diff -r 86eb165b4b91 -r e17bc730af1a ipsjunsrt.bst
--- a/ipsjunsrt.bst Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1135 +0,0 @@
-% ipsjunsrt.bst 15-Jun-07 by Hiroshi Nakashima (ver 2.12)
-% ipsjunsrt.bst 30-Jan-02 by Hiroshi Nakashima (ver 2.00)
-% ipsjunsrt.bst 28-Dec-93 by Hiroshi Nakashima (ver 1.00)
-% jssst.bst tomura@etl.go.jp (Satoru Tomura)
-% BibTeX standard bibliography style `jplain'
- % version 0.10 for JBibTeX versions 0.10 or later, JLaTeX version 2.09.
- % by Shouichi Matsui, matsui@denken.junet
-
-ENTRY
- { address
- author
- booktitle
- chapter
- edition
- editor
- howpublished
- institution
- journal
- key
- month
- note
- number
- organization
- pages
- publisher
- school
- series
- title
- type
- volume
- year
- yomi
- }
- {}
- { label }
-
-INTEGERS { output.state before.all mid.sentence after.sentence after.block }
-
-INTEGERS { before.year }
-
-FUNCTION {init.state.consts}
-{ #0 'before.all :=
- #1 'mid.sentence :=
- #2 'after.sentence :=
- #3 'after.block :=
- #4 'before.year := % 1.00(1)
-}
-
-STRINGS { s t }
-
-FUNCTION {is.kanji}
-{ is.kanji.str$ } % 1.00(2), 2.00(1)
-
-FUNCTION {output.nonnull}
-{ 's :=
- output.state mid.sentence =
- { duplicate$ is.kanji % 2.00(2)
- { "," * write$ }
- { ", " * write$ }
- if$
- }
- { output.state after.block =
- { add.period$ write$
- newline$
- "\newblock " write$
- }
- { output.state before.all =
- 'write$
- { output.state before.year = % 1.00(1)
- { " " * write$ }
- { add.period$ " " * write$ }
- if$
- }
- if$
- }
- if$
- mid.sentence 'output.state :=
- }
- if$
- s
-}
-
-FUNCTION {output}
-{ duplicate$ empty$
- 'pop$
- 'output.nonnull
- if$
-}
-
-FUNCTION {required.argument}
-{ 't :=
- empty$
- {"Missing required argument " t * " in " * cite$ * warning$}
- 'skip$
- if$
-}
-
-FUNCTION {required.exclusive.or.argument}
-{ 't :=
- empty$
- { 's :=
- empty$
- { t " or " * s * " is missing in " * cite$ * warning$}
- 'skip$
- if$
- }
- { 's :=
- empty$
- 'skip$
- { "You can use only one of " t * " and " * s * " in " * cite$ * warning$}
- if$
- }
- if$
-}
-
-FUNCTION {required.and.or.argument}
-{ 't := empty$
- { 's := empty$
- { "there's no " t * " and/or " * s * cite$ * warning$ }
- 'skip$
- if$
- }
- { pop$ pop$ }
- if$
-}
-
-FUNCTION {optional.series.volume.number.argument}
-{ series empty$
- { volume empty$
- { number empty$
- 'skip$
- { "there's a number but no series in " cite$ * warning$ }
- if$
- }
- { number empty$
- { "there's a volume but no series in " cite$ * warning$ }
- { "you can use only one of volume and number in " cite$ * warning$}
- if$
- }
- if$
- }
- { volume empty$
- { number empty$
- { "there's a series but neither volume nor number in " cite$ * warning$ }
- 'skip$
- if$
- }
- { number empty$
- 'skip$
- { "you can use only one of volume and number in " cite$ * warning$ }
- if$
- }
- if$
- }
- if$
-}
-
-FUNCTION {output.bibitem}
-{ newline$
- "\bibitem{" write$
- cite$ write$
- "}" write$
- newline$
- before.all 'output.state :=
-}
-
-FUNCTION {fin.entry}
-{ add.period$
- write$
- newline$
-}
-
-FUNCTION {new.block}
-{ output.state before.all =
- 'skip$
- { after.block 'output.state := }
- if$
-}
-
-FUNCTION {new.sentence}
-{ output.state after.block =
- 'skip$
- { output.state before.all =
- 'skip$
- { after.sentence 'output.state := }
- if$
- }
- if$
-}
-
-FUNCTION {not}
-{ { #0 }
- { #1 }
- if$
-}
-
-FUNCTION {and}
-{ 'skip$
- { pop$ #0 }
- if$
-}
-
-FUNCTION {or}
-{ { pop$ #1 }
- 'skip$
- if$
-}
-
-FUNCTION {new.block.checka}
-{ empty$
- 'skip$
- 'new.block
- if$
-}
-
-FUNCTION {new.block.checkb}
-{ empty$
- swap$ empty$
- and
- 'skip$
- 'new.block
- if$
-}
-
-FUNCTION {new.sentence.checka}
-{ empty$
- 'skip$
- 'new.sentence
- if$
-}
-
-FUNCTION {new.sentence.checkb}
-{ empty$
- swap$ empty$
- and
- 'skip$
- 'new.sentence
- if$
-}
-
-FUNCTION {field.or.null}
-{ duplicate$ empty$
- { pop$ "" }
- 'skip$
- if$
-}
-
-FUNCTION {emphasize}
-{ duplicate$ empty$
- { pop$ "" }
- { duplicate$ is.kanji
- 'skip$ % 1.00(3)
- { "{\em " swap$ * "}" * } % 2.00(3)
- if$
- }
- if$
-}
-
-INTEGERS { nameptr namesleft numnames }
-
-FUNCTION {format.names} % 1.00(4), 2.00(4)
-{ 's :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr "{ff}{ll}" format.name$ duplicate$ is.kanji
- { duplicate$ text.length$ #6 >
- { 't := }
- { pop$ s nameptr "{ff} {ll}" format.name$ 't := }
- if$
- }
- { pop$ s nameptr "{vv }{ll}{, jj}{, f.}" format.name$ 't := }
- if$
- nameptr #1 >
- { namesleft #1 >
- { s is.kanji
- { "," }
- { ", " }
- if$
- * t * }
- { t "others" =
- { s is.kanji
- {"ほか" * }
- {" et al." * }
- if$
- }
- { s is.kanji
- {"," * t * } % put "," here for Kanji (H.N.)
- {" and " * t * }
- if$
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { author format.names }
- if$
-}
-
-FUNCTION {add.colon} % 2.00(5)
-{ duplicate$ is.kanji
- { "\:" * } % 2.12(1)
- { ": " * }
- if$
-}
-
-FUNCTION {format.editors.inparen} % 2.00(6)
-{ editor empty$
- { "" }
- { editor format.names
- editor num.names$ #1 >
- { editor is.kanji
- {",編" * } {", eds." *} if$
- }
- { editor is.kanji
- {",編" *} {", ed." *} if$
- }
- if$
- }
- if$
-}
-
-FUNCTION {format.editors}
-{ editor empty$
- { "" }
- { editor format.names
- editor num.names$ #1 >
- { editor is.kanji
- {"(編)" * } {"(eds.)" *} if$ % 2.00(7)
- }
- { editor is.kanji
- {"(編)" *} {"(ed.)" *} if$ % 2.00(7)
- }
- if$
- }
- if$
-}
-
-FUNCTION {n.dashify}
-{ 't :=
- ""
- { t empty$ not }
- { t #1 #1 substring$ "-" =
- { t #1 #2 substring$ "--" = not
- { "--" *
- t #2 global.max$ substring$ 't :=
- }
- { { t #1 #1 substring$ "-" = }
- { "-" *
- t #2 global.max$ substring$ 't :=
- }
- while$
- }
- if$
- }
- { t #1 #1 substring$ *
- t #2 global.max$ substring$ 't :=
- }
- if$
- }
- while$
-}
-
-FUNCTION {format.date}
-{ before.year 'output.state := % 1.00(1)
- year empty$
- { month empty$
- { "" }
- { "there's a month but no year in " cite$ * warning$
- "" % 1.00(5)
- }
- if$
- }
- { "(" year ")" * * } % 1.00(5)
- if$
-}
-
-FUNCTION {tie.or.space.connect}
-{ duplicate$ text.length$ #3 <
- { "~" }
- { "\ " } % 1.00(6)
- if$
- swap$ * *
-}
-
-FUNCTION {output.volume}
-{
- volume empty$
- 'skip$
- { "Vol.~" volume * output}
- if$
-
-}
-
-FUNCTION {output.number}
-{
- number empty$
- 'skip$
- { "No.~" number * output}
- if$
-}
-
-FUNCTION {output.series.volume.number}
-{ series empty$
- { output.volume
- output.number }
- { series is.kanji
- volume empty$
- number empty$
- or
- and
- { series " " * volume * number * output}
- { series output
- output.volume
- output.number}
- if$
- }
- if$
-}
-
-FUNCTION {format.edition}
-{ edition empty$
- { "" }
- { output.state mid.sentence =
- { edition "l" change.case$ " edition" * }
- { edition "t" change.case$ " edition" * }
- if$
- }
- if$
-}
-
-INTEGERS { multiresult }
-
-FUNCTION {multi.page.check}
-{ 't :=
- #0 'multiresult :=
- { multiresult not
- t empty$ not
- and
- }
- { t #1 #1 substring$
- duplicate$ "-" =
- swap$ duplicate$ "," =
- swap$ "+" =
- or or
- { #1 'multiresult := }
- { t #2 global.max$ substring$ 't := }
- if$
- }
- while$
- multiresult
-}
-
-FUNCTION {format.pages} % 1.00(7)
-{ pages empty$
- { "" }
- { pages multi.page.check
- { "pp." pages n.dashify tie.or.space.connect }
- { "p." pages tie.or.space.connect }
- if$
- }
- if$
-}
-
-FUNCTION {format.vol.num.pages} % 1.00(8)
-{ volume empty$
- { ""}
- { " Vol.~" volume * }
- if$
- number empty$
- 'skip$
- { volume empty$
- { "there's a number but no volume in " cite$ * warning$ }
- { "," *}
- if$
- " No.~" number * *
- }
- if$
- pages empty$
- 'skip$
- { duplicate$ empty$
- { pop$ format.pages }
- { ", " * format.pages * }
- if$
- }
- if$
-}
-
-FUNCTION {format.chapter.pages}
-{ chapter empty$
- 'format.pages
- { type empty$
- { "chapter" chapter tie.or.space.connect }
- { type is.kanji
- { chapter type tie.or.space.connect }
- { type "l" change.case$ chapter tie.or.space.connect }
- if$
- }
- if$
- pages empty$
- 'skip$
- { ", " * format.pages * }
- if$
- }
- if$
-}
-
-FUNCTION {format.in.ed.booktitle}
-{ booktitle empty$
- { "" }
- { booktitle emphasize
- editor empty$
- 'skip$
- { booktitle is.kanji
- { "(" * format.editors.inparen * ")" *} % 2.00(6,7)
- { " (" * format.editors.inparen * ")" *} % 1.00(9), 2.00(6)
- if$
- }
- if$
- }
- if$
-}
-
-FUNCTION {empty.misc.check}
-{ author empty$ title empty$ howpublished empty$
- month empty$ year empty$ note empty$
- and and and and and
- key empty$ not and
- { "all relevant fields are empty in " cite$ * warning$ }
- 'skip$
- if$
-}
-
-FUNCTION {format.thesis.type}
-{ type empty$
- 'skip$
- { pop$
- type "t" change.case$
- }
- if$
-}
-
-FUNCTION {format.tr.number}
-{ type empty$
- { title empty$
- { "Technical Report" }
- { title is.kanji
- { "技術報告" }
- { "Technical Report" }
- if$
- }
- if$
- }
- {type}
- if$
- number empty$
- { "t" change.case$ }
- { " " number * * }
- if$
-}
-
-FUNCTION {format.article.crossref} % 2.00(8)
-{ key empty$
- { journal empty$
- { "need key or journal for " cite$ * " to crossref " * crossref *
- warning$
- ""
- }
- { journal emphasize } % 1.00(10)
- if$
- }
- { "In " key * }
- if$
- " \cite{" * crossref * "}" *
-}
-
-FUNCTION {format.crossref.editor} % 1.00(11)
-{ editor #1
- editor is.kanji { "{ff}" } { "{vv }{ll}" } if$
- format.name$
- editor num.names$ duplicate$
- #2 >
- { editor is.kanji
- {pop$ "ほか" *} {pop$ " et al." * } if$
- }
- { #2 <
- 'skip$
- { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
- { editor is.kanji
- {"ほか" *} {" et al." * } if$
- }
- { editor is.kanji
- {"・" * editor #2 "{ff}" format.name$ * }
- {" and " * editor #2 "{vv }{ll}" format.name$ * }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-FUNCTION {format.book.crossref} % 2.00(8)
-{ editor empty$
- editor field.or.null author field.or.null =
- or
- { key empty$
- { series empty$
- { "need editor, key, or series for " cite$ * " to crossref " *
- crossref * warning$
- ""
- }
- { series emphasize } % 1.00(10)
- if$
- }
- { "In " key * }
- if$
- }
- { format.crossref.editor }
- if$
- " \cite{" * crossref * "}" *
- volume empty$
- { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ }
- { duplicate$ is.kanji { "," } { ", "} if$ *
- "Vol." * volume tie.or.space.connect
- }
- if$
-}
-
-FUNCTION {format.incoll.inproc.crossref} % 2.00(8)
-{ editor empty$
- editor field.or.null author field.or.null =
- or
- { key empty$
- { booktitle empty$
- { "need editor, key, or booktitle for " cite$ * " to crossref " *
- crossref * warning$
- ""
- }
- { booktitle emphasize } % 1.00(10)
- if$
- }
- { "In " key * }
- if$
- }
- { format.crossref.editor }
- if$
- " \cite{" * crossref * "}" *
-}
-
-FUNCTION {article}
-{
-%%%%
- author "author" required.argument
- title "title" required.argument
- journal "journal" required.argument
- year "year" required.argument
-%%%% jssst
- volume "volume"
- number "number"
- required.and.or.argument
- pages "pages" required.argument
-%%%%
- output.bibitem
- format.authors add.colon % 2.00(5)
- title output
- crossref missing$
- { journal emphasize output
- format.vol.num.pages output % 1.00(12)
- format.date output
- }
- { format.article.crossref output.nonnull
- format.pages output
- }
- if$
- new.block
- note output
- fin.entry
-}
-
-FUNCTION {book}
-{
-%%%%
- author "author"
- editor "editor"
- required.exclusive.or.argument
- title "title" required.argument
- publisher "publisher" required.argument
- year "year" required.argument
- optional.series.volume.number.argument
-%%%%
- output.bibitem
- author empty$
- { format.editors}
- { format.authors}
- if$
- add.colon % 2.00(5)
- title emphasize output
- crossref missing$
- { output.series.volume.number
- publisher output
- address output
- }
- { new.block
- format.book.crossref output.nonnull
- }
- if$
- format.edition output
- format.date output
- new.block
- note output
- fin.entry
-}
-
-FUNCTION {booklet}
-{
-%%%%
- title "title" required.argument
-%%%% jssst
- author "author" required.argument
-%%%%
- output.bibitem
- format.authors add.colon % 2.00(5)
- title output
- howpublished output
- address output
- format.date output
- new.block
- note output
- fin.entry
-}
-
-FUNCTION {inbook}
-{
-%%%%
- author "author"
- editor "editor"
- required.exclusive.or.argument
- title "title" required.argument
- chapter "chapter"
- pages "pages"
- required.and.or.argument
- publisher "publisher" required.argument
- year "year" required.argument
-
- optional.series.volume.number.argument
-%%%%
- output.bibitem
- author empty$
- { format.editors}
- { format.authors}
- if$
- add.colon % 2.00(5)
- title emphasize output
- crossref missing$
- { output.series.volume.number
- format.chapter.pages output
- publisher output
- }
- { format.chapter.pages output
- new.block
- format.book.crossref output.nonnull
- }
- if$
- format.edition output
- format.date output % 1.00(13)
- new.block
- note output
- fin.entry
-}
-
-FUNCTION {incollection}
-{
-%%%%
- author "author" required.argument
- title "title" required.argument
- booktitle "booktitle" required.argument
- publisher "publisher" required.argument
- year "year" required.argument
-
- optional.series.volume.number.argument
-%%%%
- output.bibitem
- format.authors add.colon % 2.00(5)
- title output
- crossref missing$
- { format.in.ed.booktitle output
- output.series.volume.number
- publisher output
- address output
- format.edition output
- format.chapter.pages output % 1.00(13)
- format.date output
- }
- { format.incoll.inproc.crossref output.nonnull
- format.chapter.pages output
- }
- if$
- new.block
- note output
- fin.entry
-}
-
-FUNCTION {inproceedings}
-{
-%%%%
- author "author" required.argument
- title "title" required.argument
- year "year" required.argument
-
- optional.series.volume.number.argument
-%%%%
- output.bibitem
- format.authors add.colon % 2.00(5)
- title output
- crossref missing$
- { format.in.ed.booktitle output
- booktitle "booktitle" required.argument
- output.series.volume.number
- address output
- organization output
- publisher output
- format.pages output
- format.date output % 1.00(13)
- }
- { format.incoll.inproc.crossref output.nonnull
- format.pages output
- }
- if$
- new.block
- note output
- fin.entry
-}
-
-FUNCTION {conference} { inproceedings }
-
-FUNCTION {manual}
-{
-%%%%
- title "title" required.argument
-%%%% jssst
- author "author"
- organization "organazaion"
- required.exclusive.or.argument
-%%%%
- output.bibitem
- author empty$
- { organization}
- { format.authors}
- if$
- add.colon % 2.00(5)
- title emphasize output
- author empty$
- 'skip$
- { organization output }
- if$
- address output
- format.edition output
- format.date output
- new.block
- note output
- fin.entry
-}
-
-FUNCTION {mastersthesis}
-{
-%%%%
- author "author" required.argument
- title "title" required.argument
- school "school" required.argument
- year "year" required.argument
-%%%%
- output.bibitem
- format.authors add.colon % 2.00(5)
- title output
- author empty$
- { "Master's thesis" }
- { author is.kanji
- { "修士論文" }
- { "Master's thesis" }
- if$
- }
- if$
- format.thesis.type output.nonnull
- school output
- address output
- format.date output
- new.block
- note output
- fin.entry
-}
-
-FUNCTION {misc}
-{
-%%%%
-%%%% jssst
- author "author" required.argument
- title "title" required.argument
-%%%%
- output.bibitem
- format.authors add.colon % 2.00(5)
- title output
- howpublished output
- format.date output
- new.block
- note output
- fin.entry
- empty.misc.check
-}
-
-FUNCTION {phdthesis}
-{
-%%%%
- author "author" required.argument
- title "title" required.argument
- school "school" required.argument
- year "year" required.argument
-%%%%
- output.bibitem
- format.authors add.colon % 2.00(5)
- title output % 2.00(9)
- author empty$
- { "PhD Thesis" }
- { author is.kanji
- { "博士論文" }
- { "PhD Thesis" }
- if$
- }
- if$
- format.thesis.type output.nonnull
- school output
- address output
- format.date output
- new.block
- note output
- fin.entry
-}
-
-FUNCTION {proceedings}
-{
-%%%%
- title "title" required.argument
- year "year" required.argument
-
- optional.series.volume.number.argument
-%%%% jssst
- editor "editor"
- organization "organization"
- required.exclusive.or.argument
-%%%%
- output.bibitem
- editor empty$
- { organization }
- { format.editors }
- if$
- add.colon % 2.00(5)
- title emphasize output
- output.series.volume.number
- address output
- editor empty$
- 'skip$
- { organization output }
- if$
- publisher output
- format.date output
- new.block
- note output
- fin.entry
-}
-
-FUNCTION {techreport}
-{
-%%%%
- author "author" required.argument
- title "title" required.argument
- institution "institution" required.argument
- year "year" required.argument
-%%%%
- output.bibitem
- format.authors add.colon % 2.00(5)
- title output
- format.tr.number output.nonnull
- institution output
- address output
- format.date output
- new.block
- note output
- fin.entry
-}
-
-FUNCTION {unpublished}
-{
-%%%%
- author "author" required.argument
- title "title" required.argument
- note "note" required.argument
-%%%%
- output.bibitem
- format.authors add.colon % 2.00(5)
- title output
- format.date output
- new.block
- note output
- fin.entry
-}
-
-FUNCTION {default.type} { misc }
-
-MACRO {jan} {"January"}
-
-MACRO {feb} {"February"}
-
-MACRO {mar} {"March"}
-
-MACRO {apr} {"April"}
-
-MACRO {may} {"May"}
-
-MACRO {jun} {"June"}
-
-MACRO {jul} {"July"}
-
-MACRO {aug} {"August"}
-
-MACRO {sep} {"September"}
-
-MACRO {oct} {"October"}
-
-MACRO {nov} {"November"}
-
-MACRO {dec} {"December"}
-
-MACRO {acmcs} {"ACM Computing Surveys"}
-
-MACRO {acta} {"Acta Informatica"}
-
-MACRO {cacm} {"Communications of the ACM"}
-
-MACRO {ibmjrd} {"IBM Journal of Research and Development"}
-
-MACRO {ibmsj} {"IBM Systems Journal"}
-
-MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
-
-MACRO {ieeetc} {"IEEE Transactions on Computers"}
-
-MACRO {ieeetcad}
- {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
-
-MACRO {ipl} {"Information Processing Letters"}
-
-MACRO {jacm} {"Journal of the ACM"}
-
-MACRO {jcss} {"Journal of Computer and System Sciences"}
-
-MACRO {scp} {"Science of Computer Programming"}
-
-MACRO {sicomp} {"SIAM Journal on Computing"}
-
-MACRO {tocs} {"ACM Transactions on Computer Systems"}
-
-MACRO {tods} {"ACM Transactions on Database Systems"}
-
-MACRO {tog} {"ACM Transactions on Graphics"}
-
-MACRO {toms} {"ACM Transactions on Mathematical Software"}
-
-MACRO {toois} {"ACM Transactions on Office Information Systems"}
-
-MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
-
-MACRO {tcs} {"Theoretical Computer Science"}
-
-READ
-
-STRINGS { longest.label }
-
-INTEGERS { number.label longest.label.width }
-
-FUNCTION {initialize.longest.label}
-{ "" 'longest.label :=
- #1 'number.label :=
- #0 'longest.label.width :=
-}
-
-FUNCTION {longest.label.pass}
-{ number.label int.to.str$ 'label :=
- number.label #1 + 'number.label :=
- label width$ longest.label.width >
- { label 'longest.label :=
- label width$ 'longest.label.width :=
- }
- 'skip$
- if$
-}
-
-EXECUTE {initialize.longest.label}
-
-ITERATE {longest.label.pass}
-
-FUNCTION {begin.bib}
-{ preamble$ empty$
- 'skip$
- { preamble$ write$ newline$ }
- if$
- "\begin{thebibliography}{" longest.label * "}" * write$ newline$
-}
-
-EXECUTE {begin.bib}
-
-EXECUTE {init.state.consts}
-
-ITERATE {call.type$}
-
-FUNCTION {end.bib}
-{ newline$
- "\end{thebibliography}" write$ newline$
-}
-
-EXECUTE {end.bib}
-
-
diff -r 86eb165b4b91 -r e17bc730af1a jlisting.sty
--- a/jlisting.sty Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,216 +0,0 @@
-\NeedsTeXFormat{LaTeX2e}
-\def\filedate{2006/02/20}
-\def\fileversion{0.2}
-\ProvidesPackage{jlisting}[\filedate\space\fileversion\space(Thor)]
-%
-\newcount\lst@nextchar
-\let\lst@@ProcessSpace\lst@ProcessSpace
-\def\lst@ProcessSpace#1{%
- \lst@check@chartype{#1}%
- \lst@@ProcessSpace
- \lst@whitespacetrue}
-\let\lst@@ProcessLetter\lst@ProcessLetter
-\def\lst@ProcessLetter#1#2{%
- \lst@check@chartype{#2}%
- {\lst@@ProcessLetter{#1}}%
- \relax}
-\let\lst@@ProcessDigit\lst@ProcessDigit
-\def\lst@ProcessDigit#1#2{%
- \lst@check@chartype{#2}%
- {\lst@@ProcessDigit{#1}}%
- \relax}
-\let\lst@@ProcessOther\lst@ProcessOther
-\def\lst@ProcessOther#1#2{%
- \lst@check@chartype{#2}%
- {\lst@@ProcessOther{#1}}%
- \relax}
-\let\lst@@ProcessTabulator\lst@ProcessTabulator
-\def\lst@ProcessTabulator#1{%
- \lst@check@chartype{#1}%
- \lst@@ProcessTabulator
- \relax}
-\def\lst@check@chartype#1#2#3{%
- \edef\@tempa{\lst@nextchar=`\string#1\relax}%
- \afterassignment\remove@to@nnil
- \@tempa\@nnil
- #2%
- \ifnum\lst@nextchar<\@cclvi
- #3%
- \else
- \lst@ifletter \else \lst@OutputOther \fi
- \lst@whitespacefalse
- \expandafter\lst@AppendJchar
- \fi
- #1}
-\def\lst@AppendJchar#1#2{%
- \lst@check@chartype{#2}%
- {\advance\lst@length\@ne\lst@Append{#1}}%
- \relax}
-\def\lst@check@chartype@BOL#1{%
- \edef\@tempa{\lst@nextchar=`\string#1\relax}%
- \afterassignment\remove@to@nnil
- \@tempa\@nnil
- \ifnum\lst@nextchar<\@cclvi\else
- \lst@whitespacefalse
- \expandafter\lst@AppendJchar
- \fi
- #1}
-\def\lst@InputListing#1{%
- \begingroup
- \lsthk@PreSet \gdef\lst@intname{#1}%
- \expandafter\lstset\expandafter{\lst@set}%
- \lsthk@DisplayStyle
- \catcode\active=\active
- \lst@Init\relax \let\lst@gobble\z@
- \lst@SkipToFirst
- \lst@ifprint \def\lst@next{\lst@get@filecontents{#1}}%
- \else \let\lst@next\@empty
- \fi
- \lst@next
- \lst@DeInit
- \endgroup}
-\newread\lst@inputfile
-\def\lst@get@filecontents#1{%
- \let\lst@filecontents\@empty
- \openin\lst@inputfile=#1\relax
- \let\@lst@get@filecontents@prevline\relax
- \lst@get@filecontents@loop
- \closein\lst@inputfile
- \lst@filecontents\empty}
-\def\lst@get@filecontents@loop{%
- \read\lst@inputfile to\@lst@get@filecontents@currline
- \ifx\@lst@get@filecontents@prevline\relax\else
- \expandafter\expandafter\expandafter\def
- \expandafter\expandafter\expandafter\lst@filecontents
- \expandafter\expandafter\expandafter{%
- \expandafter\lst@filecontents\@lst@get@filecontents@prevline}%
- \fi
- \let\@lst@get@filecontents@prevline\@lst@get@filecontents@currline
- \ifeof\lst@inputfile\else
- \expandafter\lst@get@filecontents@loop
- \fi}
-%%% [$B$3$N=hM}$b!$AjEv6/0z$G$9!%(B]
-\def\lst@BOLGobble{%
- \ifnum\lst@gobble>\z@
- \@tempcnta\lst@gobble\relax
- \expandafter\lst@BOLGobble@
- \else
- \expandafter\lst@check@chartype@BOL
- \fi}
-\def\lst@BOLGobble@#1{%
- \let\lst@next#1%
- \ifx \lst@next\relax\else
- \ifx \lst@next\lst@MProcessListing\else
- \ifx \lst@next\lst@ProcessFormFeed\else
- \ifx \lst@next\lstenv@backslash
- \let\lst@next\lstenv@BOLGobble@@
- \else
- \let\lst@next\lst@BOLGobble@@
- \ifx #1\lst@ProcessTabulator
- \advance\@tempcnta-\lst@tabsize\relax
- \ifnum\@tempcnta<\z@
- \lst@length-\@tempcnta \lst@PreGotoTabStop
- \fi
- \else
- \edef\@tempa{\lst@nextchar=`\string#1\relax}%
- \@tempa
- \ifnum\lst@nextchar<\@cclvi\else
- \advance\@tempcnta\m@ne
- \fi
- \advance\@tempcnta\m@ne
- \fi
- \fi \fi \fi \fi
- \lst@next}
-\def\lst@BOLGobble@@{%
- \ifnum\@tempcnta>\z@
- \expandafter\lst@BOLGobble@
- \else
- \expandafter\lst@check@chartype@BOL
- \fi
-}
-%
-% \begin{$B=$@5;v9`(B}{1.3}
-% $B$A$g$C$H$7$?=$@5(B
-\gdef\lst@breakProcessOther#1{\lst@ProcessOther#1}
-% $B%=!<%9%3!<%IL\:\$7$^$7$?!#(B
-
-\begin{quote}
- \url{http://http://cise.edu.mie-u.ac.jp/~okumura/texfaq/qa/21172.html}\\
- \url{http://http://cise.edu.mie-u.ac.jp/~okumura/texfaq/qa/21184.html}\\
- \url{http://http://cise.edu.mie-u.ac.jp/~okumura/texfaq/qa/21189.html}\\
- \url{http://http://cise.edu.mie-u.ac.jp/~okumura/texfaq/qa/21197.html}
-\end{quote}
-
- Copyright $B$O5H1JE/H~;a$K$"$k$N$@$H;W$$$^$9!%(B
-
-\section{$B99?7MzNr(B}% ChageLogs
-
-\begin{description}
- \item[ver.~0.1 (2004/03/24)]
- $B$H$j$"$($:8x3+!%(B
- \item[ver.~0.2 (2006/02/20)]
- \verb|\lst@breakProcessOther| $BL?Na$NDj5A$NDI2C!%(B
-\end{description}
-
-\section{$B%=!<%9%3!<%I(B}
-\par\narrowbaselines
-\verbatiminput{jlisting.sty}
-\end{document}
diff -r 86eb165b4b91 -r e17bc730af1a paper/Makefile
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/Makefile Tue Apr 02 20:02:48 2013 +0900
@@ -0,0 +1,83 @@
+TARGET = sigos
+
+LATEX = platex
+#BIBTEX = jbibtex
+BIBTEX = extractbb
+DVIPS = dvips
+DVIPDFM = dvipdfmx
+RM = rm -f
+EBB = ebb
+# Option definitions
+DVIPDFMOPT =
+DVIPSOPT = -D 720 -mode esphi -O 0mm,0mm -N0
+
+IMAGE = images/*.pdf
+# Suffixes definitions
+.SUFFIXES: .tex .dvi
+
+# Recipes
+all: pdf# $(TARGET).ps
+ open $(TARGET).pdf
+dvi:
+ $(EBB) $(IMAGE)
+ @echo "----------- make dvi file ($(TARGET).dvi) ----------"
+ $(LATEX) $(TARGET)
+ $(BIBTEX) $(TARGET)
+ $(LATEX) $(TARGET)
+ $(LATEX) $(TARGET)
+pdf: dvi
+ $(DVIPDFM) $(DVIPDFMOPT) $(TARGET)
+ps: dvi
+ $(DVIPS) $(DVIPSOPT) $(TARGET)
+
+clean:
+ $(RM) images/*.bb
+ $(RM) *~ \#*
+ @if [ -f $(TARGET).aux ];\
+ then $(RM) $(TARGET).aux;\
+ fi
+ @if [ -f $(TARGET).log ];\
+ then $(RM) $(TARGET).log;\
+ fi
+ @if [ -f $(TARGET).toc ];\
+ then $(RM) $(TARGET).toc;\
+ fi
+ @if [ -f $(TARGET).lof ];\
+ then $(RM) $(TARGET).lof;\
+ fi
+ @if [ -f $(TARGET).lot ];\
+ then $(RM) $(TARGET).lot;\
+ fi
+ @if [ -f $(TARGET).big ];\
+ then $(RM) $(TARGET).big;\
+ fi
+ @if [ -f $(TARGET).bbl ];\
+ then $(RM) $(TARGET).bbl;\
+ fi
+ @if [ -f $(TARGET).ilg ];\
+ then $(RM) $(TARGET).ilg;\
+ fi
+ @if [ -f $(TARGET).idx ];\
+ then $(RM) $(TARGET).idx;\
+ fi
+ @if [ -f $(TARGET).ind ];\
+ then $(RM) $(TARGET).ind;\
+ fi
+ @if [ -f $(TARGET).dvi ];\
+ then $(RM) $(TARGET).dvi;\
+ fi
+ @if [ -f $(TARGET).ps ];\
+ then $(RM) $(TARGET).ps;\
+ fi
+ @if [ -f $(TARGET).pdf ];\
+ then $(RM) $(TARGET).pdf;\
+ fi
+ @if [ -f $(TARGET).out ];\
+ then $(RM) $(TARGET).out;\
+ fi
+ @if [ -f $(TARGET).bbl ];\
+ then $(RM) $(TARGET).bbl;\
+ fi
+ @if [ -f $(TARGET).blg ];\
+ then $(RM) $(TARGET).blg;\
+ fi
diff -r 86eb165b4b91 -r e17bc730af1a paper/alice.tex
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/alice.tex Tue Apr 02 20:02:48 2013 +0900
@@ -0,0 +1,158 @@
+\section{分散ネットフレームワークAlice}
+Alice\cite{kono11g}は、本研究室で開発を行なっている分散管理フレームワークである。Cell用の並列フレームワークCerium\cite{kono09b} \cite{cerium-sourceforge}に似たタスク管理機構とLinda\cite{linda} を相互接続した分散フレームワークであるFederated Linda\cite{kono05b}\cite{kono10d}に似たData Semgnetの通信構造をもつ。
+
+まず、Aliceを使用するに必要なData Segment、Code Segmentについて説明を行う。
+\subsection{Data Segment API}
+Data Segmentは数値や文字列などのデータを構造体的に保持する。AliceはData Segmentをデータベース的に扱う。しかし、Aliceは通常のデータベースとは異なりKey毎にキューがある。Data Segmentはキューにput した順番に取得することができる。これはLindaに準じた設計となっている。
+
+Data Segmentを管理するのがData Segment Manager(以下DSM)である。ノード毎にキーを持ち他のノードにはRemote DSM経由でアクセスすることができる。つまり、Remote DSMは他のノードのLocal DSMのproxyである。(図 \ref{fig:proxy})他のノードに対するアクセスはキューによって、ノード内部で逐次化される。それ以外は、すべてJavaのThread poolにより並列実行される。
+\begin{figure}[tb]
+\begin{center}
+\scalebox{1.0}{\includegraphics{images/remote_datasegment.pdf}}
+\end{center}
+\caption{Remote DSMは他のノードの Local DSMのproxy}
+\label{fig:proxy}
+\end{figure}
+以下が用意されているData Segment APIである。これらを用いてData Segmentの送受信を行う。
+\begin{itemize}
+\item \verb+void put(String key, Value val)+
+\item \verb+void update(String key, Value val)+
+\item \verb+void peek(Receiver receiver, String key)+
+\item \verb+void take(Receiver receiver, String key)+
+\end{itemize}
+
+\subsubsection{put}
+\verb+put+ はデータを追加するための API である。Key Value Storeのキューに追加される。 (図 \ref{fig:put})
+
+\begin{figure}[htbl]
+\begin{center}
+\scalebox{1.1}{\includegraphics{images/put.pdf}}
+\end{center}
+\caption{putはデータを追加する}
+\label{fig:put}
+\end{figure}
+
+
+\subsubsection{update}
+\verb+update+ はデータを更新するためのAPIである。キューの先頭を置き換える。
+(図 \ref{fig:update})
+
+
+\begin{figure}[htbl]
+\begin{center}
+\scalebox{1.1}{\includegraphics{images/update.pdf}}
+\end{center}
+\caption{updateはキューの先頭を書き換える}
+\label{fig:update}
+\end{figure}
+
+\subsubsection{peek}
+peek はデータを取得する。(図 \ref{fig:peek})
+\begin{figure}[html]
+\begin{center}
+\scalebox{1.0}{\includegraphics{images/peek.pdf}}
+\end{center}
+\caption{peekはデータを取得する}
+\label{fig:peek}
+\end{figure}
+
+
+Data Segmentが無ければCode Segmentの待ち合わせが起きる。(図 \ref{fig:no_peek})
+
+\begin{figure}[htbl]
+\begin{center}
+\scalebox{1.1}{\includegraphics{images/peek1.pdf}}
+\end{center}
+\caption{希望のデータが無いときは保留する}
+\label{fig:no_peek}
+\end{figure}
+
+put、updateによりData Segmentの更新があれば、peekが直ちに実行され、待ち合わせを行なっていたCode Segmentがactive queue に移される。
+
+\subsubsection{take}
+takeもデータを取得するためのAPIである。(図 \ref{fig:take})peekとの違いは取得されたData SegmentはKey Value Storeのキューから取り除かれる。
+\begin{figure}[htbl]
+\begin{center}
+\scalebox{1.1}{\includegraphics{images/take.pdf}}
+\end{center}
+\caption{take はデータを読み込む}
+\label{fig:take}
+\end{figure}
+
+\subsection{Code Segment}
+
+Code Segmentはタスクのことである。Code Segmentをユーザーが記述するときにCode Segment内で使用するData Segmentの作成を記述する。Code SegmentにはInput Data SegmentとOutput Data Segmentを作るAPIが存在する。
+
+
+Input Data SegmentはRemoteかLocalを指定する必要がある。さらに、どのData Segmentを取るかをキーで指定する。
+実際にsetKeyのメソッドを呼んだ時に指定する。
+Code Segmentがactiveになるためには、Input Data Segmentが全て揃う必要がある。
+
+
+Output Data SegmentもRemoteかLocalを指定する。Input と同様にどのキーに対してData Segmentを追加するか指定する。
+実際にはputまたはupdateメソッドを呼ぶタイミングでおこなう。
+
+これらのInput/OutputがCode Segment間の依存関係を自動的に記述することになる。
+
+\subsubsection{Code Segmentの実行方法}
+Alice には、Start Code Segment (ソースコード \ref{fig:StartCodeSegment})というC の main に相当するような最初に実行される Code Segment がある。
+\begin{table}[html]
+\lstinputlisting[label=fig:StartCodeSegment, caption=StartCodeSegmentの例]{source/StartCodeSegment.java}
+\end{table}
+
+Start Code SegmentはどのData Segmentにも依存しない。つまりInput Data Segmentを持たない。
+このCode Segmentをmainメソッド内でnewし、executeメソッドを呼ぶことで実行を開始させることができる。(ソースコード \ref{fig:TestLocalAlice})
+
+\begin{table}[html]
+\lstinputlisting[label=fig:TestLocalAlice, caption=Start Code Segmentを実行させる方法]{source/TestLocalAlice.java}
+\end{table}
+
+\subsubsection{Code Segmentの記述方法}
+Code Segmentをユーザーが記述する際にはCode Segmentを継承して記述する。(ソースコード \ref{fig:CodeSegment})そのCodeSegmentはInputDataSegmentManagerとOutputDataSegmentManagerを利用することができる。
+
+InputDataSegmentManagerはCode Segmentの{\tt ids}というフィールドを用いてアクセスする。
+
+
+
+\begin{table}[html]
+\lstinputlisting[label=fig:CodeSegment, caption=CodeSegmentの例]{source/TestCodeSegment.java}
+\end{table}
+
+\begin{itemize}
+\item {\ttfamily Receiver create(CommandType type)}
+\end{itemize}
+createでコマンドが実行された際に取得されるData Segmentが格納される受け皿を作る。引数にはCommandTypeが取られ、指定できるCommandTypeは{\tt PEEK}または{\tt TAKE}である。
+\begin{itemize}
+\item {\ttfamily void setKey(String managerKey, String key)}
+\end{itemize}
+setKeyメソッドにより、どこのData Segmentのあるkeyに対してpeekまたはtakeコマンドを実行させるかを指定することができる。
+コマンドの結果がレスポンスとして届き次第Code Segmentは実行される。
+
+OutputDataSegmentManagerはCode Segmentの{\tt ods}というフィールドを用いてアクセスする。
+OutPutDataSegmentManagerは{\tt put}または{\tt update}を実行することができる。
+\begin{itemize}
+\item {\ttfamily void put(String managerKey, String key, \\ Value val)}
+\item {\ttfamily void update(String managerKey, String key, Value val)}
+\end{itemize}
+
+
+
+\section{Message Pack }
+Data Segmentのデータの表現にはMessage Packを利用している。Message Packに関してJavaにおけるデータ表現は以下の3つある。
+\begin{itemize}
+\item {\ttfamily 一般的なJavaのクラスオブジェクト}
+\item {\ttfamily MessagePack for JavaのValueオブジェクト}
+\item {\ttfamily byte[]で表現されたバイナリ}
+\end{itemize}
+
+Data Segmentは、MessagePack for JavaのValueオブジェクトを用いてデータが表現されている。
+MessagePackはJavaのように静的に型付けされたオブジェクトではなく、自己記述なデータ形式である。
+MessagePack for JavaのValueオブジェクトはMessagePackのバイナリにシリアライズできる型のみで構成されたJavaのオブジェクトである。
+そのため、Valueも自己記述式のデータ形式になっている。
+
+Valueオブジェクトは通信に関わるときには、シリアライズ・デシリアライズを高速に行うことができる。
+ユーザーはメソッドを用いてオブジェクト内部のデータを閲覧、編集することができる。
+
+ユーザーが一般的なクラスをIDL(Interface Definition Language)のように用いてデータを表現することができる。
+この場合、クラス宣言時に@Messageというアノテーションをつける必要がある。
+ただし、MessagePackで扱うことのできるデータのみをフィールドに入れなければならない。
\ No newline at end of file
diff -r 86eb165b4b91 -r e17bc730af1a paper/bib.tex
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/bib.tex Tue Apr 02 20:02:48 2013 +0900
@@ -0,0 +1,2 @@
+\bibliographystyle{ipsjunsrt}
+\bibliography{sigos}
diff -r 86eb165b4b91 -r e17bc730af1a paper/bibliography.tex
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/bibliography.tex Tue Apr 02 20:02:48 2013 +0900
@@ -0,0 +1,31 @@
+
+\begin{thebibliography}{10}
+
+\bibitem{linda}
+{Sudhir Ahuja, Nicholas Carriero, and David Gelernter. Linda and friends} IEEE Computer, Aug. 1986.
+
+\bibitem{kono09b}
+{Shinji KONO.} Cerium. \url{http://sourceforge.jp/projects/cerium/}, March 2008
+
+\bibitem{SEDA2001}
+{Matt Welsh, David Culler, and Eric Brewer.} Seda: an architecture for well-conditioned, scalable internet services
+{\em SIGOPS Oper. Syst. Rev.} Vol.35, No.5, pp. 230-243, 2001.
+
+\bibitem{kono05b}
+{安村恭一, 河野真治.}: 大域 IDを持たない連邦型タプルスペース Federated Linda.
+情報処理学会 システムソフトウェアとオペレーティング・システム研究会, May 2005.
+\bibitem{kono10d}
+{赤嶺一樹, 河野真治. } Meta Engineを用いたFederated Lindaの実験.
+日本ソフトウェア科学会第27 回大会 (2010 年度) 論文集, Sep 2010.
+\bibitem{kono11g}
+{赤嶺一樹, 河野真治.}Data Segment API を用いた分散フレームワークの設計.
+日本ソフトウェ ア科学会第 28 回大会 (2011 年度) 論文集, Sep 2011.
+
+
+
+\bibitem{cerium-sourceforge}
+{多賀野海人, 小林佑亮, 宮國渡, 河野真治 (琉球大).} Cell Task Manager Cerium の SPU 内データ管理. 情報処理学会システムソフトウェアとオ ペレーティング・システム研究会, April 2009.
+
+\bibitem{kono13h}
+{多賀野海人, 小林佑亮, 宮國渡, 河野真治 (琉球大).} Code Segment と Data Segment によるプログラミング手法. 情報処理学会プログラミング・シンポジウム, January 2013.
+\end{thebibliography}
diff -r 86eb165b4b91 -r e17bc730af1a paper/compare.tex
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/compare.tex Tue Apr 02 20:02:48 2013 +0900
@@ -0,0 +1,89 @@
+\section{実験}
+
+\subsection{実験環境}
+SEDAがコア数の少ないマシーンではうまく動作しないことを考慮して、メニコア環境で実験を行った。
+
+
+\begin{table}[htbp]
+\caption{実行環境の詳細}
+\label{tb:MacPro}
+\begin{center}
+\begin{tabular} {|l|l|}
+ \hline
+ {\bf CPU}&Intel(R) Xeon(R) X5650 @2.67GHz\\
+ \hline
+ {\bf 物理コア数}&12\\
+ \hline
+ {\bf 論理コア数}&24\\
+ \hline
+ {\bf CPU キャッシュ}&12MB\\
+ \hline
+ {\bf Memory}&16GB\\
+ \hline
+\end{tabular}
+\end{center}
+\end{table}
+
+
+\subsection{実験概要}
+今回それぞれの改善案の効果を調査するために以下の3つの実験を行った。
+\subsubsection{SEDAの有無}
+LocalからData Segmentを取得するCode Segmentを10000回実行される時間を計測する。
+SEDAを使用した場合と、しない場合の2つの比較を行い、その効果を測定する。
+
+\begin{table}[html]
+\caption{SEDAの有無の比較}
+\label{tb:result1}
+\begin{center}
+\begin{tabular}{|l|l|l|}
+\hline
+ SEDA& あり & なし \\
+ \hline
+ 実行時間 (ms)& 27.72 & 7.53 \\
+\hline
+\end{tabular}
+\end{center}
+\end{table}
+SEDAを使わずにコマンドを処理する方が約3.7倍差が見られた。(表\ref{tb:result1})
+\subsubsection{flipの効果の測定}
+Local にData Segmentを10000回追加するのにかかる時間を計測する。
+flipコマンドを使用して追加する場合と、putコマンドを使用して追加する場合の2つの比較を行う。
+
+\begin{table}[html]
+\caption{flipの結果}
+\label{tb:result2}
+\begin{center}
+\begin{tabular}{|l|l|l|}
+\hline
+Command & flip & put \\
+ \hline
+ 実行時間 (ms)& 61.12 & 65.24 \\
+\hline
+\end{tabular}
+\end{center}
+\end{table}
+
+flipを使う方が若干ではあるが速度改善が見られる。(表\ref{tb:result2})
+
+\subsubsection{bitonic sortにおける効果の測定}
+bitonic sortにより、100万の要素をもつ配列のSortにかかる時間を計測する。分割数は10個で行った。
+
+\begin{table}[html]
+\caption{bitonic sortの結果}
+\label{tb:result3}
+\begin{center}
+\begin{tabular}{|l|l|l|}
+\hline
+ & 改善前 & 改善後 \\
+ \hline
+ 実行時間 (ms)& 199.38 & 184.64 \\
+\hline
+\end{tabular}
+\end{center}
+\end{table}
+
+
+\subsection{考察}
+実験の結果より今回の改善により、約10\%程Aliceの速度改善を行うことができた。(表\ref{tb:result3})この差のほとんどがSEDAによるものと推測される。
+LinkedBlockingQueueを使ったSEDAの実装は、コストが高くレスポンスを求めるには不向きであることがわかった。
+CeriumのようにスケジューラーによってCode SegmentにData Segmentをセットしたほうがレスポンスを向上できると思われる。
\ No newline at end of file
diff -r 86eb165b4b91 -r e17bc730af1a paper/conclusion.tex
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/conclusion.tex Tue Apr 02 20:02:48 2013 +0900
@@ -0,0 +1,7 @@
+\section{まとめ}
+今回の改善はAliceのLocalにおける並列処理の速度を向上させるためのものであった。その結果約10%程処理速を改善することができた。
+しかし、まだまだ十分な速度であるとは言いがたい。別の実験からCode Segment生成からの実行されるまでに、オーバーヘッドがあるとの実験結果が出ている。
+Code Segment側のオーバーヘッドを取り除くことで、更なる速度改善が見込まれる。
+LocalにおいてはSEDAは使用しないが、RemoteにData Segmentの更新する際にはまだSEDAを使用している。今回の実験によりRemoteにおいてもSEDAを使用しないことでレスポンスの向上が見込まれるので、実験を行い確認したい。Remoteの処理速度としては少なくともシングルスレッドのFederated Lindaと同等の速度を目指している。
+
+また、Aliceが抱える問題はAPIのシンタックス的な問題や拡張性の問題、永続性の問題などが現在判明している。これらの問題を解決し、Aliceが信頼性とスケーラビリティーを持つように改良を行なっていく必要がある。
\ No newline at end of file
diff -r 86eb165b4b91 -r e17bc730af1a paper/dummy.tex
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/dummy.tex Tue Apr 02 20:02:48 2013 +0900
@@ -0,0 +1,60 @@
+%%% jdummy.def
+%
+\DeclareRelationFont{JY1}{mc}{it}{}{OT1}{cmr}{it}{}
+\DeclareRelationFont{JT1}{mc}{it}{}{OT1}{cmr}{it}{}
+\DeclareFontShape{JY1}{mc}{m}{it}{<5> <6> <7> <8> <9> <10> sgen*min
+ <10.95><12><14.4><17.28><20.74><24.88> min10
+ <-> min10}{}
+\DeclareFontShape{JT1}{mc}{m}{it}{<5> <6> <7> <8> <9> <10> sgen*tmin
+ <10.95><12><14.4><17.28><20.74><24.88> tmin10
+ <-> tmin10}{}
+\DeclareRelationFont{JY1}{mc}{sl}{}{OT1}{cmr}{sl}{}
+\DeclareRelationFont{JT1}{mc}{sl}{}{OT1}{cmr}{sl}{}
+\DeclareFontShape{JY1}{mc}{m}{sl}{<5> <6> <7> <8> <9> <10> sgen*min
+ <10.95><12><14.4><17.28><20.74><24.88> min10
+ <-> min10}{}
+\DeclareFontShape{JT1}{mc}{m}{sl}{<5> <6> <7> <8> <9> <10> sgen*tmin
+ <10.95><12><14.4><17.28><20.74><24.88> tmin10
+ <-> tmin10}{}
+\DeclareRelationFont{JY1}{mc}{sc}{}{OT1}{cmr}{sc}{}
+\DeclareRelationFont{JT1}{mc}{sc}{}{OT1}{cmr}{sc}{}
+\DeclareFontShape{JY1}{mc}{m}{sc}{<5> <6> <7> <8> <9> <10> sgen*min
+ <10.95><12><14.4><17.28><20.74><24.88> min10
+ <-> min10}{}
+\DeclareFontShape{JT1}{mc}{m}{sc}{<5> <6> <7> <8> <9> <10> sgen*tmin
+ <10.95><12><14.4><17.28><20.74><24.88> tmin10
+ <-> tmin10}{}
+\DeclareRelationFont{JY1}{gt}{it}{}{OT1}{cmbx}{it}{}
+\DeclareRelationFont{JT1}{gt}{it}{}{OT1}{cmbx}{it}{}
+\DeclareFontShape{JY1}{mc}{bx}{it}{<5> <6> <7> <8> <9> <10> sgen*goth
+ <10.95><12><14.4><17.28><20.74><24.88> goth10
+ <-> goth10}{}
+\DeclareFontShape{JT1}{mc}{bx}{it}{<5> <6> <7> <8> <9> <10> sgen*tgoth
+ <10.95><12><14.4><17.28><20.74><24.88> tgoth10
+ <-> tgoth10}{}
+\DeclareRelationFont{JY1}{gt}{sl}{}{OT1}{cmbx}{sl}{}
+\DeclareRelationFont{JT1}{gt}{sl}{}{OT1}{cmbx}{sl}{}
+\DeclareFontShape{JY1}{mc}{bx}{sl}{<5> <6> <7> <8> <9> <10> sgen*goth
+ <10.95><12><14.4><17.28><20.74><24.88> goth10
+ <-> goth10}{}
+\DeclareFontShape{JT1}{mc}{bx}{sl}{<5> <6> <7> <8> <9> <10> sgen*tgoth
+ <10.95><12><14.4><17.28><20.74><24.88> tgoth10
+ <-> tgoth10}{}
+\DeclareRelationFont{JY1}{gt}{sc}{}{OT1}{cmbx}{sc}{}
+\DeclareRelationFont{JT1}{gt}{sc}{}{OT1}{cmbx}{sc}{}
+\DeclareFontShape{JY1}{mc}{bx}{sc}{<5> <6> <7> <8> <9> <10> sgen*goth
+ <10.95><12><14.4><17.28><20.74><24.88> goth10
+ <-> goth10}{}
+\DeclareFontShape{JT1}{mc}{bx}{sc}{<5> <6> <7> <8> <9> <10> sgen*tgoth
+ <10.95><12><14.4><17.28><20.74><24.88> tgoth10
+ <-> tgoth10}{}
+\DeclareRelationFont{JY1}{gt}{it}{}{OT1}{cmr}{it}{}
+\DeclareRelationFont{JT1}{gt}{it}{}{OT1}{cmr}{it}{}
+\DeclareFontShape{JY1}{gt}{m}{it}{<5> <6> <7> <8> <9> <10> sgen*goth
+ <10.95><12><14.4><17.28><20.74><24.88> goth10
+ <-> goth10}{}
+\DeclareFontShape{JT1}{gt}{m}{it}{<5> <6> <7> <8> <9> <10> sgen*tgoth
+ <10.95><12><14.4><17.28><20.74><24.88> tgoth10
+ <-> tgoth10}{}
+\endinput
+%%%% end of jdummy.def
diff -r 86eb165b4b91 -r e17bc730af1a paper/images/peek.pdf
Binary file paper/images/peek.pdf has changed
diff -r 86eb165b4b91 -r e17bc730af1a paper/images/peek1.pdf
Binary file paper/images/peek1.pdf has changed
diff -r 86eb165b4b91 -r e17bc730af1a paper/images/put.pdf
Binary file paper/images/put.pdf has changed
diff -r 86eb165b4b91 -r e17bc730af1a paper/images/remote_datasegment.pdf
Binary file paper/images/remote_datasegment.pdf has changed
diff -r 86eb165b4b91 -r e17bc730af1a paper/images/take.pdf
Binary file paper/images/take.pdf has changed
diff -r 86eb165b4b91 -r e17bc730af1a paper/images/tree.pdf
Binary file paper/images/tree.pdf has changed
diff -r 86eb165b4b91 -r e17bc730af1a paper/images/update.pdf
Binary file paper/images/update.pdf has changed
diff -r 86eb165b4b91 -r e17bc730af1a paper/improvement.tex
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/improvement.tex Tue Apr 02 20:02:48 2013 +0900
@@ -0,0 +1,33 @@
+\section{改善案}
+\subsection{Message Pack}
+AliceではData SegmentをValue型という、Message Packが提供している型で保存している。
+Value というクラスは動的に型付けされたオブジェクトを表現することができるため、RubyやPythonのような動的型付けの言語のオブジェクトと同様の扱いをすることができる。
+分散プログラムのアプリケーションはサーバとクライアントのVersionが同じとは限らない。サーバ側が更新され、扱うData Segmentが変更された場合であっても、旧Versionとの互換性が要求される。
+Aliceは、この問題をMessage PackのValue型を用いることで互換性をもたせようとしている。
+しかし、Versionの問題が起こらないLocalの場合、Data SegmentをValue型に変換し、また任意の型に戻すという操作を行う必要はなく、この操作は単なるオーバーヘッドにしかならない。
+
+従って、Data Segmentの送信先がRemoteであるならばValue型に変換を行い、Localであるならば変換しないという具合に改善をすれば、LocalにおけるMessage Packのオーバーヘッドを減らすことができる。
+
+
+\subsection{SEDA Architecture }
+Localにおいてはput や peek に沿ったCommand を作成するステージ(Code Segmentが実行されているスレッド)、受け取ったCommandを処理するステージ、Code SegmentにData Segmentをセットするステージの三段のパイプラインで構成されている。これを全て同一のステージにまとめ、Localの環境下においてSEDAを使用せずに処理を行うように変更する。
+\subsection{Data Segmentの再構成}
+Data Segmentの更新におけるオーバーヘッドを減らす方法としてCeriumでも良好な結果を得ているflipを提案する。
+CeriumにおけるflipはInput Data SegmentとOutput Data SegmentをswapさせるAPIである。(ソースコード \ref{fig:flip})
+
+\begin{table}[html]
+\lstinputlisting[label=fig:flip, caption=Ceriumにおけるflip]{source/Cerium_flip.cc}
+\end{table}
+{\tt readbuf}がInput Data Segment、{\tt writebuf}がOutput Data Segmentである。
+Output がinput の書き換えならばswapを行い、2つの領域を入れ替えることで無駄なmemcopyを防ぐことができる。
+
+
+AliceにおいてもCeriumと同様にflipを実装することで、無駄なデータのコピーを防ぐ。(ソースコード\ref{fig:flipAlice})
+\begin{table}[html]
+\lstinputlisting[label=fig:flipAlice, caption=Aliceにおけるflip]{source/OutputDataSegment.java}
+\lstinputlisting[label=fig:use,caption=flipの使用例]{source/Sort.java}
+\end{table}
+
+CeriumにおいてOutput Data SegmentはTaskが実行された段階ですでに用意されている。そのためデータをOutput Data Segmentに書き込む前にflipを呼ぶ。
+Aliceではputまたはupdateを呼んだ段階でOutput Data Segmentが作られるため、ソースコード\ref{fig:use}のようにInput Data SegmentであるReceiverをflipメソッドに引数として渡すことで、
+無駄なコピーを減らす。
diff -r 86eb165b4b91 -r e17bc730af1a paper/introduction.tex
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/introduction.tex Tue Apr 02 20:02:48 2013 +0900
@@ -0,0 +1,7 @@
+\section{研究背景と目的}
+本研究室では、データをData Segment、タスクをCode Segmentという単位に分割して記述する分散ネットフレームワークAliceの開発を行なっている。Aliceはノード間のData Segmentの送受信APIが提供されている。メニーコアのマシンが主流になっている背景からSEDA Architecture\cite{SEDA2001}を採用しており、マルチコア上でのスループットの向上を期待している。
+
+
+以前、Aliceが分散フレームワークとしての記述能力を確認するために、水族館の例題\cite{kono13h}の作成を行った。その結果より、Aliceには分散プログラムを記述するのに必要なAPIが備わっていることが確認できている。また、並列環境に対応していることを確認するため、bitonic sortを作成した。しかし、Data Segmentの更新のオーバーヘッドにより、期待した効果を得られなかった。
+
+本研究ではData Segmentの更新オーバーヘッドを解決する手段として新しくAPIを提案し、効果の測定を行う。
\ No newline at end of file
diff -r 86eb165b4b91 -r e17bc730af1a paper/ipsjcommon.sty
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/ipsjcommon.sty Tue Apr 02 20:02:48 2013 +0900
@@ -0,0 +1,995 @@
+% Copyright (C) 1995-2007 by Hiroshi Nakashima, Yasuki Saito and
+% The Editorial Board of the IPSJ Journal
+%
+% ipsjcommon.sty 15-Jun-07 by Hiroshi Nakashima (ver 2.12)
+% (revision history deleted)
+% ipsjcommon.sty 24-Apr-95 by Hiroshi Nakashima (ver 1.0)
+
+%%%%%% Sectioning Commands %%%%%%
+
+% \section: 2 rows
+% others: 1 row
+%
+% Note that \paragraph and \subparagraph act as \subsubsubsection and
+% \subsubsubsubsection resp.
+%
+% The form of sectioning header is;
+% <1 Kanji sp> \the [`.' if \section] <1 Kanji sp>
+% Nothe that <1 Kanji sp> is that of \normalsize.
+
+\def\section{\@startsection
+ {section}{1}{\@mojihaba}{\sec@aboveskip}{\sec@belowskip}{\fs@sec\bf}}
+\let\ipsj@section\section % 2.04(1)
+\def\subsection{\@startsection
+ {subsection}{2}{\@mojihaba}{\z@}{\z@}{\fs@subsec\bf}}
+\def\subsubsection{\@startsection
+ {subsubsection}{3}{\@mojihaba}{\z@}{\z@}{\fs@subsec\bf}}
+\def\paragraph{\@startsection
+ {paragraph}{4}{\@mojihaba}{\z@}{\z@}{\fs@subsec\bf}}
+\def\subparagraph{\@startsection
+ {subparagraph}{5}{\@mojihaba}{\z@}{\z@}{\fs@subsec\bf}}
+
+\newcounter{section}
+\newcounter{subsection}[section]
+\newcounter{subsubsection}[subsection]
+\newcounter{paragraph}[subsubsection]
+\newcounter{subparagraph}[paragraph]
+
+\def\thesection{\arabic{section}}
+\def\sec@section@postfix{.}
+\def\thesubsection{\thesection.\arabic{subsection}}
+\def\thesubsubsection{\thesubsection.\arabic{subsubsection}}
+\def\theparagraph{\thesubsubsection.\arabic{paragraph}}
+\def\thesubparagraph{\theparagraph.\arabic{subparagraph}}
+
+\setcounter{secnumdepth}{5}
+
+\def\appendix{\let\sec@sec\section
+ \def\section{\@startsection
+ {section}{1}{\@mojihaba}{\z@}{\z@}{\fs@subsec\bf}}%
+ \def\thesection{\appendixprefix\arabic{section}}%
+ \def\sec@section@postfix{\appendixpostfix}%
+ \stepcounter{section}\setcounter{section}{0}%
+ \@ifnextchar[%]
+ {\sec@oappendix}{\sec@xappendix}}
+\def\sec@xappendix{\@ifstar{\let\section\sec@sec}%
+ {\sec@sec*{\ifDS@english Appendix\else\ipsj@j@app \fi}}}% 2.12(1b)
+\def\sec@oappendix[#1]{\sec@sec*{\ifDS@english Appendix: \else
+ \ipsj@j@app\hskip\jspaceskip\fi #1}} % 2.12(1b)
+\def\appendixprefix{A.}
+\def\appendixpostfix{}
+
+\def\acknowledgment{\par
+ {\bf \ifDS@english Acknowledgments \else\ipsj@j@ack\fi}%% 2.12(1b)
+ \hskip\@mojihaba \ignorespaces}
+\let\endacknowledgment\par
+
+\newif\ifipsj@recommendation \ipsj@recommendationfalse % 2.04(1) >>
+\def\recommendation#1{\global\ipsj@recommendationtrue
+ \ifDS@draft\else \ra@putrcvacc\fi
+ \ipsj@section*{#1}
+}
+\def\endrecommendation{\par\vskip\baselineskip\penalty\opt@magicpenalty}
+ % 2.04(1) <<
+
+% Modified \@startsection has a trick for "2-row" of \section, which must
+% work even if \section appears the top of a page. The BEFORESKIP must be
+% inserted with respect to the previous baseline. So, we must go back to
+% the imaginary previous baseline at the top of a page. That is, we do;
+% \vskip\baselineskip \vspace*{-\baselineskip}
+% which resuls;
+% do nothing at midpage
+% go to the first baseline by \topskip, then go back to 0th
+% baseline by \vspace*.
+% The trick "\vskip-\prevdepth \prevdepth\z@" will assure exact vertical
+% space even when the last line has much depth.
+%
+% \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}
+\def\@startsection#1#2#3#4#5#6{\if@noskipsec \leavevmode \fi
+ \par \@tempskipa #4\relax
+ \@afterindenttrue
+ \ifdim\@tempskipa<\z@ \@tempskipa-\@tempskipa \@afterindentfalse\fi
+ \if@nobreak \everypar{}\else \addpenalty{\@secpenalty}\fi
+ \ifdim\@tempskipa>\z@
+% Here is the trick for \section.
+ \vskip-\prevdepth \prevdepth\z@ \vskip\baselineskip
+ \vspace*{-\baselineskip}\vskip\@tempskipa\fi
+ \@ifstar
+ {\@ssect{#3}{#4}{#5}{#6}}{\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
+
+% \@sect is modified to cope with `.' for \section and MOJI-DORI
+%
+% \@sect{NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}[TITLE]{TITLE}
+\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth
+ \def\@svsec{}\else
+ \refstepcounter{#1}
+ % 2.00(1)>>
+ \let\@@protect\protect \def\protect{\noexpand\protect\noexpand}
+ \edef\@svsec{\csname the#1\endcsname \csname sec@#1@postfix\endcsname
+ \hskip\@mojihaba} \let\protect\@@protect\fi % 2.00(1)<<
+ \@tempskipa #5\relax
+ \ifdim \@tempskipa<\z@
+ \def\@svsechd{#6\hskip #3\relax\@svsec #8} % 2.00(1)
+ \else
+ \begingroup #6\relax
+ \@hangfrom{\hskip #3\relax\@svsec}%
+ {\interlinepenalty\@M \sec@mojidori{#8}\par}%
+ \endgroup
+ \fi \@xsect{#5}}
+
+% \@ssect is modified to cope with MOJI-DORI
+%
+% \@sect{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}{TITLE}
+\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax
+ \ifdim \@tempskipa<\z@ \def\@svsechd{#4\hskip #1\relax #5}%
+ \else \begingroup #4%
+ \@hangfrom{\hskip #1}{\interlinepenalty\@M
+ \sec@mojidori{#5}\par}\endgroup
+ \fi \@xsect{#3}}
+
+%% Modify \@xsect to avoid (buggy) \clubpenalty=10000. (H.N.)
+\def\@xsect#1{\@tempskipa #1\relax
+ \ifdim \@tempskipa<\z@
+ \glboal\@nobreakfalse \global\@noskipsectrue
+ \everypar{\global\@noskipsecfalse \hskip-\parindent
+ \begingroup \@svsechd \endgroup \unskip
+ \hskip -#1\everypar{}}%
+ \else
+ \par \nobreak
+ \vskip \@tempskipa \global\@nobreaktrue
+ \everypar{\global\@nobreakfalse
+ \if@afterindent\else {\setbox0\lastbox}\fi \everypar{}}
+ \fi\ignorespaces}
+
+% Here is a trick for MOJI-DORI of sectioning tilte. The rule is;
+% 2 - 4 Kanji char -> 5 Kanji char
+% otherwise -> natural width
+%
+\def\sec@mojidori#1{\ifDS@english #1\else % 2.12(1b)
+ \setbox0\hbox{#1}\settowidth\@tempdimb{\ipsj@j@a}% % 2.12(1b)
+ \ifdim\wd0>4.5\@tempdimb #1\else
+ \ifdim\wd0<1.5\@tempdimb #1\else
+ \jintercharskip\fill \jasciikanjiskip\fill \jmathkanjiskip\fill
+ \leavevmode\hbox to5\@tempdimb{#1\hfil}\fi\fi\fi}
+
+%%%%%% List-like Environments %%%%%%
+%
+% LM RM LW LS LPI II
+% default 2K 0 0.75K 0.25K 0 0
+% \enumerate 3K 0 3K 0 0 0
+% \Enumerate 0 0 3K 0 0 3K
+% \ENUMERATE 0 0 3K 0 0 4K
+% \enumerate* 1K 0 3K 0 0 2K
+% \itemize 2K 0 2K 0 0 0
+% \Itemize 0 0 2K 0 0 2K
+% \ITEMIZE 0 0 2K 0 0 3K
+% \itemize* 1K 0 2K 0 0 1K
+% \description 2K 0 0 1K 0 -1K
+% \Description 0 0 0 1K 0 1K
+% \DESCRIPTION 0 0 0 1K 0 2K
+% \description* 1K 0 0 1K 0 0
+% \verse 3K 2K 0.75K 0.25K -1K -1K
+% \quotation 2K 2K 0.75K 0.25K 1K 1K
+% \quote 2K 2K 0.75K 0.25K 0 0
+%
+% where LM is \leftmargin, RM is \rightmargin, LW is \labelwidth, LS is
+% \labelsep, \LPI is \listparindent, II is \itemindent, and K is Kanji char
+% width (\@mojihaba).
+%
+% All vertical space parameters, \topsep, \partopsep, \itemsep and \parsep,
+% are 0pt.
+
+\leftmargini2\@mojihaba
+\leftmarginii2\@mojihaba
+\leftmarginiii2\@mojihaba
+\leftmarginiv2\@mojihaba
+\leftmarginv2\@mojihaba
+\leftmarginvi2\@mojihaba
+
+\def\lst@listi{\labelsep.75\@mojihaba \labelwidth.25\@mojihaba
+ \rightmargin\z@ \listparindent\z@ \itemindent\z@
+ \partopsep\z@ \parsep\z@ \topsep\z@ \itemsep\z@}
+\def\@listi{\leftmargin\leftmargini \lst@listi}
+\def\@listii{\leftmargin\leftmarginii \lst@listi}
+\def\@listiii{\leftmargin\leftmarginiii \lst@listi}
+\def\@listiv{\leftmargin\leftmarginiv \lst@listi}
+\def\@listv{\leftmargin\leftmarginv \lst@listi}
+\def\@listvi{\leftmargin\leftmarginvi \lst@listi}
+
+\@listi
+
+\def\labelenumi{(\,\theenumi\,)}
+\def\theenumi{\arabic{enumi}}
+\def\labelenumii{(\,\theenumii\,)}
+\def\theenumii{\alph{enumii}}
+\def\p@enumii{\theenumi}
+\def\labelenumiii{(\,\theenumiii\,)}
+\def\theenumiii{\roman{enumiii}}
+\def\p@enumiii{\theenumi(\theenumii)}
+\def\labelenumiv{(\,\theenumiv\,)}
+\def\theenumiv{\Alph{enumiv}}
+\def\p@enumiv{\p@enumiii\theenumiii}
+\def\enumerate{\ifnum \@enumdepth >3 \@toodeep\else
+ \advance\@enumdepth \@ne
+ \edef\@enumctr{enum\romannumeral\the\@enumdepth}
+ \list{\csname label\@enumctr\endcsname}{\usecounter
+ {\@enumctr}\def\makelabel##1{##1\hss}%
+ \leftmargin3\@mojihaba \labelwidth3\@mojihaba \labelsep\z@}\fi}
+\let\endenumerate\endlist
+
+\def\labelitemi{$\bullet$}
+\def\labelitemii{\bf --}
+\def\labelitemiii{$\ast$}
+\def\labelitemiv{$\cdot$}
+\def\itemize{\ifnum \@itemdepth >3 \@toodeep\else \advance\@itemdepth \@ne
+ \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
+ \list{\csname\@itemitem\endcsname}{\def\makelabel##1{\hss##1\hss}%
+ \labelwidth2\@mojihaba \labelsep\z@}\fi}
+\let\enditemize\endlist
+
+\def\description{\list{}{\labelwidth\z@ \labelsep\@mojihaba
+ \itemindent\labelsep \advance\itemindent-\leftmargin
+ \def\makelabel##1{\bf ##1}}}
+\let\enddescription\endlist
+
+\let\latex@trivlist\@trivlist
+\def\lst@trivlist#1#2{\leftmargin#1\relax
+ \itemindent\labelwidth \advance\itemindent\labelsep
+ \advance\itemindent#2\relax
+ \let\@trivlist\latex@trivlist \@trivlist}
+
+\def\lst@Trivlist{\def\@trivlist{\lst@trivlist\z@\z@}}
+\def\Enumerate{\lst@Trivlist \enumerate}
+\let\endEnumerate\endlist
+\def\Itemize{\lst@Trivlist \itemize}
+\let\endItemize\endlist
+\def\Description{\lst@Trivlist \description}
+\let\endDescription\endlist
+
+\def\lst@TRIVLIST{\def\@trivlist{\lst@trivlist\z@\@mojihaba}}
+\def\ENUMERATE{\lst@TRIVLIST \enumerate}
+\let\endENUMERATE\endlist
+\def\ITEMIZE{\lst@TRIVLIST \itemize}
+\let\endITEMIZE\endlist
+\def\DESCRIPTION{\lst@TRIVLIST \description}
+\let\endDESCRIPTION\endlist
+
+\def\lst@strivlist{\def\@trivlist{\lst@trivlist\@mojihaba{-\@mojihaba}}}
+\@namedef{enumerate*}{\lst@strivlist \enumerate}
+\@namedef{endenumerate*}{\endlist}
+\@namedef{itemize*}{\lst@strivlist \itemize}
+\@namedef{enditemize*}{\endlist}
+\@namedef{description*}{\lst@strivlist \description}
+\@namedef{enddescription*}{\endlist}
+
+\def\verse{\let\\=\@centercr
+ \list{}{\itemindent-\@mojihaba \listparindent\itemindent
+ \rightmargin\leftmargin \advance\leftmargin\@mojihaba}\item[]}
+\let\endverse\endlist
+\def\quotation{\list{}{\listparindent\@mojihaba \itemindent\listparindent
+ \rightmargin\leftmargin}\item[]}
+\let\endquotation\endlist
+\def\quote{\list{}{\rightmargin\leftmargin}\item[]}
+\let\endquote\endlist
+
+\def\newtheorem{\@ifstar
+ {\theo@newtheorem{\theo@it}{\ }}{\theo@newtheorem{}{\theo@sp}}}
+\def\theo@newtheorem#1#2#3{\@namedef{theo@it@#3}{#1}\@namedef{theo@sp@#3}{#2}%
+ \@ifnextchar[%]
+ {\@othm{#3}}{\@nthm{#3}}}
+\def\@begintheorem#1#2{\DESCRIPTION \csname theo@it@\@currenvir\endcsname
+ \item[#1\csname theo@sp@\@currenvir\endcsname #2]}
+\def\@opargbegintheorem#1#2#3{\DESCRIPTION
+ \csname theo@style@\@currenvir\endcsname
+ \item[#1\csname theo@sp@\@currenvir\endcsname #2\ (#3)]}
+\let\@endtheorem\endlist % 1.02(2)
+\ifDS@english
+\let\theo@it\it \let\theo@sp\ %
+\else
+\let\theo@it\relax \let\theo@sp\relax
+\fi
+
+%%%%%% Bibliography %%%%%%
+%
+% 1. Label format is ")".
+% 2. \leftmargin 24Q (or 2K)
+% 3. \labelsep is 6Q (or 0.5K)
+% 4. \baselineskip is 16Q(j)/15Q(e)/normal(d)
+% 5. ~ and \ is null but stretchable and (hardly) breakable. % 2.09(1)
+
+\def\thebibliography#1{%
+ \section*{\hskip-\@mojihaba\hfill\hbox{\bib@refname}\hfill\hskip\z@}
+ \ifDS@draft \@tempdima\@mojihaba \else\@tempdima12\@Q\fi
+ \list{\arabic{enumi}\rlap{%(
+ )}}%
+ {\fs@bibliography \leftmargin2\@tempdima \labelwidth\z@
+ \labelsep\@tempdima \itemindent.5\@tempdima
+ \usecounter{enumi}\def\makelabel##1{\hss\llap{##1}}}
+ \def\newblock{\hskip .11em plus .33em minus .07em}
+ \sloppy \frenchspacing
+ \def\ {\hskip\z@ plus\fontdimen\thr@@\font \penalty5000\relax}
+ % 2.09(1)
+ \ifDS@english\else \ipsj@defcolonforbib \fi} % 2.12(1b)(2)
+
+% (removal of \bib@refname) % 2.12(1a)
+
+\newdimen\bib@adjustheight \bib@adjustheight-\maxdimen
+\def\endthebibliography{\endlist \par \@normalsize
+ \@tempdima\@colht \advance\@tempdima-\@colroom
+ \advance\@tempdima\pagetotal \advance\@tempdima-\prevdepth
+ \advance\@tempdima-\topskip
+ \@tempdimb\@tempdima \divide\@tempdima\baselineskip
+ \@tempcnta\@tempdima \@tempdima\@tempcnta\baselineskip
+ \advance\@tempdima-\@tempdimb
+ \ifdim\@tempdima<\z@ \advance\@tempdima\baselineskip \fi
+ \vskip-\prevdepth \vskip\@tempdima \prevdepth\z@
+ \bib@adjustheight\@tempdimb \advance\bib@adjustheight\@tempdima
+ \global\advance\bib@adjustheight\topskip
+ \if@firstcolumn\else\global\advance\bib@adjustheight\@M pt\fi}
+
+
+%%%%%% Floats %%%%%%
+
+% You may need to change following parameters
+\setcounter{topnumber}{4}
+\setcounter{bottomnumber}{4}
+\setcounter{totalnumber}{8}
+\setcounter{dbltopnumber}{4}
+\def\topfraction{.9}
+\def\bottomfraction{.9}
+\def\textfraction{.1}
+\def\dbltopfraction{.9}
+\def\floatpagefraction{.9}
+\def\dblfloatpagefraction{.9}
+
+\newcounter{figure}
+\newcounter{table}
+\def\thefigure{\@arabic\c@figure}
+\def\thetable{\@arabic\c@table}
+\def\fps@figure{tbp}
+\def\fps@table{tbp}
+\def\ftype@figure{1}
+\def\ftype@table{2}
+\def\fnum@figure{\fname@figure\thefigure}
+\def\fnum@table{\fname@table\thetable}
+\ifDS@english
+\def\fname@figure{Fig.\,} % 2.06(1)
+\def\fname@Figure{Figure~}
+\def\fname@table{Table~}
+\def\fname@figures{Figs.\,} % 2.12(8)>>
+\def\fname@Figures{Figures~}
+\def\fname@tables{Tables~} % 2.12(8)<<
+\else
+\def\fname@figure{\ipsj@j@fig\fref@nobreak} % 1.06(1), 2.12(1b)
+\let\fname@Figure\fname@figure
+\def\fname@table{\ipsj@j@tab\fref@nobreak} % 1.06(1), 2.12(1b)
+\let\fname@figures\fname@figure % 2.12(8)>>
+\let\fname@Figures\fname@figure
+\let\fname@tables\fname@table % 2.12(8)<<
+\fi
+\def\fnum@efigure{Fig.\,\thefigure} % 2.06(1)
+\def\fnum@etable{Table~\thetable}
+
+% 1.06(3) >>
+\def\figure{\let\cap@afterskip\relax \let\flt@fontsize\relax \@float{figure}}
+\def\endfigure{\end@float}
+\@namedef{figure*}{\let\cap@afterskip\relax \let\flt@fontsize\relax
+ \@dblfloat{figure}}
+\@namedef{endfigure*}{\end@dblfloat}
+
+%% Default font for table env. is \footnotesize (H.N.)
+\def\table{\let\cap@beforeskip\relax \let\flt@fontsize\fs@table
+ \@float{table}}
+\def\endtable{\end@float}
+\@namedef{table*}{\let\cap@beforeskip\relax \let\flt@fontsize\fs@table
+ \@dblfloat{table}} % 2.01(2)
+\@namedef{endtable*}{\end@dblfloat}
+% 1.06(3) <<
+
+\let\latex@float\@float
+\let\latex@dbflt\@dbflt
+\def\@float{\cap@linewidth\hsize \cap@hsize\hsize \latex@float}
+\def\@dbflt{\cap@linewidth.8\textwidth \cap@hsize.667\textwidth \latex@dbflt}
+\let\latex@xfloat\@xfloat % 1.06(3)
+\def\@xfloat#1[#2]{\latex@xfloat#1[#2]\flt@fontsize}
+ % 1.06(3)
+\def\end@float{\flt@endfloat
+ \ifdim\bib@adjustheight=-\maxdimen\else
+ \advance\bib@adjustheight\@tempdima
+ \global\advance\bib@adjustheight\baselineskip \fi
+ \ifnum\@floatpenalty <\z@
+ \@nameuse{@largefloatcheck}% % 2.00(2)
+ \@cons\@currlist\@currbox
+ \ifdim \ht\@currbox >\textheight
+ \ht\@currbox\textheight \fi
+ \ifnum\@floatpenalty < -\@Mii
+ \penalty -\@Miv
+ \@tempdima\prevdepth \vbox{} \prevdepth\@tempdima
+ \penalty\@floatpenalty
+ \else \vadjust{\penalty -\@Miv \vbox{}\penalty\@floatpenalty}\@esphack
+ \fi\fi}
+\def\end@dblfloat{\if@twocolumn \flt@endfloat
+ \ifnum\@floatpenalty <\z@ \@cons\@dbldeferlist\@currbox\fi
+ \ifnum \@floatpenalty =-\@Mii \@esphack\fi\else\end@float\fi}
+\def\flt@endfloat{\par \boxmaxdepth\dp\strutbox % 2.12(7c)
+ \global\@minipagefalse \@nameuse{outer@nobreak}\egroup % 2.00(2)
+ \@nameuse{color@endbox}\@normalsize % 2.00(2)
+ \@tempdima\ht\@currbox \advance\@tempdima\dp\@currbox
+ \divide\@tempdima\baselineskip \@tempcnta\@tempdima
+ \advance\@tempcnta\@ne \@tempdima\@tempcnta\baselineskip
+ \global\setbox\@currbox\vbox to\@tempdima{\box\@currbox\vfil}}
+ % 2.10(1)
+% 2.12(7a,b)>>
+\let\ipsj@cflb\@cflb
+\let\ipsj@comflelt\@comflelt
+\def\@cflb{\let\ipsj@botfigrule\botfigrule \let\botfigrule\vfil
+ \let\@comflelt\ipsj@comfleltbot \ipsj@cflb
+ \let\@comflelt\ipsj@comflelt \let\botfigrule\ipsj@botfigrule}
+\def\ipsj@comfleltbot#1{%
+ \setbox#1\vbox to\ht#1{\vfil\unvbox#1\unskip}\ipsj@comflelt{#1}}
+% 2.12(7a,b)<<
+
+\def\cap@beforeskip{\nointerlineskip\vskip5pt}
+\def\cap@afterskip{\nointerlineskip\vskip5pt}
+\long\def\@caption#1[#2]#3{\par\begingroup
+ \fs@caption \cap@beforeskip
+ \@makecaption{{\bf \csname fnum@#1\endcsname}}{\ignorespaces#3}\par
+ \ifDS@english \cap@afterskip \fi
+ \endgroup}
+\def\ecaption{\@dblarg{\@ecaption\@captype}}
+\long\def\@ecaption#1[#2]#3{\par
+ \begingroup \fs@caption
+ \@makecaption{\csname fnum@e#1\endcsname}{\ignorespaces #3}\par
+ \cap@afterskip
+ \endgroup}
+
+\newif\ifcap@sw
+\newdimen\cap@linewidth
+\newdimen\cap@hsize
+\newcount\cap@prevgraf
+\newbox\cap@box
+\let\latex@label\label
+\long\def\@makecaption#1#2{\begingroup \gdef\cap@label{}\let\label\@gobble
+ \setbox0\hbox{#1\hskip\jspaceskip}
+ \advance\cap@linewidth-\wd0 \advance\cap@hsize-\wd0
+ \cap@makepar\cap@linewidth{#2}{\def\label##1{{% %1.03(1)
+ \def\protect{\noexpand\protect\noexpand} %1.03(1)
+ \xdef\cap@label{\cap@label\protect\label{##1}}}}} %1.03(1)
+ \cap@swtrue
+ \ifnum\cap@prevgraf=\@ne
+ \setbox1\vbox{\unvcopy1\cap@getbox1
+ \ifhbox1 \global\setbox\cap@box\hbox{\unhbox1}
+ \ifdim\wd\cap@box>\cap@linewidth\else
+ \global\cap@swfalse \fi\fi}
+ \ifcap@sw\else
+ \cap@put{\vtop{\box\cap@box\hbox{}}}
+ \fi\fi
+ \ifcap@sw \cap@makepar\cap@hsize{#2}\relax
+ \ifnum\cap@prevgraf=\tw@
+ \setbox1\vbox{\unvcopy1\cap@getbox2\cap@getbox3
+ \ifhbox2\ifhbox3
+ \setbox2\hbox{\unhbox2}\setbox3\hbox{\unhbox3}
+ \ifdim\wd2>\cap@hsize\else
+ \ifdim\wd3>\cap@hsize\else
+ \global\cap@swfalse
+ \global\setbox\cap@box\vtop{\box3\box2\hbox{}}
+ \fi\fi\fi\fi}\fi
+ \ifcap@sw \setbox1\vtop{\hsize\cap@hsize
+ \@parboxrestore #2\par\hbox{}}\cap@put{\box1}
+ \else\cap@put{\box\cap@box}\fi
+ \fi
+ \endgroup \cap@label}
+\long\def\cap@makepar#1#2#3{\setbox1\vbox{\hsize#1\@parboxrestore
+ \rightskip\@flushglue \hfuzz\maxdimen
+ \exhyphenpenalty\z@ \finalhyphendemerits\z@
+ \let\@@par\cap@par \let\par\cap@par \global\cap@prevgraf\z@
+ #3#2\cap@par}}
+\let\cap@@par\@@par
+\def\cap@par{\cap@@par\global\advance\cap@prevgraf\prevgraf \prevgraf\z@}
+\def\cap@put#1{\hbox to\hsize{\hss\box0#1\hss}
+ \vskip-\baselineskip\prevdepth\z@}
+\def\cap@getbox#1{\@tempcnta10\relax\@whilenum\@tempcnta>0\do{%
+ \unskip\unkern\unpenalty\advance\@tempcnta\m@ne}\setbox#1\lastbox}
+
+\def\figref{\fref@ref\fname@figure}
+\def\Figref{\fref@ref\fname@Figure}
+\def\tabref{\fref@ref\fname@table}
+\let\Tabref\tabref
+\def\fref@ref#1{\@ifstar{\fref@sref{#1}}{\fref@iref\bf{#1}}}
+\def\fref@iref#1#2#3{{\@ifundefined{fref@r@#3}%
+ {#1#2\fref@doref{#3}\global\@namedef{fref@r@#3}{}}{#2\fref@doref{#3}}}}
+\def\fref@sref#1#2{#1\fref@doref{#2}}
+\def\fref@doref#1{{\let\null\relax\ref{#1}}} % 1.06(2)
+\def\fref@nobreak{\nobreak\ifASCII\else\hskip\@@jasciikanjiskip\fi}
+ % 1.06(1)
+\def\figsref{\fref@refs\fname@figures} % 2.12(8)>>
+\def\Figsref{\fref@refs\fname@Figures}
+\def\tabsref{\fref@refs\fname@tables}
+\let\Tabsref\tabsref
+\def\fref@refs#1{\@ifstar{\fref@irefs\relax{#1}}{\fref@irefs\bf{#1}}}
+\def\fref@irefs#1#2#3{\def\fref@list{#3}\@tempswafalse \@tempcnta\z@
+ \@for\fref@elem:=\fref@list\do{%
+ \@ifundefined{fref@r@\fref@elem}{\@tempswatrue}{}%
+ \advance\@tempcnta\@ne}%
+ \ifx#1\relax \@tempswafalse\fi
+ \ifDS@english {\if@tempswa #1\fi #2}\let\fref@temp\relax
+ \else \def\fref@temp{#2}\fi
+ \@for\fref@elem:=\fref@list\do{%
+ \if@tempswa \fref@iref{#1}{\fref@temp}{\fref@elem}%
+ \else \fref@temp\fref@doref{\fref@elem}\fi
+ \advance\@tempcnta\m@ne
+ \ifnum\@tempcnta=\@ne \fref@and
+ \else\ifnum\@tempcnta>\@ne \fref@comma \fi\fi}}
+\ifDS@english
+\def\fref@and{ and~}
+\def\fref@comma{, }
+\else
+\def\fref@and{\ipsj@j@comma}
+\let\fref@comma\fref@and
+\fi
+
+\ifDS@printer
+\def\figures{{\bf\fname@figures}}
+\def\Figures{{\bf\fname@Figures}}
+\def\tables{{\bf\fname@tables}}
+\let\Tables\tables
+\def\Ref{\fref@iref\bf\relax}
+\fi % 2.12(8)<<
+
+\def\fig@extraspace{3mm} %1.04(4)
+\def\figspace#1{\vskip#1\vskip\fig@extraspace} %1.04(4)
+
+%%%%%% Footnote %%%%%%
+
+%% The following codes are from pfnote.sty, by H. Nakashima of Kyoto Univ.,
+%% to reset footnote counter at the begining of every page. (H.N.)
+
+% 1.04(2c)>>
+\def\footnote{\@ifnextchar[%]
+ {\@xfootnote}{{\PF@adjustfnote \stepcounter{\@mpfn}%
+ \def\protect{\noexpand\protect\noexpand}%
+ \xdef\@thefnmark{\thempfn}}\@footnotemark\@footnotetext}}
+\def\footnotemark{\@ifnextchar[%]
+ {\@xfootnotemark}{{\PF@adjustfnote \stepcounter{footnote}%
+ \def\protect{\noexpand\protect\noexpand}%
+ \xdef\@thefnmark{\thefootnote}}\@footnotemark}}
+% 1.04(2c)<<
+
+\newcount\PF@fnotectr\global\PF@fnotectr=\z@
+\newcount\PF@page\global\PF@page=-\@M
+\def\PF@thepage{\number\c@page}
+\def\PF@adjustfnote{\global\advance\PF@fnotectr\@ne
+ \expandafter\ifx\csname PF@fn\number\PF@fnotectr\endcsname\relax
+ \global\c@footnote\z@\else
+ \expandafter\@tempcnta\csname PF@fn\number\PF@fnotectr\endcsname\relax
+ \ifnum\@tempcnta=\PF@page\else
+ \global\PF@page\@tempcnta \global\c@footnote\z@ \fi\fi
+ \@tempcnta\c@footnote \multiply\@tempcnta\@M
+ \advance\@tempcnta\PF@fnotectr
+ \if@filesw{\let\PF@thepage\relax
+ \xdef\@gtempa{\write\@auxout{\string\PF@fnpage
+ {\number\@tempcnta}{\PF@thepage}}}}%
+ \@gtempa\fi}
+% 1.04(2a)<<
+
+% 1.04(2a)>>
+\def\PF@fnpage#1#2{\@tempcnta#1\relax \@tempcntb\@tempcnta \divide\@tempcnta\@M
+ \expandafter\xdef\csname PF@fnpage#2\endcsname{\number\@tempcnta}
+ \multiply\@tempcnta\@M \advance\@tempcntb-\@tempcnta
+ \global\@namedef{PF@fn\number\@tempcntb}{#2}}
+% 1.04(2a)<<
+%% End of quote from pfnote.sty. (H.N.)
+
+\long\def\@makefntext#1{\leftskip20\@Q
+ \noindent\llap{\@makefnmarkforfn\hskip-\scriptspace\hskip5\@Q}#1}
+ % 1.04(2e)
+\def\@makefnmarkstar{$\@thefnmark$} % 2.12(3)
+\def\@makefnmarkdagger{$\@thefnmark$}
+\def\@makefnmarkast{$\@thefnmark$} % 2.12(3)
+\let\@makefnmarkforfn\@makefnmarkstar
+
+\def\@makefnmark{\smash{$^{\@thefnmark}$}} % 2.12(3)
+ % 1.04(2d)
+ % smashed to make it
+ % zero height
+
+\def\thefootnote{\ifnum\c@footnote>0\relax{\star}\number\c@footnote\fi}
+ % 2.12(3)
+
+%%%%%% Citation %%%%%%
+
+%% The following codes for \cite are from overcite.sty by D. Arseneau, but
+%% modified for Trans. IPSJ (H.N.)
+% O V E R C I T E . S T Y
+%
+% version 3.2 (Mar 1993)
+%
+% Compressed, sorted lists of superscript numerical citations.
+% see also CITE.STY and DRFTCITE.STY
+%
+% Copyright (C) 1989-1993 by Donald Arseneau
+% These macros may be freely transmitted, reproduced, or modified for
+% non-commercial purposes provided that this notice is left intact.
+%
+\def\cite{\protect\@p@cite}
+\def\@p@cite{\let\@citeY\@citey \@p@@cite}
+\def\Cite{\protect\@p@Cite}
+\def\@p@Cite{\let\@citeY\@Citey \@p@@cite}
+\def\@p@@cite{\@ifnextchar[%]
+ {\@tempswatrue\@citex}{\@tempswafalse\@citex[]}}
+\def\@citex[#1]#2{\@citeY{\@p@citen{#2}}\if@tempswa\space[#1]\fi}
+\def\@citey#1{\leavevmode\unskip\kern\z@$\let\@cite@tiestyle\ipsj@j@citescript
+% % 2.06(2)
+ % 2.12(4)
+ \def\@cite@punct{,}\m@th^{\hbox{\scriptsize#1}}$\spacefactor\@m}
+\def\@Citey#1{\let\@cite@tiestyle\ipsj@j@citetext % 2.12(4)
+ % 1.04(1)>>
+ \ifDS@english \def\@cite@punct{,\space\penalty\@highpenalty}
+ \else\def\@cite@punct{\ipsj@j@comma}\fi#1\spacefactor\@m}
+ % 1.04(1)<<
+ % 2.12(1b)
+\def\@p@citen#1{%
+ \edef\@tempa{\@ignspaftercomma,#1, \@end, }%
+ \edef\@tempa{\expandafter\@ignendcommas\@tempa\@end}%
+ \if@filesw \immediate\write\@auxout{\string\citation{\@tempa}}\fi
+ \@tempcntb\m@ne \let\@h@ld\relax \let\@citea\@empty
+ \let\@celt\relax \def\@cite@list{}% % 2.06(3)
+ \@for\@citeb:=\@tempa\do{\@make@cite@list}%
+ \def\protect{\noexpand\protect\noexpand}%
+ \@tempcnta\m@ne \let\@celt\@compress@cite \@cite@list
+ \let\protect\relax \@h@ld}
+\def\@ignspaftercomma#1, {\ifx\@end#1\@empty\else
+ #1,\expandafter\@ignspaftercomma\fi}
+\def\@ignendcommas,#1,\@end{#1}
+
+%(
+\let\@cite@rp)
+\chardef\@cite@escape`\\
+\def\@make@cite@list{%
+ \expandafter\let\expandafter\@B@citeB\csname b@\@citeb\endcsname
+ \ifx\@B@citeB\relax
+ \@citea {\bf ?}\@cite@rp \let\@citea\@cite@punct
+ \@latex@warning{Citation `\@citeb' on page \thepage\space undefined}%
+ % 2.00(3)
+ \global\@namedef{b@\@citeb}{{\bf ?}}%
+ \else
+ \ifcat \@cite@escape\ifnum\z@<0\@B@citeB \@cite@escape\else A\fi
+ \@tempcnta\@B@citeB \relax
+ \ifnum \@tempcnta>\@tempcntb
+ \edef\@cite@list{\@cite@list \@celt{\@B@citeB}}%
+ \@tempcntb\@tempcnta
+ \else
+ \edef\@cite@list{\expandafter\@sort@celt\@cite@list\@gobble @}%
+ \fi
+ \else \@citea \@B@citeB \@cite@rp \let\@citea\@cite@punct
+ \fi\fi}
+
+\def\@sort@celt#1#2{\ifx \@celt #1% parameters are \@celt {num}
+ \ifnum #2<\@tempcnta % number goes later in list
+ \@celt{#2}\expandafter\expandafter\expandafter\@sort@celt
+ \else \@celt{\number\@tempcnta}\@celt{#2}\fi\fi}
+
+\def\@compress@cite#1{\advance\@tempcnta\@ne
+ \ifnum #1=\@tempcnta
+ \ifx\@h@ld\relax \edef\@h@ld{\@citea #1\@cite@rp}%
+ \else \edef\@h@ld{\@cite@tie{\protect\@cite@tiestyle}%
+ % 2.12(4)
+ \penalty\@highpenalty #1\@cite@rp}\fi
+ \else \@h@ld \@citea #1\@cite@rp
+ \let\@h@ld\relax
+ \fi \@tempcnta#1\relax \let\@citea\@cite@punct}
+
+%% End of quote from overcite.sty. (H.N.)
+
+\def\multicite{\protect\@p@multicite}
+\def\@p@multicite#1#2{\@citey{\@p@citen{#1}%
+ \@cite@tie\ipsj@j@citescript \@p@citen{#2}}} % 2.12(4)
+\def\multiCite{\protect\@p@multiCite}
+\def\@p@multiCite#1#2{\@Citey{\@p@citen{#1}\@cite@tie\relax % 2.12(4)
+ \penalty\@highpenalty \@p@citen{#2}}}
+
+
+%%%%%% Box Height Adjustment and Displayed Math %%%%%%
+
+\newbox\adj@boxa \newbox\adj@boxb
+\newdimen\adj@height
+\@tempdima\baselineskip \advance\@tempdima-\topskip
+\edef\adj@minaboveclearance{\the\@tempdima}
+\@tempdima\baselineskip \advance\@tempdima-1ex
+\edef\adj@maxaboveclearance{\the\@tempdima}
+
+\def\adj@setbhd#1{\setbox0\hbox{#1} % 2.12(1c)>>
+ \@tempdima\baselineskip \advance\@tempdima-\ht0 \advance\@tempdima\dp0
+ \edef\adj@bhd{\the\@tempdima}} % 2.12(1c)<<
+
+% 2.01(1) >>
+\def\adjustvboxheight{\ifinner \let\@tempa\relax
+ \let\endadjustvboxheight\relax \let\@endadjustvboxheight\relax
+ \else \let\@tempa\@adjustvboxheight \fi \@tempa}
+\def\@adjustvboxheight{\par\penalty\z@
+ \global\setbox\adj@boxa\vbox\bgroup\relax % 1.01(3)
+ \let\@footnotetext\@mpfootnotetext % 2.02(1)
+% % 2.05(1)
+ \hsize\columnwidth}
+% 2.01(1) <<
+\def\endadjustvboxheight{\adj@closebox \adj@putbox
+ \ifvoid\@mpfootins\else\insert\footins{\unvbox\@mpfootins}\fi
+% % 2.02(1)
+ \global\@ignoretrue\@endparenv}
+\def\adj@closebox{\egroup \normalsize \boxmaxdepth\@maxdepth % 1.01(1,3)
+ \setbox\adj@boxa\vbox{\unvbox\adj@boxa} % 1.01(3)
+ \adj@height\ht\adj@boxa
+ \advance\adj@height\adj@minaboveclearance\relax
+ \@tempdima\adj@height \divide\adj@height\baselineskip
+ \@tempcnta\adj@height \adj@height\@tempcnta\baselineskip
+ \ifdim\adj@height<\@tempdima \advance\adj@height\baselineskip\fi}
+\def\adj@putbox{\vskip-\prevdepth \prevdepth\z@ \vskip\baselineskip
+ \vspace*{-\baselineskip}\advance\@tempdima-\adj@height
+ \@tempdima-\@tempdima \advance\@tempdima\adj@minaboveclearance\relax
+ \@tempdimb\dp\adj@boxa
+ \ifdim\@tempdima>\adj@maxaboveclearance\relax
+ \advance\@tempdima-\@tempdimb \advance\@tempdima\adj@bhd\relax
+ \divide\@tempdima\tw@
+ \vbox to\adj@height{\vskip\@tempdima \box\adj@boxa \vss}
+ \else \vbox to\adj@height{\vfil\box\adj@boxa\vskip-\@tempdimb}\fi}
+
+\newcount\adj@deadcycle
+\@namedef{adjustvboxheight*}{\adjustvboxheight}
+\@namedef{endadjustvboxheight*}{\@endadjustvboxheight}
+\def\@endadjustvboxheight{\global\adj@deadcycle10\relax
+ \@iendadjustvboxheight
+ \ifvoid\@mpfootins\else\insert\footins{\unvbox\@mpfootins}\fi
+% % 2.05(2)
+ \global\@ignoretrue\@endparenv}
+\def\@iendadjustvboxheight{\adj@closebox
+ \ifnum\adj@deadcycle<\@ne
+ \ipsj@error{I cannot adjust too tall/deep box}{\@ehd}\fi % 2.00(3)
+ \global\advance\adj@deadcycle\m@ne
+ \ifdim\pagegoal=\maxdimen
+ \@tempdimb\@colht \advance\@tempdimb-\topskip
+ \advance\@tempdimb\baselineskip
+ \else \@tempdimb\pagegoal
+ \advance\@tempdimb-\pagetotal \advance\@tempdimb-\pagedepth
+ \advance\@tempdimb\prevdepth \fi % 1.01(4a)
+ \let\next\relax
+ \ifdim\adj@height<\@tempdimb \adj@putbox \else
+ \ifdim\adj@height=\@tempdimb \adj@putbox \else
+ \divide\@tempdimb\baselineskip \@tempcnta\@tempdimb % 1.01(4b)>>
+ \@tempdimb\@tempcnta\baselineskip
+ \advance\@tempdimb-\adj@minaboveclearance\relax % 1.01(4b)<<
+ \setbox\adj@boxa\vbox{\allowbreak\unvbox\adj@boxa}
+ \vbadness\@M \splittopskip\z@ \splitmaxdepth\@maxdepth %1.01(1)
+ \setbox\@tempboxa\vsplit\adj@boxa to\@tempdimb
+ \setbox\adj@boxb\copy\adj@boxa
+ \setbox\@tempboxa\vbox{\unvbox\@tempboxa}
+ \@tempdimb\ht\@tempboxa \advance\@tempdimb\dp\@tempboxa
+ \ifdim\@tempdimb>\z@
+ \setbox\adj@boxa\vbox\bgroup\unvbox\@tempboxa
+ \adj@closebox \adj@putbox \newpage
+ \else \newpage \fi
+ \setbox\adj@boxa\vbox\bgroup\unvbox\adj@boxb
+ \let\next\@iendadjustvboxheight \fi\fi \next}
+
+\def\adj@eqindent{2\@mojihaba}
+\def\[{\adjustvboxheight\advance\@totalleftmargin\adj@eqindent\relax
+ \hbox to\hsize\bgroup\hskip\@totalleftmargin$\displaystyle}
+\def\]{$\hfill\egroup\endadjustvboxheight\@doendpe\ignorespaces} % 2.03(1)
+\def\equation{\refstepcounter{equation}\[}
+\def\endequation{\hfill\@eqnnum$\egroup\endadjustvboxheight}
+\def\theequation{\arabic{equation}}
+\def\@eqnnum{{\rm (\theequation)\hskip\@mojihaba}}
+
+\def\adj@eqnlineskip{3pt}
+\def\adj@eqnlineskiplimit{2pt}
+\def\eqnarray{\futurelet\@tempa\adj@eqnarray}
+\def\adj@eqnarray{\ifx\@tempa[%]
+ \let\next\adj@ieqnarray\else\let\next\adj@xeqnarray\fi\next}
+\def\adj@ieqnarray[#1]{\@ifundefined{adj@xeqnarray#1}%
+ {\ipsj@warning{Unknown eqnarray option `#1'}\adj@xeqnarray}% 2.00(3)
+ {\@nameuse{adj@xeqnarray#1}}}
+\def\adj@xeqnarray{\adjustvboxheight
+ \advance\@totalleftmargin\adj@eqindent\relax
+ \stepcounter{equation}\let\@currentlabel=\theequation
+ \global\@eqnswtrue
+ \global\@eqcnt\z@\tabskip\z@\let\\=\@eqncr
+ \lineskip\adj@eqnlineskip \lineskiplimit\adj@eqnlineskiplimit \jot\z@
+ \halign to \hsize\bgroup\@eqnsel\hskip\@totalleftmargin
+ \hfil$\displaystyle{##}$&\global\@eqcnt\@ne % 1.01(2)
+ \hfil$\displaystyle{}\mathrel{##}{}$\hfil
+ &\global\@eqcnt\tw@ $\displaystyle{##}$\hfil
+ \tabskip\@centering&\llap{##}\tabskip\z@\cr}
+\def\adj@xeqnarrays{\let\endadjustvboxheight\@endadjustvboxheight
+ \adj@xeqnarray}
+\@namedef{adj@xeqnarrays!}{\par\let\adjustvboxheight\relax
+ \let\endadjustvboxheight\relax \adj@xeqnarray}
+\def\endeqnarray{\@@eqncr \egroup \global\advance\c@equation\m@ne
+ \endadjustvboxheight}
+
+
+%%%%%% Miscellaneous %%%%%%
+
+%% \doublerulesep is 1pt (H.N.)
+\arraycolsep5pt \tabcolsep6pt \arrayrulewidth.4pt \doublerulesep1pt
+\tabbingsep.5\@mojihaba
+
+\skip\@mpfootins\skip\footins
+\fboxsep3pt \fboxrule.4pt
+
+%% We simply allow (not encourage) club and widow lines. (H.N.)
+\clubpenalty\z@ \widowpenalty\z@ \displaywidowpenalty\z@
+
+% The following redefinition influences \linebreak etc.
+\def\sloppy{\tolerance9999\hbadness9999\hfuzz.5\p@ \vfuzz.5\p@}
+
+%% For heading of TBIO papers
+\ifDS@TBIO % 2.11(1)>>
+\def\TBIOpapercategory#1{\def\ipsj@TBIO@pcat{#1}\ignorespaces}
+\def\ipsj@TBIO@pcat{original}
+\def\ipsj@TBIO@pcat@original{Original Paper}
+\def\ipsj@TBIO@pcat@survey{Survey Paper}
+\def\ipsj@TBIO@pcat@database{Database/Software Paper}
+\def\ipsj@TBIO@pcatref{\@ifundefined{ipsj@TBIO@pcat@\ipsj@TBIO@pcat}%
+ {\ipsj@warning{TBIO paper category \ipsj@TBIO@pcat\space is undefined.}}%
+ \relax
+ \@nameuse{ipsj@TBIO@pcat@\ipsj@TBIO@pcat}}
+\fi % 2.11(1)<<
+
+
+% 2.12(1a)>>
+\let\ipsj@j@citescript\scriptsize % 2.12(4)>>
+\let\ipsj@j@citetext\normalsize
+\def\@cite@tie#1{\hbox{#1--}} % 2.12(4)<<
+\def\bib@refname{References}
+\adj@setbhd{A}
+
+\ifipsj@nonjp \let\next\endinput \else \let\next\relax \fi
+\next
+
+\def\ipsj@j@a{あ}
+\def\ipsj@j@app{付録}
+\def\ipsj@j@ack{謝辞}
+\def\ipsj@j@bib{参考文献}
+\def\ipsj@j@fig{図}
+\def\ipsj@j@tab{表}
+\def\ipsj@j@comma{,}
+\def\ipsj@j@technote{テクニカルノート}
+\def\ipsj@j@invited{招待論文}
+\def\ipsj@j@sigrec{研究会推薦論文}
+\def\ipsj@j@talkabst{発表概要}
+\def\ipsj@j@presently{現在,}
+\def\ipsj@j@jipsj{情報処理学会論文誌}
+\def\ipsj@j@regpaper{論文}
+\def\ipsj@j@contactto{連絡先}
+\def\ipsj@j@abstract{概要}
+\def\ipsj@j@colon{:}
+\def\ipsj@j@year{年}
+\def\ipsj@j@month{月}
+\def\ipsj@j@day{日}
+\def\ipsj@j@lp{(}
+\def\ipsj@j@rp{)}
+\def\ipsj@j@edinch{担当編集委員}
+\def\ipsj@j@rerec{再受付}
+\def\ipsj@j@received{受付}
+\def\ipsj@j@accepted{採録}
+\def\ipsj@j@presented{発表}
+\def\ipsj@j@member{正会員}
+\def\ipsj@j@stmember{学生会員}
+\def\ipsj@j@nomember{非会員}
+
+\ifDS@english\else \ifDS@draft\else
+\sec@setskips{\ipsj@j@a}
+\fi\fi
+
+\expandafter\let\csname c@巻数\endcsname\c@volume
+\expandafter\let\csname c@号数\endcsname\c@number
+\expandafter\let\csname c@月数\endcsname\c@number
+\expandafter\let\csname c@年数\endcsname\c@year
+
+\def\ipsj@sig@PRO@j{プログラミング}
+\def\ipsj@sig@TOM@j{数理モデル化と応用}
+\def\ipsj@sig@TOD@j{データベース}
+\def\ipsj@sig@HPS@j{ハイパフォーマンスコンピューティングシステム}
+\def\ipsj@sig@CVIM@j{コンピュータビジョンとイメージメディア}
+\def\ipsj@sig@ACS@j{コンピューティングシステム} % 2.09(2)
+
+\def\ra@nengo{平成} %% Change here when ...
+\let\受付\received
+\let\採録\accepted
+\let\発表\presented % 2.07(7)
+\let\再受付\rereceived
+
+\def\々{\hskip\jintercharskip\hbox to\jspaceskip{\hfil 々\hfil}%% 2.12(5)
+ \hskip\jintercharskip}
+
+\ifDS@english\else \ifDS@draft\else
+{\fs@sec \@tempdima7\jspaceskip
+\xdef\bib@refname{\hbox to\the\@tempdima{\jintercharskip\fill\ipsj@j@bib}}}
+\adj@setbhd\ipsj@j@a
+\fi\fi
+
+\def\ipsj@j@colon@command{{\nobreak % 2.12(2)>>
+ \hbox to.7\jspaceskip{:\hss}\allowbreak
+ \@tempdima.3\jspaceskip \hskip\@tempdima minus\@tempdima
+ \allowbreak
+ \hskip\z@ minus-\@tempdima}\ignorespaces}
+\def\ipsj@defcolonforbib{\let\:\ipsj@j@colon@command}
+\ifDS@printer \ipsj@defcolonforbib \fi % 2.12(2)<<
+
+
+%%%%%% Kinsoku Parameters %%%%%%
+
+% 1.04(3)>>
+\ifASCII
+\postbreakpenalty`\`=\@M
+\prebreakpenalty`'=\@M
+\prebreakpenalty`)=\@M
+\postbreakpenalty`(=\@M
+\prebreakpenalty`]=\@M
+\postbreakpenalty`[=\@M
+\prebreakpenalty`\}=\@M
+\postbreakpenalty`\{=\@M
+
+\prebreakpenalty`・=\@M
+\prebreakpenalty`:=\@M
+\prebreakpenalty`;=\@M
+\prebreakpenalty`?=\@M
+\prebreakpenalty`!=\@M
+
+\prebreakpenalty\jis"212D=\@M % ´
+\postbreakpenalty\jis"212E=\@M % `
+\postbreakpenalty\jis"2146=\@M % ‘
+\prebreakpenalty\jis"2147=\@M % ’
+\postbreakpenalty\jis"2148=\@M % “
+\prebreakpenalty\jis"2149=\@M % ”
+
+\prebreakpenalty`)=\@M
+\postbreakpenalty`(=\@M
+\prebreakpenalty`}=\@M
+\postbreakpenalty`{=\@M
+\prebreakpenalty`]=\@M
+\postbreakpenalty`[=\@M
+\postbreakpenalty`‘=\@M
+\prebreakpenalty`’=\@M
+
+\postbreakpenalty\jis"214C=\@M %〔
+\prebreakpenalty\jis"214D=\@M % 〕
+\postbreakpenalty\jis"2152=\@M % 〈
+\prebreakpenalty\jis"2153=\@M % 〉
+\postbreakpenalty\jis"2154=\@M % 《
+\prebreakpenalty\jis"2155=\@M % 》
+\postbreakpenalty\jis"2156=\@M % 「
+\prebreakpenalty\jis"2157=\@M % 」
+\postbreakpenalty\jis"2158=\@M % 『
+\prebreakpenalty\jis"2159=\@M % 』
+\postbreakpenalty\jis"215A=\@M % 【
+\prebreakpenalty\jis"215B=\@M % 】
+
+\prebreakpenalty`ー=\@M % 2.12(6)
+\prebreakpenalty`〜=\@M % 2.12(6)
+
+\prebreakpenalty`ぁ=\@M
+\prebreakpenalty`ぃ=\@M
+\prebreakpenalty`ぅ=\@M
+\prebreakpenalty`ぇ=\@M
+\prebreakpenalty`ぉ=\@M
+\prebreakpenalty`っ=\@M
+\prebreakpenalty`ゃ=\@M
+\prebreakpenalty`ゅ=\@M
+\prebreakpenalty`ょ=\@M
+\prebreakpenalty\jis"246E=\@M % ゎ
+\prebreakpenalty`ァ=\@M
+\prebreakpenalty`ィ=\@M
+\prebreakpenalty`ゥ=\@M
+\prebreakpenalty`ェ=\@M
+\prebreakpenalty`ォ=\@M
+\prebreakpenalty`ッ=\@M
+\prebreakpenalty`ャ=\@M
+\prebreakpenalty`ュ=\@M
+\prebreakpenalty`ョ=\@M
+\prebreakpenalty\jis"256E=\@M % ヮ
+\prebreakpenalty\jis"2575=\@M % ヵ
+\prebreakpenalty\jis"2576=\@M % ヶ
+
+\fi
+% 1.04(3)<<
+% 2.12(1a)<<
diff -r 86eb165b4b91 -r e17bc730af1a paper/ipsjdrafts.sty
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/ipsjdrafts.sty Tue Apr 02 20:02:48 2013 +0900
@@ -0,0 +1,392 @@
+% Copyright (C) 1995-2007 by Hiroshi Nakashima, Yasuki Saito and
+% The Editorial Board of the IPSJ Journal
+%
+% ipsjdrafts.sty 15-Jun-07 by Hiroshi Nakashima (ver 2.12)
+% (revision history deleted)
+% ipsjdrafts.sty 24-Apr-95 by Hiroshi Nakashima (ver 1.0)
+
+%%%%%% Fonts %%%%%%
+% All font loading are removed.
+
+\ifipsj@nonjp\else % 2.12(1a)
+\ifASCII
+\let\latex@setsize\@setsize
+\def\@setsize#1#2#3#4{\latex@setsize{#1}{#2}{#3}{#4}\jspaceskip1zw}
+
+\newcount\jfsize
+\let\setjglues\relax
+\let\jintercharskip\kanjiskip
+\let\jasciikanjiskip\xkanjiskip
+\let\jmathkanjiskip\xkanjiskip
+\newdimen\jspaceskip
+
+\def\defjintercharskip#1#2#3#4{\@asciiwarning{\defjintercharskip}}
+\def\defjasciikanjiskip#1#2#3#4{\@asciiwarning{\defjasciicharskip}}
+\def\defmathkanjiskip#1#2#3#4{\@asciiwarning{\defmathcharskip}}
+\def\defjspaceskip#1#2#3#4{\@asciiwarning{\defjspaceskip}}
+
+\def\@asciiwarning#1{\ipsj@warning{\string#1\space % 2.00(1)
+ is not supported in ASCII version}}
+
+\if@LaTeX@eN % 2.00(2)>>
+\DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{\mathmc}
+\DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{\mathgt}
+\fi % 2.00(2)<<
+
+\def\dg{\gt} % 1.06(1)
+\def\dm{\mc} % 1.06(1)
+
+\else % This is necessary even in 2e.
+\ifx\sixdm\undefined \jfont\sixdm=dm6 \fi % 1.01(1)
+ % 1.06(2)
+\fi \fi
+
+\if@LaTeX@eN % 2.00(2)>>
+\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
+\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
+\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
+\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
+\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
+\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
+\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
+\DeclareRobustCommand*{\cal}{\@fontswitch{\relax}{\mathcal}}
+\DeclareRobustCommand*{\mit}{\@fontswitch{\relax}{\mathnormal}}
+\fi % 2.00(2)<<
+
+%%%%%% Basic Font Size Macros %%%%%%
+% Nothing at all.
+
+
+%%%%%% Font Size Macros %%%%%%
+
+\def\fs@setsize#1#2#3#4{\normalsize\dimen@\normalbaselineskip
+ \@ifstar{\@setsize{#1}{\dimen@}{#3}{#4}}%
+ {\@setsize{#1}{#2}{#3}{#4}}}
+
+% \baselineskip's are almost 1.25 times those defined in NTT jart12.
+
+\def\@normalsize{\@setsize\normalsize{20pt}\xiipt\@xiipt}
+\def\small{\fs@setsize\small{17pt}\xipt\@xipt}
+\def\footnotesize{\fs@setsize\footnotesize{14pt}\xpt\@xpt}
+\def\scriptsize{\@setsize\scriptsize{11.875pt}\viiipt\@viiipt}
+\def\tiny{\@setsize\tiny{8.75pt}\vipt\@vipt}
+\def\large{\@setsize\large{20pt}\xivpt\@xivpt} % 1.06(3)
+\def\Large{\@setsize\Large{25pt}\xviipt\@xviipt}
+\def\LARGE{\@setsize\LARGE{25pt}\xxpt\@xxpt}
+\let\huge\LARGE
+\let\Huge\LARGE
+
+\if@LaTeX@e % 2.00(3)>>
+\let\normalsize\@normalsize
+\fi % 2.00(3)<<
+
+\let\fs@sec\large
+\let\fs@subsec\normalsize
+\let\fs@bibliography\normalsize
+\let\fs@caption\normalsize
+\let\fs@table\normalsize
+\let\fs@footnote\footnotesize
+{\tiny \xdef\fn@fontv{\ifipsj@nonjp \the\font \else % 2.12(1a)
+ \ifASCII \the\jfont \else \sixdm \fi\fi}}
+\let\fn@fontvi\fn@fontv
+
+\@normalsize
+
+\ifipsj@nonjp\else % 2.12(1a)
+\ifASCII\else % 1.06(2) >>
+\ifx\setjglue\undefined\else % 2.04(1)
+\def\@tempc{\edef\@tempa{\the\ja}
+ \edef\@tempa{\expandafter\string\@tempa}
+ \expandafter\@tempb\@tempa\@nil
+ \expandafter\defjintercharskip\csname\@tempa\endcsname}
+\let\@tempd\@namedef
+{\catcode`j=12\catcode`a=12\gdef\@tempb#1#2ja\@nil{\@tempd{@tempa}{#2}}}
+\dg\@tempc{0pt}{1.4pt}{0.14pt}
+\dm\@tempc{0pt}{1.4pt}{0.14pt}
+\setjglues
+\fi\fi\fi % 1.06(2) <<
+
+\@tempdima.55\baselineskip
+\edef\sec@aboveskip{\the\@tempdima}
+\@tempdima.45\baselineskip
+\edef\sec@belowskip{\the\@tempdima}
+
+\ifipsj@nonjp\else % 2.12(1a)
+\if@LaTeX@e\else % 2.04(2)
+\let\latex@bf\bf % 1.06(1)
+\def\bf{\dg\latex@bf} % 1.06(1)
+\fi\fi % 2.04(2)
+
+
+%%%%%% Page Layout Parameters %%%%%%
+
+\newdimen\@mojihaba
+\ifipsj@nonjp % 2.12(1a)>>
+ \@mojihaba11.54659pt
+ \let\jspaceskip\@mojihaba
+\else
+ \@mojihaba\jspaceskip
+\fi % 2.12(1a)<<
+
+% No heads
+\headheight\z@
+\headsep\z@
+
+\setbox0\hbox{$\displaystyle X^X$}
+\topskip\ht0
+
+% 1 page = 32 lines
+\textheight31\baselineskip \advance\textheight\topskip \advance\textheight100sp
+
+% \topmargin is (A4height-\textheight)/2 - 1in
+\topmargin296mm \advance\topmargin-\textheight \divide\topmargin\tw@
+\advance\topmargin-1in
+\ifASCII\if@LaTeX@e\ifipsj@nonjp\else
+ \@@topmargin\topmargin \fi\fi\fi % 2.00(4),2.12(1a)
+
+\footskip 1.5\baselineskip
+
+% 1 page = 35 Kanji chars
+\ifDS@english % 1.06(4) >>
+\textwidth404.13048pt
+\else
+\textwidth35\@mojihaba
+\fi % 1.06(4) <<
+
+% \oddsidemargin is (A4width-\textwidth)/2 - 1in
+\oddsidemargin210mm \advance\oddsidemargin-\textwidth \divide\oddsidemargin\tw@
+\advance\oddsidemargin-1in
+
+% As jart12
+\footnotesep10pt
+\skip\footins 10.8pt plus 4pt minus 2pt
+\def\footnoterule{\kern-3\p@ \hrule width.4\columnwidth \kern2.6\p@}
+
+\floatsep \baselineskip \textfloatsep \baselineskip
+\intextsep \baselineskip \@maxsep \baselineskip
+\dblfloatsep \baselineskip \dbltextfloatsep \baselineskip
+\@dblmaxsep \baselineskip
+\@fptop 0pt plus 1fil \@fpsep 0pt plus 2fil \@fpbot 0pt plus 1fil
+\@dblfptop 0pt plus 1fil \@dblfpsep 0pt plus 2fil \@dblfpbot 0pt plus 1fil
+
+\parskip\z@ \parindent \@mojihaba
+\@lowpenalty 51 \@medpenalty 151 \@highpenalty 301
+\@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty
+\@itempenalty -\@lowpenalty
+
+
+%%%%%% Title and Authors %%%%%%
+%
+% Format of title, author names and abstract.
+%
+% \leftline{\LARGE <>}
+% \vfill
+% \beign{center}\LARGE\bf \end{center}
+% \vfill
+% \begin{center}\LARGE\bf \end{center}
+% \vfill\vfill
+% \newpage
+% \large
+% \vfill
+% <>
+% \begin{itemize}\item[]\large \end{itemize}
+% \vfill\vfill
+% \newpage
+% \normalsize
+% \normalsize
+
+\def\maketitle{\@maketitle}
+
+% default title header
+
+\def\title{\@dblarg{\@xtitle}}
+\def\@xtitle[#1]#2{\gdef\@title{#2}}
+\def\@title{\leavevmode\mkt@warning\title}
+\long\def\author#1{\long\gdef\@author{#1}}
+\def\@author{\mkt@warning\author}
+
+\newbox\@abstractbox
+
+\def\abstract{\global\let\@abstract\relax
+ \global\setbox\@abstractbox\vtop\bgroup}
+\def\endabstract{\par\hbox{}\egroup}
+\def\@abstract{\mkt@warning{abstract env}}
+
+%% We need English title, author name(s) and abstract. (H.N.)
+%% English author names are simply ignored.
+\def\etitle#1{\gdef\@etitle{#1}}
+\def\@etitle{\leavevmode\mkt@warning\etitle}
+\long\def\eauthor#1{}
+
+\newbox\@eabstractbox
+\def\eabstract{\global\let\@eabstract\relax
+ \global\setbox\@eabstractbox\vtop\bgroup}
+\let\endeabstract\endabstract
+\def\@eabstract{\mkt@warning{eabstract env}}
+
+\ifDS@english \let\abstract\eabstract \let\@eabstract\@abstract \fi
+
+% Contact address is no longer required even in draft.
+\def\contact{\long\def\mkt@contact}
+\def\mkt@contact{} % 2.12(4)
+
+\def\@maketitle{\newpage\thispagestyle{empty}
+ \leftline{\LARGE
+ \ifDS@TBIO \ipsj@TBIO@pcatref % 2.11(1)
+ \else\ifDS@english \ifDS@technote Technical Note\else
+ Regular Paper\fi
+ \else \ifDS@technote \ipsj@j@technote % 2.12(1b)
+ \else \ipsj@j@regpaper\fi\fi\fi}
+ \vfill
+ \begin{center}\LARGE\bf\@title\end{center}
+ \ifDS@english\else
+ \vfill
+ \begin{center}\LARGE\bf\@etitle\end{center}\fi
+ \@thanks
+ \vfill\vfill
+% % 2.12(4)>>
+% \ifDS@anonymous\else % 2.10(1)>>
+% \newpage\thispagestyle{empty}
+% \begingroup\large\vspace*{\fill}\rightskip0pt plus1fil
+% \parindent\z@\parskip.5\baselineskip\hangindent2em\hangafter\@ne
+% \def\par{{\@@par}}
+% \mkt@makeauthor
+% \par\vfill
+% \noindent
+% \ifDS@english Contact To:\else \ipsj@j@contactto \fi% 2.12(1b)
+% \endgroup
+% \begin{itemize}\large\item[]\mkt@contact\end{itemize}
+% \vfill\vfill
+% \fi % 2.10(1)<<
+% % 2.12(4)<<
+ \newpage \setcounter{page}{1}\def\thepage{\roman{page}}
+ \ifDS@english\else \@abstract \centerline{\bf \ipsj@j@abstract}
+% % 2.12(1b)
+ \vskip-\prevdepth\vskip\baselineskip\vskip-\ht\@abstractbox
+ \unvbox\@abstractbox\prevdepth\z@ \fi
+ \centerline{\bf Abstract}
+ \vskip-\prevdepth \vskip\baselineskip\vskip-\ht\@eabstractbox
+ \@eabstract \unvbox\@eabstractbox
+ \newpage \def\thepage{\arabic{page}}\setcounter{page}{1}}
+
+\def\mkt@makeauthor{\let\member\mkt@member \let\nomember\mkt@nomember
+ \let\stmember\mkt@stmember
+ \expandafter\mkt@imakeauthor\@author\and\@nil\and}
+\def\mkt@imakeauthor#1\and{\def\@tempa{#1}\ifx\@tempa\@nnil\let\next\relax
+ \else #1\par\let\next\mkt@imakeauthor\fi\next}
+
+% Macros to specify author's affiliation easily.
+\ifDS@english
+\def\paffilabel#1#2{\affilabel{#1}{Presently with #2}}
+\else
+\def\paffilabel#1#2{\affilabel{#1}{\ipsj@j@presently #2}}
+\fi
+% Ignore English affiliation even if given.
+\def\affilabel#1#2{\@ifundefined{affi@r@#1}%
+ {\expandafter\xdef\csname affi@r@#1\endcsname
+ {\affi@cuteng#2\\\@nil}}
+ {\ipsj@warning{Affiliation label `#1' multiply defined}}}
+ % 2.00(1)
+\def\affiref#1{\@ifundefined{affi@r@#1}%
+ {\ipsj@warning{% % 2.00(1)
+ Affiliation reference `#1' undefined}\hbox{(???)}}
+ {\setbox\@tempboxa\hbox{(\csname affi@r@#1\endcsname)}%
+ \@tempdima\wd\@tempboxa \advance\@tempdima2em\relax
+ \ifdim\@tempdima>\hsize
+ \newline\unhbox\@tempboxa
+ \else\ \box\@tempboxa\fi}}
+\def\affi@cuteng#1\\#2\@nil{#1}
+
+% Membership of aurthor is required in draft.
+\ifDS@english
+\def\mkt@member#1{\ \hbox{[Regular Member\##1]}}
+\def\mkt@nomember{\ \hbox{[Non Member]}}
+\def\mkt@stmember#1{\ \hbox{[Student Member\##1]}}
+\else
+\def\mkt@member#1{\ \hbox{[\ipsj@j@member\##1]}}
+\def\mkt@nomember{\ \hbox{[\ipsj@j@nomember]}}
+\def\mkt@stmember#1{\ \hbox{[\ipsj@j@stmember\##1]}}
+\fi
+
+%%%%%% Page Header and Footer %%%%%%
+
+\mark{{}{}}
+
+% The following counters are not used, but may appear.
+\let\c@volpage\c@page % 2.00(5)
+\def\thevolpage{\thepage} % 2.00(5)
+\newcounter{volpageoffset} % You must set this to appropriate value
+\newcounter{volume} % 2.12(1b)>>
+\newcounter{number}
+\newcounter{year} % 2.12(1b)<<
+
+\def\ps@plain{\let\@mkboth\@gobbletwo
+ \def\@oddhead{\@checklines}\let\@evenhead\@oddhead
+ \def\@oddfoot{\rm \hfil\thepage\hfil}\let\@evenfoot\@oddfoot}
+
+\def\transaction#1#2#3{} % 2.11(2)
+\long\def\copyrightnotice#1{} % 2.11(2)
+
+% \checklines enables to draw a horizontal rule onto each baselines.
+
+\newif\if@checklines \@checklinesfalse
+\def\checklines{\@checklinestrue}
+\def\@checklines{\if@checklines \rlap{\smash{\vtop{
+ \hbox{} \vskip\headsep \hrule width\textwidth\vskip-.4pt \vskip\topskip
+ \hrule\vskip-.4pt
+ \@tempcnta31\relax\@@checklines}}}\hfil\fi}
+\def\@@checklines{\ifnum\@tempcnta>\z@
+ \vskip\normalbaselineskip \hrule\vskip-.4pt \advance\@tempcnta\m@ne
+ \let\next\@@checklines\else\let\next\relax\fi\next}
+
+\pagestyle{plain}
+\pagenumbering{arabic}
+
+\ifDS@english\else
+\def\today{\the\year\ipsj@j@year \the\month\ipsj@j@month \the\day\ipsj@j@day}
+ % 2.12(1b)
+\fi
+
+
+%%%%%% Output Routine %%%%%%
+% Nothing at all.
+
+
+%%%%%% Biography %%%%%%
+% Almost nothing.
+
+\def\received#1#2#3{} % 2.12(1b)>>
+\def\accepted#1#2#3{}
+\def\rereceived#1#2#3{} % 2.11(2)>>
+% definition of \released is removed % 2.12(2)
+\def\edInCharge#1{} % 2.11(2)<<
+% % 2.12(1b)<<
+
+\def\biography{\let\member\@gobble \let\nomember\@gobble \let\stmember\@gobble
+ \ifDS@english \let\author\@gobble \fi % 2.12(3)
+ \let\adjust\@gobble \setbox0\vbox\bgroup
+ \tolerance\@M \hbadness\@M \hfuzz\maxdimen}
+\def\endbiography{\egroup\setbox0\hbox{}}
+
+
+%%%%%% Miscellaneous %%%%%%
+
+\raggedbottom
+
+\input{ipsjcommon.sty}
+
+% Redefine \acknowledgment to put it separately.
+\newbox\ack@box
+\let\@acknowledgment\acknowledgment
+
+\def\acknowledgment{\global\setbox\ack@box\vtop\bgroup\@acknowledgment}
+\def\endacknowledgment{\par\egroup}
+
+% % 2.12(4)>>
+%\let\id@enddocument\enddocument
+%\def\enddocument{\clearpage
+% \ifDS@anonymous\else \unvbox\ack@box \fi % 2.10(1)
+% \id@enddocument}
+% % 2.12(4)<<
+
+\endinput
diff -r 86eb165b4b91 -r e17bc730af1a paper/ipsjpapers.cls
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/ipsjpapers.cls Tue Apr 02 20:02:48 2013 +0900
@@ -0,0 +1,16 @@
+% Copyright (C) 1995-2007 by Hiroshi Nakashima, Yasuki Saito and
+% The Editorial Board of the IPSJ Journal
+%
+% ipsjpapers.cls 13-Mar-07 by Hiroshi Nakashima (ver 2.12)
+% (revision history deleted)
+% ipsjpapers.cls 1-Apr-96 by Hiroshi Nakashima (ver 2.00)
+
+\ifx\pfmtname\undefined
+\NeedsTeXFormat{LaTeX2e}
+\else
+\NeedsTeXFormat{pLaTeX2e}
+\fi
+
+\ProvidesClass{ipsjpapers}[2007/06/15 ver 2.12]
+\input{ipsjpapers.sty}
+\endinput
diff -r 86eb165b4b91 -r e17bc730af1a paper/ipsjpapers.sty
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/ipsjpapers.sty Tue Apr 02 20:02:48 2013 +0900
@@ -0,0 +1,1919 @@
+% Copyright (C) 1995-2007 by Hiroshi Nakashima, Yasuki Saito and
+% The Editorial Board of the IPSJ Journal
+%
+% ipsjpapers.sty 15-Jun-07 by Hiroshi Nakashima (ver 2.12)
+% (revision history deleted)
+% ipsjpapers.sty 24-Apr-95 by Hiroshi Nakashima (ver 1.0)
+% ipsjpapers.sty 30-Nov-93 by Hiroshi Nakashima
+% ipsjpapers.sty 3-Feb-93 by Yaski Saito
+% compsoft.sty 22-April-92 by Yaski Saito
+% compsoft.sty 18-July-90 by Hideki Isozaki
+% j-article.sty 10-Feb-89 from report.sty 16-Mar-88
+
+%%%%%% LaTeX Version %%%%%%
+
+% 2.00(1) >>
+%% \ifASCII is true if ASCII version Japanese TeX, which doesn't have
+%% \jintercharskip (H.N.)
+\newif\ifipsj@nonjp \ipsj@nonjpfalse % 2.12(1a)
+\newif\ifASCII \ASCIIfalse
+\ifx\jintercharskip\undefined \ASCIItrue
+\ifx\kanjiskip\undefined \ipsj@nonjptrue % 2.12(1a)
+\fi\fi
+\newif\if@LaTeX@e \@LaTeX@efalse % 1.06(1)
+\newif\if@LaTeX@eN \@LaTeX@eNfalse % 2.00(1)
+\def\@tempa{LaTeX2e} % 1.06(1)
+\ifx\fmtname\@tempa \@LaTeX@etrue % 1.06(1)
+\ifx\xpt\undefined \@LaTeX@eNtrue \fi\fi % 2.00(1)
+% 2.00(1) <<
+
+
+
+%%%%%% Document Styles %%%%%%
+
+% 2.00(2) >>
+\newif\ifDS@printer \DS@printerfalse
+\newif\ifDS@english \DS@englishfalse
+\newif\ifDS@technote \DS@technotefalse
+\newif\ifDS@preface \DS@prefacefalse
+\newif\ifDS@draft \DS@draftfalse
+\newif\ifDS@techrep \DS@techrepfalse % 1.05(2)
+\newif\ifDS@sigrecommended \DS@sigrecommendedfalse % 2.04(1)
+\newif\ifDS@invited \DS@invitedfalse % 2.06(1)
+\newif\ifDS@abstract \DS@abstractfalse % 2.07(7)
+\newif\ifDS@private \DS@privatefalse % 2.07(8)
+\newif\ifDS@anonymous \DS@anonymousfalse % 2.10(1)
+\newif\ifDS@TBIO \DS@TBIOfalse % 2.11(1)
+\newif\ifDS@online \DS@onlinefalse % 2.12(4a)
+
+\if@LaTeX@eN
+\DeclareOption{printer}{\DS@printertrue} % 2.09(1)
+ % 2.12(2)
+\DeclareOption{english}{\DS@englishtrue}
+\DeclareOption{technote}{\DS@technotetrue}
+\DeclareOption{preface}{\DS@prefacetrue}
+\DeclareOption{draft}{\DS@drafttrue}
+\DeclareOption{techrep}{\DS@techreptrue}
+\DeclareOption{sigrecommended}{\DS@sigrecommendedtrue} % 2.04(1)
+\DeclareOption{invited}{\DS@invitedtrue} % 2.06(1)
+\DeclareOption{abstract}{\DS@abstracttrue} % 2.07(7)
+\DeclareOption{private}{\DS@privatetrue} % 2.07(8)
+\DeclareOption{anonymous}{\DS@anonymoustrue} % 2.10(1)
+\DeclareOption{TBIO}{\DS@TBIOtrue \DS@englishtrue} % 2.11(1)
+\DeclareOption{online}{\DS@onlinetrue \DS@printertrue \DS@englishtrue}
+ % 2.12(4a)
+\DeclareOption{10pt}{\def\@ptsize{0}}
+\DeclareOption{11pt}{\def\@ptsize{1}}
+\DeclareOption{12pt}{\def\@ptsize{2}}
+\ExecuteOptions{10pt}
+\ProcessOptions
+\def\ipsj@warning{\ClassWarning{ipsjpapers}} % 2.00(3)
+\def\ipsj@error{\ClassError{ipsjpapers}} % 2.00(3)
+\newskip \old@latex@skip % 2.00(14)
+\let\@maxsep\old@latex@skip % 2.00(14)
+\let\@dblmaxsep\old@latex@skip % 2.00(14)
+
+\else
+\expandafter\ifx\csname ver@ipsjpapers.cls\endcsname\relax
+\typeout{Document Style `ipsjpapers' (ver 2.12) <15 Jun 2007>.} % 2.05(1)
+\fi % \ifx
+
+\def\ds@printer{\relax} % 2.09(1)
+\def\ds@english{\DS@englishtrue}
+\def\ds@technote{\DS@technotetrue}
+\def\ds@preface{\DS@prefacetrue}
+\def\ds@draft{\DS@drafttrue}
+\def\ds@techrep{\DS@techreptrue} % 1.05(2)
+\def\ds@sigrecommended{\DS@sigrecommendedtrue} % 2.04(1)
+\def\ds@invited{\DS@invitedtrue} % 2.06(1)
+\def\ds@abstract{\DS@abstracttrue} % 2.07(7)
+\def\ds@private{\DS@privatetrue} % 2.07(8)
+\def\ds@anonymous{\DS@anonymoustrue} % 2.10(1)
+\def\ds@TBIO{\DS@TBIOtrue \DS@englishtrue} % 2.11(1)
+\def\ds@online{\DS@onlinetrue \DS@printertrue \DS@englishtrue} % 2.12(4a)
+
+% 1.04(3)>>
+\def\@ptsize{0}
+\@namedef{ds@11pt}{\def\@ptsize{1}}
+\@namedef{ds@12pt}{\def\@ptsize{2}}
+% 1.04(3)<<
+
+\@options
+\let\ipsj@warning\@warning % 2.00(3)
+\let\@latex@warning\@warning % 2.00(3)
+\def\ipsj@error#1#2{\errhlp{#2}\errmessge{#1}} % 2.00(3)
+\fi % \if@LaTeX@eN
+% 2.00(2) <<
+
+\ifx\@classoptionslist\undefined\else % 2.03(1) >>
+\def\ipsj@draft@option{draft}
+\def\ipsj@remove@draft@option{\def\@tempb{}%
+ \@for\@tempa:=\@classoptionslist\do{%
+ \ifx\@tempa\ipsj@draft@option\else
+ \edef\@tempb{\@tempb,\@tempa}\fi}%
+ \ifx\@tempb\@empty \def\@classoptionslist{}\else
+ \expandafter\ipsj@remove@draft@ption\@tempb\@nil\fi}
+\def\ipsj@remove@draft@ption,#1\@nil{%
+ \def\@classoptionslist{#1}}
+\ipsj@remove@draft@option
+\fi % \ifx % 2.03(1) <<
+
+\ifipsj@nonjp \DS@englishtrue \fi % 2.12(1a)
+
+%%%%%% Basics %%%%%%
+
+\newdimen\@Q \@Q=0.25mm
+
+\lineskip\z@ \normallineskip\z@
+\lineskiplimit\z@ \normallineskiplimit\z@
+\abovedisplayskip\z@ \belowdisplayskip\z@
+\abovedisplayshortskip\z@ \belowdisplayshortskip\z@
+
+\def\baselinestretch{1}
+\jot\z@
+
+\ifDS@draft\def\next{\input{ipsjdrafts.sty}\endinput}\else\let\next\relax\fi
+\next
+
+\@twosidetrue
+
+%%%%%% Fonts %%%%%%
+% \finvedm(dg) dm5 \vpt \tiny fn-mark
+% \sixdm(dg) dm6 \vipt \scriptsize
+% \sevendm(dg) dm7 \vipt \footnotesize f-note, capt
+% 10Q = 7.11304pt -> w(min7) = 6.73550pt
+% \eightdm(dg) dm8 \viiipt \small abst, header
+% 11Q = 7.82434pt -> w(min8) = 7.69772pt
+% \eightdm(dg)half dm9 \ixpt \normalsize main text
+% 12Q = 8.53564pt -> w(min9) = 8.65994
+% \tendm(dg) dm10 \xpt \large sec title
+% 13Q = 9.24695pt -> w(min10) = 9.62216pt
+% \tendm(dg)half dm10*1095 \xipt \Large author names
+% 15Q =10.66956pt -> w(min10*1095) = 10.53625pt
+% (\twlvdm) (dm12) \xiipt \LARGE e-title
+% \twelvedm(dg)half dm12*1095 \xivpt \huge title
+% min10*1440
+% 18Q =12.80347pt -> w(min10*1440) = 13.8559pt
+%
+% Note that cm fonts follows LaTeX standard. (e.g. \viiipt -> cmr8, etc.)
+
+% 2.00(4)>>
+\if@LaTeX@e
+\ifASCII
+\def\ipsj@declare@font#1#2#3{{\fontsize{#3}{\z@}#2\selectfont % 2.00(5)>>
+ \edef\@tempa{\ifipsj@nonjp \the\font \else \the\jfont \fi} % 2.12(1b)
+ \expandafter\global\expandafter\let\expandafter#1\@tempa}} % 2.00(5)<<
+
+\iffalse % ASCII LaTeX2e printer settings is removed % 2.12(2a)
+\else % ASCII LaTeX2e non-printer
+\ifipsj@nonjp % 2.12(1b)>>
+\ipsj@declare@font\fn@fontv\rmfamily\@vpt
+\ipsj@declare@font\fn@fontvi\rmfamily\@vpt
+\ipsj@declare@font\fn@fontvii\rmfamily\@vpt
+% no declaration for \fn@fontxv % 2.12(1b)<<
+\else % \ifipsj@nonjp
+\ipsj@declare@font\fn@fontv\mcfamily\@vpt
+\ipsj@declare@font\fn@fontvi\mcfamily\@vpt
+\ipsj@declare@font\fn@fontvii\mcfamily\@vpt
+\ipsj@declare@font\fn@fontxv\gtfamily\@xipt
+\fi\fi %\ifipsj@nonjp\iffalse
+
+\else % \ifASCII = NTT LaTeX2e
+\def\ipsj@declare@font#1#2#3{{\fontsize{#3}{\z@}#2\selectfont % 2.00(5)
+ \xdef#1{\expandafter\noexpand\csname\jf@ntn@me\endcsname}}} % 2.00(5)
+\ipsj@declare@font\fn@fontv\dm\@vpt
+\ipsj@declare@font\fn@fontvi\dm\@vpt
+\ipsj@declare@font\fn@fontvii\dm\@vpt
+\ipsj@declare@font\fn@fontxv\dg\@xipt
+\fi % \ifASCII
+% 2.00(4) <<
+
+\else % \if@LaTeX@e = LaTeX 2.09 % 2.00(4)
+%% Fonts for ASCII TeX. (H.N.)
+\ifASCII
+\iffalse % ASCII LaTeX 2.09 printer settings is removed % 2.12(2a)
+\else \ifipsj@nonjp\else % 2.12(1b)
+\font\fivedm min5
+\font\fivedg goth5
+\font\sixdm min6
+\font\sixdg goth6
+\font\sevendm min7
+\font\sevendg goth7
+\font\eightdm min8
+\font\eightdg goth8
+\font\eightdmhalf min9
+\font\eightdghalf goth9
+\font\tendm min10
+\font\tendg goth10
+\font\tendmhalf min10 scaled\magstephalf
+\font\tendghalf goth10 scaled\magstephalf
+\font\twelvedm min10 scaled\magstep1
+\font\twelvedg goth10 scaled\magstep1
+\font\twelvedmhalf min10 scaled\magstep2
+\font\twelvedghalf goth10 scaled\magstep2
+\let\fn@fontv\fivedm
+\let\fn@fontvi\fivedm
+\let\fn@fontvii\fivedm
+\let\fn@fontxv\tendghalf
+
+\fi\fi % \ifipsj@nonjp\iffalse
+
+%% ASCII doesn't have \old@Npt. (H.N.)
+\let\old@@vpt\vpt
+\let\old@@vipt\vipt
+\let\old@@viipt\viipt
+\let\old@@viiipt\viiipt
+\let\old@@ixpt\ixpt
+\let\old@@xpt\xpt
+\let\old@@xipt\xipt
+\let\old@@xiipt\xiipt
+\let\old@@xivpt\xivpt
+
+\ifipsj@nonjp % 2.12(1b)>>
+\def\old@vpt{\old@@vpt}
+\def\old@vipt{\old@@vipt}
+\def\old@viipt{\old@@viipt}
+\def\old@viiipt{\old@@viiipt}
+\def\old@ixpt{\old@@ixpt}
+\def\old@xpt{\old@@xpt}
+\def\old@xipt{\old@@xipt}
+\def\old@xiipt{\old@@xiipt}
+\def\old@xivpt{\old@@xivpt} % 2.12(1b)<<
+\else % \ifipsj@nonjp
+\def\old@vpt{\old@@vpt\jspaceskip1zw\relax}
+\def\old@vipt{\old@@vipt\jspaceskip1zw\relax}
+\def\old@viipt{\old@@viipt\jspaceskip1zw\relax}
+\def\old@viiipt{\old@@viiipt\jspaceskip1zw\relax}
+\def\old@ixpt{\old@@ixpt\jspaceskip1zw\relax}
+\def\old@xpt{\old@@xpt\jspaceskip1zw\relax}
+\def\old@xipt{\old@@xipt\jspaceskip1zw\relax}
+\def\old@xiipt{\old@@xiipt\jspaceskip1zw\relax}
+\def\old@xivpt{\old@@xivpt\jspaceskip1zw\relax}
+\fi % \ifipsj@nonjp
+ % 2.00(6)
+ % 1.06(2)
+
+%% ASCII doesn't have \dg nor \dm. (H.N.)
+\ifipsj@nonjp\else % 2.12(1b)
+\def\dg{\protect\pdg}
+\def\dm{\protect\pdm}
+%% Redefine \gt and \mc
+\def\gt{\protect\pdg}
+\def\mc{\protect\pdm}
+\let\pdm\relax
+\fi % \ifipsj@nonjp
+
+\else % \ifASCII
+%% Fonts for NTT jTeX
+%% \magstephalf and \magstep1 may cause trouble in older versions.
+
+\jfont\fivedm=dm5
+\jfont\fivedg=dg5
+\jfont\sixdm=dm6
+\jfont\sixdg=dg6
+\jfont\sevendm=dm7
+\jfont\sevendg=dg7
+\jfont\eightdm=dm8
+\jfont\eightdg=dg8
+\jfont\eightdmhalf=dm9
+\jfont\eightdghalf=dg9
+\jfont\tendm=dm10
+\jfont\tendg=dg10
+\jfont\tendmhalf=dm10 scaled 1095
+\jfont\tendghalf=dg10 scaled 1095
+\jfont\twelvedm=dm12
+\jfont\twelvedg=dg12
+\jfont\twelvedmhalf=dm12 scaled 1095
+\jfont\twelvedghalf=dg12 scaled 1095
+\let\fn@fontv\fivedm
+\let\fn@fontvi\fivedm
+\let\fn@fontvii\fivedm
+\let\fn@fontxv\tendghalf
+ % 1.06(3)
+\fi % \ifASCII
+\fi % \if@LaTeX@e
+
+\ifx\jfsize\undefined \newcount\jfsize \fi % 1.06(2)
+
+\ifASCII % 1.06(3),2.00(6)>>
+\ifipsj@nonjp\else % 2.12(1b)
+\let\setjglues\relax
+\let\jintercharskip\kanjiskip
+\let\jasciikanjiskip\xkanjiskip
+\let\jmathkanjiskip\xkanjiskip
+\newdimen\jspaceskip
+
+\def\defjintercharskip#1#2#3#4{\@asciiwarning{\defjintercharskip}}
+\def\defjasciikanjiskip#1#2#3#4{\@asciiwarning{\defjasciicharskip}}
+\def\defmathkanjiskip#1#2#3#4{\@asciiwarning{\defmathcharskip}}
+\def\defjspaceskip#1#2#3#4{\@asciiwarning{\defjspaceskip}}
+
+\def\@asciiwarning#1{\ipsj@warning{\string#1\space % 2.00(3)
+ is not supported in ASCII version}}
+ % 1.06(3),2.00(6)<<
+\fi % \ifipsj@nonjp
+\else % \ifASCII % 2.00(7)>>
+\if@LaTeX@e
+\ipsj@declare@font\fn@eightdmhalf\dm\@ixpt
+\ipsj@declare@font\fn@eightdghalf\dg\@ixpt
+\else
+\def\fn@eightdmhalf{\eightdmhalf}
+\def\fn@eightdghalf{\eightdghalf}
+\fi % \if@LaTeX@e
+\ifx\setjglues\undefined\else
+\expandafter\defjintercharskip\fn@eightdmhalf{0pt}{1.4pt}{0.5pt}
+\expandafter\defjintercharskip\fn@eightdghalf{0pt}{1.4pt}{0.5pt}
+\expandafter\defjasciikanjiskip\fn@eightdmhalf{2pt}{1pt}{1pt}
+\expandafter\defjasciikanjiskip\fn@eightdghalf{2pt}{1pt}{1pt}
+\expandafter\defjmathkanjiskip\fn@eightdmhalf{2pt}{1pt}{1pt}
+\expandafter\defjmathkanjiskip\fn@eightdghalf{2pt}{1pt}{1pt}
+\fi % \if@LaTeX@e % 2.00(7)<<
+\fi % \ifASCII % 2.00(4)
+
+\if@LaTeX@e % 2.00(8)>>
+\if@LaTeX@eN
+\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
+\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
+\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
+\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
+\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
+\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
+\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
+\DeclareRobustCommand*{\cal}{\@fontswitch{\relax}{\mathcal}}
+\DeclareRobustCommand*{\mit}{\@fontswitch{\relax}{\mathnormal}}
+\ifASCII \ifipsj@nonjp\else % 2.12(1b)
+\DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{\mathmc}
+\DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{\mathgt}
+\fi\fi\fi % \ifipsj@nonjp\ifASCII\if@LaTeX@eN
+
+\ifASCII \ifipsj@nonjp\else % 2.12(1b)
+\def\dm{\mc}
+\def\dg{\gt}
+\fi\fi\fi % \ifipsj@nonjp\ifASCII\if@LaTeX@e % 2.00(8)<<
+
+%%%%%% Basic Font Size Macros %%%%%%
+
+\if@LaTeX@e % 1.06(4),2.00(9),2.04(3)>>
+\def\@setsize#1#2#3#4{\@setfontsize#1{#4}{#2}\ipsj@setjspaceskip}
+\let\ipsj@setjspaceskip\relax % 2.12(1b)>>
+\ifASCII \ifipsj@nonjp\else
+\def\ipsj@setjspaceskip{\jspaceskip1zw\relax}
+\fi\fi % \ifipsj@nonjp\ifASCII % 2.12(1b)<<
+ % 1.06(4),2.00(9),2.04(3)<<
+
+%% \vipt etc. are redefined to use appropriate Japanese fonts.
+\else % \if@LaTeX@e % 2.00(9)
+\ifipsj@nonjp\else % 2.12(1b)
+\def\vpt{\old@vpt\fivedm\let\pdg\fivedg\let\pdm\fivedm\jfsize=5\relax}
+\def\vipt{\old@vipt\sixdm\let\pdg\sixdg\let\pdm\sixdm\jfsize=6\relax}
+\def\viipt{\old@viipt\sevendm\let\pdg\sevendg\let\pdm\sevendm\jfsize=7\relax}
+\def\viiipt{\old@viiipt\eightdm\let\pdg\eightdg\let\pdm\eightdm\jfsize=8\relax}
+\def\ixpt{\old@ixpt\eightdmhalf\let\pdg\eightdghalf\let\pdm\eightdmhalf
+ \jfsize=9\relax \@ixptboldmath} % 1.02(2)
+\def\xpt{\old@xpt\tendm\let\pdg\tendg\let\pdm\tendm\jfsize=10\relax}
+\def\xipt{\old@xipt\tendmhalf\let\pdg\tendghalf\let\pdm\tendmhalf\jfsize=11
+ \relax}
+\def\xiipt{\old@xiipt\twelvedm\let\pdg\twelvedg\let\pdm\twelvedm
+ \jfsize=12\relax}
+\def\xivpt{\old@xivpt\twelvedmhalf\let\pdg\twelvedghalf\let\pdm\twelvedmhalf
+ \jfsize=14\relax}
+\fi\fi % \ifipsj@nonjp\if@LaTeX@e % 2.00(9)
+
+\if@LaTeX@e % 1.06(5)
+\let\@ixptboldmath\relax % 1.06(5)
+\else % 1.06(5)
+% 1.02(2) >>
+\iffalse % printer setting removed % 2.12(2a)
+\else
+\def\@ixptboldmath{%
+ \def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath
+ \textfont\@ne\ninmi
+ \textfont\tw@\ninsy \textfont\lyfam\ninly
+ \@boldfalse}\@boldfalse
+% 1.03(1) >>
+ \def\boldmath{\@ifundefined{ninmib}{\global\font\ninmib\@mbi
+ \global\font\ninsyb\@mbsy\relax
+ \global\font\ninlyb\@lasyb\relax
+ \@addfontinfo\@ixpt
+ {\def\boldmath{\everymath{\mit}\everydisplay{\mit}%
+ \@prtct\@nomathbold
+ \textfont\@ne\ninmib \textfont\tw@\ninsyb
+ \textfont\lyfam\ninlyb \@prtct\@boldtrue}}}{}%
+ \@ixpt\boldmath}}
+% 1.03(1) <<
+\fi % \iffalse
+% 1.02(2) <<
+\fi % \if@LaTeX@e % 1.06(5)
+
+
+%%%%%% Font Size Macros %%%%%%
+
+\def\fs@setsize#1#2#3#4{\normalsize\dimen@\normalbaselineskip
+ \@ifstar{\@setsize{#1}{\dimen@}{#3}{#4}}%
+ {\@setsize{#1}{#2}{#3}{#4}}}
+
+% s = (3*b - (h' + d') - (h + d))/2
+% s_a = s + h' + d - b
+% s_b = s + h + d' - b
+\def\sec@setskips#1{\setbox0\hbox{\fs@sec\bf#1}\setbox1\hbox{#1}
+ \@tempdima3\baselineskip
+ \advance\@tempdima-\ht0 \advance\@tempdima-\dp0
+ \advance\@tempdima-\ht1 \advance\@tempdima-\dp1
+ \divide\@tempdima\tw@ \advance\@tempdima-\baselineskip
+ \@tempdimb\@tempdima
+ \advance\@tempdima\ht0 \advance\@tempdima\dp1
+ \advance\@tempdimb\ht1 \advance\@tempdimb\dp0
+ \edef\sec@aboveskip{\the\@tempdima}
+ \edef\sec@belowskip{\the\@tempdimb}}
+
+\ifDS@english
+% size pt \baselineskip size \?pt \baselineskip
+% \normalsize 10 16Q \large 11 18Q (*)
+% \small 9 15Q \Large 12 22Q
+% \footnotesize 8 13Q \LARGE 14 26Q (*)
+% \scriptsize 6 8pt (*) \huge 18 30Q (*)
+% \tiny 5 6pt (*) \Huge 18 30Q (*)
+% * : not measured
+
+\def\@normalsize{\@setsize\normalsize{16\@Q}\xpt\@xpt}
+\def\small{\fs@setsize\small{15\@Q}\ixpt\@ixpt}
+\def\footnotesize{\fs@setsize\footnotesize{13\@Q}\viiipt\@viiipt}
+\def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt}
+\def\tiny{\@setsize\tiny{6pt}\vpt\@vpt}
+\def\large{\@setsize\Large{18\@Q}\xipt\@xipt}
+\def\Large{\@setsize\LARGE{22\@Q}\xiipt\@xiipt}
+\def\LARGE{\@setsize\LARGE{26\@Q}\xivpt\@xivpt}
+\def\huge{\@setsize\Huge{30\@Q}\xviipt\@xviipt}
+\let\Huge\huge
+
+\ifDS@techrep % 1.05(2)>>
+\def\@normalsize{\@setsize\normalsize{17\@Q}\xpt\@xpt}
+\fi % 1.05(2)<<
+
+\if@LaTeX@e % 2.00(10)>>
+\let\normalsize\@normalsize
+\fi % 2.00(10)<<
+
+\let\fs@footnote\footnotesize
+\let\fs@caption\footnotesize
+\let\fs@table\footnotesize
+\let\fs@eabst\footnotesize
+\let\fs@header\footnotesize
+\let\fs@footer\footnotesize
+\let\fs@bibliography\small
+\let\fs@subsec\normalsize
+\let\fs@sec\normalsize
+\let\fs@type\large
+\let\fs@eauthor\large
+\let\fs@title\Large
+
+\@normalsize
+
+\sec@setskips{A}
+
+\else % \ifDS@english
+% size pt \baselineskip size \?pt \baselineskip
+% \normalsize 9 19Q \large 10 19Q
+% \small 8 14Q \Large 11 22Q
+% \footnotesize 7 14Q \LARGE 12 18Q
+% \scriptsize 6 8pt (*) \huge 14 26Q
+% \tiny 5 6pt (*) \Huge 14 26Q
+% * : not measured
+
+\def\@normalsize{\@setsize\normalsize{19\@Q}\ixpt\@ixpt}
+\def\small{\fs@setsize\small{14\@Q}\viiipt\@viiipt}
+\def\footnotesize{\fs@setsize\footnotesize{14\@Q}\viipt\@viipt}
+\def\scriptsize{\@setsize\scriptsize{8pt}\vipt\@vipt}
+\def\tiny{\@setsize\tiny{6pt}\vpt\@vpt}
+\def\large{\@setsize\large{19\@Q}\xpt\@xpt}
+\def\Large{\@setsize\Large{22\@Q}\xipt\@xipt}
+\def\LARGE{\@setsize\LARGE{18\@Q}\xiipt\@xiipt}
+\def\huge{\@setsize\Huge{26\@Q}\xivpt\@xivpt}
+\let\Huge\huge
+
+\ifDS@techrep % 1.05(2)>>
+\def\@normalsize{\@setsize\normalsize{17\@Q}\ixpt\@ixpt}
+\fi % 1.05(2)<<
+
+\if@LaTeX@e % 2.00(10)>>
+\let\normalsize\@normalsize
+\fi % 2.00(10)<<
+
+\let\fs@footnote\footnotesize
+\let\fs@caption\footnotesize
+\let\fs@table\footnotesize
+\let\fs@abst\small
+\def\fs@eabst{\small\baselineskip13\@Q}
+\let\fs@header\small
+\let\fs@footer\small
+\let\fs@subsec\normalsize
+\def\fs@bibliography{\normalsize\baselineskip16\@Q}
+\let\fs@sec\large
+\let\fs@type\fn@fontxv
+\let\fs@author\Large
+\def\fs@eauthor{\Large\baselineskip20\@Q} % 2.12(7)
+\let\fs@etitle\LARGE
+\let\fs@title\huge
+
+\@normalsize
+ % 2.00(7)
+\ifx\setjglues\undefined\else
+\setjglues
+\fi
+
+% \sec@setskips{} is moved to ipsjcommon % 2.12(1c)
+\fi % \ifDS@englisth
+
+\if@LaTeX@e\else \ifipsj@nonjp\else % 2.00(11),2.12(1b)
+\let\latex@bf\bf % 1.06(6)
+\def\bf{\latex@bf \dg} % 1.06(6)
+\fi\fi % 2.00(11)
+
+
+%%%%%% Page Layout Parameters %%%%%%
+
+\newdimen\@mojihaba
+\ifipsj@nonjp \let\jspaceskip\@mojihaba \fi % 2.12(1b)
+
+\ifDS@printer % 2.12(2b) >>
+\voffset=-20mm
+\hoffset=-14mm
+\fi % 2.12(2b) <<
+
+\headheight 12\@Q
+
+% We want to allow a line containing $\displaystyle X^X$ to be a first line.
+\setbox0\hbox{$\displaystyle X^X$}
+\topskip\ht0
+
+\ifdim\maxdepth<\dp\strutbox \maxdepth\dp\strutbox \@maxdepth\maxdepth\fi
+
+\@tempswafalse % 1.05(2)>>
+\ifDS@english \ifDS@techrep \else \@tempswatrue \fi\fi
+\if@tempswa % 1.05(2)<<
+\topmargin 138\@Q \advance\topmargin-1in
+
+% \textheight = 53\baselineskip + \topskip + epsilon(100sp)
+\textheight53\baselineskip \advance\textheight\topskip \advance\textheight100sp
+
+% \headsep = 24Q - \topskip
+\headsep28\@Q \advance\headsep-\topskip % 2.02(2)
+
+% Only first page has page number (footer) at the bottom
+\footskip 27\@Q
+
+\@mojihaba13\@Q
+
+\else % \if@tempswa
+\topmargin 131\@Q \advance\topmargin-1in
+
+% \textheight = 45\baselineskip + \topskip + epsilon(100sp)
+\textheight45\baselineskip \advance\textheight\topskip \advance\textheight100sp
+
+\ifDS@techrep % 1.05(2)>>
+\textheight50\baselineskip \advance\textheight\topskip \advance\textheight100sp
+\fi % \ifDS@techrep % 1.05(2)<<
+
+% \headsep = 28Q - \topskip
+\headsep28\@Q \advance\headsep-\topskip
+
+% Only first page has page number (footer) at the bottom
+\footskip24\@Q
+
+\@mojihaba12\@Q
+\fi % \if@tempswa
+
+\columnsep30\@Q
+
+% \textwidth - \columnwidth = 24 * 12Q * 2 + \columnsep = 606Q
+\textwidth606\@Q
+\columnseprule0pt
+
+\oddsidemargin210mm \advance\oddsidemargin-\textwidth \divide\oddsidemargin\tw@
+\advance\oddsidemargin-1in \evensidemargin\oddsidemargin
+
+\skip\footins\baselineskip \advance\skip\footins-.5\@mojihaba
+% \footnotesep = \baselineskip - depth(\strutbox)
+{\fs@footnote
+ \footnotesep\baselineskip
+ \global\advance\footnotesep-\dp\strutbox}
+
+\def\footnoterule{{\fs@footnote\kern-\dp\strutbox \hrule \kern-.4\p@
+ \kern\dp\strutbox}}
+
+\floatsep \baselineskip \textfloatsep \baselineskip
+\intextsep \baselineskip \@maxsep \baselineskip
+\dblfloatsep \baselineskip \dbltextfloatsep \baselineskip
+\@dblmaxsep \baselineskip
+\@fptop 0pt plus 1fil \@fpsep 0pt plus 2fil \@fpbot 0pt plus 1fil
+\@dblfptop 0pt plus 1fil \@dblfpsep 0pt plus 2fil \@dblfpbot 0pt plus 1fil
+
+\parskip\z@ \parindent\@mojihaba
+\@lowpenalty 51 \@medpenalty 151 \@highpenalty 301
+\@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty
+\@itempenalty -\@lowpenalty
+
+
+%%%%%% Title and Authors %%%%%%
+%
+% Format of title, author names and abstract.
+%
+% \huge\bf
+% \vskip 32Q
+% \Large
+% \vskip 32Q
+% \small
+% \vskip 34Q
+% \LARGE\bf
+% \vskip 28Q
+% \Large\sc
+% \vskip 28Q
+% \small
+% \vskip 25Q
+
+% 2.07(3)>>
+\def\ipsj@ohcheck#1#2#3{\fs@header\hskip12\@Q#1\qquad#2\qquad#3\hskip12\@Q}
+\def\ipsj@ohcvolno{Vol.~00\hskip12\@Q No.~SIG\ 00(\ipsj@sig@code\ 00)}
+
+\newif\ifipsj@trans \ipsj@transfalse % 2.12(4f)
+\def\maketitle{\let\ipsj@oddhead@t\ipsj@oddhead@a
+ \ifipsj@trans
+ \settowidth\@tempdima{%
+ \ipsj@ohcheck\ipsj@ohcvolno\@titlestring\ipsj@ohcvolno}%
+ \ifdim\@tempdima>\textwidth
+ \let\ipsj@oddhead@t\ipsj@oddhead@b
+ \settowidth\@tempdima{%
+ \ipsj@ohcheck\ipsj@ohcvolno\@titlestring{000}}%
+ \ifdim\@tempdima>\textwidth
+ \ipsj@warning{% % 2.00(3)
+ \string\title\space for headding is too wide}%
+ \fi \fi
+ \else
+ \settowidth\@tempdima{\fs@header
+ \hskip12\@Q Vol.~00\hskip12\@Q No.~00\qquad\@titlestring\qquad
+ Vol.~00\hskip12\@Q No.~00\hskip12\@Q}
+ \ifdim\@tempdima>\textwidth
+ \ipsj@warning{% % 2.00(3)
+ \string\title\space for headding is too wide}%
+ \fi \fi
+ \par\twocolumn[\@maketitle]\thispagestyle{myheadings}\@thanks}
+% 2.07(3)<<
+
+% default title header
+
+\def\title{\@dblarg{\@xtitle}}
+\def\@xtitle[#1]#2{\gdef\@title{#2}%
+ {\def\protect{\noexpand\protect\noexpand}%
+ \ifDS@english\def\\{\unskip\ \ignorespaces}%
+ \else\def\\{\unskip\ignorespaces}\fi
+ \xdef\@titlestring{#1}}} % 2.07(3)
+
+\def\@title{\mkt@warning\title}\def\@titlestring{}
+\long\def\author#1{\long\gdef\@author{#1}}
+\def\@author{\mkt@warning\author}
+
+\newbox\@abstractbox
+%% Introduce \@titlewidth because we now use this dimen repeatedly. (H.N.)
+%% \@titlewidth = 44 * 11Q = 484Q
+\newdimen\@titlewidth \@titlewidth 484\@Q
+
+\def\abstract{\global\let\@abstract\relax
+ \global\setbox\@abstractbox\hbox\bgroup
+ \begin{minipage}[b]{\@titlewidth}\fs@abst\parindent11\@Q}
+\def\endabstract{\end{minipage}\egroup}
+\def\@abstract{\mkt@warning{abstract env}}
+
+%% We need English title, author name(s) and abstract. (H.N.)
+\def\etitle#1{\gdef\@etitle{#1}}
+\def\@etitle{\mkt@warning\etitle}
+\long\def\eauthor#1{\long\gdef\@eauthor{#1}}
+\def\@eauthor{\mkt@warning\eauthor}
+
+\newbox\@eabstractbox
+\def\eabstract{\global\let\@eabstract\relax
+ \global\setbox\@eabstractbox\hbox\bgroup
+ \begin{minipage}[b]{\@titlewidth}\fs@eabst\parindent11\@Q}
+\let\endeabstract\endabstract
+\def\@eabstract{\mkt@warning{eabstract env}}
+
+\ifDS@english
+\let\author\eauthor \let\abstract\eabstract
+\let\@eauthor\@author \let\@eabstract\@abstract
+\fi
+
+\def\mkt@warning#1{\ipsj@warning{Missing \string#1}} % 2.00(3)
+
+\newdimen\mkt@prevdepth
+\newbox\mkt@titlebox
+\def\@maketitle{\setbox\mkt@titlebox\vbox{
+ \ifDS@english \ifDS@preface
+ \hbox{}\vskip60\@Q \vskip-\headsep \vskip-\baselineskip
+ \else
+ \hbox{}\vskip26\@Q \vskip-\headsep \vskip-\baselineskip
+ \leftline{\fs@type\it
+ \ifDS@TBIO \ipsj@TBIO@pcatref % 2.11(2)
+ \else\ifDS@technote Technical Note
+ \else\ifDS@invited Invited Paper % 2.06(1)
+ \else\ifDS@sigrecommended % 2.04(1)
+ Recommended Paper % 2.04(1)
+ \else\ifDS@abstract % 2.07(7)
+ Abstract % 2.07(7)
+ \else\ifDS@techrep\else % 2.02(1)
+ Regular Paper\fi\fi\fi\fi\fi\fi}% 2.06(1)
+% % 2.04(1)
+ \vskip32\@Q \vskip-\baselineskip \fi
+ \else % 2.04(1) >>
+ \@tempswafalse \ifDS@technote\@tempswatrue\fi
+ \ifDS@sigrecommended\@tempswatrue\fi
+ \ifDS@invited\@tempswatrue\fi % 2.06(1)
+ \ifDS@abstract\@tempswatrue\fi % 2.07(7)
+ \if@tempswa
+ \vskip18\@Q \vskip-\headsep
+ \leftline{\vbox to28\@Q{\hrule height.8pt\vss
+ \hbox{\hskip7\@Q \fs@type
+ \ifDS@technote \ipsj@j@technote % 2.12(1c)>>
+ \else\ifDS@invited
+ \ipsj@j@invited % 2.06(1)
+ \else\ifDS@sigrecommended
+ \ipsj@j@sigrec % 2.06(1)
+ \else \ipsj@j@talkabst % 2.07(7)
+ \fi\fi\fi % 2.12(1c)<<
+ \hskip7\@Q}\vss\hrule height.8pt}}
+% % 2.04(1) <<
+ \vskip40\@Q \vskip-\baselineskip
+ \else
+ \hbox{}\vskip60\@Q \vskip-\headsep \vskip-\baselineskip
+ \fi\fi
+ \@tempswafalse \ifDS@english\else\ifDS@preface\@tempswatrue\fi\fi
+ \mkt@maketitle{\fs@title\bf}\@title\title
+ \affi@labels
+ \ifDS@english\else
+ \vskip-\mkt@prevdepth \nointerlineskip\vskip32\@Q
+ \centerline{\vbox{\centering\hsize\@titlewidth\fs@author
+ \mkt@makeauthor}}
+ \ifDS@preface\else
+ \vskip-\prevdepth \nointerlineskip\vskip32\@Q
+ \centerline{\@abstract\box\@abstractbox}
+ \vskip-\prevdepth \nointerlineskip\vskip34\@Q
+ \mkt@maketitle{\fs@etitle\bf}\@etitle\etitle
+ \fi\fi
+ \if@tempswa\else
+ \vskip-\mkt@prevdepth \nointerlineskip\vskip28\@Q
+ \centerline{\vbox{\centering\hsize\@titlewidth\fs@eauthor\sc
+ \mkt@makeeauthor}}
+ \fi
+ \ifDS@preface\else
+ \vskip-\prevdepth \nointerlineskip\vskip28\@Q
+ \centerline{\@eabstract\box\@eabstractbox}
+ \fi
+ \vskip-\prevdepth \nointerlineskip\vskip25\@Q}
+ \@tempdimb\ht\mkt@titlebox \advance\@tempdimb\dp\mkt@titlebox
+ \@tempcnta\@tempdimb \@tempcntb\baselineskip
+ \divide\@tempcnta\@tempcntb \@tempdima\@tempcnta\baselineskip
+ \advance\@tempdima-\@tempdimb
+ \box\mkt@titlebox
+ \ifdim\@tempdima=\z@\else\advance\@tempdima\baselineskip
+ \vskip\@tempdima\fi}
+
+%% \mkt@maketitle puts Japanese/English title, whose lines should be
+%% properly broken with \\ by the user. The result is flushed to left, then
+%% centered with respect to the longest line. (H.N.)
+\def\mkt@maketitle#1#2#3{\setbox\@tempboxa\vtop{
+ \def\\{\unskip\egroup\hbox\bgroup\ignorespaces}
+ #1\hbox\bgroup#2\unskip\egroup
+ \global\mkt@prevdepth\prevdepth}
+ \@tempdima\textwidth\advance\@tempdima-4\@mojihaba
+ \ifdim\wd\@tempboxa>\@tempdima
+ \ipsj@warning{% % 2.00(3)
+ \string#3 is too wide. Break line(s) by \string\\}\fi
+ \centerline{\box\@tempboxa}}
+
+% Assignment of Japanese author names to lines:
+% 1 -> 1, 2 -> 2, 3 -> 3, 4 -> 2+2, 5 -> 3+2, 6 -> 3+3, 7 -> 3+2+2, 8 -> 3+3+2,
+% ...
+% Rule for N authors (N > 2, q := N div 3)
+% N mod 3 = 0 -> 3 * q
+% N mod 3 = 1 -> 3 * (q - 2) + 2 + 2
+% N mod 3 = 2 -> 3 * (q - 1) + 2
+
+\newcount\mkt@cnta\newcount\mkt@cntb
+\newcount\mkt@sname\newcount\mkt@gname
+\newbox\mkt@boxa
+\newdimen\mkt@namewidth
+\def\mkt@makeauthor{\let\member\@gobble \let\nomember\relax
+ \let\stmember\@gobble % Those are not necessary in final manuscript.
+ \def\@makefnmark{\smash{\rlap{$^{\affi@thefnmark}$}}}% % 2.12(7)
+ \gdef\affi@thefnmark{}\leavevmode\let\+\ignorespaces
+ \settowidth\@tempdima{\ifipsj@nonjp x\else\ipsj@j@a \fi}% 2.12(1c)
+ \mkt@namewidth7\@tempdima\@tempcnta\z@
+ \expandafter\mkt@countauthor\@author\and\@nil\and
+ \ifnum\@tempcnta=\@ne\let\mkt@anhbox\mkt@anhboxc\mkt@makesingleauthor
+ \else
+ \@tempcntb\@tempcnta \divide\@tempcntb\thr@@
+ \multiply\@tempcntb\thr@@ \advance\@tempcntb-\@tempcnta
+ \ifnum\@tempcntb=\m@ne\relax\@tempcntb\tw@\else\@tempcntb\z@\fi
+ \mkt@cnta\thr@@
+ \let\mkt@anhbox\mkt@anhboxl
+ \expandafter\mkt@makemultiauthor\@author\and\and\fi}
+\def\mkt@countauthor#1\and{\def\@tempa{#1}\ifx\@tempa\@nnil\let\next\relax
+ \else\advance\@tempcnta\@ne \let\next\mkt@countauthor\fi\next}
+
+% If single author, author name has 9 KC width instead of 7.
+\def\mkt@makesingleauthor{\divide\mkt@namewidth7\multiply\mkt@namewidth9\relax
+ \expandafter\mkt@putauthor\@author\+ \@nil}
+
+\def\mkt@makemultiauthor#1\and{\ifnum\@tempcnta=\z@\unskip\let\next\relax\else
+ \leavevmode
+ \advance\mkt@cnta\m@ne \advance\@tempcnta\m@ne
+ \ifnum\mkt@cnta=\z@\mkt@maleft{#1}\mkt@cnta\thr@@\else
+ \ifnum\@tempcnta=\@tempcntb\mkt@maleft{#1}\mkt@cnta\tw@\else
+ \mkt@putauthor#1\+ \@nil\let\mkt@anhbox\mkt@anhboxc\fi\fi
+ \let\next\mkt@makemultiauthor\fi\next}
+\def\mkt@maleft#1{\let\mkt@anhbox\mkt@anhboxr\mkt@putauthor#1\+ \@nil
+ \par\let\mkt@anhbox\mkt@anhboxl}
+
+% Japanese author name format:
+% Non Japanese : As is.
+% Japanese w/o s/g delimitor : As is with warning.
+% Japanese (s+g>6) : As is.
+% Japanese (s+g<7) : Give 1-KC space to s/g delimitor, then insert
+% infinit stretch between each character pair, assuming the
+% s/g delimitor as a charcter, to make the name have 7-KC
+% width. An exception is 2s + 2g case, in which s/g
+% delimitor has 0 width in order to have the result
+% "S_S_G_G".
+
+\def\mkt@putauthor#1 #2\@nil{%
+ \ifipsj@nonjp \mkt@anhbox{#1 #2}\else
+ \setbox\@tempboxa\hbox{\let\affiref\@gobble \let\mkt@warning\@gobble
+ \jintercharskip\z@#1#2}%
+ \setbox\mkt@boxa\hbox{\let\affiref\@gobble \let\mkt@warning\@gobble
+ \jintercharskip1cm#1#2}%
+ \ifdim\wd\@tempboxa=\wd\mkt@boxa \mkt@anhbox{#1 #2}\else
+ % probably no Kanjis
+ \def\@tempa{#2}\ifx\@tempa\empty % without space btwn s/g-name
+ {\let\affiref\@gobble \def\+{}%
+ \ipsj@warning{Author name #1 doesn't have a space}}%
+ % 2.00(3)
+ \mkt@anhbox{#1}\else
+ \mkt@getnamewidth\mkt@sname{#1}\mkt@getnamewidth\mkt@gname{#2}%
+ \mkt@cntb\mkt@sname \advance\mkt@cntb\mkt@gname
+ \ifnum\mkt@cntb>6\relax\mkt@anhbox{#1\ #2}\else
+ \jintercharskip\fill%
+ \@tempskipa\@tempdima plus2fill\relax
+ \ifnum\mkt@sname=\tw@ \ifnum\mkt@gname=\tw@ \@tempskipa\fill\fi\fi
+ \hbox to\mkt@namewidth{#1\hskip-\lastskip
+ \hskip\@tempskipa#2\hskip-\lastskip\@makefnmark}\fi\fi\fi
+ \fi
+ \gdef\affi@thefnmark{}\hskip\columnsep}
+
+% When an author name is formatted "as is", the following macros are used
+% according to their position (left, right, or center).
+\def\mkt@anhboxl#1{\hbox to\mkt@namewidth{\hss#1\@makefnmark}}
+\def\mkt@anhboxr#1{\hbox to\mkt@namewidth{#1\@makefnmark\hss}}
+\def\mkt@anhboxc#1{\setbox\@tempboxa\hbox{#1\@makefnmark}%
+ \ifdim\wd\@tempboxa>\mkt@namewidth\box\@tempboxa
+ \else\hbox to\mkt@namewidth{\hss\box\@tempboxa\hss}\fi} % 2.08(1)
+
+\def\mkt@getnamewidth#1#2{\setbox\@tempboxa\hbox{\let\affiref\@gobble#2}%
+ \@tempdimb\wd\@tempboxa
+ \advance\@tempdimb.5\@tempdima #1\@tempdimb \mkt@cntb\@tempdima
+ \divide#1\mkt@cntb}
+
+% English author name format
+% 1 -> ^*
+% 2 -> ^* and~^*
+% 3 or more -> ,^* ,^* ... ^* and~^*
+% (be careful the position of comma).
+%
+% No special tricks for assignment names to line. Names are simply put in a
+% \centering paragraph.
+
+\def\mkt@makeeauthor{\let\member\@gobble \let\nomember\relax
+ \let\stmember\@gobble % Those are not necessary in final manuscript.
+ \leavevmode\let\mkt@and\relax\gdef\affi@thefnmark{}%
+ \def\@thefnmark{\affi@thefnmark}%
+ \expandafter\mkt@imakeeauthor\@eauthor\and\@nil\and}
+\def\mkt@imakeeauthor#1\and#2\and{\def\@tempa{#2}\ifx\@tempa\@nnil
+ #1\@makefnmark\let\next\relax
+ \else
+ \def\@tempb{#1}\def\next{\mkt@iimakeeauthor#2\and}%
+ \fi\next}
+\def\mkt@iimakeeauthor#1\and{\def\@tempa{#1}\ifx\@tempa\@nnil
+ \@makefnmark\ {\rm{and}~}\gdef\affi@thefnmark{}\hbox{\@tempb}%
+ \@makefnmark\let\next\relax
+ \else
+ \mkt@and\hbox{\@tempb}\let\mkt@and\mkt@andmid
+ \let\next\mkt@iimakeeauthor
+ \fi\def\@tempb{#1}\next}
+\def\mkt@andmid{,\@makefnmark\ \gdef\affi@thefnmark{}}
+
+% Macros to specify author's affiliation easily.
+% 2.12(7)>>
+\newcounter{affi@footnote} \c@affi@footnote\z@
+\newcounter{affi@pfootnote} \c@affi@pfootnote\z@
+\def\affilabel{\affi@deflabels\affi@affilabel}
+\def\paffilabel{\affi@deflabels\affi@paffilabel}
+\def\affi@deflabels#1#2#3{{\def\protect{\noexpand\protect\noexpand}%
+ \let\affi@affilabel\relax \let\affi@paffilabel\relax \let\\\relax
+ \xdef\affi@labels{\affi@labels#1{#2}{#3}}}}
+\def\affi@labels{}
+\def\affi@affilabel{\begingroup \affi@label{affi@footnote}\@makefnmarkdagger}
+\def\affi@paffilabel#1#2{\begingroup
+ \def\protect{\noexpand\protect\noexpand}%
+ \def\\{\noexpand\\Presently with \ignorespaces}%
+ \edef\@tempa{\ifDS@english Presently with \else % 1.04(1d)
+ \ipsj@j@presently\fi#2}% % 2.12(1c)
+ \affi@label{affi@pfootnote}\@makefnmarkast{#1}\@tempa}
+\def\affi@label#1#2#3#4{\stepcounter{#1}%
+ \@ifundefined{affi@r@#3}%
+ {\expandafter\xdef\csname affi@r@#3\endcsname{%
+ \csname the#1\endcsname}}%
+ {\ipsj@warning{Affiliation label `#3' multiply defined}}%
+ % 2.00(3)
+ \let\affi@footnotetext\relax\let\\\relax
+ \def\protect{\noexpand\protect\noexpand}%
+ \xdef\@thanks{\@thanks
+ \affi@footnotetext
+ {\csname the#1\endcsname}{\protect#2}{#4}}\endgroup}
+
+\def\affiref#1{\@ifundefined{affi@r@#1}%
+ {\ipsj@warning{Affiliation reference `#1' undefined}% 2.00(3)
+ \def\@tempa{?}}%
+ {\def\@tempa{\csname affi@r@#1\endcsname}}%
+ {\def\protect{\noexpand\protect\noexpand}%
+ \ifx\affi@thefnmark\empty \xdef\affi@thefnmark{\@tempa}\else
+ \xdef\affi@thefnmark{\affi@thefnmark,\hskip\z@\@tempa}\fi}}
+\def\affi@footnotetext#1#2#3{{\def\@thefnmark{#1}%
+ \def\@makefnmarkforfn{#2}\@footnotetext{#3}}}
+
+\def\theaffi@footnote{{\dagger}\number\c@affi@footnote}
+\def\theaffi@pfootnote{{\ast}\number\c@affi@pfootnote}
+
+\def\thanks#1{\begingroup
+ \stepcounter{affi@pfootnote}\let\thempfn\theaffi@pfootnote
+ \let\@thefnmark\thempfn \@makefnmark
+ \let\affi@footnotetext\relax\let\\\relax
+ \def\protect{\noexpand\protect\noexpand}%
+ \xdef\@thanks{\@thanks
+ \affi@footnotetext{\thempfn}{\protect\@makefnmarkast}{#1}}%
+ \endgroup}
+% 2.12(7)<<
+
+% \contact is necessary only for drafts.
+\long\def\contact#1{}
+
+
+%%%%%% Page Header and Footer %%%%%%
+
+\mark{{}{}}
+
+\newcounter{volpageoffset} % You must set this to appropriate value
+\setcounter{volpageoffset}{1} % for each issue!
+\ifDS@printer % 2.12(4d)>>
+\def\LastPageNumber{\gdef\ipsj@last@page}
+\fi % 2.12(4d)<<
+
+% 2.00(16)>>
+\let\latex@document\document
+\def\document{\latex@document
+ \ifDS@private\else
+ \ifDS@online \global\c@page\ipsj@olh@page % 2.12(4)
+ \else \global\c@page\c@volpageoffset \fi \fi} % 2.07(8)
+\let\c@volpage\c@page % for backward compatibility
+\def\thevolpage{\thepage} % for backward compatibility
+% 2.00(16)<<
+
+\newcounter{volume} % 2.12(1c)>>
+\newcounter{number}
+\let\c@month\c@number % 2.07(4)
+\newcounter{year} % 2.12(1c)<<
+
+\ifDS@printer % 2.12(4b)>>
+\def\SetOnlineHeaderInfo#1#2#3#4{% % []
+ \def\ipsj@olh@vol{#1}%
+ \def\ipsj@olh@year{#2}%
+ \def\ipsj@olh@month{#3}%
+ \def\ipsj@olh@page{#4}%
+ \@ifnextchar[%]
+ \ipsj@olh@setlastpage\relax}
+\def\ipsj@olh@setlastpage[#1]{\def\ipsj@olh@lastpage{#1}}
+\fi % 2.12(4b)<<
+
+% 2.07(4)>>
+\ifDS@online % 2.12(4b)
+\def\@thevolno{Vol.~\ipsj@olh@vol} % 2.12(4b)
+\else
+\def\@thevolno{Vol.~\arabic{volume}\hskip\@mojihaba No.~% % 2.12(1c)>>
+ \ifipsj@trans SIG\ \ipsj@sig@numa(\ipsj@sig@code\ \ipsj@sig@numb)%
+ \else \arabic{number}\fi} % 2.12(1c)<<
+\fi
+% 2.07(4)<<
+% 2.00(15)>>
+% 2.12(1c)(4b)>>
+\def\@monthyear{%
+ \ifDS@online \ipsj@monthyear\ipsj@olh@month\ipsj@olh@year
+ \else \c@year1959 \advance\c@year\c@volume
+ \ipsj@monthyear\c@number\c@year \fi}
+\def\ipsj@monthyear#1#2{\ifcase#1\or Jan.\or Feb.\or Mar.\or Apr.\or May\or
+ June\or July\or Aug.\or Sep.\or Oct.\or Nov.\or Dec.\else\fi
+ \hskip.5\@mojihaba \number#2}
+% 2.12(1c)(4b)<<
+% 2.00(15)<<
+
+% 2.07(2)>>
+\def\transaction#1#2#3{\ipsj@transtrue
+ \def\ipsj@sig@code{#1}\def\ipsj@sig@numa{#2}\def\ipsj@sig@numb{#3}%
+ \expandafter\let\expandafter\ipsj@sig@title
+ \csname ipsj@sig@#1@\ifDS@english e\else j\fi\endcsname
+ \ifx\ipsj@sig@title\relax
+ \ipsj@warning{Transaction code #1 is unknown}\fi
+ \let\ipsj@oddhead@s\ipsj@oddhead@a
+ \ifDS@online\else % 2.12(4c)
+ \settowidth\@tempdima{%
+ \ipsj@ohcheck\ipsj@ohcvolno\hdr@tipsj\ipsj@ohcvolno}%
+ \ifdim\@tempdima>\textwidth
+ \let\ipsj@oddhead@s\ipsj@oddhead@b
+ \settowidth\@tempdima{\c@month3\relax % "Mar." is longest
+ \ipsj@ohcheck\ipsj@ohcvolno\hdr@tipsj\@monthyear}%
+ \ifdim\@tempdima>\textwidth
+ \let\ipsj@oddhead@s\ipsj@oddhead@c
+ \fi \fi \fi}
+
+\def\ipsj@sig@PRO@e{Programming}
+\def\ipsj@sig@TOM@e{Mathematical Modeling and Its Applications}
+\def\ipsj@sig@TOD@e{Databases}
+\def\ipsj@sig@HPS@e{High Performance Computing Systems}
+\def\ipsj@sig@CVIM@e{Computer Vision and Image Media}
+\def\ipsj@sig@ACS@e{Advanced Computing Systems} % 2.09(2)
+\def\ipsj@sig@TBIO@e{Bioinformatics} % 2.11(3)
+\def\ipsj@sig@SLDM@e{System LSI Design Methodology} % 2.12(8)
+% 2.07(2)<<
+
+\def\copyrightnotice{\long\def\ipsj@cnotice}
+
+% 1.05(2)>>
+\ifDS@techrep
+\def\ps@headings{\let\@mkboth\markboth
+ \def\@oddhead{\@checklines\hss}\let\@evenhead\@oddhead
+ \def\@oddfoot{}\def\@evenfoot{}}
+\let\ps@myheadings\ps@headings
+
+\else\ifDS@private % 2.07(8)>>
+\def\ps@headings{\let\@mkboth\markboth
+ \def\@oddhead{\@checklines\hfil\thepage\hskip12\@Q}%
+ \def\@evenhead{\@checklines\hskip12\@Q\thepage\hfil}
+ \def\@oddfoot{}\def\@evenfoot{}}
+\def\ps@myheadings{\ps@headings
+ \def\@oddhead{\@checklines
+ \smash{\parbox[b]{.75\textwidth}{\@nameuse{ipsj@cnotice}}}%
+ \hfil\thepage\hskip12\@Q}%
+ \let\@evenhead\@oddhead}
+ % 2.07(8)<<
+\else
+% 1.05(2)<<
+\def\ps@headings{\let\@mkboth\markboth
+ \def\@oddfoot{}
+ \def\@evenfoot{}
+ \def\@evenhead{\fs@header \@checklines
+ \hskip12\@Q\rlap{\thepage}\hss % 2.07(3)
+ \hdr@tipsj\hss\llap{\@monthyear}\hskip12\@Q}
+ \def\@oddhead{\fs@header \@checklines
+ \ipsj@oddhead@t\@titlestring\thepage} % 2.07(3)
+ \def\sectionmark##1{}\def\subsectionmark##1{}}
+
+\def\ps@myheadings{\let\@mkboth\@gobbletwo
+ \def\@oddhead{\fs@header \@checklines
+ \ipsj@oddhead@s\hdr@tipsj\@monthyear} % 2.07(3)
+ \def\@oddfoot{\fs@footer\hfil\thepage\hfil}
+ \let\@evenhead\@oddhead
+ \let\@evenfoot\@oddfoot
+ \def\sectionmark##1{}\def\subsectionmark##1{}}
+\fi\fi % 1.05(2)
+ % 2.07(8)
+
+% 2.12(9)>>
+\def\ipsj@lc@Rtop{\rlap{\smash{\rule[-\headsep]{0.05mm}{10mm}%
+ \rule[-\headsep]{10mm}{0.05mm}}}}
+\def\ipsj@lc@Ltop{\llap{\smash{\rule[-\headsep]{10mm}{0.05mm}%
+ \rule[-\headsep]{0.05mm}{10mm}}}}
+\def\ipsj@lc@Lbot{\llap{\smash{\raisebox{-\textheight}{%
+ \raisebox{-\headsep}{\rule{10mm}{0.05mm}\rule[-10mm]{0.05mm}{10mm}}}}}}
+\def\ipsj@lc@Rbot{\rlap{\smash{\raisebox{-\textheight}{%
+ \raisebox{-\headsep}{\rule[-10mm]{0.05mm}{10mm}\rule{10mm}{0.05mm}}}}}}
+
+\def\ps@layoutcheck{\ps@headings
+ \let\ipsj@lc@evenhead\@evenhead
+ \def\@evenhead{\ipsj@lc@Lbot \ipsj@lc@Ltop
+ \ipsj@lc@evenhead
+ \ipsj@lc@Rtop \ipsj@lc@Rbot}%
+ \let\ipsj@lc@oddhead\@oddhead
+ \def\@oddhead{\ipsj@lc@Lbot \ipsj@lc@Ltop
+ \ipsj@lc@oddhead
+ \ipsj@lc@Rtop \ipsj@lc@Rbot}%
+ \let\ipsj@lc@myheadings\ps@myheadings
+ \def\ps@myheadings{\ipsj@lc@myheadings
+ \let\ipsj@lc@fpoddhead\@oddhead
+ \def\@oddhead{\ipsj@lc@Lbot \ipsj@lc@Ltop
+ \ipsj@lc@fpoddhead
+ \ipsj@lc@Rtop \ipsj@lc@Rbot}%
+ \let\@evenhead\@oddhead}}
+% 2.12(9)<<
+
+% 2.07(3)>>
+\def\ipsj@oddhead@a#1#2{\hskip12\@Q \rlap{\@thevolno}\hss#1\hss
+ \llap{#2}\hskip12\@Q}
+\def\ipsj@oddhead@b#1#2{\hskip12\@Q \@thevolno\qquad#1\hss
+ \llap{#2}\hskip12\@Q}
+\def\ipsj@oddhead@c#1#2{\hskip12\@Q \@thevolno\hss#1\hss#2\hskip12\@Q}
+\let\ipsj@oddhead@t\ipsj@oddhead@a
+\let\ipsj@oddhead@s\ipsj@oddhead@a
+% 2.07(3)<<
+
+\def\ipsj@online@trans{IPSJ Digital Courier} % 2.12(4c)
+\def\ipsj@online@journal{IPSJ Digital Courier} % 2.12(4c)
+% 2.02(2),2.07(4)>>
+\ifDS@english
+\def\hdr@tipsj{\smash{%
+ \ifDS@online % 2.12(4c)>>
+ \ifipsj@trans
+ \ipsj@online@trans
+ \else
+ \ipsj@online@journal\fi % 2.12(4c)<<
+ \else
+ \ifipsj@trans
+ IPSJ Transactions on \ipsj@sig@title
+ \else
+ IPSJ Journal\fi
+ \fi}}
+\else
+\def\hdr@tipsj{\smash{\ipsj@j@jipsj % 2.12(1c)>>
+ \ifipsj@trans \ipsj@j@colon \ipsj@sig@title \fi}} % 2.12(1c)<<
+\fi
+% 2.02(2),2.07(4)<<
+
+% \checklines enables to draw a horizontal rule onto each baselines.
+
+\newif\if@checklines \@checklinesfalse
+\def\checklines{\@checklinestrue}
+\def\@checklines{\if@checklines \rlap{\smash{\vtop{\normalsize
+ \hbox{} \vskip\headsep \hrule width\textwidth\vskip-.4pt \vskip\topskip
+ \hrule\vskip-.4pt
+ \ifDS@techrep\@tempcnta50\else % 1.05(2)
+ \ifDS@english\@tempcnta53\else\@tempcnta45\fi\fi % 1.05(2)
+ \relax\@@checklines}}}\fi
+ \ifDS@english\@tempcnta-7\else\@tempcnta\z@\fi\relax
+% 1.05(2)>>
+ % register marks are removed % 2.12(2d)
+% 1.05(2)<<
+ }
+\def\@@checklines{\ifnum\@tempcnta>\z@
+ \vskip\normalbaselineskip \hrule\vskip-.4pt \advance\@tempcnta\m@ne
+ \let\next\@@checklines\else\let\next\relax\fi\next}
+
+\pagestyle{headings}
+\pagenumbering{arabic}
+
+\ifDS@english\else
+\def\today{\the\year\ipsj@j@year \the\month\ipsj@j@month \the\day\ipsj@j@day}
+ % 2.12(1c)
+\fi
+
+
+%%%%%% Output Routine %%%%%%
+
+% To balance the final page,
+% following code is borrowed from nicetwocolumn style
+
+% you can refrain from balancing by falsifying following switch!
+%% Initial value of \if@lastpagebalancing is false. It may be turned true by
+%% biography processing macros. (H.N.)
+
+\newif\if@lastpagebalancing \@lastpagebalancingfalse
+\newif\if@finalpageoutput \@finalpageoutputfalse
+% incorporate balanced output to \enddocument
+\let\latex@enddocument\enddocument
+\def\enddocument{\@finalpageoutputtrue
+ \if@lastpagebalancing
+ \global\let\@outputdblcol\opt@balanceoutputdblcol\fi
+ \ifDS@preface
+ \global\let\@outputdblcol\opt@balanceoutputdblcol\fi
+ \ifDS@abstract % 2.07(7)>>
+ \hbox{}\newpage
+ \ifDS@english \rightline{(Presented \ra@presented)}
+ \else \expandafter\ra@putpresented\ra@presented \fi
+ \fi % 2.07(7)<<
+% % 2.12(4d)>>
+ \if@filesw \write\@auxout{\string\gdef\string\ipsj@lastpage
+ {\number\c@page}}\fi % 2.12(4d)<<
+ \latex@enddocument}
+
+\newbox\@leftcolumnfootnote \newbox\@rightcolumnfootnote
+\newif\if@leftfootnoteexist \@leftfootnoteexistfalse
+\newif\if@rightfootnoteexist \@rightfootnoteexistfalse
+\newif\ifopt@floatexist \opt@floatexistfalse
+
+% 2.00(12) \color@{begin/end}group ignored
+\def\enlargethispage{\ipsj@warning{\string\enlargepage is ignored}}
+ % 2.00(3,12)
+\def\@makecol{\vbadness10000 \lineskiplimit\normallineskiplimit % 1.05(1)
+ \setbox\@outputbox\box\@cclv
+ \if@firstcolumn
+ \ifvoid\footins \global\@leftfootnoteexistfalse
+ \else
+ \global\@leftfootnoteexisttrue
+ \@tempdima\dp\footins
+ \global\setbox\@leftcolumnfootnote\vbox{
+ \unvbox\footins\vskip-\@tempdima}
+ \fi
+ \ifx\@botlist\@empty\else\global\opt@floatexisttrue\fi
+ \else
+ \ifvoid\footins \global\@rightfootnoteexistfalse
+ \else
+ \global\@rightfootnoteexisttrue
+ \@tempdima\dp\footins
+ \global\setbox\@rightcolumnfootnote\vbox{
+ \unvbox\footins \vskip-\@tempdima}
+ \ifx\@toplist\@empty\else\global\opt@floatexisttrue\fi
+ \fi
+ \fi
+ \xdef\@freelist{\@freelist\@midlist}\gdef\@midlist{}\@combinefloats
+ \global\maxdepth\@maxdepth}
+
+% 2.01(1) >>
+\let\latex@vtryfc\@vtryfc
+\def\@vtryfc{\if@firstcolumn \global\@leftfootnoteexistfalse
+ \else \global\@rightfootnoteexistfalse \fi \latex@vtryfc}
+% 2.01(1) <<
+
+% 1.01(1,2) >>
+\let\latex@addtobot\@addtobot
+\def\@addtobot{\latex@addtobot\global\maxdepth\@maxdepth}
+\let\latex@combinefloats\@combinefloats
+\def\@combinefloats{\ifx\@botlist\@empty\else \dimen@\dp\@outputbox
+ \setbox\@outputbox\vbox{\unvbox\@outputbox \vskip-\dimen@}\fi
+ \latex@combinefloats}
+% 1.01(1,2) <<
+
+\newskip\opt@baselineskip
+\def\@outputdblcol{
+ \if@firstcolumn \global\@firstcolumnfalse
+ \global\setbox\@leftcolumn\box\@outputbox
+ \global\opt@baselineskip\baselineskip
+ \else \global\@firstcolumntrue \global\opt@floatexistfalse
+ \global\bib@adjustheight-\maxdimen
+ \setbox\@leftcolumn\vbox to\@colht{\boxmaxdepth\@maxdepth % 1.01(3)
+ \unvbox\@leftcolumn
+ \if@leftfootnoteexist\vfil
+ \footnoterule\box\@leftcolumnfootnote\fi}
+ \setbox\@outputbox\vbox to\@colht{\boxmaxdepth\@maxdepth % 1.01(3)
+ \unvbox\@outputbox
+ \if@rightfootnoteexist\vfil
+ \footnoterule\box\@rightcolumnfootnote\fi}
+ \global\maxdepth\@maxdepth
+ \if@finalpageoutput
+ \if@leftfootnoteexist\else\if@rightfootnoteexist\else
+ \setbox\@leftcolumn\vbox{\unvbox\@leftcolumn}%
+ \setbox\@outputbox\vbox{\unvbox\@outputbox}
+ \ifdim\ht\@leftcolumn<\ht\@outputbox
+ \setbox\@leftcolumn\vbox to\ht\@outputbox{
+ \unvbox\@leftcolumn}%
+ \else
+ \setbox\@outputbox\vbox to\ht\@leftcolumn{
+ \unvbox\@outputbox}%
+ \fi
+ \fi\fi\fi
+ \setbox\@outputbox\vbox{\hbox to\textwidth{\hbox to\columnwidth
+ {\box\@leftcolumn \hss}\hfil \vrule width\columnseprule\hfil
+ \hbox to\columnwidth{\box\@outputbox \hss}}}
+ \@combinedblfloats
+ \@outputpage \begingroup \@dblfloatplacement \@startdblcolumn
+ \@whilesw\if@fcolmade \fi{\@outputpage\@startdblcolumn}%
+ \endgroup
+ \fi}
+
+\let\opt@outputdblcol\@outputdblcol
+\chardef\opt@boxa\z@
+\chardef\opt@boxb\@ne
+\chardef\opt@boxc\tw@
+\def\opt@magicpenalty{1234}
+\def\opt@balanceoutputdblcol{\let\next\opt@ibalanceoutputdblcol
+ \if@firstcolumn \let\next\opt@outputdblcol
+ \else \ifopt@floatexist \opt@warning \let\next\opt@outputdblcol
+ \else\ifx\@deferlist\@empty\else
+ \opt@warning \let\next\opt@outputdblcol\fi\fi\fi
+ \next}
+\def\opt@ibalanceoutputdblcol{%
+ \setbox\@leftcolumn\vbox{\unvbox\@leftcolumn
+ \ifnum\lastpenalty=\opt@magicpenalty\relax\else
+ \@tempcnta10\relax\@whilenum\@tempcnta>0\do{%
+ \unskip\unskip\unkern\unpenalty
+ \advance\@tempcnta\m@ne}\fi}
+ \advance\opt@baselineskip-\dp\@leftcolumn
+ \ifdim\dp\@leftcolumn=\z@ \ifdim\opt@baselineskip=\baselineskip
+ \@tempdima\ht\@leftcolumn \advance\@tempdima-\topskip
+ \divide\@tempdima\baselineskip
+ \@tempcnta\@tempdima \@tempdima\@tempcnta\baselineskip
+ \advance\@tempdima\topskip
+ \advance\@tempdima-\ht\@leftcolumn
+ \advance\opt@baselineskip\@tempdima \fi\fi
+ \advance\opt@baselineskip-\topskip
+ \setbox\@outputbox\vbox{\unvbox\@outputbox}
+ \ifdim\ht\@outputbox=\topskip \ifdim\dp\@outputbox=\z@
+ \setbox\opt@boxa\vbox{\unvcopy\@outputbox\unskip
+ \global\setbox\opt@boxb\lastbox
+ \global\dimen@\lastskip}
+ \ifvoid\opt@boxb\else\ifdim\ht\opt@boxb=\z@
+ \ifdim\dp\opt@boxb=\z@\ifdim\dimen@=\topskip
+ \@firstcolumntrue\fi\fi\fi\fi\fi\fi
+ \setbox\opt@boxa\copy\@outputbox
+ \setbox\@outputbox\vbox{\unvcopy\@leftcolumn
+ \if@firstcolumn\else
+ \vskip\opt@baselineskip
+ \penalty\interlinepenalty\unvbox\@outputbox\fi}
+ \@tempdima\ht\@outputbox \advance\@tempdima\topskip
+ \divide\@tempdima\tw@ \advance\@tempdima100sp
+ \splittopskip\topskip \splitmaxdepth\@maxdepth
+ \ifdim\bib@adjustheight<\@M pt
+ \opt@split\@outputbox\opt@boxb\@tempdima
+ \ifdim\ht\opt@boxb<\bib@adjustheight
+ \opt@split\@leftcolumn\opt@boxc\bib@adjustheight
+ \opt@split\opt@boxc\opt@boxb\@tempdima
+ \if@firstcolumn
+ \opt@adjust\opt@boxc{\unvbox\@leftcolumn}
+ \else\opt@adjust\opt@boxc{\ifvoid\@leftcolumn\else
+ \unvbox\@leftcolumn\vskip\opt@baselineskip\fi
+ \unvbox\opt@boxa}\fi\fi
+ \else
+ \advance\bib@adjustheight-\@M pt
+ \opt@split\opt@boxa\opt@boxc\bib@adjustheight
+ \setbox\@outputbox\vbox{\unvbox\@leftcolumn
+ \vskip\opt@baselineskip\unvbox\opt@boxc}
+ \opt@split\@outputbox\opt@boxb\@tempdima
+ \opt@adjust\@outputbox{\unvbox\opt@boxa}
+ \fi
+ \if@leftfootnoteexist
+ \setbox\opt@boxb\vbox to\@colht{\box\opt@boxb\vfill
+ \footnoterule\box\@leftcolumnfootnote}\fi
+ \if@rightfootnoteexist
+ \setbox\@outputbox\vbox to\@colht{\box\@outputbox\vfill
+ \footnoterule\box\@rightcolumnfootnote}\fi
+ \ifdim\ht\@outputbox>\ht\opt@boxb
+ \setbox\opt@boxb\vbox to\ht\@outputbox{\unvbox\opt@boxb}
+ \else
+ \setbox\@outputbox\vbox to\ht\opt@boxb{\unvbox\@outputbox}
+ \fi
+ \setbox\@outputbox\vbox{\hbox to\textwidth{\hbox to\columnwidth
+ {\box\opt@boxb \hss}\hfil \vrule width\columnseprule\hfil
+ \hbox to\columnwidth{\box\@outputbox \hss}}}
+ \global\@firstcolumntrue \@combinedblfloats
+ \@outputpage \begingroup \@dblfloatplacement \@startdblcolumn
+ \@whilesw\if@fcolmade \fi{\@outputpage\@startdblcolumn}\endgroup}
+
+\if@LaTeX@eN % 2.00(3)>>
+\def\opt@warning{\ClassWarning{ipsjpapers}{%
+ Single column floats still remain on biography\MessageBreak
+ processing.\MessageBreak
+ Do \string\verbbiography\space for manual balcing}}
+\else
+\def\opt@warning{\@warning{Single column floats still remain on biography
+ processing.^^J\space\space\space\space\space
+ \space\space\space\space\space\space\space\space\space\space
+ Do \string\verbbiography\space for manual balancing}}
+\fi % 2.00(3)<<
+\def\opt@split#1#2#3{\setbox#2\vsplit#1to#3\setbox#2\vbox{\unvbox#2}}
+\def\opt@adjust#1#2{\@tempdima\ht#1 \advance\@tempdima-\topskip
+ \@tempdimb\@tempdima \divide\@tempdima\baselineskip
+ \@tempcnta\@tempdima \@tempdima\@tempcnta\baselineskip
+ \advance\@tempdima-\@tempdimb
+ \ifdim\@tempdima<\z@ \advance\@tempdima\baselineskip \fi
+ \advance\@tempdima\baselineskip \advance\@tempdima-\dp#1
+ \advance\@tempdima-\topskip
+ \setbox\@outputbox\vbox{\ifvoid#1\else\unvbox#1\vskip\@tempdima\fi#2}}
+
+\let\latex@outputpage\@outputpage
+% \opt@finalgap: vertical space above the \hrule at the end of paper.
+% \opt@finallinewidth: width of the \hrule at the end of paper.
+\@tempdima2\baselineskip % This might be changed
+\edef\opt@finalgap{\the\@tempdima}
+\def\opt@finallinewidth{220\@Q} % This might be changed
+\ifDS@techrep \let\opt@finallinewidth\z@ \fi % 1.05(2)
+
+\def\@outputpage{\if@finalpageoutput
+ \setbox\@outputbox\vbox{\unvbox\@outputbox}
+ \@tempdima\dp\@outputbox
+ \@tempdimb\ht\@outputbox \advance\@tempdimb\opt@finalgap\relax
+ \ifdim\@tempdimb>\textheight\else
+ \setbox\@outputbox\vbox{\unvbox\@outputbox\vskip-\@tempdima
+ \nointerlineskip\vbox to\z@{\vskip\opt@finalgap
+ \hbox to\textwidth{\hss
+ \vrule height0.4pt width\opt@finallinewidth\hss}
+ \vss}}\fi\fi
+ \ifASCII\if@LaTeX@e\ifipsj@nonjp\else
+ \@@topmargin\topmargin \fi\fi\fi % 2.00(13),2.12(1b)
+ \latex@outputpage}
+
+%%%%%% Biography %%%%%%
+
+% If you want to control the allocation of biographies manually, do
+% \verbbiography and insert \adjust{} just before
+% \member (or its relatives). For example;
+% \verbbiography
+% \begin{biography}
+% \member{...} ...
+% \adjust{\protect\newpage}
+% \member{...} ...
+% \adjust{\protect\vspace{1.3cm}}
+% \member{...} ...
+% \end{biography}
+% will make page break just after the biography of the 1st author, and will
+% insert a vertical space of 1.3cm just after that of the 2nd. It is
+% strongly recommended to \protect any control sequence in the argument of
+% \adjust.
+
+% \received and \accepted define the dates of receipt/acceptance.
+% They are put at the end of manuscript (just before biographies) by
+% \ra@putrcvacc.
+
+% 2.12(1c)>>
+% \def\ra@nengo is moved to the tail % 2.12(1c)
+\ifDS@english
+\def\received#1#2#3{\def\ra@received{\ra@date{#1}{#2}{#3}}\ignorespaces}
+\def\accepted#1#2#3{\def\ra@accepted{\ra@date{#1}{#2}{#3}}\ignorespaces}
+ % 2.07(5)
+% \rereceived is moved below % 2.12(5)
+\def\presented#1#2#3{\def\ra@presented{\ra@date{#1}{#2}{#3}}\ignorespaces}
+ % 2.07(7)
+\ifDS@printer % 2.12(4e)>>
+\def\ReleasedToOnline#1#2#3{\ifDS@online
+ \def\ra@released{\ra@date{#1}{#2}{#3}}\fi}
+\fi % 2.12(4e)<<
+\def\ra@received{??? ??, ????}
+\def\ra@accepted{??? ??, ????}
+\def\ra@presented{??? ??, ????} % 2.07(7)
+\def\ipsj@TOD@editor{(Editor in Charge:\quad{\it\ipsj@TOD@ename\/})}
+ % 2.07(6)
+ % 2.12(6)
+
+\ifDS@TBIO % 2.11(4)>>
+\def\ipsj@TOD@editor{(Communicated by\quad{\it\ipsj@TOD@ename\/})}% 2.12(6)
+\fi % 2.11(4)<<
+\else
+\def\received#1#2#3{\def\ra@received{#1&}\ignorespaces}
+\def\accepted#1#2#3{\def\ra@accepted{#1&}\ignorespaces}
+ % 2.07(5)
+% \rereceived is moved below % 2.12(5)
+\def\presented#1#2#3{\def\ra@presented{#1&}\ignorespaces} % 2.07(7)
+\def\ra@received{?&?&?&}
+\def\ra@accepted{?&?&?&}
+\def\ra@presented{?&?&?&} % 2.07(7)
+\def\ipsj@TOD@editor{\ipsj@j@lp\ipsj@j@edinch
+ \quad\ipsj@TOD@ename\ipsj@j@rp} % 2.07(6)
+ % 2.08(2)
+ % 2.12(6)
+\fi
+% aliasing of \received etc. is moved to the tail.
+
+% 2.12(1c)<<
+
+\let\ra@elt\relax % 2.12(5)>>
+\def\rereceived#1#2#3{\ifx\ra@rereceived\undefined
+ \def\ra@rereceived{\ra@elt{}{#1}{#2}{#3}}\def\ra@rerecnum{1}%
+ \else
+ \@tempcnta\ra@rerecnum \advance\@tempcnta\@ne
+ \edef\ra@rerecnum{\number\@tempcnta}%
+ \edef\ra@rereceived{\ra@rereceived
+ \ra@elt{(\ra@rerecnum)}{#1}{#2}{#3}}%
+ \fi \ignorespaces} % 2.12(5)<<
+
+\def\edInCharge#1{\def\ipsj@TOD@ename{#1}\ignorespaces} % 2.07(6)
+
+\def\ra@putrcvacc{\rightline{\vtop{\normalsize\tabskip\z@
+ \ifDS@english
+ \llap{(Received \ra@received)}
+ \def\ra@elt##1##2##3##4{% % 2.12(5)>>
+ \llap{(Revised##1 \ra@date{##2}{##3}{##4})}}
+ \ifx\ra@rereceived\undefined \else \ra@rereceived \fi
+ % 2.12(5)<<
+ \llap{(Accepted \ra@accepted)}
+ \ifx\ra@released\undefined\else % 2.12(4e)
+ \llap{(Released \ra@released)}\fi % 2.12(4e)
+ \hbox{}
+ \else % 2.12(1c)>>
+ \def\ra@elt##1##2##3##4{##2#3#4&\ipsj@j@rerec##1)\cr}%
+ % 2.12(5)
+ \halign{(\ra@nengo\hskip\jasciikanjiskip
+ \hfil##\hfil\hskip\jasciikanjiskip \ipsj@j@year
+ \hskip\jasciikanjiskip&
+ \hfil##\hfil\hskip\jasciikanjiskip \ipsj@j@month
+ \hskip\jasciikanjiskip&
+ \hfil##\hfil\hskip\jasciikanjiskip \ipsj@j@day
+ #\hfil\cr % 2.07(5)>>
+ \ra@received \ipsj@j@received)\cr
+ \ifx\ra@rereceived\undefined \else \ra@rereceived \fi
+ % 2.12(5)
+ \ra@accepted \ipsj@j@accepted)\cr\multispan3\cr}\fi}%
+ % 2.07(5)<<
+ % 2.12(1c)<<
+ \hskip\@mojihaba}
+ \nobreak\vskip-2\baselineskip\prevdepth\z@\hbox{}
+ \ifDS@printer \ifDS@english % 2.12(4d)>>
+ \ifipsj@trans
+ \ifDS@online \noindent \ipsj@refer@trans \par \fi
+ \else
+ \ifDS@online\else \noindent \ipsj@refer@online \par \fi
+ \fi \fi \fi % 2.12(4d)<<
+ \ifipsj@recommendation\else % 2.04(2)
+ \ifx\ipsj@TOD@ename\undefined\else % 2.07(6)>>
+ \nobreak\vskip\baselineskip
+ \hbox{\ipsj@TOD@editor}\fi % 2.07(6)<<
+ \vskip\baselineskip\penalty\opt@magicpenalty\fi}% 2.04(2)
+\def\ra@date#1#2#3{\ifcase#2\or
+ January\or February\or March\or April\or May\or June\or
+ July\or August\or September\or October\or November\or December\fi
+ \space#3, #1}
+\def\ra@jdate#1#2#3{#1&}
+\def\ra@putpresented#1&{\rightline{% % 2.12(1c)>>
+ (\ra@nengo\hskip\jasciikanjiskip % 2.07(7)>>
+ #1\hskip\jasciikanjiskip \ipsj@j@year \hskip\jasciikanjiskip
+ #2\hskip\jasciikanjiskip \ipsj@j@month \hskip\jasciikanjiskip
+ #3\hskip\jasciikanjiskip \ipsj@j@day\ipsj@j@presented)}}
+ % 2.07(7)<<
+ % 2.12(1c)<<
+
+% 2.12(4d)>>
+\def\ipsj@space{\hskip\z@ plus\fontdimen\thr@@\font \penalty5000\relax}
+\def\ipsj@refer@trans{%
+ (Paper version of this article can be found in the IPSJ Transactions on
+ \csname ipsj@sig@\ipsj@sig@code @e\endcsname,
+ Vol.\ipsj@space\number\c@volume,
+ No.\ipsj@space SIG\ipsj@sig@numa\ipsj@space
+ (\ipsj@sig@code\ipsj@space\ipsj@sig@numb),
+ pp.\ipsj@space\number\c@volpageoffset--\penalty5000\relax
+ \ipsj@thelastpage\c@volpageoffset\ipsj@last@page.)}
+\def\ipsj@refer@online{%
+ (Online version of this article can be found in the
+ IPSJ Digital Courier,
+ Vol.\ipsj@space\ipsj@olh@vol,
+ pp.\ipsj@space\ipsj@olh@page--\penalty5000\relax
+ \ipsj@thelastpage\ipsj@olh@page\ipsj@olh@lastpage.)}
+\def\ipsj@thelastpage#1#2{\begingroup
+ \@tempcnta#1\relax
+ \ifDS@online \@tempcntb\ipsj@olh@page
+ \else \@tempcntb\c@volpageoffset\fi
+ \ifx#2\undefined
+ \ifx\ipsj@lastpage\undefined \def\@tempa{???}%
+ \else \advance\@tempcntb-\ipsj@lastpage
+ \advance\@tempcnta-\@tempcntb
+ \def\@tempa{\number\@tempcnta}%
+ \fi
+ \else \def\@tempa{#2}%
+ \fi
+ \@tempa \endgroup}
+% 2.12(4d)<<
+
+\newbox\bio@picbox
+% The following define the height and width of a picture for biography, and
+% the indentation of the first 6 lines. They might be changed.
+\def\bio@picheight{100\@Q}
+\def\bio@picwidth{80\@Q}
+
+\newif\ifbio@showpicbox
+\bio@showpicboxtrue
+% Do \bio@showpicboxfalse if you don't want to put a frame box at the
+% position for picture.
+\ifDS@english
+\def\bio@lineheight{9\@Q}
+\def\bio@piclines{7}
+\def\bio@indent{91\@Q}
+\def\bio@hangafter{7}
+\else
+\def\bio@lineheight{8\@Q}
+\def\bio@piclines{6}
+\def\bio@indent{96\@Q}
+\def\bio@hangafter{5}
+\fi
+
+% \verbbiography forces verbatim output of biography (i.e. not ballanced).
+\newif\ifbio@verb \bio@verbfalse
+\def\verbbiography{\global\bio@verbtrue}
+% The environment biography saves texts for biographies into the list of
+% \inserts (for floats).
+\def\biography{\ifipsj@recommendation\else\par\ra@putrcvacc\fi % 2.04(2)
+ \def\member{\bio@member{}{\ipsj@j@member}}% %2.12(3a)(1c)>>
+ \def\nomember{\bio@member{}{}}%
+ \def\stmember{\bio@member{}{\ipsj@j@stmember}}%
+ \def\xmember{\bio@member{}}%
+ \ifDS@printer
+ \def\Kmember{\bio@Kmember{\ipsj@j@member}}%
+ \def\Knomember{\bio@Kmember{}}%
+ \def\Kstmember{\bio@Kmember{\ipsj@j@stmember}}
+ \let\Kxmember\bio@Kmember
+ \fi %2.12(3a)(1c)<<
+ \ifDS@english \let\author\nomember % 2.12(3d)>>
+ \ifDS@printer \let\Kauthor\Knomember \fi
+ \fi % 2.12(3d)<<
+ \let\adjust\bio@adjust
+ \ifbio@showpicbox
+ \setbox\bio@picbox\hbox{\hbox to\z@{\vrule\hskip-0.4pt%
+ \vtop to\bio@picheight{\vskip\z@\hrule width\bio@picwidth
+ \vfil\hrule}\hskip-0.4pt\vrule\hss}}
+ \else
+ \setbox\bio@picbox\hbox{}
+ \fi
+ \@tempdima\bio@piclines\baselineskip \advance\@tempdima\bio@lineheight
+ \dp\bio@picbox\@tempdima
+ \let\bio@egroup\relax\let\+\ignorespaces\let\@elt\relax
+ \def\bio@list{}\global\bio@th\z@}
+
+\def\bio@Kmember#1#2#3{\bio@member{#3}{#1}{#2}} % 2.12(3a)
+\def\bio@member#1#2#3{\bio@egroup\let\bio@egroup\bio@@egroup % 2.12(3b)>>
+ \@next\@currbox\@freelist\relax
+ {\@latexerr{Too many unprocessed floats and biographies}\@ehb}%
+ \def\@tempa{#3}\def\@tempb{#1}%
+ \global\setbox\@currbox\hbox\bgroup
+ \@tempswatrue
+ \ifx\@tempb\@empty
+ \ifDS@printer \@tempswafalse
+ \else \raise\bio@lineheight\copy\bio@picbox
+ \fi
+ \else
+ \setbox\@tempboxa\hbox to\z@{\vtop{\vskip\z@
+ \hbox{\includegraphics
+ [width=\bio@picwidth,height=\bio@picheight]{#1.eps}}}%
+ \hss}
+ \dp\@tempboxa\dp\bio@picbox
+ \raise\bio@lineheight\box\@tempboxa
+ \fi % 2.12(3b)<<
+ \vtop\bgroup
+ \let\par\\
+ \if@tempswa \hangindent\bio@indent\hangafter-\bio@hangafter \fi
+ \ifDS@english {\bf #3\ }%
+ \else {\bf\bio@putauthor#3\+ \@nil}%
+ \def\@tempb{#2}\ifx\@tempb\@empty\else % 2.12(3c)
+ \ipsj@j@lp#2\ipsj@j@rp\fi{\@@par}\fi % 2.12(3c)(1c)
+ \ignorespaces}
+
+% Author name format:
+% S + G < 5 -> fill space between S/G (like SS__G)
+% otherwise -> 1 KC space between S/G (like SS_GG)
+\def\bio@putauthor#1 #2\@nil{%
+ \ifipsj@nonjp#1 #2\else
+ \setbox\@tempboxa\hbox{\jintercharskip\z@#1#2}%
+ \setbox\mkt@boxa\hbox{\jintercharskip1cm#1#2}%
+ \ifdim\wd\@tempboxa=\wd\mkt@boxa #1 #2\else
+ \def\@tempa{#2}\ifx\@tempa\empty
+ {\def\+{}\ipsj@warning{Author name #1 doesn't have a space}}%
+ % 2.00(3)
+ #1\else
+ \@tempdima\@mojihaba
+ \mkt@getnamewidth\mkt@sname{#1}\mkt@getnamewidth\mkt@gname{#2}%
+ \advance\mkt@sname\mkt@gname
+ \ifnum\mkt@sname<5\leavevmode\hbox to5\@mojihaba{#1\hfil#2}\else
+ #1#2\fi\fi\fi\fi}
+\def\bio@@egroup{\@@par\hbox{}\egroup\egroup\@tempdima\dp\@currbox
+ \ifdim\@tempdima>\textheight
+ \ipsj@warning{Biography of \@tempa\space is too long}% 2.00(3)
+ \bio@verbtrue \fi
+ \advance\@tempdima\baselineskip\global\advance\bio@th\@tempdima
+ \global\dimen\@currbox\@tempdima \global\count\@currbox\z@
+ {\let\protect\bio@protect\xdef\bio@list{\bio@list\@elt\@currbox}}}
+\def\bio@adjust#1{\bio@egroup\let\bio@egroup\relax
+ \ifbio@verb {\let\protect\bio@protect\xdef\bio@list{\bio@list#1}\fi}}
+\def\bio@protect{\noexpand\protect\noexpand}
+
+\def\endbiography{\bio@egroup \@tempswatrue
+ \ifx\@botlist\@empty\ifx\@deferlist\@empty \@tempswafalse \fi\fi
+ \ifbio@verb\else\if@tempswa \bio@verbtrue \opt@warning\fi\fi
+ \ifbio@verb{\let\@elt\bio@putelt \let\protect\relax \bio@list}%
+ \else\bio@putbio\fi}
+
+\newdimen\bio@colht \newdimen\bio@splitheight
+\newdimen\bio@maxgap \newdimen\bio@lastgap
+\newdimen\bio@th \newdimen\bio@lhA \newdimen\bio@hA \newdimen\bio@hB
+\newdimen\bio@lh \newdimen\bio@rh
+\newdimen\bio@tempdim
+\newif\ifbio@awful
+\newinsert\bio@pbox \count\bio@pbox\@ne
+
+\def\bio@putbio{\let\@elt\relax \let\bio@vskip\relax \allowbreak
+ \bio@colht\@colht \advance\bio@colht-\topskip
+ \advance\bio@colht\baselineskip
+ \@tempdima\bio@colht \advance\@tempdima-\@colroom
+ \advance\@tempdima\pagetotal
+ \if@firstcolumn
+ \ifdim\@tempdima>\bio@th
+ \global\@lastpagebalancingtrue
+ {\let\@elt\bio@putelt\bio@list}\vskip-\baselineskip
+ \else
+ \ifdim\pagetotal=\z@\else
+ \dimen\bio@pbox\@tempdima \advance\bio@th\@tempdima
+ \edef\bio@list{\@elt\bio@pbox\bio@list}\fi
+ \bio@splitheight\bio@colht \bio@splitpage
+ \bio@splitheight.5\bio@th
+ \let\bio@awfulput\bio@specialawfulput
+ \bio@trybalance\fi
+ \else \advance\@tempdima\bio@th
+ \ifdim\@tempdima<\bio@colht
+ \global\@lastpagebalancingtrue
+ \ifdim\pagetotal=\z@ \global\opt@baselineskip2\baselineskip\fi
+ {\let\@elt\bio@putelt\bio@list}\vskip-\baselineskip
+ \else
+ \let\bio@awfulput\bio@normalawfulput
+ \bio@splitheight\z@ \advance\@tempdima-\bio@th
+ \advance\bio@colht-\@tempdima \bio@splitpage
+ {\let\@elt\bio@putelt\bio@list}\bio@nextpage
+ \bio@trybalance\fi
+ \fi}
+
+\def\bio@trybalance{\bio@split
+ \let\bio@right\bio@rightA \let\bio@left\bio@leftA
+ \def\bio@rightx{}\def\bio@leftx{}%
+ \let\bio@hX\bio@hA \bio@balance
+ \let\bio@rightxA\bio@rightx \let\bio@leftxA\bio@leftx
+ \ifbio@awful\@tempcnta\tw@\else\@tempcnta\z@\fi
+ \let\bio@right\bio@rightB \let\bio@left\bio@leftB
+ \def\bio@rightx{}\def\bio@leftx{}%
+ \let\bio@hX\bio@hB \bio@balance
+ \let\bio@rightxB\bio@rightx \let\bio@leftxB\bio@leftx
+ \ifbio@awful\advance\@tempcnta\@ne\fi
+ \ifcase\@tempcnta
+ \ifdim\bio@hA<\bio@hB \bio@balanceput\bio@leftxA\bio@rightxA
+ \else \bio@balanceput\bio@leftxB\bio@rightxB\fi
+ \or \bio@balanceput\bio@leftxA\bio@rightxA
+ \or \bio@balanceput\bio@leftxB\bio@rightxB
+ \else \bio@awfulput\fi
+ \ifx\bio@deferred\empty\vskip-\baselineskip\let\next\relax
+ \else\bio@nextpage\let\next\bio@trybalance\fi\next}
+
+\def\bio@split{\def\bio@leftA{}\def\bio@leftB{}%
+ \def\bio@rightA{}\def\bio@rightB{}%
+ \bio@lhA\z@\@tempdimb\z@ \bio@isplit}
+\def\bio@isplit{\ifx\bio@list\empty\let\next\relax\else
+ \bio@car\@tempdima\@currbox\bio@list
+ \bio@lhA\@tempdimb\advance\@tempdimb\@tempdima
+ \edef\bio@leftB{\bio@leftB\@elt\@currbox}%
+ \ifdim\@tempdimb>\bio@splitheight
+ \edef\bio@rightA{\@elt\@currbox\bio@list}%
+ \let\bio@rightB\bio@list \let\next\relax
+ \else\edef\bio@leftA{\bio@leftA\@elt\@currbox}\let\next\bio@isplit
+ \fi\fi\next}
+
+\def\bio@balanceput#1#2{{\let\@elt\bio@putelt\let\bio@vskip\bio@xvskip
+ #1\bio@newpage#2}}
+\def\bio@normalawfulput{{\let\bio@vskip\@gobble \@tempcnta\z@
+ \@tempdima\z@ \bio@addheight\@tempdima\bio@leftxB
+ \ifdim\@tempdima<\bio@colht
+ \@tempdima\z@ \bio@addheight\@tempdima\bio@rightxB
+ \ifdim\@tempdima<\bio@colht \@tempcnta\@ne
+ \let\@elt\bio@putelt
+ \bio@leftxB\bio@newpage\bio@rightxB\fi\fi
+ \ifnum\@tempcnta=\z@
+ \@tempdima\z@ \bio@addheight\@tempdima\bio@leftxA
+ \ifdim\@tempdima<\bio@colht
+ \@tempdima\z@\bio@addheight\@tempdima\bio@rightxA
+ \ifdim\@tempdima<\bio@colht \@tempcnta\@ne
+ \let\@elt\bio@putelt
+ \bio@leftxA\bio@newpage\bio@rightxA\fi\fi\fi
+% The following may be redundant.
+ \ifnum\@tempcnta=\z@
+ \let\@elt\bio@putelt\bio@listsave\fi}}
+\def\bio@specialawfulput{{\advance\bio@th-\dimen\bio@pbox
+ \ifdim\bio@th<\bio@colht\bio@newpage
+ \let\bio@newpage\relax\fi\bio@normalawfulput}}
+
+\def\bio@putelt#1{\ifnum\count#1>\z@\else\box#1
+ \nobreak\vskip-2\baselineskip\prevdepth\z@\hbox{}
+ \vskip\baselineskip\fi}
+\def\bio@xvskip#1{\vskip#1\prevdepth\z@}
+\def\bio@newpage{\vskip-\baselineskip\newpage}
+
+\def\bio@nextpage{\bio@newpage \let\bio@list\bio@deferred
+ \bio@th\z@ \bio@addheight\bio@th\bio@list
+ \bio@colht\@colht \advance\bio@colht-\topskip
+ \advance\bio@colht\baselineskip
+ \bio@splitheight\bio@colht \bio@splitpage
+ \bio@splitheight.5\bio@th
+ \let\bio@awfulput\bio@normalawfulput}
+\def\bio@splitpage{\let\bio@listsave\bio@list \bio@split
+ \@tempdima\bio@th \advance\@tempdima-\bio@lhA
+ \ifdim\@tempdima>\bio@colht
+ \let\bio@leftAsave\bio@leftA \bio@th\bio@lhA
+ \let\bio@list\bio@rightA \bio@splitheight\bio@colht
+ \bio@split \edef\bio@list{\bio@leftAsave\bio@leftA}%
+ \advance\bio@th\bio@lhA
+ \let\bio@deferred\bio@rightA
+ \else\def\bio@deferred{}\let\bio@list\bio@listsave\fi}
+
+% \bio@tolerablegap: maximum tolerable gap between adjacent bio's.
+% \bio@tolerablestretch:maximum stretch of a column.
+
+\@tempdima10\baselineskip % This might be changed
+\edef\bio@tolerablegap{\the\@tempdima}
+\@tempdima15\baselineskip
+\edef\bio@tolerablelastgap{\the\@tempdima}
+\def\bio@tolerablestretch{2} % This might be changed
+
+\def\bio@balance{\let\@elt\relax \edef\bio@bstack{%
+ \@elt{{\bio@left}{\bio@right}{}{}{0pt}}}
+ \bio@xbalance}
+\def\bio@xbalance{%
+ \expandafter\bio@popstack\bio@bstack\@nil
+ \let\bio@nextA\bio@xbalance \@tempdima\z@
+ \ifx\bio@left\empty \ifx\bio@right\empty
+ \let\bio@nextA\bio@balanceend
+ \else
+ \bio@addheight\@tempdima\bio@right
+ \edef\bio@leftx{\bio@leftx\bio@vskip{\the\@tempdima}}%
+ \advance\bio@hX\@tempdima
+ \edef\bio@rightx{\bio@rightx\bio@right}\def\bio@right{}%
+ \bio@pushstack \fi\else
+ \ifx\bio@right\empty
+ \bio@addheight\@tempdima\bio@left
+ \edef\bio@rightx{\bio@rightx\bio@vskip{\the\@tempdima}}%
+ \advance\bio@hX\@tempdima
+ \edef\bio@leftx{\bio@leftx\bio@left}\def\bio@left{}%
+ \bio@pushstack \else
+ \bio@car\@tempdima\bio@leftbox\bio@left
+ \bio@car\@tempdimb\bio@rightbox\bio@right
+ \edef\bio@leftx{\bio@leftx\@elt\bio@leftbox}%
+ \edef\bio@rightx{\bio@rightx\@elt\bio@rightbox}%
+ \ifdim\@tempdima>\@tempdimb
+ \advance\bio@hX\@tempdima
+ \let\bio@da\@tempdima\let\bio@db\@tempdimb
+ \bio@ibalance\bio@left\bio@right\bio@leftx\bio@rightx
+ \else \advance\bio@hX\@tempdimb
+ \let\bio@da\@tempdimb\let\bio@db\@tempdima
+ \bio@ibalance\bio@right\bio@left\bio@rightx\bio@leftx\fi
+ \fi\fi\bio@nextA}
+\def\bio@ibalance#1#2#3#4{\let\bio@nextB\relax
+ \ifx#2\empty
+ \advance\bio@da-\bio@db
+ \edef#4{#4\bio@vskip{\the\bio@da}}\bio@pushstack\else
+ \bio@car\bio@tempdim\@currbox#2 \advance\bio@db\bio@tempdim
+ \ifdim\bio@da<\bio@db
+ \advance\bio@db-\bio@da
+ \let\@tempa#3\edef#3{#3\bio@vskip{\the\bio@db}}%
+ \let\@tempb#4\edef#4{#4\@elt\@currbox}%
+ \advance\bio@hX\bio@db \bio@pushstack
+ \advance\bio@hX-\bio@db
+ \edef#2{\@elt\@currbox#2}%
+ \advance\bio@tempdim-\bio@db
+ \let#3\@tempa \edef#4{\@tempb\bio@vskip{\the\bio@tempdim}}%
+ \bio@pushstack
+ \else \edef#4{#4\@elt\@currbox}\def\bio@nextB{\bio@ibalance#1#2#3#4}%
+ \fi\fi\bio@nextB}
+\def\bio@balanceend{\bio@awfulfalse \def\bio@bstack{}%
+ \bio@maxgap\z@ \bio@lastgap\z@
+ \bio@checkgap\bio@leftx \bio@checkgap\bio@rightx
+ \ifdim\bio@maxgap>\bio@tolerablegap\relax\bio@awfultrue\fi
+ \ifdim\bio@lastgap>\bio@tolerablelastgap\relax\bio@awfultrue\fi
+ \ifdim\bio@hX>\bio@tolerablestretch\bio@splitheight\bio@awfultrue\fi
+ \ifdim\bio@hX>\bio@colht\bio@awfultrue\fi}
+\def\bio@checkgap#1{{\@tempdima\z@ \@tempdimb\z@ \bio@tempdim\z@
+ \let\@elt\bio@cgelt \let\bio@vskip\bio@cgvskip #1\relax
+ \ifdim\@tempdima>\bio@maxgap \global\bio@maxgap\@tempdima \fi
+ \ifdim\bio@tempdim>\bio@lastgap \global\bio@lastgap\bio@tempdim \fi}}
+\def\bio@cgvskip#1{\advance\bio@tempdim#1\relax
+ \ifdim\bio@tempdim>\@tempdimb \@tempdimb\bio@tempdim\fi}
+\def\bio@cgelt#1{\@tempdima\@tempdimb \bio@tempdim\z@}
+\def\bio@popstack\@elt#1#2\@nil{\edef\bio@bstack{#2}\bio@ipopstack#1}
+\def\bio@ipopstack#1#2#3#4#5{\def\bio@left{#1}\def\bio@right{#2}%
+ \def\bio@leftx{#3}\def\bio@rightx{#4}\bio@hX#5\relax}
+\def\bio@pushstack{\def\bio@bstackx{}%
+ \expandafter\bio@ipushstack\bio@bstack\@elt\@nil}
+\def\bio@ipushstack\@elt#1{\def\@tempc{#1}%
+ \ifx\@tempc\@nnil \edef\bio@bstack{\bio@bstackx\bio@stackelt}%
+ \let\bio@nextC\relax \else
+ \bio@iipushstack#1\fi\bio@nextC}
+\def\bio@iipushstack#1#2#3#4#5{\ifdim#5>\bio@hX
+ \edef\bio@bstackx{\bio@bstackx\bio@stackelt
+ \@elt{{#1}{#2}{#3}{#4}{#5}}}%
+ \let\bio@nextC\bio@pushstackend\else
+ \edef\bio@bstackx{\bio@bstackx
+ \@elt{{#1}{#2}{#3}{#4}{#5}}}%
+ \let\bio@nextC\bio@ipushstack\fi}
+\def\bio@pushstackend#1\@elt\@nil{\edef\bio@bstack{\bio@bstackx#1}}
+\def\bio@stackelt{\@elt{{\bio@left}{\bio@right}{\bio@leftx}{\bio@rightx}%
+ {\the\bio@hX}}}
+\def\bio@addheight#1#2{\def\@elt##1{\advance#1\dimen##1}#2\let\@elt\relax}
+\def\bio@car#1#2#3{\expandafter\bio@icar#3\@nil#1#2#3}
+\def\bio@icar\@elt#1#2\@nil#3#4#5{#3=\dimen#1\relax\def#4{#1}\def#5{#2}}
+
+
+%%%%%% Miscellaneous %%%%%%
+
+\flushbottom
+
+\ifDS@english
+\hbadness9999 \tolerance9999
+\else
+\hbadness5000 \tolerance5000
+\pretolerance\m@ne
+\fi
+
+\input{ipsjcommon.sty}
+
+\twocolumn
+
+\endinput
diff -r 86eb165b4b91 -r e17bc730af1a paper/ipsjsort.bst
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/ipsjsort.bst Tue Apr 02 20:02:48 2013 +0900
@@ -0,0 +1,1285 @@
+% ipsjsort.bst 15-Jun-07 by Hiroshi Nakashima (ver 2.12)
+% ipsjsort.bst 30-Jan-02 by Hiroshi Nakashima (ver 2.00)
+% ipsjsort.bst 28-Dec-93 by Hiroshi Nakashima (ver 1.00)
+% jssst.bst tomura@etl.go.jp (Satoru Tomura)
+% BibTeX standard bibliography style `jplain'
+ % version 0.10 for JBibTeX versions 0.10 or later, JLaTeX version 2.09.
+ % by Shouichi Matsui, matsui@denken.junet
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ yomi
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+INTEGERS { before.year }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'before.year := % 1.00(1)
+}
+
+STRINGS { s t }
+
+FUNCTION {is.kanji}
+{ is.kanji.str$ } % 1.00(2), 2.00(1)
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { duplicate$ is.kanji % 2.00(2)
+ { "," * write$ }
+ { ", " * write$ }
+ if$
+ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { output.state before.year = % 1.00(1)
+ { " " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {required.argument}
+{ 't :=
+ empty$
+ {"Missing required argument " t * " in " * cite$ * warning$}
+ 'skip$
+ if$
+}
+
+FUNCTION {required.exclusive.or.argument}
+{ 't :=
+ empty$
+ { 's :=
+ empty$
+ { t " or " * s * " is missing in " * cite$ * warning$}
+ 'skip$
+ if$
+ }
+ { 's :=
+ empty$
+ 'skip$
+ { "You can use only one of " t * " and " * s * " in " * cite$ * warning$}
+ if$
+ }
+ if$
+}
+
+FUNCTION {required.and.or.argument}
+{ 't := empty$
+ { 's := empty$
+ { "there's no " t * " and/or " * s * cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ { pop$ pop$ }
+ if$
+}
+
+FUNCTION {optional.series.volume.number.argument}
+{ series empty$
+ { volume empty$
+ { number empty$
+ 'skip$
+ { "there's a number but no series in " cite$ * warning$ }
+ if$
+ }
+ { number empty$
+ { "there's a volume but no series in " cite$ * warning$ }
+ { "you can use only one of volume and number in " cite$ * warning$}
+ if$
+ }
+ if$
+ }
+ { volume empty$
+ { number empty$
+ { "there's a series but neither volume nor number in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ { number empty$
+ 'skip$
+ { "you can use only one of volume and number in " cite$ * warning$ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { duplicate$ is.kanji
+ 'skip$ % 1.00(3)
+ { "{\em " swap$ * "}" * } % 2.00(3)
+ if$
+ }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names} % 1.00(4), 2.00(4)
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff}{ll}" format.name$ duplicate$ is.kanji
+ { duplicate$ text.length$ #6 >
+ { 't := }
+ { pop$ s nameptr "{ff} {ll}" format.name$ 't := }
+ if$
+ }
+ { pop$ s nameptr "{vv }{ll}{, jj}{, f.}" format.name$ 't := }
+ if$
+ nameptr #1 >
+ { namesleft #1 >
+ { s is.kanji
+ { "," }
+ { ", " }
+ if$
+ * t * }
+ { t "others" =
+ { s is.kanji
+ {"ほか" * }
+ {" et al." * }
+ if$
+ }
+ { s is.kanji
+ {"," * t * } % put "," here for Kanji (H.N.)
+ {" and " * t * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {add.colon} % 2.00(5)
+{ duplicate$ is.kanji
+ { "\:" * } % 2.12(1)
+ { ": " * }
+ if$
+}
+
+FUNCTION {format.editors.inparen} % 2.00(6)
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { editor is.kanji
+ {",編" * } {", eds." *} if$
+ }
+ { editor is.kanji
+ {",編" *} {", ed." *} if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { editor is.kanji
+ {"(編)" * } {"(eds.)" *} if$ % 2.00(7)
+ }
+ { editor is.kanji
+ {"(編)" *} {"(ed.)" *} if$ % 2.00(7)
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ before.year 'output.state := % 1.00(1)
+ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ "" % 1.00(5)
+ }
+ if$
+ }
+ { "(" year ")" * * } % 1.00(5)
+ if$
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " } % 1.00(6)
+ if$
+ swap$ * *
+}
+
+FUNCTION {output.volume}
+{
+ volume empty$
+ 'skip$
+ { "Vol.~" volume * output}
+ if$
+
+}
+
+FUNCTION {output.number}
+{
+ number empty$
+ 'skip$
+ { "No.~" number * output}
+ if$
+}
+
+FUNCTION {output.series.volume.number}
+{ series empty$
+ { output.volume
+ output.number }
+ { series is.kanji
+ volume empty$
+ number empty$
+ or
+ and
+ { series " " * volume * number * output}
+ { series output
+ output.volume
+ output.number}
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages} % 1.00(7)
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp." pages n.dashify tie.or.space.connect }
+ { "p." pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages} % 1.00(8)
+{ volume empty$
+ { ""}
+ { " Vol.~" volume * }
+ if$
+ number empty$
+ 'skip$
+ { volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ { "," *}
+ if$
+ " No.~" number * *
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" chapter tie.or.space.connect }
+ { type is.kanji
+ { chapter type tie.or.space.connect }
+ { type "l" change.case$ chapter tie.or.space.connect }
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { booktitle emphasize
+ editor empty$
+ 'skip$
+ { booktitle is.kanji
+ { "(" * format.editors.inparen * ")" *} % 2.00(6,7)
+ { " (" * format.editors.inparen * ")" *} % 1.00(9), 2.00(6)
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { title empty$
+ { "Technical Report" }
+ { title is.kanji
+ { "技術報告" }
+ { "Technical Report" }
+ if$
+ }
+ if$
+ }
+ {type}
+ if$
+ number empty$
+ { "t" change.case$ }
+ { " " number * * }
+ if$
+}
+
+FUNCTION {format.article.crossref} % 2.00(8)
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { journal emphasize } % 1.00(10)
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor} % 1.00(11)
+{ editor #1
+ editor is.kanji { "{ff}" } { "{vv }{ll}" } if$
+ format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { editor is.kanji
+ {pop$ "ほか" *} {pop$ " et al." * } if$
+ }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { editor is.kanji
+ {"ほか" *} {" et al." * } if$
+ }
+ { editor is.kanji
+ {"・" * editor #2 "{ff}" format.name$ * }
+ {" and " * editor #2 "{vv }{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref} % 2.00(8)
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { series emphasize } % 1.00(10)
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { format.crossref.editor }
+ if$
+ " \cite{" * crossref * "}" *
+ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ }
+ { duplicate$ is.kanji { "," } { ", "} if$ *
+ "Vol." * volume tie.or.space.connect
+ }
+ if$
+}
+
+FUNCTION {format.incoll.inproc.crossref} % 2.00(8)
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { booktitle emphasize } % 1.00(10)
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { format.crossref.editor }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{
+%%%%
+ author "author" required.argument
+ title "title" required.argument
+ journal "journal" required.argument
+ year "year" required.argument
+%%%% jssst
+ volume "volume"
+ number "number"
+ required.and.or.argument
+ pages "pages" required.argument
+%%%%
+ output.bibitem
+ format.authors add.colon % 2.00(5)
+ title output
+ crossref missing$
+ { journal emphasize output
+ format.vol.num.pages output % 1.00(12)
+ format.date output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{
+%%%%
+ author "author"
+ editor "editor"
+ required.exclusive.or.argument
+ title "title" required.argument
+ publisher "publisher" required.argument
+ year "year" required.argument
+ optional.series.volume.number.argument
+%%%%
+ output.bibitem
+ author empty$
+ { format.editors}
+ { format.authors}
+ if$
+ add.colon % 2.00(5)
+ title emphasize output
+ crossref missing$
+ { output.series.volume.number
+ publisher output
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{
+%%%%
+ title "title" required.argument
+%%%% jssst
+ author "author" required.argument
+%%%%
+ output.bibitem
+ format.authors add.colon % 2.00(5)
+ title output
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{
+%%%%
+ author "author"
+ editor "editor"
+ required.exclusive.or.argument
+ title "title" required.argument
+ chapter "chapter"
+ pages "pages"
+ required.and.or.argument
+ publisher "publisher" required.argument
+ year "year" required.argument
+
+ optional.series.volume.number.argument
+%%%%
+ output.bibitem
+ author empty$
+ { format.editors}
+ { format.authors}
+ if$
+ add.colon % 2.00(5)
+ title emphasize output
+ crossref missing$
+ { output.series.volume.number
+ format.chapter.pages output
+ publisher output
+ }
+ { format.chapter.pages output
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date output % 1.00(13)
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{
+%%%%
+ author "author" required.argument
+ title "title" required.argument
+ booktitle "booktitle" required.argument
+ publisher "publisher" required.argument
+ year "year" required.argument
+
+ optional.series.volume.number.argument
+%%%%
+ output.bibitem
+ format.authors add.colon % 2.00(5)
+ title output
+ crossref missing$
+ { format.in.ed.booktitle output
+ output.series.volume.number
+ publisher output
+ address output
+ format.edition output
+ format.chapter.pages output % 1.00(13)
+ format.date output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{
+%%%%
+ author "author" required.argument
+ title "title" required.argument
+ year "year" required.argument
+
+ optional.series.volume.number.argument
+%%%%
+ output.bibitem
+ format.authors add.colon % 2.00(5)
+ title output
+ crossref missing$
+ { format.in.ed.booktitle output
+ booktitle "booktitle" required.argument
+ output.series.volume.number
+ address output
+ organization output
+ publisher output
+ format.pages output
+ format.date output % 1.00(13)
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{
+%%%%
+ title "title" required.argument
+%%%% jssst
+ author "author"
+ organization "organazaion"
+ required.exclusive.or.argument
+%%%%
+ output.bibitem
+ author empty$
+ { organization}
+ { format.authors}
+ if$
+ add.colon % 2.00(5)
+ title emphasize output
+ author empty$
+ 'skip$
+ { organization output }
+ if$
+ address output
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{
+%%%%
+ author "author" required.argument
+ title "title" required.argument
+ school "school" required.argument
+ year "year" required.argument
+%%%%
+ output.bibitem
+ format.authors add.colon % 2.00(5)
+ title output
+ author empty$
+ { "Master's thesis" }
+ { author is.kanji
+ { "修士論文" }
+ { "Master's thesis" }
+ if$
+ }
+ if$
+ format.thesis.type output.nonnull
+ school output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{
+%%%%
+%%%% jssst
+ author "author" required.argument
+ title "title" required.argument
+%%%%
+ output.bibitem
+ format.authors add.colon % 2.00(5)
+ title output
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{
+%%%%
+ author "author" required.argument
+ title "title" required.argument
+ school "school" required.argument
+ year "year" required.argument
+%%%%
+ output.bibitem
+ format.authors add.colon % 2.00(5)
+ title output % 2.00(9)
+ author empty$
+ { "PhD Thesis" }
+ { author is.kanji
+ { "博士論文" }
+ { "PhD Thesis" }
+ if$
+ }
+ if$
+ format.thesis.type output.nonnull
+ school output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{
+%%%%
+ title "title" required.argument
+ year "year" required.argument
+
+ optional.series.volume.number.argument
+%%%% jssst
+ editor "editor"
+ organization "organization"
+ required.exclusive.or.argument
+%%%%
+ output.bibitem
+ editor empty$
+ { organization }
+ { format.editors }
+ if$
+ add.colon % 2.00(5)
+ title emphasize output
+ output.series.volume.number
+ address output
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{
+%%%%
+ author "author" required.argument
+ title "title" required.argument
+ institution "institution" required.argument
+ year "year" required.argument
+%%%%
+ output.bibitem
+ format.authors add.colon % 2.00(5)
+ title output
+ format.tr.number output.nonnull
+ institution output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{
+%%%%
+ author "author" required.argument
+ title "title" required.argument
+ note "note" required.argument
+%%%%
+ output.bibitem
+ format.authors add.colon % 2.00(5)
+ title output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ yomi empty$
+ 'skip$
+ { yomi 's := }
+ if$
+
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
+
diff -r 86eb165b4b91 -r e17bc730af1a paper/ipsjunsrt.bst
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/ipsjunsrt.bst Tue Apr 02 20:02:48 2013 +0900
@@ -0,0 +1,1135 @@
+% ipsjunsrt.bst 15-Jun-07 by Hiroshi Nakashima (ver 2.12)
+% ipsjunsrt.bst 30-Jan-02 by Hiroshi Nakashima (ver 2.00)
+% ipsjunsrt.bst 28-Dec-93 by Hiroshi Nakashima (ver 1.00)
+% jssst.bst tomura@etl.go.jp (Satoru Tomura)
+% BibTeX standard bibliography style `jplain'
+ % version 0.10 for JBibTeX versions 0.10 or later, JLaTeX version 2.09.
+ % by Shouichi Matsui, matsui@denken.junet
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ yomi
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+INTEGERS { before.year }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'before.year := % 1.00(1)
+}
+
+STRINGS { s t }
+
+FUNCTION {is.kanji}
+{ is.kanji.str$ } % 1.00(2), 2.00(1)
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { duplicate$ is.kanji % 2.00(2)
+ { "," * write$ }
+ { ", " * write$ }
+ if$
+ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { output.state before.year = % 1.00(1)
+ { " " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {required.argument}
+{ 't :=
+ empty$
+ {"Missing required argument " t * " in " * cite$ * warning$}
+ 'skip$
+ if$
+}
+
+FUNCTION {required.exclusive.or.argument}
+{ 't :=
+ empty$
+ { 's :=
+ empty$
+ { t " or " * s * " is missing in " * cite$ * warning$}
+ 'skip$
+ if$
+ }
+ { 's :=
+ empty$
+ 'skip$
+ { "You can use only one of " t * " and " * s * " in " * cite$ * warning$}
+ if$
+ }
+ if$
+}
+
+FUNCTION {required.and.or.argument}
+{ 't := empty$
+ { 's := empty$
+ { "there's no " t * " and/or " * s * cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ { pop$ pop$ }
+ if$
+}
+
+FUNCTION {optional.series.volume.number.argument}
+{ series empty$
+ { volume empty$
+ { number empty$
+ 'skip$
+ { "there's a number but no series in " cite$ * warning$ }
+ if$
+ }
+ { number empty$
+ { "there's a volume but no series in " cite$ * warning$ }
+ { "you can use only one of volume and number in " cite$ * warning$}
+ if$
+ }
+ if$
+ }
+ { volume empty$
+ { number empty$
+ { "there's a series but neither volume nor number in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ { number empty$
+ 'skip$
+ { "you can use only one of volume and number in " cite$ * warning$ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { duplicate$ is.kanji
+ 'skip$ % 1.00(3)
+ { "{\em " swap$ * "}" * } % 2.00(3)
+ if$
+ }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names} % 1.00(4), 2.00(4)
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff}{ll}" format.name$ duplicate$ is.kanji
+ { duplicate$ text.length$ #6 >
+ { 't := }
+ { pop$ s nameptr "{ff} {ll}" format.name$ 't := }
+ if$
+ }
+ { pop$ s nameptr "{vv }{ll}{, jj}{, f.}" format.name$ 't := }
+ if$
+ nameptr #1 >
+ { namesleft #1 >
+ { s is.kanji
+ { "," }
+ { ", " }
+ if$
+ * t * }
+ { t "others" =
+ { s is.kanji
+ {"ほか" * }
+ {" et al." * }
+ if$
+ }
+ { s is.kanji
+ {"," * t * } % put "," here for Kanji (H.N.)
+ {" and " * t * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {add.colon} % 2.00(5)
+{ duplicate$ is.kanji
+ { "\:" * } % 2.12(1)
+ { ": " * }
+ if$
+}
+
+FUNCTION {format.editors.inparen} % 2.00(6)
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { editor is.kanji
+ {",編" * } {", eds." *} if$
+ }
+ { editor is.kanji
+ {",編" *} {", ed." *} if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { editor is.kanji
+ {"(編)" * } {"(eds.)" *} if$ % 2.00(7)
+ }
+ { editor is.kanji
+ {"(編)" *} {"(ed.)" *} if$ % 2.00(7)
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ before.year 'output.state := % 1.00(1)
+ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ "" % 1.00(5)
+ }
+ if$
+ }
+ { "(" year ")" * * } % 1.00(5)
+ if$
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " } % 1.00(6)
+ if$
+ swap$ * *
+}
+
+FUNCTION {output.volume}
+{
+ volume empty$
+ 'skip$
+ { "Vol.~" volume * output}
+ if$
+
+}
+
+FUNCTION {output.number}
+{
+ number empty$
+ 'skip$
+ { "No.~" number * output}
+ if$
+}
+
+FUNCTION {output.series.volume.number}
+{ series empty$
+ { output.volume
+ output.number }
+ { series is.kanji
+ volume empty$
+ number empty$
+ or
+ and
+ { series " " * volume * number * output}
+ { series output
+ output.volume
+ output.number}
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages} % 1.00(7)
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp." pages n.dashify tie.or.space.connect }
+ { "p." pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages} % 1.00(8)
+{ volume empty$
+ { ""}
+ { " Vol.~" volume * }
+ if$
+ number empty$
+ 'skip$
+ { volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ { "," *}
+ if$
+ " No.~" number * *
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" chapter tie.or.space.connect }
+ { type is.kanji
+ { chapter type tie.or.space.connect }
+ { type "l" change.case$ chapter tie.or.space.connect }
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { booktitle emphasize
+ editor empty$
+ 'skip$
+ { booktitle is.kanji
+ { "(" * format.editors.inparen * ")" *} % 2.00(6,7)
+ { " (" * format.editors.inparen * ")" *} % 1.00(9), 2.00(6)
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { title empty$
+ { "Technical Report" }
+ { title is.kanji
+ { "技術報告" }
+ { "Technical Report" }
+ if$
+ }
+ if$
+ }
+ {type}
+ if$
+ number empty$
+ { "t" change.case$ }
+ { " " number * * }
+ if$
+}
+
+FUNCTION {format.article.crossref} % 2.00(8)
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { journal emphasize } % 1.00(10)
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor} % 1.00(11)
+{ editor #1
+ editor is.kanji { "{ff}" } { "{vv }{ll}" } if$
+ format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { editor is.kanji
+ {pop$ "ほか" *} {pop$ " et al." * } if$
+ }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { editor is.kanji
+ {"ほか" *} {" et al." * } if$
+ }
+ { editor is.kanji
+ {"・" * editor #2 "{ff}" format.name$ * }
+ {" and " * editor #2 "{vv }{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref} % 2.00(8)
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { series emphasize } % 1.00(10)
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { format.crossref.editor }
+ if$
+ " \cite{" * crossref * "}" *
+ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ }
+ { duplicate$ is.kanji { "," } { ", "} if$ *
+ "Vol." * volume tie.or.space.connect
+ }
+ if$
+}
+
+FUNCTION {format.incoll.inproc.crossref} % 2.00(8)
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { booktitle emphasize } % 1.00(10)
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { format.crossref.editor }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{
+%%%%
+ author "author" required.argument
+ title "title" required.argument
+ journal "journal" required.argument
+ year "year" required.argument
+%%%% jssst
+ volume "volume"
+ number "number"
+ required.and.or.argument
+ pages "pages" required.argument
+%%%%
+ output.bibitem
+ format.authors add.colon % 2.00(5)
+ title output
+ crossref missing$
+ { journal emphasize output
+ format.vol.num.pages output % 1.00(12)
+ format.date output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{
+%%%%
+ author "author"
+ editor "editor"
+ required.exclusive.or.argument
+ title "title" required.argument
+ publisher "publisher" required.argument
+ year "year" required.argument
+ optional.series.volume.number.argument
+%%%%
+ output.bibitem
+ author empty$
+ { format.editors}
+ { format.authors}
+ if$
+ add.colon % 2.00(5)
+ title emphasize output
+ crossref missing$
+ { output.series.volume.number
+ publisher output
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{
+%%%%
+ title "title" required.argument
+%%%% jssst
+ author "author" required.argument
+%%%%
+ output.bibitem
+ format.authors add.colon % 2.00(5)
+ title output
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{
+%%%%
+ author "author"
+ editor "editor"
+ required.exclusive.or.argument
+ title "title" required.argument
+ chapter "chapter"
+ pages "pages"
+ required.and.or.argument
+ publisher "publisher" required.argument
+ year "year" required.argument
+
+ optional.series.volume.number.argument
+%%%%
+ output.bibitem
+ author empty$
+ { format.editors}
+ { format.authors}
+ if$
+ add.colon % 2.00(5)
+ title emphasize output
+ crossref missing$
+ { output.series.volume.number
+ format.chapter.pages output
+ publisher output
+ }
+ { format.chapter.pages output
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date output % 1.00(13)
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{
+%%%%
+ author "author" required.argument
+ title "title" required.argument
+ booktitle "booktitle" required.argument
+ publisher "publisher" required.argument
+ year "year" required.argument
+
+ optional.series.volume.number.argument
+%%%%
+ output.bibitem
+ format.authors add.colon % 2.00(5)
+ title output
+ crossref missing$
+ { format.in.ed.booktitle output
+ output.series.volume.number
+ publisher output
+ address output
+ format.edition output
+ format.chapter.pages output % 1.00(13)
+ format.date output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{
+%%%%
+ author "author" required.argument
+ title "title" required.argument
+ year "year" required.argument
+
+ optional.series.volume.number.argument
+%%%%
+ output.bibitem
+ format.authors add.colon % 2.00(5)
+ title output
+ crossref missing$
+ { format.in.ed.booktitle output
+ booktitle "booktitle" required.argument
+ output.series.volume.number
+ address output
+ organization output
+ publisher output
+ format.pages output
+ format.date output % 1.00(13)
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{
+%%%%
+ title "title" required.argument
+%%%% jssst
+ author "author"
+ organization "organazaion"
+ required.exclusive.or.argument
+%%%%
+ output.bibitem
+ author empty$
+ { organization}
+ { format.authors}
+ if$
+ add.colon % 2.00(5)
+ title emphasize output
+ author empty$
+ 'skip$
+ { organization output }
+ if$
+ address output
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{
+%%%%
+ author "author" required.argument
+ title "title" required.argument
+ school "school" required.argument
+ year "year" required.argument
+%%%%
+ output.bibitem
+ format.authors add.colon % 2.00(5)
+ title output
+ author empty$
+ { "Master's thesis" }
+ { author is.kanji
+ { "修士論文" }
+ { "Master's thesis" }
+ if$
+ }
+ if$
+ format.thesis.type output.nonnull
+ school output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{
+%%%%
+%%%% jssst
+ author "author" required.argument
+ title "title" required.argument
+%%%%
+ output.bibitem
+ format.authors add.colon % 2.00(5)
+ title output
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{
+%%%%
+ author "author" required.argument
+ title "title" required.argument
+ school "school" required.argument
+ year "year" required.argument
+%%%%
+ output.bibitem
+ format.authors add.colon % 2.00(5)
+ title output % 2.00(9)
+ author empty$
+ { "PhD Thesis" }
+ { author is.kanji
+ { "博士論文" }
+ { "PhD Thesis" }
+ if$
+ }
+ if$
+ format.thesis.type output.nonnull
+ school output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{
+%%%%
+ title "title" required.argument
+ year "year" required.argument
+
+ optional.series.volume.number.argument
+%%%% jssst
+ editor "editor"
+ organization "organization"
+ required.exclusive.or.argument
+%%%%
+ output.bibitem
+ editor empty$
+ { organization }
+ { format.editors }
+ if$
+ add.colon % 2.00(5)
+ title emphasize output
+ output.series.volume.number
+ address output
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{
+%%%%
+ author "author" required.argument
+ title "title" required.argument
+ institution "institution" required.argument
+ year "year" required.argument
+%%%%
+ output.bibitem
+ format.authors add.colon % 2.00(5)
+ title output
+ format.tr.number output.nonnull
+ institution output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{
+%%%%
+ author "author" required.argument
+ title "title" required.argument
+ note "note" required.argument
+%%%%
+ output.bibitem
+ format.authors add.colon % 2.00(5)
+ title output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
+
diff -r 86eb165b4b91 -r e17bc730af1a paper/jlisting.sty
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/jlisting.sty Tue Apr 02 20:02:48 2013 +0900
@@ -0,0 +1,216 @@
+\NeedsTeXFormat{LaTeX2e}
+\def\filedate{2006/02/20}
+\def\fileversion{0.2}
+\ProvidesPackage{jlisting}[\filedate\space\fileversion\space(Thor)]
+%
+\newcount\lst@nextchar
+\let\lst@@ProcessSpace\lst@ProcessSpace
+\def\lst@ProcessSpace#1{%
+ \lst@check@chartype{#1}%
+ \lst@@ProcessSpace
+ \lst@whitespacetrue}
+\let\lst@@ProcessLetter\lst@ProcessLetter
+\def\lst@ProcessLetter#1#2{%
+ \lst@check@chartype{#2}%
+ {\lst@@ProcessLetter{#1}}%
+ \relax}
+\let\lst@@ProcessDigit\lst@ProcessDigit
+\def\lst@ProcessDigit#1#2{%
+ \lst@check@chartype{#2}%
+ {\lst@@ProcessDigit{#1}}%
+ \relax}
+\let\lst@@ProcessOther\lst@ProcessOther
+\def\lst@ProcessOther#1#2{%
+ \lst@check@chartype{#2}%
+ {\lst@@ProcessOther{#1}}%
+ \relax}
+\let\lst@@ProcessTabulator\lst@ProcessTabulator
+\def\lst@ProcessTabulator#1{%
+ \lst@check@chartype{#1}%
+ \lst@@ProcessTabulator
+ \relax}
+\def\lst@check@chartype#1#2#3{%
+ \edef\@tempa{\lst@nextchar=`\string#1\relax}%
+ \afterassignment\remove@to@nnil
+ \@tempa\@nnil
+ #2%
+ \ifnum\lst@nextchar<\@cclvi
+ #3%
+ \else
+ \lst@ifletter \else \lst@OutputOther \fi
+ \lst@whitespacefalse
+ \expandafter\lst@AppendJchar
+ \fi
+ #1}
+\def\lst@AppendJchar#1#2{%
+ \lst@check@chartype{#2}%
+ {\advance\lst@length\@ne\lst@Append{#1}}%
+ \relax}
+\def\lst@check@chartype@BOL#1{%
+ \edef\@tempa{\lst@nextchar=`\string#1\relax}%
+ \afterassignment\remove@to@nnil
+ \@tempa\@nnil
+ \ifnum\lst@nextchar<\@cclvi\else
+ \lst@whitespacefalse
+ \expandafter\lst@AppendJchar
+ \fi
+ #1}
+\def\lst@InputListing#1{%
+ \begingroup
+ \lsthk@PreSet \gdef\lst@intname{#1}%
+ \expandafter\lstset\expandafter{\lst@set}%
+ \lsthk@DisplayStyle
+ \catcode\active=\active
+ \lst@Init\relax \let\lst@gobble\z@
+ \lst@SkipToFirst
+ \lst@ifprint \def\lst@next{\lst@get@filecontents{#1}}%
+ \else \let\lst@next\@empty
+ \fi
+ \lst@next
+ \lst@DeInit
+ \endgroup}
+\newread\lst@inputfile
+\def\lst@get@filecontents#1{%
+ \let\lst@filecontents\@empty
+ \openin\lst@inputfile=#1\relax
+ \let\@lst@get@filecontents@prevline\relax
+ \lst@get@filecontents@loop
+ \closein\lst@inputfile
+ \lst@filecontents\empty}
+\def\lst@get@filecontents@loop{%
+ \read\lst@inputfile to\@lst@get@filecontents@currline
+ \ifx\@lst@get@filecontents@prevline\relax\else
+ \expandafter\expandafter\expandafter\def
+ \expandafter\expandafter\expandafter\lst@filecontents
+ \expandafter\expandafter\expandafter{%
+ \expandafter\lst@filecontents\@lst@get@filecontents@prevline}%
+ \fi
+ \let\@lst@get@filecontents@prevline\@lst@get@filecontents@currline
+ \ifeof\lst@inputfile\else
+ \expandafter\lst@get@filecontents@loop
+ \fi}
+%%% [$B$3$N=hM}$b!$AjEv6/0z$G$9!%(B]
+\def\lst@BOLGobble{%
+ \ifnum\lst@gobble>\z@
+ \@tempcnta\lst@gobble\relax
+ \expandafter\lst@BOLGobble@
+ \else
+ \expandafter\lst@check@chartype@BOL
+ \fi}
+\def\lst@BOLGobble@#1{%
+ \let\lst@next#1%
+ \ifx \lst@next\relax\else
+ \ifx \lst@next\lst@MProcessListing\else
+ \ifx \lst@next\lst@ProcessFormFeed\else
+ \ifx \lst@next\lstenv@backslash
+ \let\lst@next\lstenv@BOLGobble@@
+ \else
+ \let\lst@next\lst@BOLGobble@@
+ \ifx #1\lst@ProcessTabulator
+ \advance\@tempcnta-\lst@tabsize\relax
+ \ifnum\@tempcnta<\z@
+ \lst@length-\@tempcnta \lst@PreGotoTabStop
+ \fi
+ \else
+ \edef\@tempa{\lst@nextchar=`\string#1\relax}%
+ \@tempa
+ \ifnum\lst@nextchar<\@cclvi\else
+ \advance\@tempcnta\m@ne
+ \fi
+ \advance\@tempcnta\m@ne
+ \fi
+ \fi \fi \fi \fi
+ \lst@next}
+\def\lst@BOLGobble@@{%
+ \ifnum\@tempcnta>\z@
+ \expandafter\lst@BOLGobble@
+ \else
+ \expandafter\lst@check@chartype@BOL
+ \fi
+}
+%
+% \begin{$B=$@5;v9`(B}{1.3}
+% $B$A$g$C$H$7$?=$@5(B
+\gdef\lst@breakProcessOther#1{\lst@ProcessOther#1}
+% $B%=!<%9%3!<%IL\:\$7$^$7$?!#(B
+
+\begin{quote}
+ \url{http://http://cise.edu.mie-u.ac.jp/~okumura/texfaq/qa/21172.html}\\
+ \url{http://http://cise.edu.mie-u.ac.jp/~okumura/texfaq/qa/21184.html}\\
+ \url{http://http://cise.edu.mie-u.ac.jp/~okumura/texfaq/qa/21189.html}\\
+ \url{http://http://cise.edu.mie-u.ac.jp/~okumura/texfaq/qa/21197.html}
+\end{quote}
+
+ Copyright $B$O5H1JE/H~;a$K$"$k$N$@$H;W$$$^$9!%(B
+
+\section{$B99?7MzNr(B}% ChageLogs
+
+\begin{description}
+ \item[ver.~0.1 (2004/03/24)]
+ $B$H$j$"$($:8x3+!%(B
+ \item[ver.~0.2 (2006/02/20)]
+ \verb|\lst@breakProcessOther| $BL?Na$NDj5A$NDI2C!%(B
+\end{description}
+
+\section{$B%=!<%9%3!<%I(B}
+\par\narrowbaselines
+\verbatiminput{jlisting.sty}
+\end{document}
diff -r 86eb165b4b91 -r e17bc730af1a paper/omni/peek.graffle
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/omni/peek.graffle Tue Apr 02 20:02:48 2013 +0900
@@ -0,0 +1,1035 @@
+
+
+
+
+ ActiveLayerIndex
+ 0
+ ApplicationVersion
+
+ com.omnigroup.OmniGrafflePro
+ 139.16.0.171715
+
+ AutoAdjust
+
+ BackgroundGraphic
+
+ Bounds
+ {{0, 0}, {558.99997329711914, 783}}
+ Class
+ SolidGraphic
+ ID
+ 2
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+
+ BaseZoom
+ 0
+ CanvasOrigin
+ {0, 0}
+ ColumnAlign
+ 1
+ ColumnSpacing
+ 36
+ CreationDate
+ 2012-02-07 04:36:21 +0000
+ Creator
+ Kazuki AKAMINE
+ DisplayScale
+ 1 0/72 in = 1.0000 in
+ GraphDocumentVersion
+ 8
+ GraphicsList
+
+
+ Bounds
+ {{230.88900000000001, 161}, {27, 14}}
+ Class
+ ShapedGraphic
+ FitText
+ YES
+ Flow
+ Resize
+ ID
+ 149
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+ Text
+
+ Pad
+ 0
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 reply}
+ VerticalPad
+ 0
+
+ Wrap
+ NO
+
+
+ AllowLabelDrop
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 147
+ Info
+ 3
+
+ ID
+ 148
+ Points
+
+ {248.88900000000001, 126.25}
+ {198.87100000000001, 210.5}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ HeadScale
+ 1.4285709857940674
+ Legacy
+
+ TailArrow
+ 0
+ TailScale
+ 0.5
+
+
+ Tail
+
+ ID
+ 123
+ Info
+ 1
+
+
+
+ Bounds
+ {{148.87100000000001, 196.5}, {50, 28}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 147
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 dataA}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{148.87100000000001, 182.5}, {50, 14}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 146
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 1}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{152.87100000000001, 161}, {43, 14}}
+ Class
+ ShapedGraphic
+ FitText
+ YES
+ Flow
+ Resize
+ ID
+ 145
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+ Text
+
+ Pad
+ 0
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 receiver}
+ VerticalPad
+ 0
+
+ Wrap
+ NO
+
+
+ Bounds
+ {{140.38, 175}, {66.981499999999997, 57}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ HiraKakuProN-W3
+ Size
+ 12
+
+ ID
+ 144
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+
+
+ Bounds
+ {{73.888999999999996, 98.25}, {50, 28}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 143
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 dataD}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{73.888999999999996, 84.25}, {50, 14}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 142
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 4}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{123.889, 98.25}, {50, 28}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 141
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 dataC}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{123.889, 84.25}, {50, 14}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 140
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 3}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{173.88900000000001, 98.25}, {50, 28}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 139
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 dataB}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{173.88900000000001, 84.25}, {50, 14}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 138
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 2}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{223.88900000000001, 98.25}, {50, 28}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 123
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 dataA}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{223.88900000000001, 84.25}, {50, 14}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 122
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 1}
+ VerticalPad
+ 0
+
+
+
+ AllowLabelDrop
+
+ Class
+ LineGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 118
+ Points
+
+ {67.852000000000004, 129.5}
+ {279.88900000000001, 129.5}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ 0
+ HeadScale
+ 1.4285709857940674
+ Legacy
+
+ TailArrow
+ 0
+ TailScale
+ 0.5
+
+
+
+
+ AllowLabelDrop
+
+ Class
+ LineGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 121
+ Points
+
+ {67.852000000000004, 80}
+ {279.88900000000001, 80}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ 0
+ HeadScale
+ 1.4285709857940674
+ Legacy
+
+ TailArrow
+ 0
+ TailScale
+ 0.5
+
+
+
+
+ Bounds
+ {{68.852000000000004, 30}, {131, 14}}
+ Class
+ ShapedGraphic
+ FitText
+ YES
+ Flow
+ Resize
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 119
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+ Text
+
+ Pad
+ 0
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 peek(recever, "key1", 0);}
+ VerticalPad
+ 0
+
+ Wrap
+ NO
+
+
+ Bounds
+ {{156.87100000000001, 48.75}, {34, 14}}
+ Class
+ ShapedGraphic
+ FitText
+ YES
+ Flow
+ Resize
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 120
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+ Text
+
+ Pad
+ 0
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 "key1"}
+ VerticalPad
+ 0
+
+ Wrap
+ NO
+
+
+ Bounds
+ {{57.851999999999997, 48}, {233.03700000000001, 103}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 117
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ CornerRadius
+ 10
+
+
+
+
+ GridInfo
+
+ GuidesLocked
+ NO
+ GuidesVisible
+ YES
+ HPages
+ 1
+ ImageCounter
+ 1
+ KeepToScale
+
+ Layers
+
+
+ Lock
+ NO
+ Name
+ レイヤー 1
+ Print
+ YES
+ View
+ YES
+
+
+ LayoutInfo
+
+ Animate
+ NO
+ circoMinDist
+ 18
+ circoSeparation
+ 0.0
+ layoutEngine
+ dot
+ neatoSeparation
+ 0.0
+ twopiSeparation
+ 0.0
+
+ LinksVisible
+ NO
+ MagnetsVisible
+ NO
+ MasterSheets
+
+ ModificationDate
+ 2013-03-31 10:39:26 +0000
+ Modifier
+ YuSugimoto
+ NotesVisible
+ NO
+ Orientation
+ 2
+ OriginVisible
+ NO
+ PageBreaks
+ YES
+ PrintInfo
+
+ NSBottomMargin
+
+ float
+ 41
+
+ NSHorizonalPagination
+
+ coded
+ BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG
+
+ NSLeftMargin
+
+ float
+ 18
+
+ NSPaperSize
+
+ size
+ {594.99997329711914, 842}
+
+ NSPrintReverseOrientation
+
+ int
+ 0
+
+ NSRightMargin
+
+ float
+ 18
+
+ NSTopMargin
+
+ float
+ 18
+
+
+ PrintOnePage
+
+ ReadOnly
+ NO
+ RowAlign
+ 1
+ RowSpacing
+ 36
+ SheetTitle
+ キャンバス 1
+ SmartAlignmentGuidesActive
+ YES
+ SmartDistanceGuidesActive
+ YES
+ UniqueID
+ 1
+ UseEntirePage
+
+ VPages
+ 1
+ WindowInfo
+
+ CurrentSheet
+ 0
+ ExpandedCanvases
+
+ Frame
+ {{59, 121}, {730, 779}}
+ ListView
+
+ OutlineWidth
+ 142
+ RightSidebar
+
+ ShowRuler
+
+ Sidebar
+
+ SidebarWidth
+ 138
+ VisibleRegion
+ {{-9, 0}, {577, 640}}
+ Zoom
+ 1
+ ZoomValues
+
+
+ キャンバス 1
+ 1
+ 1
+
+
+
+
+
diff -r 86eb165b4b91 -r e17bc730af1a paper/omni/peek1.graffle
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/omni/peek1.graffle Tue Apr 02 20:02:48 2013 +0900
@@ -0,0 +1,961 @@
+
+
+
+
+ ActiveLayerIndex
+ 0
+ ApplicationVersion
+
+ com.omnigroup.OmniGrafflePro
+ 139.16.0.171715
+
+ AutoAdjust
+
+ BackgroundGraphic
+
+ Bounds
+ {{0, 0}, {558.99997329711914, 783}}
+ Class
+ SolidGraphic
+ ID
+ 2
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+
+ BaseZoom
+ 0
+ CanvasOrigin
+ {0, 0}
+ ColumnAlign
+ 1
+ ColumnSpacing
+ 36
+ CreationDate
+ 2012-02-07 04:36:21 +0000
+ Creator
+ Kazuki AKAMINE
+ DisplayScale
+ 1 0/72 in = 1.0000 in
+ GraphDocumentVersion
+ 8
+ GraphicsList
+
+
+ Bounds
+ {{56, 113}, {21, 14}}
+ Class
+ ShapedGraphic
+ FitText
+ YES
+ Flow
+ Resize
+ ID
+ 172
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+ Text
+
+ Pad
+ 0
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 add}
+ VerticalPad
+ 0
+
+ Wrap
+ NO
+
+
+ AllowLabelDrop
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 185
+
+ ID
+ 186
+ Points
+
+ {159.51492156862744, 40.5}
+ {25, 122.75}
+ {111.232, 168.75}
+
+ Style
+
+ stroke
+
+ CornerRadius
+ 23
+ HeadArrow
+ FilledArrow
+ HeadScale
+ 1.4285709857940674
+ Legacy
+
+ TailArrow
+ 0
+ TailScale
+ 0.5
+
+
+ Tail
+
+ ID
+ 170
+
+
+
+ Bounds
+ {{190.482, 140.75}, {41, 14}}
+ Class
+ ShapedGraphic
+ FitText
+ YES
+ Flow
+ Resize
+ ID
+ 183
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+ Text
+
+ Pad
+ 0
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 waitList}
+ VerticalPad
+ 0
+
+ Wrap
+ NO
+
+
+ Bounds
+ {{111.232, 154.75}, {200.5, 28}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 185
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Align
+ 0
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;\f1\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural
+
+\f0\fs24 \cf0 \'81\'45
+\f1 peek(recever, "key1", 5);}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{110.5, 94.75}, {50, 28}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 179
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 dataD}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{110.5, 80.75}, {50, 14}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 177
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 4}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{160.5, 94.75}, {50, 28}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 181
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 dataC}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{160.5, 80.75}, {50, 14}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 174
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 3}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{210.5, 94.75}, {50, 28}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 178
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 dataB}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{210.5, 80.75}, {50, 14}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 175
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 2}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{260.5, 94.75}, {50, 28}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 180
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 dataA}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{260.5, 80.75}, {50, 14}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 176
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 1}
+ VerticalPad
+ 0
+
+
+
+ AllowLabelDrop
+
+ Class
+ LineGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 182
+ Points
+
+ {104.46299999999999, 126}
+ {316.5, 126}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ 0
+ HeadScale
+ 1.4285709857940674
+ Legacy
+
+ TailArrow
+ 0
+ TailScale
+ 0.5
+
+
+
+
+ AllowLabelDrop
+
+ Class
+ LineGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 173
+ Points
+
+ {104.46299999999999, 76.5}
+ {316.5, 76.5}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ 0
+ HeadScale
+ 1.4285709857940674
+ Legacy
+
+ TailArrow
+ 0
+ TailScale
+ 0.5
+
+
+
+
+ Bounds
+ {{105.46299999999999, 26.5}, {131, 14}}
+ Class
+ ShapedGraphic
+ FitText
+ YES
+ Flow
+ Resize
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 170
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+ Text
+
+ Pad
+ 0
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 peek(recever, "key1", 5);}
+ VerticalPad
+ 0
+
+ Wrap
+ NO
+
+
+ Bounds
+ {{193.482, 45.25}, {34, 14}}
+ Class
+ ShapedGraphic
+ FitText
+ YES
+ Flow
+ Resize
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 171
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+ Text
+
+ Pad
+ 0
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 "key1"}
+ VerticalPad
+ 0
+
+ Wrap
+ NO
+
+
+ Bounds
+ {{94.462999999999994, 44.5}, {233.03700000000001, 150.25}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 184
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ CornerRadius
+ 10
+
+
+
+
+ GridInfo
+
+ GuidesLocked
+ NO
+ GuidesVisible
+ YES
+ HPages
+ 1
+ ImageCounter
+ 1
+ KeepToScale
+
+ Layers
+
+
+ Lock
+ NO
+ Name
+ レイヤー 1
+ Print
+ YES
+ View
+ YES
+
+
+ LayoutInfo
+
+ Animate
+ NO
+ circoMinDist
+ 18
+ circoSeparation
+ 0.0
+ layoutEngine
+ dot
+ neatoSeparation
+ 0.0
+ twopiSeparation
+ 0.0
+
+ LinksVisible
+ NO
+ MagnetsVisible
+ NO
+ MasterSheets
+
+ ModificationDate
+ 2012-11-19 05:58:30 +0000
+ Modifier
+ Yu SUGIMOTO
+ NotesVisible
+ NO
+ Orientation
+ 2
+ OriginVisible
+ NO
+ PageBreaks
+ YES
+ PrintInfo
+
+ NSBottomMargin
+
+ float
+ 41
+
+ NSHorizonalPagination
+
+ coded
+ BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG
+
+ NSLeftMargin
+
+ float
+ 18
+
+ NSPaperSize
+
+ size
+ {594.99997329711914, 842}
+
+ NSPrintReverseOrientation
+
+ int
+ 0
+
+ NSRightMargin
+
+ float
+ 18
+
+ NSTopMargin
+
+ float
+ 18
+
+
+ PrintOnePage
+
+ ReadOnly
+ NO
+ RowAlign
+ 1
+ RowSpacing
+ 36
+ SheetTitle
+ キャンバス 1
+ SmartAlignmentGuidesActive
+ YES
+ SmartDistanceGuidesActive
+ YES
+ UniqueID
+ 1
+ UseEntirePage
+
+ VPages
+ 1
+ WindowInfo
+
+ CurrentSheet
+ 0
+ ExpandedCanvases
+
+ Frame
+ {{227, 52}, {730, 779}}
+ ListView
+
+ OutlineWidth
+ 142
+ RightSidebar
+
+ ShowRuler
+
+ Sidebar
+
+ SidebarWidth
+ 138
+ VisibleRegion
+ {{-9, 0}, {577, 640}}
+ Zoom
+ 1
+ ZoomValues
+
+
+ キャンバス 1
+ 1
+ 1
+
+
+
+
+
diff -r 86eb165b4b91 -r e17bc730af1a paper/omni/put.graffle
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/omni/put.graffle Tue Apr 02 20:02:48 2013 +0900
@@ -0,0 +1,1406 @@
+
+
+
+
+ ActiveLayerIndex
+ 0
+ ApplicationVersion
+
+ com.omnigroup.OmniGraffle
+ 138.17.0.133677
+
+ AutoAdjust
+
+ BackgroundGraphic
+
+ Bounds
+ {{0, 0}, {559, 783}}
+ Class
+ SolidGraphic
+ ID
+ 2
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+
+ CanvasOrigin
+ {0, 0}
+ ColumnAlign
+ 1
+ ColumnSpacing
+ 36
+ CreationDate
+ 2012-02-07 13:36:21 +0900
+ Creator
+ Kazuki AKAMINE
+ DisplayScale
+ 1 0/72 in = 1 0/72 in
+ GraphDocumentVersion
+ 6
+ GraphicsList
+
+
+ AllowLabelDrop
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 76
+
+ ID
+ 77
+ Points
+
+ {351.537, 232}
+ {376, 198}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ HeadScale
+ 1.4285709857940674
+ TailArrow
+ 0
+ TailScale
+ 0.5
+
+
+ Tail
+
+ ID
+ 62
+
+
+
+ Bounds
+ {{351, 170}, {50, 28}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 76
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 dataB}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{351, 156}, {50, 14}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 75
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 2}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{401, 170}, {50, 28}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 74
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 dataA}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{401, 156}, {50, 14}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 73
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 1}
+ VerticalPad
+ 0
+
+
+
+ AllowLabelDrop
+
+ Class
+ LineGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 72
+ Points
+
+ {323, 201.5}
+ {456, 201.5}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ 0
+ HeadScale
+ 1.4285709857940674
+ TailArrow
+ 0
+ TailScale
+ 0.5
+
+
+
+
+ AllowLabelDrop
+
+ Class
+ LineGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 71
+ Points
+
+ {323, 152}
+ {456, 152}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ 0
+ HeadScale
+ 1.4285709857940674
+ TailArrow
+ 0
+ TailScale
+ 0.5
+
+
+
+
+ AllowLabelDrop
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 69
+ Info
+ 1
+
+ ID
+ 70
+ Points
+
+ {178.036, 232}
+ {243.963, 198}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ HeadScale
+ 1.4285709857940674
+ TailArrow
+ 0
+ TailScale
+ 0.5
+
+
+ Tail
+
+ ID
+ 54
+
+
+
+ Bounds
+ {{218.963, 170}, {50, 28}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 69
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 dataA}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{218.963, 156}, {50, 14}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 68
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 1}
+ VerticalPad
+ 0
+
+
+
+ AllowLabelDrop
+
+ Class
+ LineGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 66
+ Points
+
+ {297.982, 97}
+ {297.982, 252}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ 0
+ HeadScale
+ 1.4285709857940674
+ Pattern
+ 1
+ TailArrow
+ 0
+ TailScale
+ 0.5
+
+
+
+
+ Bounds
+ {{323, 232}, {47, 14}}
+ Class
+ ShapedGraphic
+ FitText
+ YES
+ Flow
+ Resize
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 62
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+ Text
+
+ Pad
+ 0
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 enqueue}
+ VerticalPad
+ 0
+
+ Wrap
+ NO
+
+
+ Bounds
+ {{339.5, 102}, {100, 14}}
+ Class
+ ShapedGraphic
+ FitText
+ YES
+ Flow
+ Resize
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 58
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+ Text
+
+ Pad
+ 0
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 put("key1", dataB);}
+ VerticalPad
+ 0
+
+ Wrap
+ NO
+
+
+ Bounds
+ {{370.269, 120}, {34, 14}}
+ Class
+ ShapedGraphic
+ FitText
+ YES
+ Flow
+ Resize
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 57
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+ Text
+
+ Pad
+ 0
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 "key1"}
+ VerticalPad
+ 0
+
+ Wrap
+ NO
+
+
+ Bounds
+ {{313, 120}, {148.537, 103}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 56
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ CornerRadius
+ 10
+
+
+ Text
+
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{140.963, 232}, {47, 14}}
+ Class
+ ShapedGraphic
+ FitText
+ YES
+ Flow
+ Resize
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 54
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+ Text
+
+ Pad
+ 0
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 enqueue}
+ VerticalPad
+ 0
+
+ Wrap
+ NO
+
+
+ AllowLabelDrop
+
+ Class
+ LineGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 53
+ Points
+
+ {140.963, 201.5}
+ {273.963, 201.5}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ 0
+ HeadScale
+ 1.4285709857940674
+ TailArrow
+ 0
+ TailScale
+ 0.5
+
+
+
+
+ AllowLabelDrop
+
+ Class
+ LineGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 52
+ Points
+
+ {140.963, 152}
+ {273.963, 152}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ 0
+ HeadScale
+ 1.4285709857940674
+ TailArrow
+ 0
+ TailScale
+ 0.5
+
+
+
+
+ Bounds
+ {{157.463, 102}, {100, 14}}
+ Class
+ ShapedGraphic
+ FitText
+ YES
+ Flow
+ Resize
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 50
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+ Text
+
+ Pad
+ 0
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 put("key1", dataA);}
+ VerticalPad
+ 0
+
+ Wrap
+ NO
+
+
+ Bounds
+ {{188.232, 120}, {34, 14}}
+ Class
+ ShapedGraphic
+ FitText
+ YES
+ Flow
+ Resize
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 47
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+ Text
+
+ Pad
+ 0
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 "key1"}
+ VerticalPad
+ 0
+
+ Wrap
+ NO
+
+
+ Bounds
+ {{130.963, 120}, {148.537, 103}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 46
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ CornerRadius
+ 10
+
+
+ Text
+
+ VerticalPad
+ 0
+
+
+
+ GridInfo
+
+ GuidesLocked
+ NO
+ GuidesVisible
+ YES
+ HPages
+ 1
+ ImageCounter
+ 1
+ KeepToScale
+
+ Layers
+
+
+ Lock
+ NO
+ Name
+ レイヤー 1
+ Print
+ YES
+ View
+ YES
+
+
+ LayoutInfo
+
+ Animate
+ NO
+ circoMinDist
+ 18
+ circoSeparation
+ 0.0
+ layoutEngine
+ dot
+ neatoSeparation
+ 0.0
+ twopiSeparation
+ 0.0
+
+ LinksVisible
+ NO
+ MagnetsVisible
+ NO
+ MasterSheets
+
+ ModificationDate
+ 2012-02-07 13:53:06 +0900
+ Modifier
+ Kazuki AKAMINE
+ NotesVisible
+ NO
+ Orientation
+ 2
+ OriginVisible
+ NO
+ PageBreaks
+ YES
+ PrintInfo
+
+ NSBottomMargin
+
+ float
+ 41
+
+ NSLeftMargin
+
+ float
+ 18
+
+ NSPaperSize
+
+ size
+ {595, 842}
+
+ NSRightMargin
+
+ float
+ 18
+
+ NSTopMargin
+
+ float
+ 18
+
+
+ PrintOnePage
+
+ QuickLookPreview
+
+ JVBERi0xLjMKJcTl8uXrp/Og0MTGCjUgMCBvYmoKPDwgL0xlbmd0aCA2IDAgUiAvRmls
+ dGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAGdV8tuW0cM3c9XEFlJQDOZ9wNZxUa7
+ 8C6wgC6SLAzZRuFIQV3Hi/59D+d1r6Ur2Q0EQcN5kTxDHlKP9JkeSeHjfaaYLP1zR3/S
+ D/pw+aRp+0S6fJ629F5JT/ydbbwn7ZTMwRoKwYo9mZCxA2PakYleKmNyEU0sCz5Jb0zC
+ WhUtbdvYR1XO8LwPTroYjRhX+KDa3TzaTmpZ3JG2XjqnLE4qCM2kfs2YEawEh8cGiKeF
+ 2cbg2aGxNTQ3xNDLHs+hgJa/Xk7sCWDRFb4PFdvL6wK7outLehS6CO/5hx9hu59Oa6Oo
+ I8vjGbIsVii1qZBVEYaxo3XJ6PoajKzR4wHa4xhjG7I8miHL4oSsYHEAMK6ZzZTDHVnW
+ +WJtLogZspifIzvcGMiyiwNZFubICp7Y0zWCGPFqOF4VIVYfATPHNPA0yktjdaDgA8N6
+ sSFt2qLBhiCztQh9JzZ7+vCHllBHm3v6Qqt33+/WHPaGVv/qPnq3pm+0uaLfNyVzZnqi
+ dIiCEJ04VuOyzF7rSI6O1Pzdr37ug59rJBq0fi0miCMTfmvr1H5v+8GbPug3jIlPX9cf
+ 12LR8sOII+0NB1y0nNlF2hWIZ6iWM+xnexrArBFe06kqH53TnNm41DvXHkNJpZQRG8TE
+ 7FmMldYndwTX6u7H4/PdM95l81Cf4JCnhEWgcjruyXnYZGOjI+ejVD6nIrrQljohTRMc
+ x00qfLHr0qAlXNyuYrrpWioxsfbKSVYjIGLURbTaikFHEKgyUR8d/m6JZyrr1FFL236p
+ YA+7p5wRfcw0c/hOjDSv12Tp9rIE35orJZM6CCMLx0Shky5VQpmkZtu4iqmia6mkwtor
+ n3QHisiuDSqpAqPfR/gVrKvLdaUyBs8NM8el7FP3tKPSKEKcpgibokThepUhRuqCrX+B
+ IWwqNS/2yJ/H+8QPxzT0Gj8cU1TlB7H6H/xwwfywzGzWBa7JrvNazVj65Yz9Aq51UKXo
+ djFUTY4yJ+0pRyaULhmwUuWTFykvQPccQ0xVAUHhuVxwEwMKP6OjndAoCv2EOFtGXGXD
+ wBXoqIqArWzI0DvRe42RFerGKaYaZvsEeFHIUzX7MH2ZZruHGh3L2PoWe33OZ4lWexli
+ RvBPltf6t7q9+XnzabL+0CrcKnRMUtlgyKABhJHWSNQ4rrlOapW5f2g2llaSK3Ipz8YZ
+ aSJKACheapMNd45oHVB48BzJyJDB0+hzrJMqAVbPrWRC+dyB6o5OQ/U9Lr7C90Es2Dmd
+ 0DnJFFUqxjZ9RilpUYLm+oxCCOpkxQt9s9PsVu/mljQWEipl1CHC4Bdu4jOn9vbyybvn
+ pVNDi+aOxik9hbco4b10F2+bx3THf7E1ckAb8bzQrizEc4uKc/HMykcsv2LjW+OYbUQM
+ NxuXqefNMczEIeb/aayfobqcfaV4YtsiqnzZYcNpY0H1bSzRUDVrcZIl2MaB6is2dlQZ
+ /HPswDYeMsMhoU+oHpSkwgwXZ5mBYDRar4BgLsxgQ5JGey+MQgLqrE8xg41Opsx/5JKV
+ aCg4Uy16xmhDBAsEGdAU7shGDY5ARfI8iDEXYlg6PIhhOfW6Op1Rm51hIhrqjAqS/zhM
+ 6kDDWlpj2Hy0XIeHYSuD/vk/jN8hLgplbmRzdHJlYW0KZW5kb2JqCjYgMCBvYmoKMTIx
+ OQplbmRvYmoKMyAwIG9iago8PCAvVHlwZSAvUGFnZSAvUGFyZW50IDQgMCBSIC9SZXNv
+ dXJjZXMgNyAwIFIgL0NvbnRlbnRzIDUgMCBSIC9NZWRpYUJveCBbMCAwIDU1OSA3ODNd
+ Cj4+CmVuZG9iago3IDAgb2JqCjw8IC9Qcm9jU2V0IFsgL1BERiAvVGV4dCBdIC9Db2xv
+ clNwYWNlIDw8IC9DczEgOCAwIFIgL0NzMiA5IDAgUiA+PiAvRm9udCA8PAovRjEuMCAx
+ MCAwIFIgPj4gPj4KZW5kb2JqCjExIDAgb2JqCjw8IC9MZW5ndGggMTIgMCBSIC9OIDMg
+ L0FsdGVybmF0ZSAvRGV2aWNlUkdCIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVh
+ bQp4AYVUz2sTQRT+Nm6p0CIIWmsOsniQIklZq2hF1Db9EWJrDNsftkWQZDNJ1m426+4m
+ taWI5OLRKt5F7aEH/4AeevBkL0qFWkUo3qsoYqEXLfHNbky2perAzn7z3jfvfW923wAN
+ ctI09YAE5A3HUqIRaWx8Qmr8iACOoglBNCVV2+xOJAZBg3P5e+fYeg+BW1bDe/t3snet
+ mtK2mgeE/UDgR5rZKrDvF3EKWRICiDzfoSnHdAjf49jy7I85Tnl4wbUPKz3EWSJ8QDUt
+ zn9NuFPNJdNAg0g4lPVxUj6c14uU1x0HaW5mxsgQvU+QprvM7qtioZxO9g6QvZ30fk6z
+ 3j7CIcILGa0/RriNnvWM1T/iYeGk5sSGPRwYNfT4YBW3Gqn4NcIUXxBNJ6JUcdkuDfGY
+ rv1W8kqCcJA4ymRhgHNaSE/XTG74uocFfSbXE6/id1ZR4XmPE2fe1N3vRdoCrzAOHQwa
+ DJoNSFAQRQRhmLBQQIY8GjE0snI/I6sGG5N7MnUkart0YkSxQXs23D23UaTdPP4oInGU
+ Q7UIkvxB/iqvyU/lefnLXLDYVveUrZuauvLgO8XlmbkaHtfTyONzTV58ldR2k1dHlqx5
+ erya7Bo/7FeXMeaCNY/Ec7D78S1flcyXKYwUxeNV8+pLhHVaMTffn2x/Oz3iLs8utdZz
+ rYmLN1abl2f9akj77qq8k+ZV+U9e9fH8Z83EY+IpMSZ2iuchiZfFLvGS2EurC+JgbccI
+ nZWGKdJtkfok1WBgmrz1L10/W3i9Rn8M9VGUGczSVIn3f8IqZDSduQ5v+o/bx/wX5PeK
+ 558oAi9s4MiZum1Tce8QoWWlbnOuAhe/0X3wtm5ro344/ARYPKsWrVI1nyC8ARx2h3oe
+ 6CmY05aWzTlShyyfk7rpymJSzFDbQ1JS1yXXZUsWs5lVYul22JnTHW4coTlC98SnSmWT
+ +q/xEbD9sFL5+axS2X5OGtaBl/pvwLz9RQplbmRzdHJlYW0KZW5kb2JqCjEyIDAgb2Jq
+ CjczNwplbmRvYmoKOCAwIG9iagpbIC9JQ0NCYXNlZCAxMSAwIFIgXQplbmRvYmoKMTMg
+ MCBvYmoKPDwgL0xlbmd0aCAxNCAwIFIgL04gMSAvQWx0ZXJuYXRlIC9EZXZpY2VHcmF5
+ IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4AYVST0gUURz+zTYShIhBhXiI
+ dwoJlSmsrKDadnVZlW1bldKiGGffuqOzM9Ob2TXFkwRdojx1D6JjdOzQoZuXosCsS9cg
+ qSAIPHXo+83s6iiEb3k73/v9/X7fe0RtnabvOylBVHNDlSulp25OTYuDHylFHdROWKYV
+ +OlicYyx67mSv7vX1mfS2LLex7V2+/Y9tZVlYCHqLba3EPohkWYAH5mfKGWAs8Adlq/Y
+ PgE8WA6sGvAjogMPmrkw09GcdKWyLZFT5qIoKq9iO0mu+/m5xr6LtYmD/lyPZtaOvbPq
+ qtFM1LT3RKG8D65EGc9fVPZsNRSnDeOcSEMaKfKu1d8rTMcRkSsQSgZSNWS5n2pOnXXg
+ dRi7XbqT4/j2EKU+yWCoibXpspkdhX0AdirL7BDwBejxsmIP54F7Yf9bUcOTwCdhP2SH
+ edatH/YXrlPge4Q9NeDOFK7F8dqKH14tAUP3VCNojHNNxNPXOXOkiO8x1BmY90Y5pgsx
+ d5aqEzeAO2EfWapmCrFd+67qJe57AnfT4zvRmzkLXKAcSXKxFdkU0DwJWBR9i7BJDjw+
+ zh5V4HeomMAcuYnczSj3HtURG2ejUoFWeo1Xxk/jufHF+GVsGM+Afqx213t8/+njFXXX
+ tj48+Y163DmuvZ0bVWFWcWUL3f/HMoSP2Sc5psHToVlYa9h25A+azEywDCjEfwU+l/qS
+ E1Xc1e7tuEUSzFA+LGwluktUbinU6j2DSqwcK9gAdnCSxCxaHLhTa7o5eHfYInpt+U1X
+ suuG/vr2evva8h5tyqgpKBPNs0RmlLFbo+TdeNv9ZpERnzg6vue9ilrJ/klFED+FOVoq
+ 8hRV9FZQ1sRvZw5+G7Z+XD+l5/VB/TwJPa2f0a/ooxG+DHRJz8JzUR+jSfCwaSHiEqCK
+ gzPUTlRjjQPiKfHytFtkkf0PQBn9ZgplbmRzdHJlYW0KZW5kb2JqCjE0IDAgb2JqCjcw
+ NAplbmRvYmoKOSAwIG9iagpbIC9JQ0NCYXNlZCAxMyAwIFIgXQplbmRvYmoKNCAwIG9i
+ ago8PCAvVHlwZSAvUGFnZXMgL01lZGlhQm94IFswIDAgNjEyIDc5Ml0gL0NvdW50IDEg
+ L0tpZHMgWyAzIDAgUiBdID4+CmVuZG9iagoxNSAwIG9iago8PCAvVHlwZSAvQ2F0YWxv
+ ZyAvT3V0bGluZXMgMiAwIFIgL1BhZ2VzIDQgMCBSID4+CmVuZG9iagoyIDAgb2JqCjw8
+ IC9MYXN0IDE2IDAgUiAvRmlyc3QgMTcgMCBSID4+CmVuZG9iagoxNyAwIG9iago8PCAv
+ UGFyZW50IDE4IDAgUiAvQ291bnQgMCAvRGVzdCBbIDMgMCBSIC9YWVogMCA3ODMgMCBd
+ IC9UaXRsZSAo/v8wrTDjMPMw0DC5XDAwMCBcMDAwMSkKPj4KZW5kb2JqCjE4IDAgb2Jq
+ Cjw8ID4+CmVuZG9iagoxNiAwIG9iago8PCAvUGFyZW50IDE4IDAgUiAvQ291bnQgMCAv
+ RGVzdCBbIDMgMCBSIC9YWVogMCA3ODMgMCBdIC9UaXRsZSAo/v8wrTDjMPMw0DC5XDAw
+ MCBcMDAwMSkKPj4KZW5kb2JqCjE5IDAgb2JqCjw8IC9MZW5ndGggMjAgMCBSIC9MZW5n
+ dGgxIDk3NzIgL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngBvVoJWFRHtj51
+ 915oupve6aa7abqbZl8EQYi0CIgLBMEFiCggKKLGJYjBiQ4aHRWNiXGN2cYkzzWOLZrY
+ aswzGROTTCYxGTUZJ8lMRpPJyzd8mTfPOBkj3e/c28gobyaf7/vyzb2cqjpVdatO/XXO
+ qaXpWLykFaKgG2ioqm9aOAukJ2E1ANk3c37TwggfI2D87szODkeEZxMB6HmzFs6eH+GF
+ rQBy2+x5XQPf6zBbrWtrbWqJlMNNjHPbMCPCk2EYJ7TN73gwwmuPYTxp3oKZA+UxF5BP
+ md/04ED/8Anyjvub5rdG6ic0YpywcMEDHQO8DuMJCxe3DtQntSjf+0AwVw8LQAZzgQcK
+ 1Pg2APBfyW3AYKlYjk9LimLLjOjCb0EjDhNgRsWjUvym85VL37Xe9Co2C3/HDNmt+mLM
+ +UI+ACXB8j7F5sES6TsM9EGoSQ7CWKQipByk5ORRJugme+AxpJ8j0TCHbIAupPVITyAx
+ g6n9yJ0gG3oZwX+SdIGFjPMrGPskndlukivsHwYJd+wZ+29NV04RM87e58TcGwWyUXLy
+ c/IstICd/Ae4yTIoh0Sy66hvnr0Ri/bDQqRuJFoKCdnfG5dlf5WkgJsh+I0H4hjysv1P
+ man2LzKDFOm1v+4NMhi9FoecP9p+xvaM/T9ts+2vIh2MFB3wYY2X7ftt8+xb4oJkV6/9
+ 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
+ LZKNdIev0J+hrhlRwun+EUHdWzpKFiPozDFmXSK3lP4IjRtYlRy4KDlr0ypMvMmkMOBI
+ fEqFxUJ8orAf3jKSCnE5F9UPfWdkPS8qxMV8wEZIRFDc6ogLynDJx+EZTeMmeZaMh18p
+ cR87QLmGzd7yRU0qOczg7ql6WOO++qcp1fcfPHNP0qQnqtdTH1tE3dGHxtJfocwmtOx3
+ /Pf36NeZ9ppo0W/lacu1tdrZ/FJ6Kb9RtxN2sDv1Oww7jPtgn0FdDuP1Y4xv65kS9k2W
+ WsvugT2ivhnZhETWpDcaCHB6pSLaJqjMvNlsiBU3skAOG/Wmw8pHDWZL7AXn7BU4Kbid
+ rbhq6s/Px7/IntYUGW5Ff36WOd2EHq0QVxSCP7b7tXo9GAzztUajicXNuhbAhJtc9fKz
+ UiRgTBoWZWYsIuIuNpujKZ5CC/N4c8TFIHc4nrhINqFp5znPw83FT3U/5fHFpSeps9LV
+ 7EhVqONdYidM+uzQ5tCffxGadYwTXojinCZhawJTeXMnvUrESnrCrfj76z97xIMgjSd+
+ Bf4eHY3nbz2eGXB9hhLpl91K/FW5BibBVKjFOwhxxdAiiQ+H9xUwpWzK+InVyeWt8zpb
+ O+bMbJJqSMUYiPXbkB5EWoe0E2kfEl45wFtIHyN9hfQdNisgmZASkfKQypFqkdqQHkRa
+ h7QzPPDgNzCYJug97uTjh/DY5h318X997uBThvCZQ/isIbz4XwG39z9qCF88hBdRub1+
+ yxBempfbxjN3SLm4kt3+/cIh/KIhvPR/VLe1t2RIeZfI/y8j+PntCmVuZHN0cmVhbQpl
+ bmRvYmoKMjAgMCBvYmoKNjMyMwplbmRvYmoKMjEgMCBvYmoKPDwgL1R5cGUgL0ZvbnRE
+ ZXNjcmlwdG9yIC9Bc2NlbnQgNzcwIC9DYXBIZWlnaHQgNjg0IC9EZXNjZW50IC0yMzAg
+ L0ZsYWdzIDMyCi9Gb250QkJveCBbLTk1MSAtNDgxIDE0NDUgMTEyMl0gL0ZvbnROYW1l
+ IC9WRlZLUVIrSGVsdmV0aWNhIC9JdGFsaWNBbmdsZSAwCi9TdGVtViAwIC9NYXhXaWR0
+ aCAxNTAwIC9YSGVpZ2h0IDUxMyAvRm9udEZpbGUyIDE5IDAgUiA+PgplbmRvYmoKMjIg
+ MCBvYmoKWyAyNzggMCAzNTUgMCAwIDAgMCAwIDMzMyAzMzMgMCAwIDI3OCAwIDAgMCAw
+ IDU1NiA1NTYgMCAwIDAgMCAwIDAgMCAwIDI3OAowIDAgMCAwIDAgNjY3IDY2NyAwIDAg
+ MCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAw
+ CjAgMCA1NTYgMCAwIDU1NiA1NTYgMCAwIDAgMCAwIDUwMCAwIDAgNTU2IDAgNTU2IDU1
+ NiAwIDAgMjc4IDU1NiAwIDAgMCA1MDAKXQplbmRvYmoKMTAgMCBvYmoKPDwgL1R5cGUg
+ L0ZvbnQgL1N1YnR5cGUgL1RydWVUeXBlIC9CYXNlRm9udCAvVkZWS1FSK0hlbHZldGlj
+ YSAvRm9udERlc2NyaXB0b3IKMjEgMCBSIC9XaWR0aHMgMjIgMCBSIC9GaXJzdENoYXIg
+ MzIgL0xhc3RDaGFyIDEyMSAvRW5jb2RpbmcgL01hY1JvbWFuRW5jb2RpbmcKPj4KZW5k
+ b2JqCjIzIDAgb2JqCihNYWMgT1MgWCAxMC42LjggUXVhcnR6IFBERkNvbnRleHQpCmVu
+ ZG9iagoyNCAwIG9iagooRDoyMDEyMDIwNzA0NTMxMFowMCcwMCcpCmVuZG9iagoxIDAg
+ b2JqCjw8IC9Qcm9kdWNlciAyMyAwIFIgL0NyZWF0aW9uRGF0ZSAyNCAwIFIgL01vZERh
+ dGUgMjQgMCBSID4+CmVuZG9iagp4cmVmCjAgMjUKMDAwMDAwMDAwMCA2NTUzNSBmIAow
+ MDAwMDEwOTEwIDAwMDAwIG4gCjAwMDAwMDM0NTggMDAwMDAgbiAKMDAwMDAwMTMzNSAw
+ MDAwMCBuIAowMDAwMDAzMzA5IDAwMDAwIG4gCjAwMDAwMDAwMjIgMDAwMDAgbiAKMDAw
+ MDAwMTMxNSAwMDAwMCBuIAowMDAwMDAxNDM5IDAwMDAwIG4gCjAwMDAwMDI0MDkgMDAw
+ MDAgbiAKMDAwMDAwMzI3MyAwMDAwMCBuIAowMDAwMDEwNjQxIDAwMDAwIG4gCjAwMDAw
+ MDE1NDkgMDAwMDAgbiAKMDAwMDAwMjM4OSAwMDAwMCBuIAowMDAwMDAyNDQ1IDAwMDAw
+ IG4gCjAwMDAwMDMyNTMgMDAwMDAgbiAKMDAwMDAwMzM5MiAwMDAwMCBuIAowMDAwMDAz
+ NjM1IDAwMDAwIG4gCjAwMDAwMDM1MDYgMDAwMDAgbiAKMDAwMDAwMzYxMyAwMDAwMCBu
+ IAowMDAwMDAzNzQyIDAwMDAwIG4gCjAwMDAwMTAxNTUgMDAwMDAgbiAKMDAwMDAxMDE3
+ NiAwMDAwMCBuIAowMDAwMDEwNDAxIDAwMDAwIG4gCjAwMDAwMTA4MTYgMDAwMDAgbiAK
+ MDAwMDAxMDg2OCAwMDAwMCBuIAp0cmFpbGVyCjw8IC9TaXplIDI1IC9Sb290IDE1IDAg
+ UiAvSW5mbyAxIDAgUiAvSUQgWyA8Y2Y0NDk1Zjc0NjljMTAxMGRiMzQ2NDlhODcyODg4
+ NDA+CjxjZjQ0OTVmNzQ2OWMxMDEwZGIzNDY0OWE4NzI4ODg0MD4gXSA+PgpzdGFydHhy
+ ZWYKMTA5ODUKJSVFT0YKMSAwIG9iago8PC9BdXRob3IgKEthenVraSBBS0FNSU5FKS9D
+ cmVhdGlvbkRhdGUgKEQ6MjAxMjAyMDcwNDM2MDBaKS9DcmVhdG9yIChPbW5pR3JhZmZs
+ ZSA1LjIuMykvTW9kRGF0ZSAoRDoyMDEyMDIwNzA0NTMwMFopL1Byb2R1Y2VyIDIzIDAg
+ UiAvVGl0bGUgKHB1dCk+PgplbmRvYmoKeHJlZgoxIDEKMDAwMDAxMTY0MyAwMDAwMCBu
+ IAp0cmFpbGVyCjw8L0lEIFs8Y2Y0NDk1Zjc0NjljMTAxMGRiMzQ2NDlhODcyODg4NDA+
+ IDxjZjQ0OTVmNzQ2OWMxMDEwZGIzNDY0OWE4NzI4ODg0MD5dIC9JbmZvIDEgMCBSIC9Q
+ cmV2IDEwOTg1IC9Sb290IDE1IDAgUiAvU2l6ZSAyNT4+CnN0YXJ0eHJlZgoxMTgwNQol
+ JUVPRgo=
+
+ QuickLookThumbnail
+
+ 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
+ /ZH///ui///9owAAA9wAAMBs
+
+ ReadOnly
+ NO
+ RowAlign
+ 1
+ RowSpacing
+ 36
+ SheetTitle
+ キャンバス 1
+ SmartAlignmentGuidesActive
+ YES
+ SmartDistanceGuidesActive
+ YES
+ UniqueID
+ 1
+ UseEntirePage
+
+ VPages
+ 1
+ WindowInfo
+
+ CurrentSheet
+ 0
+ ExpandedCanvases
+
+ Frame
+ {{68, 181}, {693, 937}}
+ ListView
+
+ OutlineWidth
+ 142
+ RightSidebar
+
+ ShowRuler
+
+ Sidebar
+
+ SidebarWidth
+ 120
+ VisibleRegion
+ {{0, 0}, {558, 783}}
+ Zoom
+ 1
+ ZoomValues
+
+
+ キャンバス 1
+ 1
+ 1
+
+
+
+ saveQuickLookFiles
+ YES
+
+
diff -r 86eb165b4b91 -r e17bc730af1a paper/omni/remote_datasegment.graffle
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/omni/remote_datasegment.graffle Tue Apr 02 20:02:48 2013 +0900
@@ -0,0 +1,924 @@
+
+
+
+
+ ActiveLayerIndex
+ 0
+ ApplicationVersion
+
+ com.omnigroup.OmniGraffle
+ 138.17.0.133677
+
+ AutoAdjust
+
+ BackgroundGraphic
+
+ Bounds
+ {{0, 0}, {559, 783}}
+ Class
+ SolidGraphic
+ ID
+ 2
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+
+ CanvasOrigin
+ {0, 0}
+ ColumnAlign
+ 1
+ ColumnSpacing
+ 36
+ CreationDate
+ 2012-02-08 00:00:26 +0900
+ Creator
+ Kazuki AKAMINE
+ DisplayScale
+ 1 0/72 in = 1 0/72 in
+ GraphDocumentVersion
+ 6
+ GraphicsList
+
+
+ AllowLabelDrop
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 3
+
+ ID
+ 14
+ Points
+
+ {281, 186}
+ {206, 122}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ HeadScale
+ 1.4285709857940674
+ TailArrow
+ 0
+ TailScale
+ 0.5
+
+
+ Tail
+
+ ID
+ 10
+ Info
+ 4
+
+
+
+ AllowLabelDrop
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 9
+
+ ID
+ 13
+ Points
+
+ {206, 186}
+ {281, 122}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ HeadScale
+ 1.4285709857940674
+ TailArrow
+ 0
+ TailScale
+ 0.5
+
+
+ Tail
+
+ ID
+ 4
+
+
+
+ Bounds
+ {{310.5, 73}, {33, 14}}
+ Class
+ ShapedGraphic
+ FitText
+ YES
+ Flow
+ Resize
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 11
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+ Text
+
+ Pad
+ 0
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 HostB}
+ VerticalPad
+ 0
+
+ Wrap
+ NO
+
+
+ Bounds
+ {{281, 158.5}, {92, 55}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 10
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Remote\
+Data Segment\
+Manager}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{281, 94.5}, {92, 55}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 9
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Local\
+Data Segment\
+Manager}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{273, 87}, {108, 134}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ HiraKakuProN-W3
+ Size
+ 12
+
+ ID
+ 8
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{143.5, 73}, {33, 14}}
+ Class
+ ShapedGraphic
+ FitText
+ YES
+ Flow
+ Resize
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 7
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+ Text
+
+ Pad
+ 0
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 HostA}
+ VerticalPad
+ 0
+
+ Wrap
+ NO
+
+
+ Bounds
+ {{114, 158.5}, {92, 55}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 4
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Remote\
+Data Segment\
+Manager}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{114, 94.5}, {92, 55}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 3
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Local\
+Data Segment\
+Manager}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{106, 87}, {108, 134}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ HiraKakuProN-W3
+ Size
+ 12
+
+ ID
+ 6
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ VerticalPad
+ 0
+
+
+
+ GridInfo
+
+ GuidesLocked
+ NO
+ GuidesVisible
+ YES
+ HPages
+ 1
+ ImageCounter
+ 1
+ KeepToScale
+
+ Layers
+
+
+ Lock
+ NO
+ Name
+ レイヤー 1
+ Print
+ YES
+ View
+ YES
+
+
+ LayoutInfo
+
+ Animate
+ NO
+ circoMinDist
+ 18
+ circoSeparation
+ 0.0
+ layoutEngine
+ dot
+ neatoSeparation
+ 0.0
+ twopiSeparation
+ 0.0
+
+ LinksVisible
+ NO
+ MagnetsVisible
+ NO
+ MasterSheets
+
+ ModificationDate
+ 2012-02-08 00:12:51 +0900
+ Modifier
+ Kazuki AKAMINE
+ NotesVisible
+ NO
+ Orientation
+ 2
+ OriginVisible
+ NO
+ PageBreaks
+ YES
+ PrintInfo
+
+ NSBottomMargin
+
+ float
+ 41
+
+ NSLeftMargin
+
+ float
+ 18
+
+ NSPaperSize
+
+ size
+ {595, 842}
+
+ NSRightMargin
+
+ float
+ 18
+
+ NSTopMargin
+
+ float
+ 18
+
+
+ PrintOnePage
+
+ QuickLookPreview
+
+ JVBERi0xLjMKJcTl8uXrp/Og0MTGCjUgMCBvYmoKPDwgL0xlbmd0aCA2IDAgUiAvRmls
+ dGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAHNVk2P0zAQvftXzLE91Ovxt49sAaEV
+ HEorcUAcULUFoXZRt/x/MZPEXidNoCuxFYqiuO6M33je+HmOsIIjKHqcSxCigcd7+AQP
+ cLM8IWxPgM1z2sJCSQf8VoY7QOXBeU3fCGisIG+ahDt6f7RrLNfN8grWS0LC5seCPwy2
+ PTQrxJAXYPg1xYRowRtDcEkTYrvuqDsZJpvtsjtFrzl6BRR55YZegfcoCPd2A6i7aDQs
+ 0EpjTXA0UrA5wM1blIrC3ezgM8zez3n/GmY/82D7tR2J2X4OX2BzB282TS7LDjss3uMA
+ y0RpnLMBbB9JENLrDNCtD7Nfc0o7QZcJ6CbW99n2Wx4cuikxe8hT5P7M8LSRPirvASPF
+ J/qZ+FDCKAhlpoRRAnuswbmkRF1STLLzqSZvV7P1VCNkiC7Whmux4vqaZNmlMJJ5TaSq
+ GFKPZZFZ/phzVuI/FL4zC/TXZDoJc6SyptjmuvoT26KtuAvYhsvYHg+vz/ag7qfZFrO/
+ sD04dUE1p31wEtBLYyIdfyvOzty7zEbh4JRJeFWTMFQqoYOpNYk1Ybys2PBcenTEy6SH
+ DS+XHqPD1aSnwxo5AFPFeFXpmQ6vX4wvKD3M3UXSw4bPkB7e2rWlp8P8X6VnOrw+2y8i
+ PQz+T6XntpaeSuOau4op0NQRYfRAo6Bk9Ej1Y5T0DhPsm94mCxZ3XU2DogPdgdwPeJdk
+ 8D7AQWgfpQrU/HjnpFfUK+1pQbqZrSF5skmqSJW5h+80e+ZNeqeoB1PUgx3pdmOYuuUq
+ HkgMaGMMB5vxUAdpEoYaD6kTS4hJ9PAq76Zl67q+YVJYhZpT1CaFJB9NTGKQFK2CtNaZ
+ Kgeg0VCj5FO9X41RJk3d5lNeBOVgxLvKwUjbWTyqXWQ8iq3dL+cg41V5qfAqb87B6jet
+ G01lCmVuZHN0cmVhbQplbmRvYmoKNiAwIG9iago2OTAKZW5kb2JqCjMgMCBvYmoKPDwg
+ L1R5cGUgL1BhZ2UgL1BhcmVudCA0IDAgUiAvUmVzb3VyY2VzIDcgMCBSIC9Db250ZW50
+ cyA1IDAgUiAvTWVkaWFCb3ggWzAgMCA1NTkgNzgzXQo+PgplbmRvYmoKNyAwIG9iago8
+ PCAvUHJvY1NldCBbIC9QREYgL1RleHQgXSAvQ29sb3JTcGFjZSA8PCAvQ3MxIDggMCBS
+ IC9DczIgOSAwIFIgPj4gL0ZvbnQgPDwKL0YxLjAgMTAgMCBSID4+ID4+CmVuZG9iagox
+ MSAwIG9iago8PCAvTGVuZ3RoIDEyIDAgUiAvTiAzIC9BbHRlcm5hdGUgL0RldmljZVJH
+ QiAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAGFVM9rE0EU/jZuqdAiCFpr
+ DrJ4kCJJWatoRdQ2/RFiawzbH7ZFkGQzSdZuNuvuJrWliOTi0SreRe2hB/+AHnrwZC9K
+ hVpFKN6rKGKhFy3xzW5MtqXqwM5+8943731vdt8ADXLSNPWABOQNx1KiEWlsfEJq/IgA
+ jqIJQTQlVdvsTiQGQYNz+Xvn2HoPgVtWw3v7d7J3rZrStpoHhP1A4Eea2Sqw7xdxClkS
+ Aog836Epx3QI3+PY8uyPOU55eMG1Dys9xFkifEA1Lc5/TbhTzSXTQINIOJT1cVI+nNeL
+ lNcdB2luZsbIEL1PkKa7zO6rYqGcTvYOkL2d9H5Os94+wiHCCxmtP0a4jZ71jNU/4mHh
+ pObEhj0cGDX0+GAVtxqp+DXCFF8QTSeiVHHZLg3xmK79VvJKgnCQOMpkYYBzWkhP10xu
+ +LqHBX0m1xOv4ndWUeF5jxNn3tTd70XaAq8wDh0MGgyaDUhQEEUEYZiwUECGPBoxNLJy
+ PyOrBhuTezJ1JGq7dGJEsUF7Ntw9t1Gk3Tz+KCJxlEO1CJL8Qf4qr8lP5Xn5y1yw2Fb3
+ lK2bmrry4DvF5Zm5Gh7X08jjc01efJXUdpNXR5aseXq8muwaP+xXlzHmgjWPxHOw+/Et
+ X5XMlymMFMXjVfPqS4R1WjE3359sfzs94i7PLrXWc62JizdWm5dn/WpI++6qvJPmVflP
+ XvXx/GfNxGPiKTEmdornIYmXxS7xkthLqwviYG3HCJ2VhinSbZH6JNVgYJq89S9dP1t4
+ vUZ/DPVRlBnM0lSJ93/CKmQ0nbkOb/qP28f8F+T3iuefKAIvbODImbptU3HvEKFlpW5z
+ rgIXv9F98LZua6N+OPwEWDyrFq1SNZ8gvAEcdod6HugpmNOWls05Uocsn5O66cpiUsxQ
+ 20NSUtcl12VLFrOZVWLpdtiZ0x1uHKE5QvfEp0plk/qv8RGw/bBS+fmsUtl+ThrWgZf6
+ b8C8/UUKZW5kc3RyZWFtCmVuZG9iagoxMiAwIG9iago3MzcKZW5kb2JqCjggMCBvYmoK
+ WyAvSUNDQmFzZWQgMTEgMCBSIF0KZW5kb2JqCjEzIDAgb2JqCjw8IC9MZW5ndGggMTQg
+ MCBSIC9OIDEgL0FsdGVybmF0ZSAvRGV2aWNlR3JheSAvRmlsdGVyIC9GbGF0ZURlY29k
+ ZSA+PgpzdHJlYW0KeAGFUk9IFFEc/s02EoSIQYV4iHcKCZUprKyg2nZ1WZVtW5XSohhn
+ 37qjszPTm9k1xZMEXaI8dQ+iY3Ts0KGbl6LArEvXIKkgCDx16PvN7OoohG95O9/7/f1+
+ 33tEbZ2m7zspQVRzQ5UrpaduTk2Lgx8pRR3UTlimFfjpYnGMseu5kr+719Zn0tiy3se1
+ dvv2PbWVZWAh6i22txD6IZFmAB+ZnyhlgLPAHZav2D4BPFgOrBrwI6IDD5q5MNPRnHSl
+ si2RU+aiKCqvYjtJrvv5uca+i7WJg/5cj2bWjr2z6qrRTNS090ShvA+uRBnPX1T2bDUU
+ pw3jnEhDGinyrtXfK0zHEZErEEoGUjVkuZ9qTp114HUYu126k+P49hClPslgqIm16bKZ
+ HYV9AHYqy+wQ8AXo8bJiD+eBe2H/W1HDk8AnYT9kh3nWrR/2F65T4HuEPTXgzhSuxfHa
+ ih9eLQFD91QjaIxzTcTT1zlzpIjvMdQZmPdGOaYLMXeWqhM3gDthH1mqZgqxXfuu6iXu
+ ewJ30+M70Zs5C1ygHElysRXZFNA8CVgUfYuwSQ48Ps4eVeB3qJjAHLmJ3M0o9x7VERtn
+ o1KBVnqNV8ZP47nxxfhlbBjPgH6sdtd7fP/p4xV117Y+PPmNetw5rr2dG1VhVnFlC93/
+ xzKEj9knOabB06FZWGvYduQPmsxMsAwoxH8FPpf6khNV3NXu7bhFEsxQPixsJbpLVG4p
+ 1Oo9g0qsHCvYAHZwksQsWhy4U2u6OXh32CJ6bflNV7Lrhv769nr72vIebcqoKSgTzbNE
+ ZpSxW6Pk3Xjb/WaREZ84Or7nvYpayf5JRRA/hTlaKvIUVfRWUNbEb2cOfhu2flw/pef1
+ Qf08CT2tn9Gv6KMRvgx0Sc/Cc1Efo0nwsGkh4hKgioMz1E5UY40D4inx8rRbZJH9D0AZ
+ /WYKZW5kc3RyZWFtCmVuZG9iagoxNCAwIG9iago3MDQKZW5kb2JqCjkgMCBvYmoKWyAv
+ SUNDQmFzZWQgMTMgMCBSIF0KZW5kb2JqCjQgMCBvYmoKPDwgL1R5cGUgL1BhZ2VzIC9N
+ ZWRpYUJveCBbMCAwIDYxMiA3OTJdIC9Db3VudCAxIC9LaWRzIFsgMyAwIFIgXSA+Pgpl
+ bmRvYmoKMTUgMCBvYmoKPDwgL1R5cGUgL0NhdGFsb2cgL091dGxpbmVzIDIgMCBSIC9Q
+ YWdlcyA0IDAgUiA+PgplbmRvYmoKMiAwIG9iago8PCAvTGFzdCAxNiAwIFIgL0ZpcnN0
+ IDE3IDAgUiA+PgplbmRvYmoKMTcgMCBvYmoKPDwgL1BhcmVudCAxOCAwIFIgL0NvdW50
+ IDAgL0Rlc3QgWyAzIDAgUiAvWFlaIDAgNzgzIDAgXSAvVGl0bGUgKP7/MK0w4zDzMNAw
+ uVwwMDAgXDAwMDEpCj4+CmVuZG9iagoxOCAwIG9iago8PCA+PgplbmRvYmoKMTYgMCBv
+ YmoKPDwgL1BhcmVudCAxOCAwIFIgL0NvdW50IDAgL0Rlc3QgWyAzIDAgUiAvWFlaIDAg
+ NzgzIDAgXSAvVGl0bGUgKP7/MK0w4zDzMNAwuVwwMDAgXDAwMDEpCj4+CmVuZG9iagox
+ OSAwIG9iago8PCAvTGVuZ3RoIDIwIDAgUiAvTGVuZ3RoMSAxMDU0MCAvRmlsdGVyIC9G
+ bGF0ZURlY29kZSA+PgpzdHJlYW0KeAG9egt8VEWW96m69/a9/Uw/0+9033S6O533gwRC
+ AmlCEsIjIRCENBJIAoEEYQQMQdyBjQoCAfGBPARHQUfkMQ5NYKSRwY9xUfS3syPOKirj
+ PNxBx2++ybo7H844QnfvubdDFvLtzM/f7/M39+ZU1amqW3XqX6dOnap075q1XaCFfmCg
+ eX7HqqUgP8FNAOTI4pUdq1K8ScD49cV9vd4Uz2UDMCuWrlq2MsULTwGo3MtWrB/+3vQV
+ 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
+ a9Zr1+v6fL1Zvf7ewOGMI3kmBk02l88WmMBhcVpdNku+uSA7Td2DHnm5n/oztSo212R7
+ 0+U28ay7YH+uupBX6vSUh0Kx0OGxpduC1onZAT6Y7SjWeYL6iRAssBcVD47sM7i8Uvav
+ Qo8pabgVhRgOe67ousrLLeWyziD5NGBBV1XUeURQ4s9SCHqrInA5mHIbMc9ptonEm5Yp
+ gpip0wpBlUgCfqUKvVcRf4uEQYbBJUoea8pbSm3o8q4ua8UtpcDt3SSbSfnUMOyyymuc
+ /399VtyIAkHyheCvPbJk34TgfY9tm9T7i7N/vGcyPcYFJj69tKcuu2nd6zU9H/3qi0s8
+ OUOa5xfNm3d3XRbu0Jk5Ux/c9+Od87snlExpCtfn2E3uwry6px67/NFB+hfUJWvyC6rk
+ 5uPKmf0jbYHqgo7ESHXYz6ZXWBmFTmVwoCnD/9CHwKKzpDEehjI30/EG4Ka4bNgbirdV
+ XJQORfqUCSuslk+3Q/r4NfmAW2rxGdD5HvH/AmUGX1npkVeOHw9YirUZZs/k4Mb5TzzB
+ zU+8vyteN86kJnSnUnhwGX1jF9piioRPsgt/f/A/PWjhcf2jN4Onwlz5HFQG5VAL9fi7
+ hmkwU/5dhfTrhbkwD2sS/LUFkZtR4J0d1E6ZOXNKS25D14q+rt6exR1yDbkYgwVI3Uj3
+ I21FQmXHX44A/j4EAI0lfIj0OdJX2KyAZEPKRhqH1IDUitSNdD/SVqR9yeEHv4GRNAHv
+ KH7SKL5mFF87ise+7mhvxii+cRQ/exTfMoqXULhdvsWjeHkebpN/2ahy6fcEt38v/y7x
+ tvrfGVV+7yh+zSj+vlF8r8T/F8l0mcwKZW5kc3RyZWFtCmVuZG9iagoyMCAwIG9iago2
+ ODg3CmVuZG9iagoyMSAwIG9iago8PCAvVHlwZSAvRm9udERlc2NyaXB0b3IgL0FzY2Vu
+ dCA3NzAgL0NhcEhlaWdodCA3MTcgL0Rlc2NlbnQgLTIzMCAvRmxhZ3MgMzIKL0ZvbnRC
+ Qm94IFstOTUxIC00ODEgMTQ0NSAxMTIyXSAvRm9udE5hbWUgL0RHT09HUytIZWx2ZXRp
+ Y2EgL0l0YWxpY0FuZ2xlIDAKL1N0ZW1WIDAgL01heFdpZHRoIDE1MDAgL1hIZWlnaHQg
+ NjM3IC9Gb250RmlsZTIgMTkgMCBSID4+CmVuZG9iagoyMiAwIG9iagpbIDI3OCAwIDAg
+ MCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAw
+ IDAgMCAwIDAgNjY3CjY2NyAwIDcyMiAwIDAgMCA3MjIgMCAwIDAgNTU2IDgzMyAwIDAg
+ MCAwIDcyMiA2NjcgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAKMCA1NTYgMCA1MDAgMCA1
+ NTYgMCA1NTYgMCAwIDAgMCAyMjIgODMzIDU1NiA1NTYgMCAwIDMzMyA1MDAgMjc4IF0K
+ ZW5kb2JqCjEwIDAgb2JqCjw8IC9UeXBlIC9Gb250IC9TdWJ0eXBlIC9UcnVlVHlwZSAv
+ QmFzZUZvbnQgL0RHT09HUytIZWx2ZXRpY2EgL0ZvbnREZXNjcmlwdG9yCjIxIDAgUiAv
+ V2lkdGhzIDIyIDAgUiAvRmlyc3RDaGFyIDMyIC9MYXN0Q2hhciAxMTYgL0VuY29kaW5n
+ IC9NYWNSb21hbkVuY29kaW5nCj4+CmVuZG9iagoyMyAwIG9iagooTWFjIE9TIFggMTAu
+ Ni44IFF1YXJ0eiBQREZDb250ZXh0KQplbmRvYmoKMjQgMCBvYmoKKEQ6MjAxMjAyMDcx
+ NTEyNTZaMDAnMDAnKQplbmRvYmoKMSAwIG9iago8PCAvUHJvZHVjZXIgMjMgMCBSIC9D
+ cmVhdGlvbkRhdGUgMjQgMCBSIC9Nb2REYXRlIDI0IDAgUiA+PgplbmRvYmoKeHJlZgow
+ IDI1CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAxMDkzNSAwMDAwMCBuIAowMDAwMDAy
+ OTI4IDAwMDAwIG4gCjAwMDAwMDA4MDUgMDAwMDAgbiAKMDAwMDAwMjc3OSAwMDAwMCBu
+ IAowMDAwMDAwMDIyIDAwMDAwIG4gCjAwMDAwMDA3ODYgMDAwMDAgbiAKMDAwMDAwMDkw
+ OSAwMDAwMCBuIAowMDAwMDAxODc5IDAwMDAwIG4gCjAwMDAwMDI3NDMgMDAwMDAgbiAK
+ MDAwMDAxMDY2NiAwMDAwMCBuIAowMDAwMDAxMDE5IDAwMDAwIG4gCjAwMDAwMDE4NTkg
+ MDAwMDAgbiAKMDAwMDAwMTkxNSAwMDAwMCBuIAowMDAwMDAyNzIzIDAwMDAwIG4gCjAw
+ MDAwMDI4NjIgMDAwMDAgbiAKMDAwMDAwMzEwNSAwMDAwMCBuIAowMDAwMDAyOTc2IDAw
+ MDAwIG4gCjAwMDAwMDMwODMgMDAwMDAgbiAKMDAwMDAwMzIxMiAwMDAwMCBuIAowMDAw
+ MDEwMTkwIDAwMDAwIG4gCjAwMDAwMTAyMTEgMDAwMDAgbiAKMDAwMDAxMDQzNiAwMDAw
+ MCBuIAowMDAwMDEwODQxIDAwMDAwIG4gCjAwMDAwMTA4OTMgMDAwMDAgbiAKdHJhaWxl
+ cgo8PCAvU2l6ZSAyNSAvUm9vdCAxNSAwIFIgL0luZm8gMSAwIFIgL0lEIFsgPDdjMTQz
+ MjQ4ODFlODBiODg4NjQxZWM4YzcyYWFkZTVjPgo8N2MxNDMyNDg4MWU4MGI4ODg2NDFl
+ YzhjNzJhYWRlNWM+IF0gPj4Kc3RhcnR4cmVmCjExMDEwCiUlRU9GCjEgMCBvYmoKPDwv
+ QXV0aG9yIChLYXp1a2kgQUtBTUlORSkvQ3JlYXRpb25EYXRlIChEOjIwMTIwMjA3MTUw
+ MDAwWikvQ3JlYXRvciAoT21uaUdyYWZmbGUgNS4yLjMpL01vZERhdGUgKEQ6MjAxMjAy
+ MDcxNTEyMDBaKS9Qcm9kdWNlciAyMyAwIFIgL1RpdGxlIChyZW1vdGVfZGF0YXNlZ21l
+ bnQpPj4KZW5kb2JqCnhyZWYKMSAxCjAwMDAwMTE2NjggMDAwMDAgbiAKdHJhaWxlcgo8
+ PC9JRCBbPDdjMTQzMjQ4ODFlODBiODg4NjQxZWM4YzcyYWFkZTVjPiA8N2MxNDMyNDg4
+ MWU4MGI4ODg2NDFlYzhjNzJhYWRlNWM+XSAvSW5mbyAxIDAgUiAvUHJldiAxMTAxMCAv
+ Um9vdCAxNSAwIFIgL1NpemUgMjU+PgpzdGFydHhyZWYKMTE4NDUKJSVFT0YK
+
+ QuickLookThumbnail
+
+ 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
+ wGw=
+
+ ReadOnly
+ NO
+ RowAlign
+ 1
+ RowSpacing
+ 36
+ SheetTitle
+ キャンバス 1
+ SmartAlignmentGuidesActive
+ YES
+ SmartDistanceGuidesActive
+ YES
+ UniqueID
+ 1
+ UseEntirePage
+
+ VPages
+ 1
+ WindowInfo
+
+ CurrentSheet
+ 0
+ ExpandedCanvases
+
+ Frame
+ {{128, 121}, {693, 937}}
+ ListView
+
+ OutlineWidth
+ 142
+ RightSidebar
+
+ ShowRuler
+
+ Sidebar
+
+ SidebarWidth
+ 120
+ VisibleRegion
+ {{0, 0}, {558, 783}}
+ Zoom
+ 1
+ ZoomValues
+
+
+ キャンバス 1
+ 1
+ 1
+
+
+
+ saveQuickLookFiles
+ YES
+
+
diff -r 86eb165b4b91 -r e17bc730af1a paper/omni/take.graffle
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/omni/take.graffle Tue Apr 02 20:02:48 2013 +0900
@@ -0,0 +1,1437 @@
+
+
+
+
+ ActiveLayerIndex
+ 0
+ ApplicationVersion
+
+ com.omnigroup.OmniGraffle
+ 138.17.0.133677
+
+ AutoAdjust
+
+ BackgroundGraphic
+
+ Bounds
+ {{0, 0}, {559, 783}}
+ Class
+ SolidGraphic
+ ID
+ 2
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+
+ CanvasOrigin
+ {0, 0}
+ ColumnAlign
+ 1
+ ColumnSpacing
+ 36
+ CreationDate
+ 2012-02-07 13:36:21 +0900
+ Creator
+ Kazuki AKAMINE
+ DisplayScale
+ 1 0/72 in = 1 0/72 in
+ GraphDocumentVersion
+ 6
+ GraphicsList
+
+
+ AllowLabelDrop
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 123
+
+ ID
+ 171
+ Points
+
+ {193.379, 233}
+ {297, 184.25}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ HeadScale
+ 1.4285709857940674
+ TailArrow
+ 0
+ TailScale
+ 0.5
+
+
+ Tail
+
+ ID
+ 170
+
+
+
+ Bounds
+ {{155, 233}, {47, 14}}
+ Class
+ ShapedGraphic
+ FitText
+ YES
+ Flow
+ Resize
+ ID
+ 170
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+ Text
+
+ Pad
+ 0
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 dequeue}
+ VerticalPad
+ 0
+
+ Wrap
+ NO
+
+
+ Bounds
+ {{304, 233}, {27, 14}}
+ Class
+ ShapedGraphic
+ FitText
+ YES
+ Flow
+ Resize
+ ID
+ 149
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+ Text
+
+ Pad
+ 0
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 reply}
+ VerticalPad
+ 0
+
+ Wrap
+ NO
+
+
+ AllowLabelDrop
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 147
+ Info
+ 3
+
+ ID
+ 148
+ Points
+
+ {322, 198.25}
+ {271.982, 282.5}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ HeadScale
+ 1.4285709857940674
+ TailArrow
+ 0
+ TailScale
+ 0.5
+
+
+ Tail
+
+ ID
+ 123
+ Info
+ 1
+
+
+
+ Bounds
+ {{221.982, 268.5}, {50, 28}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 147
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 dataA}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{221.982, 254.5}, {50, 14}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 146
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 1}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{225.982, 233}, {43, 14}}
+ Class
+ ShapedGraphic
+ FitText
+ YES
+ Flow
+ Resize
+ ID
+ 145
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+ Text
+
+ Pad
+ 0
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 receiver}
+ VerticalPad
+ 0
+
+ Wrap
+ NO
+
+
+ Bounds
+ {{213.491, 247}, {66.9815, 57}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ HiraKakuProN-W3
+ Size
+ 12
+
+ ID
+ 144
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{147, 170.25}, {50, 28}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 143
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 dataD}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{147, 156.25}, {50, 14}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 142
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 4}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{197, 170.25}, {50, 28}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 141
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 dataC}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{197, 156.25}, {50, 14}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 140
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 3}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{247, 170.25}, {50, 28}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 139
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 dataB}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{247, 156.25}, {50, 14}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 138
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 2}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{297, 170.25}, {50, 28}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 123
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Pattern
+ 1
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 dataA}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{297, 156.25}, {50, 14}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 122
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Pattern
+ 1
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 1}
+ VerticalPad
+ 0
+
+
+
+ AllowLabelDrop
+
+ Class
+ LineGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 118
+ Points
+
+ {140.963, 201.5}
+ {353, 201.5}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ 0
+ HeadScale
+ 1.4285709857940674
+ TailArrow
+ 0
+ TailScale
+ 0.5
+
+
+
+
+ AllowLabelDrop
+
+ Class
+ LineGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 121
+ Points
+
+ {140.963, 152}
+ {353, 152}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ 0
+ HeadScale
+ 1.4285709857940674
+ TailArrow
+ 0
+ TailScale
+ 0.5
+
+
+
+
+ Bounds
+ {{143.463, 102}, {128, 14}}
+ Class
+ ShapedGraphic
+ FitText
+ YES
+ Flow
+ Resize
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 119
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+ Text
+
+ Pad
+ 0
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 take(recever, "key1", 0);}
+ VerticalPad
+ 0
+
+ Wrap
+ NO
+
+
+ Bounds
+ {{229.982, 120.75}, {34, 14}}
+ Class
+ ShapedGraphic
+ FitText
+ YES
+ Flow
+ Resize
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 120
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+ Text
+
+ Pad
+ 0
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 "key1"}
+ VerticalPad
+ 0
+
+ Wrap
+ NO
+
+
+ Bounds
+ {{130.963, 120}, {233.037, 103}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 117
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ CornerRadius
+ 10
+
+
+ Text
+
+ VerticalPad
+ 0
+
+
+
+ GridInfo
+
+ GuidesLocked
+ NO
+ GuidesVisible
+ YES
+ HPages
+ 1
+ ImageCounter
+ 1
+ KeepToScale
+
+ Layers
+
+
+ Lock
+ NO
+ Name
+ レイヤー 1
+ Print
+ YES
+ View
+ YES
+
+
+ LayoutInfo
+
+ Animate
+ NO
+ circoMinDist
+ 18
+ circoSeparation
+ 0.0
+ layoutEngine
+ dot
+ neatoSeparation
+ 0.0
+ twopiSeparation
+ 0.0
+
+ LinksVisible
+ NO
+ MagnetsVisible
+ NO
+ MasterSheets
+
+ ModificationDate
+ 2012-02-07 14:33:47 +0900
+ Modifier
+ Kazuki AKAMINE
+ NotesVisible
+ NO
+ Orientation
+ 2
+ OriginVisible
+ NO
+ PageBreaks
+ YES
+ PrintInfo
+
+ NSBottomMargin
+
+ float
+ 41
+
+ NSLeftMargin
+
+ float
+ 18
+
+ NSPaperSize
+
+ size
+ {595, 842}
+
+ NSRightMargin
+
+ float
+ 18
+
+ NSTopMargin
+
+ float
+ 18
+
+
+ PrintOnePage
+
+ QuickLookPreview
+
+ JVBERi0xLjMKJcTl8uXrp/Og0MTGCjUgMCBvYmoKPDwgL0xlbmd0aCA2IDAgUiAvRmls
+ dGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAGtV01vGzcQvfNXDHKSgZohh9/oqXHb
+ g2+BBfTg5GDINlrXLmo7KZB/3zfcL652JcVFbQgiV5ydxzePM8Nn+kjPZPAfQqGUHb3c
+ 0W/0F72/eLW0eyVb/193dG50IPk0C+/JeqNLdEwxOvVELngZ0SNGRQfmUqcu4nHI8iBT
+ N3G0q6OQjKzGghC99inxaKpCNPWN8r2bXMn0kawL2nvjYGcw6WGML5mewMFOzaaHJ/Ay
+ vCkG2UYz7eDjTb1f2We7fUD8ff7giUAQXeLz0PF5cVWpNnR1Qc/K1sm5fAnxu6fJ2rKh
+ jk0ZNWzKVMiyPJAlE2dUxybbyj2esR3oHgLB7Cqb8t2wKdOGTUwnssaXjDSIg4Ykmc5+
+ m00a2vG8ZXOEP7IpGxvZlMmMTTyAuq4gVuiSRZeGoMlnUCvaBYfsoy7ZBugsaA7C5oct
+ aOp/Z6zBAgdZklfbJ3r/q9XwSNt7uqbNuz/vzkThTJtvdhi9O6PPtL2kX7b1kEyuTNIe
+ wY/Jq6Wb6HRka+CGFm6+nOEEwcfN4GJy+2nzcnemOgi7Ecw/4+jlNJjlnll7cBp5bcs/
+ 9Fio/16nYH+VGTB+OvvxAKJ9NZMNXMUMqWD0WMPYRK6uFyL78BMbizQj8nf9uLNZpCQu
+ iaJlnZCURD2Su+7VNZj3iJyh21YgIyyxsiGKSEarY8pyjOxmC7ysRNtp52KB6/1obyCj
+ 7UOnnVXgIfseOGclwA+DTRBNBYvsiZWnwIaSJ7BGG2OYtji07VkIOqYSlyLd3N58uflp
+ Dl21ZYD9Cud0fYRuGLR0y16P7YBRATq6l3o+n9GtmjO84TnmWekSzC3dVScLuiW6stK+
+ gW4B29Hdg+3oVm+i+8MR6HZP4oeVIitbnk8phf+brN0JsC3PJ8C+hWeA/R5ZR22sSSun
+ UWR9MYc+k7VdlfV+lpIgy8o9ntUxPdvv1nNXk9AWoCZt/BzsTM8CoeV5Xc8AqyrYN/As
+ YFf0jPShZunjKM8/H4GOhkH7YjL5JK1hLdlwmQ5LZbSomWeyOKlvjyqdbaTg3UriZovM
+ XfJSKugGUIn7ZmCqxH90j9TmQEle5nh4qA1JsB7lzBdd8JeHMrXa//Fgw2HF5pjKxvYn
+ 4BX/Y6EaAPkc200cLVmDDUe0oNPGDxWvqQ+eNmHkotH1Vm8oYEoOzl4BWzvCUtEtiiSK
+ KlJ+QrXMIWOAjtAVKx2Kqo1mvQBJf1mbTeR6XRBMdA2srXNZjDNarIRmLxg0CMmJMaeg
+ rTEQHgJvfc7qEReDNet7vPgSn4dFLZK9jxacjc4RXdyTGv1xcpoZBbzxJ3zngHM68zdZ
+ t2VX7ffPziZQjrPS0z477g5NBDayaHK6s9J3rX8Ph+ZxGHw70CFaUN76GkM8SzKMYo8s
+ t3C6ub17/nr3FWd06K+GO9Z+rGtTWfCalAuxczVgHreAEshmHEj2NdrdtWIv2gXXiIxE
+ FUrSxVvG/YOz0xZXjFCQhoKr5ONcpIhhwPugqY77fVs4bmI9Cb7pSXtvNgdtAqievFm4
+ MD5WaQ3eLHaVDXfKGrw1tpIqPv4LTzhMDwplbmRzdHJlYW0KZW5kb2JqCjYgMCBvYmoK
+ MTE3MQplbmRvYmoKMyAwIG9iago8PCAvVHlwZSAvUGFnZSAvUGFyZW50IDQgMCBSIC9S
+ ZXNvdXJjZXMgNyAwIFIgL0NvbnRlbnRzIDUgMCBSIC9NZWRpYUJveCBbMCAwIDU1OSA3
+ ODNdCj4+CmVuZG9iago3IDAgb2JqCjw8IC9Qcm9jU2V0IFsgL1BERiAvVGV4dCBdIC9D
+ b2xvclNwYWNlIDw8IC9DczIgOSAwIFIgL0NzMSA4IDAgUiA+PiAvRm9udCA8PAovRjEu
+ MCAxMCAwIFIgPj4gPj4KZW5kb2JqCjExIDAgb2JqCjw8IC9MZW5ndGggMTIgMCBSIC9O
+ IDEgL0FsdGVybmF0ZSAvRGV2aWNlR3JheSAvRmlsdGVyIC9GbGF0ZURlY29kZSA+Pgpz
+ dHJlYW0KeAGFUk9IFFEc/s02EoSIQYV4iHcKCZUprKyg2nZ1WZVtW5XSohhn37qjszPT
+ m9k1xZMEXaI8dQ+iY3Ts0KGbl6LArEvXIKkgCDx16PvN7OoohG95O9/7/f1+33tEbZ2m
+ 7zspQVRzQ5UrpaduTk2Lgx8pRR3UTlimFfjpYnGMseu5kr+719Zn0tiy3se1dvv2PbWV
+ ZWAh6i22txD6IZFmAB+ZnyhlgLPAHZav2D4BPFgOrBrwI6IDD5q5MNPRnHSlsi2RU+ai
+ KCqvYjtJrvv5uca+i7WJg/5cj2bWjr2z6qrRTNS090ShvA+uRBnPX1T2bDUUpw3jnEhD
+ GinyrtXfK0zHEZErEEoGUjVkuZ9qTp114HUYu126k+P49hClPslgqIm16bKZHYV9AHYq
+ y+wQ8AXo8bJiD+eBe2H/W1HDk8AnYT9kh3nWrR/2F65T4HuEPTXgzhSuxfHaih9eLQFD
+ 91QjaIxzTcTT1zlzpIjvMdQZmPdGOaYLMXeWqhM3gDthH1mqZgqxXfuu6iXuewJ30+M7
+ 0Zs5C1ygHElysRXZFNA8CVgUfYuwSQ48Ps4eVeB3qJjAHLmJ3M0o9x7VERtno1KBVnqN
+ V8ZP47nxxfhlbBjPgH6sdtd7fP/p4xV117Y+PPmNetw5rr2dG1VhVnFlC93/xzKEj9kn
+ OabB06FZWGvYduQPmsxMsAwoxH8FPpf6khNV3NXu7bhFEsxQPixsJbpLVG4p1Oo9g0qs
+ HCvYAHZwksQsWhy4U2u6OXh32CJ6bflNV7Lrhv769nr72vIebcqoKSgTzbNEZpSxW6Pk
+ 3Xjb/WaREZ84Or7nvYpayf5JRRA/hTlaKvIUVfRWUNbEb2cOfhu2flw/pef1Qf08CT2t
+ n9Gv6KMRvgx0Sc/Cc1Efo0nwsGkh4hKgioMz1E5UY40D4inx8rRbZJH9D0AZ/WYKZW5k
+ c3RyZWFtCmVuZG9iagoxMiAwIG9iago3MDQKZW5kb2JqCjkgMCBvYmoKWyAvSUNDQmFz
+ ZWQgMTEgMCBSIF0KZW5kb2JqCjEzIDAgb2JqCjw8IC9MZW5ndGggMTQgMCBSIC9OIDMg
+ L0FsdGVybmF0ZSAvRGV2aWNlUkdCIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVh
+ bQp4AYVUz2sTQRT+Nm6p0CIIWmsOsniQIklZq2hF1Db9EWJrDNsftkWQZDNJ1m426+4m
+ taWI5OLRKt5F7aEH/4AeevBkL0qFWkUo3qsoYqEXLfHNbky2perAzn7z3jfvfW923wAN
+ ctI09YAE5A3HUqIRaWx8Qmr8iACOoglBNCVV2+xOJAZBg3P5e+fYeg+BW1bDe/t3snet
+ mtK2mgeE/UDgR5rZKrDvF3EKWRICiDzfoSnHdAjf49jy7I85Tnl4wbUPKz3EWSJ8QDUt
+ zn9NuFPNJdNAg0g4lPVxUj6c14uU1x0HaW5mxsgQvU+QprvM7qtioZxO9g6QvZ30fk6z
+ 3j7CIcILGa0/RriNnvWM1T/iYeGk5sSGPRwYNfT4YBW3Gqn4NcIUXxBNJ6JUcdkuDfGY
+ rv1W8kqCcJA4ymRhgHNaSE/XTG74uocFfSbXE6/id1ZR4XmPE2fe1N3vRdoCrzAOHQwa
+ DJoNSFAQRQRhmLBQQIY8GjE0snI/I6sGG5N7MnUkart0YkSxQXs23D23UaTdPP4oInGU
+ Q7UIkvxB/iqvyU/lefnLXLDYVveUrZuauvLgO8XlmbkaHtfTyONzTV58ldR2k1dHlqx5
+ erya7Bo/7FeXMeaCNY/Ec7D78S1flcyXKYwUxeNV8+pLhHVaMTffn2x/Oz3iLs8utdZz
+ rYmLN1abl2f9akj77qq8k+ZV+U9e9fH8Z83EY+IpMSZ2iuchiZfFLvGS2EurC+JgbccI
+ nZWGKdJtkfok1WBgmrz1L10/W3i9Rn8M9VGUGczSVIn3f8IqZDSduQ5v+o/bx/wX5PeK
+ 558oAi9s4MiZum1Tce8QoWWlbnOuAhe/0X3wtm5ro344/ARYPKsWrVI1nyC8ARx2h3oe
+ 6CmY05aWzTlShyyfk7rpymJSzFDbQ1JS1yXXZUsWs5lVYul22JnTHW4coTlC98SnSmWT
+ +q/xEbD9sFL5+axS2X5OGtaBl/pvwLz9RQplbmRzdHJlYW0KZW5kb2JqCjE0IDAgb2Jq
+ CjczNwplbmRvYmoKOCAwIG9iagpbIC9JQ0NCYXNlZCAxMyAwIFIgXQplbmRvYmoKNCAw
+ IG9iago8PCAvVHlwZSAvUGFnZXMgL01lZGlhQm94IFswIDAgNjEyIDc5Ml0gL0NvdW50
+ IDEgL0tpZHMgWyAzIDAgUiBdID4+CmVuZG9iagoxNSAwIG9iago8PCAvVHlwZSAvQ2F0
+ YWxvZyAvT3V0bGluZXMgMiAwIFIgL1BhZ2VzIDQgMCBSID4+CmVuZG9iagoyIDAgb2Jq
+ Cjw8IC9MYXN0IDE2IDAgUiAvRmlyc3QgMTcgMCBSID4+CmVuZG9iagoxNyAwIG9iago8
+ PCAvUGFyZW50IDE4IDAgUiAvQ291bnQgMCAvRGVzdCBbIDMgMCBSIC9YWVogMCA3ODMg
+ MCBdIC9UaXRsZSAo/v8wrTDjMPMw0DC5XDAwMCBcMDAwMSkKPj4KZW5kb2JqCjE4IDAg
+ b2JqCjw8ID4+CmVuZG9iagoxNiAwIG9iago8PCAvUGFyZW50IDE4IDAgUiAvQ291bnQg
+ MCAvRGVzdCBbIDMgMCBSIC9YWVogMCA3ODMgMCBdIC9UaXRsZSAo/v8wrTDjMPMw0DC5
+ XDAwMCBcMDAwMSkKPj4KZW5kb2JqCjE5IDAgb2JqCjw8IC9MZW5ndGggMjAgMCBSIC9M
+ ZW5ndGgxIDExOTA4IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4Ab16CXRU
+ RfZ3Vb21l3Re70t6Tae709n3hUTyCNlYgpCoJJFAEgg7sghBGGGCgkhAXJBlcMVx2JEm
+ RG1AHHRAdMYFF1AZdXQEx7/HfM7Mh46DdPd33+sQId/MHP/neKZf36q6VfXq3frVrXur
+ 6r3Fi5Z0ogTUjSg0vqV9wXQk/zJSESKTps5rXxDn9RkQvz61a7E7zjNQTs2dvmDGvDjP
+ P4yQ0jFj7rKB+w0lCJnnzuxsnxYvR1cgLpoJGXEeF0CcMnPe4jvivK4P4jvmzp86UK7/
+ Hvjh89rvGHg++gh4923t8zrj9TNoiFMWzL99cZxPfxritgWLOgfq4yaQ7y2EIdeJ5iMF
+ moM4RJAAVytC3JdKB6KhVCqH37QM1aYpieXfIi0v81Pq75fjVzwvnPu+80pA9SD/T8hQ
+ XK0vxWwwGkRIjaG8X/XgYIl8HwTOMGpMD6NRQBVAhUDp6SMsqBvvRA8APQlEoVl4PVoG
+ tA7oV0D0YGoPcEfw+l6aF4/iZciGR4sq2nWTweqyKFWud8KY7Xvc9aHl82PYCqP3Gbb2
+ JiDFCCV+Ej+BpiEX/g3y4eWoDqXi7YeDc11tULQHLQDqBqLkEOM9vc4814s4A/loDPf4
+ kZPGz7n+kpvpupgbJrjX9XIgTEP0khM4MdF1wvG467eOGa4XgfbFi/YGocZzrj2Oua5N
+ zjDe3ut6yBHGcM+D8WiJA259zjUvuMU1LVcuH7slTPb1ukqh/BZR5Soq8bgKHRdc2YEw
+ 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
+ KUc8xLh1YW7OQiztpvNZisDBCayMA/KRTlExnPYBEhTlOe2/u6Py0e5H/UFndpqQly0w
+ wzXRxa9jF6azZ0QfjH79THR6H8s/ncB6LPzDKfQ4gOsuyT7Kv1gnfA/1r36wywYPw4D2
+ qeWTEoN8+m+GfSmsopAfBVAVqpG/uhoL3yPdCF9x3QTfVk1ETagZ3gBIPwxvD6T3GNLb
+ CnibMGbEiNGjWtLrOud2dS6eNbVdriEXQ9ANtAFIOpzeD/QCkOTNpeXC10BXoDk1kB0o
+ A6gcaCzQJKC5QHcCbQB6FGg/0AtArwN9BPQ10BXosBrIDpQBVA40Njbwg/bRYBqDt7ie
+ Tx7Cw3fK19WHb3av46H96/icIXzuED5vCJ8/hIeztOvak74GvFbeEUP4yiG85PGvrV81
+ hJdG4tryqUP4aUN4WV+uwWvWkPI5Q/i5Q/gFQ/iFQ/hFQ/jFQ/glQ/iuIfwyif9/Mgos
+ rwplbmRzdHJlYW0KZW5kb2JqCjIwIDAgb2JqCjc4NjIKZW5kb2JqCjIxIDAgb2JqCjw8
+ IC9UeXBlIC9Gb250RGVzY3JpcHRvciAvQXNjZW50IDc3MCAvQ2FwSGVpZ2h0IDY4NCAv
+ RGVzY2VudCAtMjMwIC9GbGFncyAzMgovRm9udEJCb3ggWy05NTEgLTQ4MSAxNDQ1IDEx
+ MjJdIC9Gb250TmFtZSAvS0FBSklaK0hlbHZldGljYSAvSXRhbGljQW5nbGUgMAovU3Rl
+ bVYgMCAvTWF4V2lkdGggMTUwMCAvWEhlaWdodCA1MTMgL0ZvbnRGaWxlMiAxOSAwIFIg
+ Pj4KZW5kb2JqCjIyIDAgb2JqClsgMjc4IDAgMzU1IDAgMCAwIDAgMCAzMzMgMzMzIDAg
+ MCAyNzggMCAwIDAgNTU2IDU1NiA1NTYgNTU2IDU1NiAwIDAgMCAwIDAKMCAyNzggMCAw
+ IDAgMCAwIDY2NyA2NjcgNzIyIDcyMiAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAg
+ MCAwIDAgMCAwIDAgMAowIDAgMCAwIDAgMCAwIDU1NiAwIDUwMCA1NTYgNTU2IDAgMCAw
+ IDIyMiAwIDUwMCAyMjIgMCAwIDAgNTU2IDU1NiAzMzMgMCAyNzgKNTU2IDUwMCAwIDAg
+ NTAwIF0KZW5kb2JqCjEwIDAgb2JqCjw8IC9UeXBlIC9Gb250IC9TdWJ0eXBlIC9UcnVl
+ VHlwZSAvQmFzZUZvbnQgL0tBQUpJWitIZWx2ZXRpY2EgL0ZvbnREZXNjcmlwdG9yCjIx
+ IDAgUiAvV2lkdGhzIDIyIDAgUiAvRmlyc3RDaGFyIDMyIC9MYXN0Q2hhciAxMjEgL0Vu
+ Y29kaW5nIC9NYWNSb21hbkVuY29kaW5nCj4+CmVuZG9iagoyMyAwIG9iagooTWFjIE9T
+ IFggMTAuNi44IFF1YXJ0eiBQREZDb250ZXh0KQplbmRvYmoKMjQgMCBvYmoKKEQ6MjAx
+ MjAyMDcwNTMzNTNaMDAnMDAnKQplbmRvYmoKMSAwIG9iago8PCAvUHJvZHVjZXIgMjMg
+ MCBSIC9DcmVhdGlvbkRhdGUgMjQgMCBSIC9Nb2REYXRlIDI0IDAgUiA+PgplbmRvYmoK
+ eHJlZgowIDI1CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAxMjQyMCAwMDAwMCBuIAow
+ MDAwMDAzNDEwIDAwMDAwIG4gCjAwMDAwMDEyODcgMDAwMDAgbiAKMDAwMDAwMzI2MSAw
+ MDAwMCBuIAowMDAwMDAwMDIyIDAwMDAwIG4gCjAwMDAwMDEyNjcgMDAwMDAgbiAKMDAw
+ MDAwMTM5MSAwMDAwMCBuIAowMDAwMDAzMjI1IDAwMDAwIG4gCjAwMDAwMDIzMjkgMDAw
+ MDAgbiAKMDAwMDAxMjE1MSAwMDAwMCBuIAowMDAwMDAxNTAxIDAwMDAwIG4gCjAwMDAw
+ MDIzMDkgMDAwMDAgbiAKMDAwMDAwMjM2NSAwMDAwMCBuIAowMDAwMDAzMjA1IDAwMDAw
+ IG4gCjAwMDAwMDMzNDQgMDAwMDAgbiAKMDAwMDAwMzU4NyAwMDAwMCBuIAowMDAwMDAz
+ NDU4IDAwMDAwIG4gCjAwMDAwMDM1NjUgMDAwMDAgbiAKMDAwMDAwMzY5NCAwMDAwMCBu
+ IAowMDAwMDExNjQ3IDAwMDAwIG4gCjAwMDAwMTE2NjggMDAwMDAgbiAKMDAwMDAxMTg5
+ MyAwMDAwMCBuIAowMDAwMDEyMzI2IDAwMDAwIG4gCjAwMDAwMTIzNzggMDAwMDAgbiAK
+ dHJhaWxlcgo8PCAvU2l6ZSAyNSAvUm9vdCAxNSAwIFIgL0luZm8gMSAwIFIgL0lEIFsg
+ PGIyYjdhN2QyOTUxM2NlNWM0OWI1OWU1OWYxMDZlODNhPgo8YjJiN2E3ZDI5NTEzY2U1
+ YzQ5YjU5ZTU5ZjEwNmU4M2E+IF0gPj4Kc3RhcnR4cmVmCjEyNDk1CiUlRU9GCjEgMCBv
+ YmoKPDwvQXV0aG9yIChLYXp1a2kgQUtBTUlORSkvQ3JlYXRpb25EYXRlIChEOjIwMTIw
+ MjA3MDQzNjAwWikvQ3JlYXRvciAoT21uaUdyYWZmbGUgNS4yLjMpL01vZERhdGUgKEQ6
+ MjAxMjAyMDcwNTMzMDBaKS9Qcm9kdWNlciAyMyAwIFIgL1RpdGxlICh0YWtlKT4+CmVu
+ ZG9iagp4cmVmCjEgMQowMDAwMDEzMTUzIDAwMDAwIG4gCnRyYWlsZXIKPDwvSUQgWzxi
+ MmI3YTdkMjk1MTNjZTVjNDliNTllNTlmMTA2ZTgzYT4gPGIyYjdhN2QyOTUxM2NlNWM0
+ OWI1OWU1OWYxMDZlODNhPl0gL0luZm8gMSAwIFIgL1ByZXYgMTI0OTUgL1Jvb3QgMTUg
+ MCBSIC9TaXplIDI1Pj4Kc3RhcnR4cmVmCjEzMzE2CiUlRU9GCg==
+
+ QuickLookThumbnail
+
+ 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
+
+ ReadOnly
+ NO
+ RowAlign
+ 1
+ RowSpacing
+ 36
+ SheetTitle
+ キャンバス 1
+ SmartAlignmentGuidesActive
+ YES
+ SmartDistanceGuidesActive
+ YES
+ UniqueID
+ 1
+ UseEntirePage
+
+ VPages
+ 1
+ WindowInfo
+
+ CurrentSheet
+ 0
+ ExpandedCanvases
+
+ Frame
+ {{68, 181}, {693, 937}}
+ ListView
+
+ OutlineWidth
+ 142
+ RightSidebar
+
+ ShowRuler
+
+ Sidebar
+
+ SidebarWidth
+ 120
+ VisibleRegion
+ {{0, 0}, {558, 783}}
+ Zoom
+ 1
+ ZoomValues
+
+
+ キャンバス 1
+ 1
+ 4
+
+
+
+ saveQuickLookFiles
+ YES
+
+
diff -r 86eb165b4b91 -r e17bc730af1a paper/omni/update.graffle
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/omni/update.graffle Tue Apr 02 20:02:48 2013 +0900
@@ -0,0 +1,1244 @@
+
+
+
+
+ ActiveLayerIndex
+ 0
+ ApplicationVersion
+
+ com.omnigroup.OmniGrafflePro
+ 139.16.0.171715
+
+ AutoAdjust
+
+ BackgroundGraphic
+
+ Bounds
+ {{0, 0}, {558.99997329711914, 783}}
+ Class
+ SolidGraphic
+ ID
+ 2
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+
+ BaseZoom
+ 0
+ CanvasOrigin
+ {0, 0}
+ ColumnAlign
+ 1
+ ColumnSpacing
+ 36
+ CreationDate
+ 2012-02-07 04:36:21 +0000
+ Creator
+ Kazuki AKAMINE
+ DisplayScale
+ 1 0/72 in = 1.0000 in
+ GraphDocumentVersion
+ 8
+ GraphicsList
+
+
+ AllowLabelDrop
+
+ Class
+ LineGraphic
+ ID
+ 137
+ Points
+
+ {409.67948780487808, 232}
+ {427.73099999999999, 198}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ HeadScale
+ 1.4285709857940674
+ Legacy
+
+ TailArrow
+ 0
+ TailScale
+ 0.5
+
+
+ Tail
+
+ ID
+ 136
+
+
+
+ Bounds
+ {{382.46300000000002, 232}, {47, 14}}
+ Class
+ ShapedGraphic
+ FitText
+ YES
+ Flow
+ Resize
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 136
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+ Text
+
+ Pad
+ 0
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 dequeue}
+ VerticalPad
+ 0
+
+ Wrap
+ NO
+
+
+ AllowLabelDrop
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 126
+
+ ID
+ 125
+ Points
+
+ {351.53658536585368, 232}
+ {376, 198}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ HeadScale
+ 1.4285709857940674
+ Legacy
+
+ TailArrow
+ 0
+ TailScale
+ 0.5
+
+
+ Tail
+
+ ID
+ 132
+
+
+
+ Bounds
+ {{351, 170}, {50, 28}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 126
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 dataB}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{351, 156}, {50, 14}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 127
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 2}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{401, 170}, {50, 28}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 128
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Pattern
+ 1
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 dataA}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{401, 156}, {50, 14}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 129
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Pattern
+ 1
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 1}
+ VerticalPad
+ 0
+
+
+
+ AllowLabelDrop
+
+ Class
+ LineGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 130
+ Points
+
+ {323, 201.5}
+ {456, 201.5}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ 0
+ HeadScale
+ 1.4285709857940674
+ Legacy
+
+ TailArrow
+ 0
+ TailScale
+ 0.5
+
+
+
+
+ AllowLabelDrop
+
+ Class
+ LineGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 131
+ Points
+
+ {323, 152}
+ {456, 152}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ 0
+ HeadScale
+ 1.4285709857940674
+ Legacy
+
+ TailArrow
+ 0
+ TailScale
+ 0.5
+
+
+
+
+ AllowLabelDrop
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 123
+ Info
+ 1
+
+ ID
+ 174
+ Points
+
+ {178.0338530760572, 232}
+ {243.5158138267511, 198.22366164559278}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ HeadScale
+ 1.4285709857940674
+ Legacy
+
+ TailArrow
+ 0
+ TailScale
+ 0.5
+
+
+ Tail
+
+ ID
+ 173
+
+
+
+ Bounds
+ {{218.96299999999999, 170}, {50, 28}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 123
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 dataA}
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{218.96299999999999, 156}, {50, 14}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 122
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 1}
+ VerticalPad
+ 0
+
+
+
+ AllowLabelDrop
+
+ Class
+ LineGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 66
+ Points
+
+ {297.98200000000003, 97}
+ {297.98200000000003, 252}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ 0
+ HeadScale
+ 1.4285709857940674
+ Legacy
+
+ Pattern
+ 1
+ TailArrow
+ 0
+ TailScale
+ 0.5
+
+
+
+
+ Bounds
+ {{323, 232}, {47, 14}}
+ Class
+ ShapedGraphic
+ FitText
+ YES
+ Flow
+ Resize
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 132
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+ Text
+
+ Pad
+ 0
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 enqueue}
+ VerticalPad
+ 0
+
+ Wrap
+ NO
+
+
+ Bounds
+ {{329.5, 102}, {120, 14}}
+ Class
+ ShapedGraphic
+ FitText
+ YES
+ Flow
+ Resize
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 133
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+ Text
+
+ Pad
+ 0
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 update("key1", dataB);}
+ VerticalPad
+ 0
+
+ Wrap
+ NO
+
+
+ Bounds
+ {{370.26900000000001, 120}, {34, 14}}
+ Class
+ ShapedGraphic
+ FitText
+ YES
+ Flow
+ Resize
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 134
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+ Text
+
+ Pad
+ 0
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 "key1"}
+ VerticalPad
+ 0
+
+ Wrap
+ NO
+
+
+ Bounds
+ {{313, 120}, {148.53700000000001, 103}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 135
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ CornerRadius
+ 10
+
+
+ Text
+
+ VerticalPad
+ 0
+
+
+
+ Bounds
+ {{140.96299999999999, 232}, {47, 14}}
+ Class
+ ShapedGraphic
+ FitText
+ YES
+ Flow
+ Resize
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 173
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+ Text
+
+ Pad
+ 0
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 enqueue}
+ VerticalPad
+ 0
+
+ Wrap
+ NO
+
+
+ AllowLabelDrop
+
+ Class
+ LineGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 118
+ Points
+
+ {140.96299999999999, 201.5}
+ {273.96300000000002, 201.5}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ 0
+ HeadScale
+ 1.4285709857940674
+ Legacy
+
+ TailArrow
+ 0
+ TailScale
+ 0.5
+
+
+
+
+ AllowLabelDrop
+
+ Class
+ LineGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 121
+ Points
+
+ {140.96299999999999, 152}
+ {273.96300000000002, 152}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ 0
+ HeadScale
+ 1.4285709857940674
+ Legacy
+
+ TailArrow
+ 0
+ TailScale
+ 0.5
+
+
+
+
+ Bounds
+ {{147.46299999999999, 102}, {120, 14}}
+ Class
+ ShapedGraphic
+ FitText
+ YES
+ Flow
+ Resize
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 171
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+ Text
+
+ Pad
+ 0
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 update("key1", dataA);}
+ VerticalPad
+ 0
+
+ Wrap
+ NO
+
+
+ Bounds
+ {{188.232, 120}, {34, 14}}
+ Class
+ ShapedGraphic
+ FitText
+ YES
+ Flow
+ Resize
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 120
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+ Text
+
+ Pad
+ 0
+ Text
+ {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 "key1"}
+ VerticalPad
+ 0
+
+ Wrap
+ NO
+
+
+ Bounds
+ {{130.96299999999999, 120}, {148.53700000000001, 103}}
+ Class
+ ShapedGraphic
+ FontInfo
+
+ Font
+ Helvetica
+ Size
+ 12
+
+ ID
+ 117
+ Magnets
+
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-1, 0}
+
+ Shape
+ Rectangle
+ Style
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ CornerRadius
+ 10
+
+
+ Text
+
+ VerticalPad
+ 0
+
+
+
+ GridInfo
+
+ GuidesLocked
+ NO
+ GuidesVisible
+ YES
+ HPages
+ 1
+ ImageCounter
+ 1
+ KeepToScale
+
+ Layers
+
+
+ Lock
+ NO
+ Name
+ レイヤー 1
+ Print
+ YES
+ View
+ YES
+
+
+ LayoutInfo
+
+ Animate
+ NO
+ circoMinDist
+ 18
+ circoSeparation
+ 0.0
+ layoutEngine
+ dot
+ neatoSeparation
+ 0.0
+ twopiSeparation
+ 0.0
+
+ LinksVisible
+ NO
+ MagnetsVisible
+ NO
+ MasterSheets
+
+ ModificationDate
+ 2012-02-07 04:57:12 +0000
+ Modifier
+ Kazuki AKAMINE
+ NotesVisible
+ NO
+ Orientation
+ 2
+ OriginVisible
+ NO
+ PageBreaks
+ YES
+ PrintInfo
+
+ NSBottomMargin
+
+ float
+ 41
+
+ NSHorizonalPagination
+
+ coded
+ BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG
+
+ NSLeftMargin
+
+ float
+ 18
+
+ NSPaperSize
+
+ size
+ {594.99997329711914, 842}
+
+ NSPrintReverseOrientation
+
+ int
+ 0
+
+ NSRightMargin
+
+ float
+ 18
+
+ NSTopMargin
+
+ float
+ 18
+
+
+ PrintOnePage
+
+ ReadOnly
+ NO
+ RowAlign
+ 1
+ RowSpacing
+ 36
+ SheetTitle
+ キャンバス 1
+ SmartAlignmentGuidesActive
+ YES
+ SmartDistanceGuidesActive
+ YES
+ UniqueID
+ 1
+ UseEntirePage
+
+ VPages
+ 1
+ WindowInfo
+
+ CurrentSheet
+ 0
+ ExpandedCanvases
+
+ Frame
+ {{57, 83}, {693, 937}}
+ ListView
+
+ OutlineWidth
+ 142
+ RightSidebar
+
+ ShowRuler
+
+ Sidebar
+
+ SidebarWidth
+ 120
+ VisibleRegion
+ {{0, -7}, {558, 798}}
+ Zoom
+ 1
+ ZoomValues
+
+
+ キャンバス 1
+ 1
+ 1
+
+
+
+
+
diff -r 86eb165b4b91 -r e17bc730af1a paper/problem.tex
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/problem.tex Tue Apr 02 20:02:48 2013 +0900
@@ -0,0 +1,20 @@
+\section{現状のAliceの問題点}
+Aliceを用いた例題を通して、様々な問題点が明らかになった。
+APIのシンタックス的問題、永続性の問題、実行速度の問題など解決すべき問題は多々ある。
+特に実行速度の問題では分散環境をテストする例題として作成されたRingの例題(トポロジーを円状に構成し、メッセージが1周する時間を計測する)ではシングルスレッドで実装されているFederated Lindaに実行速度で及ばない。また、並列環境をテストする例題として作成したbitonic sortの例題も期待した結果を得ることができなかった。そこで、実行速度の改善を行うために、オーバーヘッドの洗い出しを行った。その結果以下のような原因が見つかっている。
+
+{\bf HashMapの多用 }
+AliceではData Segment Managerのマネージャーキーによる探索、Data Segmentのキーによる探索などHashMapを多用している。この探索を行う際に排他制御を行うためかかる時間が多少ではあるが、オーバーヘッドになっていると予想される。
+
+
+{\bf Message Packの convert / unconvert }
+現在の実装ではputまたはupdateを呼ぶとMessage PackによりValue型へと変換が行われている。また、peek,takeで取得したData Segmentに対してCode Segment内でValue型から変換元の型への変換を行う必要がある。
+この作業もオーバーヘッドになる。また、配列の要素数が増えると変換に時間が多くかかるので、この作業はできるだけ避けたい。
+
+{\bf SEDA Architecture }
+Federated Lindaに比べて、通信のレスポンスが遅い原因にはSEDA Architectureが挙げられる。SEDA とはマルチコアスレッドを用いて大量の接続を管理し、受け取ったデータを処理ごとに分けられたステージと呼ばれるスレッドに投げ、処理が終わると次のステージにデータを伝搬させて行く処理方式である。しかし、SEDAはスループット重視の実装であり、レスポンス重視ではない。逆に多段のパイプラインのせいでレスポンスは遅れてしまう。また、データを次のステージへ伝搬させる際にLinkedBlockingQueueを使用しているがenqueue時、dequeue時にロックを掛けるのでオーバーヘッドの原因と思われる。LinkedBlockingQueueは片方向の連結リストをベースとしたQueue実装である。enqueue / dequeueの操作時の排他制御にはそれぞれ別々のロックオブジェクトが使用されている。そのため、enqueueとdequeueが重なってもロック解除待ちは発生しないが、そのかわりに連結リストのNodeオブジェクトの生成操作などが発生してしまうため、enqueue操作の処理コストが高い。
+さらに、非力なマシーンではSEDAの効果を得られず、スレッドを切り替えが頻繁に起こりオーバーヘッドになってしまう。
+
+{\bf Data Segmentの再構成 }
+取得されたData Segmentに変更を行いKey Value Storeへ追加する際に、Output Data Segmentが毎回新しく作成される。そして、変更された値のコピーが行われる。
+このコピーに時間がかかっているのではないかと推測される。この無駄なコピーを無くすことで速度改善ができるのではないかと思われる。
\ No newline at end of file
diff -r 86eb165b4b91 -r e17bc730af1a paper/sigos.bib
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/sigos.bib Tue Apr 02 20:02:48 2013 +0900
@@ -0,0 +1,76 @@
+
+@misc{osmesa,
+author = "",
+title = "{The Mesa 3D Graphics Library}",
+howpublished = "\url{http://www.mesa3d.org/}"
+}
+
+@misc{sdl,
+author = "",
+title = "{Simple DirectMedia Layer}",
+howpublished = "\url{http://www.libsdl.org/}"
+}
+
+@article{akira,
+author = "{Akira KAMIZATO}",
+title = "{Cell を用いたゲームフレームワークの提案}",
+journal = "{琉球大学理工学研究科情報工学専攻 平成19年度学位論文}",
+year = 2008
+}
+
+@book{amdahl,
+author = "{Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, and Doug Lea}",
+title = "{Java Concurrency in Prac-tice}",
+publisher = "{Addison-Wesley Professional}",
+year = "2005"
+}
+
+@misc{gongo,
+author = "",
+title = "{SourceForge.JP: Project Info - Cerium Rendering Engine}",
+howpublished = "\url{https://sourceforge.jp/projects/cerium/}"
+}
+
+@misc{spurs,
+author = "{Keisuke Inoue}",
+title = "{SPU Centric Execution Model}",
+text = "SACSIS 2006",
+year = 2006
+}
+
+@misc{cell,
+author = "{Sony Corporation}",
+title = "{Cell broadband engine architecture}",
+year = 2005
+}
+
+@journal{chiaki,
+author = "{Chiaki SUGIYAMA}",
+title = "{SceneGraph と StatePattern を用いたゲームフレームワークの設計と実装}",
+journal = "{琉球大学工学部情報工学科 平成19年度卒業論文}",
+year = 2008
+}
+
+@misc{blender,
+title = "{Blender.jp - Blender Japanese Website}",
+howpublished = "\url{http://blender.jp/}"
+}
+
+@manual{libspe2,
+author = "{International Business Machines Corporation, Sony Computer Entertainment Incorporated, Toshiba Corporation}",
+title = "{SPE Runtime Management Library}",
+year = 2006
+}
+
+@article{kono,
+author = "{Shinji KONO}",
+title = "{検証を自身で表現できるハードウェア、ソフトウェア記述言語 Continuation ba sed C と、その Cell への応用}",
+journal = "{電子情報通信学会VLSI設計技術研究会}",
+year = 2008
+}
+
+@manual{mailbox,
+author = "{Sony Corporation}",
+title = "{Cell BroadbandEngine アーキテクチャ}",
+year = 2006
+}
diff -r 86eb165b4b91 -r e17bc730af1a paper/sigos.tex
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/sigos.tex Tue Apr 02 20:02:48 2013 +0900
@@ -0,0 +1,93 @@
+\documentclass[techrep]{ipsjpapers}
+\usepackage[dvipdfm]{graphicx}
+\usepackage{listings,jlisting}
+\usepackage{url}
+
+\input{dummy.tex} %% Font
+
+% ユーザが定義したマクロなど.
+\makeatletter
+
+\begin{document}
+
+% 和文表題
+\title{分散フレームワークAliceのDataSegmentの更新に関する改良}
+% 英文表題
+\etitle{}
+
+% 所属ラベルの定義
+\affilabel{1}{琉球大学理工学研究科情報工学専攻 \\Interdisciplinary information Engineering, Graduate School of Engineering and Science, University of the Ryukyus.}
+\affilabel{2}{琉球大学工学部情報工学科\\information Engineering, University of the Ryukyus.}
+
+% 和文著者名
+\author{
+ 杉本 優\affiref{1}\and
+ 河野 真治\affiref{2}
+}
+
+% 英文著者名
+\eauthor{
+ Yu SUGIMOTO\affiref{1}\and
+ Shinji KONO\affiref{2}
+}
+
+% 連絡先(投稿時に必要.製版用では無視される.)
+\contact{杉本 優\\
+ 〒903-0213 沖縄県西原町千原1番地\\
+ 琉球大学工学部情報工学科\\
+ TEL: (098)895-2221\qquad FAX: (098)895-8727\\
+ email: dimolto@cr.ie.u-ryukyu.ac.jp}
+
+% 和文概要
+\begin{abstract}
+Aliceは、データをData Segment、タスクをCode Segmentという単位に分割して記述する分散フレームワークである。Aliceを使用して水族館の例題を通して分散フレームワークとしての記述能力を確認した。一方で、bitonic sortなどの並列処理では、Data Segmentの更新のオーバーヘッドが大きいことがわかった。本論文ではこれを解決する手法としてData Segmentのflipを提案し、効果の測定を行った。
+
+\end{abstract}
+
+% 英文概要
+\begin{eabstract}
+Alice is an distributed programming framework, which uses Data Segment and Code Segment as programming units. We checked Alice has an ability to write distributed program using aquarium example.
+In bitonic sort example refined Data Segment update is slow. So We propose a new API ``flip'' to solve the problem and show its variation.
+\end{eabstract}
+% 表題などの出力
+\maketitle
+
+% 本文はここから始まる
+\lstset{%
+ frame=single,
+ stringstyle={\ttfamily},
+ commentstyle={\ttfamily},
+ identifierstyle={\ttfamily},
+ keywordstyle={\ttfamily},
+ basicstyle={\ttfamily},
+ breaklines=true,
+ xleftmargin=0zw,
+ xrightmargin=0zw,
+ framerule=.2pt,
+ columns=[l]{fullflexible},
+ numbers=left,
+ stepnumber=1,
+ numberstyle={\scriptsize},
+ numbersep=1em,
+ language={Java},
+ tabsize=4,
+ lineskip=-0.5zw,
+ morecomment={[s][]{/**}{*/}},
+}
+
+
+\input{introduction} % 研究目的
+\input{alice} % Aliceについて
+\input{problem} % 問題点
+\input{improvement} % 改善案
+\input{compare}
+\input{conclusion} % まとめ
+
+\nocite{kono}
+\nocite{libspe2}
+\bibliographystyle{ipsjunsrt}
+\bibliography{sigos}
+
+\input{bibliography} % 参考文献
+
+\end{document}
diff -r 86eb165b4b91 -r e17bc730af1a paper/source/Cerium_flip.cc
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/source/Cerium_flip.cc Tue Apr 02 20:02:48 2013 +0900
@@ -0,0 +1,5 @@
+void swap() {
+ void * tmp = readbuf;
+ readbuf = writebuf;
+ writebuf = tmp;
+}
\ No newline at end of file
diff -r 86eb165b4b91 -r e17bc730af1a paper/source/LocalDataSegmentManager.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/source/LocalDataSegmentManager.java Tue Apr 02 20:02:48 2013 +0900
@@ -0,0 +1,6 @@
+public class LocalDataSegmentManager extends DataSegmentManager {
+ public void putObject(String key, Object obj) {
+ DataSegmentKey dataSegmentKey = getDataSegmentKey(key);
+ Command cmd = new Command(CommandType.PUT, null, key, obj, 0, 0, null, null, reverseKey);
+ dataSegmentKey.runCommand(cmd);
+ }
\ No newline at end of file
diff -r 86eb165b4b91 -r e17bc730af1a paper/source/OutputDataSegment.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/source/OutputDataSegment.java Tue Apr 02 20:02:48 2013 +0900
@@ -0,0 +1,5 @@
+public class OutputDataSegment {
+ public void flip(Receiver receiver) {
+ DataSegment.getLocal().putObject(receiver.key, receiver.getObj());
+ }
+}
\ No newline at end of file
diff -r 86eb165b4b91 -r e17bc730af1a paper/source/Sort.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/source/Sort.java Tue Apr 02 20:02:48 2013 +0900
@@ -0,0 +1,14 @@
+public class SortPhase extends CodeSegment{
+ private Receiver info = ids.create(CommandType.PEEK);
+
+ public SortPhase(String key){
+ info.setKey(key);
+ }
+
+ @Override
+ public void run() {
+ DataList list1 = info.asClass(DataList.class);
+ Sort.quickSort(list1);
+ ods.flip(info);
+ }
+}
\ No newline at end of file
diff -r 86eb165b4b91 -r e17bc730af1a paper/source/Sort2.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/source/Sort2.java Tue Apr 02 20:02:48 2013 +0900
@@ -0,0 +1,14 @@
+public class SortPhase extends CodeSegment{
+ private Receiver info = ids.create(CommandType.PEEK);
+
+ public SortPhase(String key){
+ info.setKey(key);
+ }
+
+ @Override
+ public void run() {
+ DataList list1 = info.asClass(DataList.class);
+ Sort.quickSort(list1);
+ ods.put(info.key ,list1);
+ }
+}
\ No newline at end of file
diff -r 86eb165b4b91 -r e17bc730af1a paper/source/StartCodeSegment.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/source/StartCodeSegment.java Tue Apr 02 20:02:48 2013 +0900
@@ -0,0 +1,15 @@
+public class StartCodeSegment extends CodeSegment {
+
+ @Override
+ public void run() {
+ System.out.println("run StartCodeSegment");
+
+ TestCodeSegment cs = new TestCodeSegment();
+ cs.input1.setKey("local", "key1");
+
+ System.out.println("create TestCodeSegment");
+
+ ods.update("local", "key1", "String data");
+ }
+
+}
\ No newline at end of file
diff -r 86eb165b4b91 -r e17bc730af1a paper/source/TestCodeSegment.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/source/TestCodeSegment.java Tue Apr 02 20:02:48 2013 +0900
@@ -0,0 +1,14 @@
+public class TestCodeSegment extends CodeSegment {
+ Receiver input1 = ids.create(CommandType.PEEK);
+
+ @Override public void run() {
+ System.out.println("index = " + input1.index);
+ System.out.println("data = " + input1.val);
+
+ if (input1.index == 10) System.exit(0);
+
+ TestCodeSegment cs = new TestCodeSegment();
+ cs.input1.setKey("local", "key1", input1.index);
+ ods.update("local", "key1", "String data");
+ }
+}
\ No newline at end of file
diff -r 86eb165b4b91 -r e17bc730af1a paper/source/TestLocalAlice.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/source/TestLocalAlice.java Tue Apr 02 20:02:48 2013 +0900
@@ -0,0 +1,5 @@
+public class TestLocalAlice {
+ public static void main(String args[]) {
+ new StartCodeSegment().execute();
+ }
+}
diff -r 86eb165b4b91 -r e17bc730af1a problem.tex
--- a/problem.tex Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-\section{現状のAliceの問題点}
-Aliceを用いた例題を通して、様々な問題点が明らかになった。
-APIのシンタックス的問題、永続性の問題、実行速度の問題など解決すべき問題は多々ある。
-特に実行速度の問題では分散環境をテストする例題として作成されたRingの例題(トポロジーを円状に構成し、メッセージが1周する時間を計測する)ではシングルスレッドで実装されているFederated Lindaに実行速度で及ばない。また、並列環境をテストする例題として作成したbitonic sortの例題も期待した結果を得ることができなかった。そこで、実行速度の改善を行うために、オーバーヘッドの洗い出しを行った。その結果以下のような原因が見つかっている。
-
-{\bf HashMapの多用 }
-AliceではData Segment Managerのマネージャーキーによる探索、Data Segmentのキーによる探索などHashMapを多用している。この探索を行う際に排他制御を行うためかかる時間が多少ではあるが、オーバーヘッドになっていると予想される。
-
-
-{\bf Message Packの convert / unconvert }
-現在の実装ではputまたはupdateを呼ぶとMessage PackによりValue型へと変換が行われている。また、peek,takeで取得したData Segmentに対してCode Segment内でValue型から変換元の型への変換を行う必要がある。
-この作業もオーバーヘッドになる。また、配列の要素数が増えると変換に時間が多くかかるので、この作業はできるだけ避けたい。
-
-{\bf SEDA Architecture }
-Federated Lindaに比べて、通信のレスポンスが遅い原因にはSEDA Architectureが挙げられる。SEDA とはマルチコアスレッドを用いて大量の接続を管理し、受け取ったデータを処理ごとに分けられたステージと呼ばれるスレッドに投げ、処理が終わると次のステージにデータを伝搬させて行く処理方式である。しかし、SEDAはスループット重視の実装であり、レスポンス重視ではない。逆に多段のパイプラインのせいでレスポンスは遅れてしまう。また、データを次のステージへ伝搬させる際にLinkedBlockingQueueを使用しているがenqueue時、dequeue時にロックを掛けるのでオーバーヘッドの原因と思われる。LinkedBlockingQueueは片方向の連結リストをベースとしたQueue実装である。enqueue / dequeueの操作時の排他制御にはそれぞれ別々のロックオブジェクトが使用されている。そのため、enqueueとdequeueが重なってもロック解除待ちは発生しないが、そのかわりに連結リストのNodeオブジェクトの生成操作などが発生してしまうため、enqueue操作の処理コストが高い。
-さらに、非力なマシーンではSEDAの効果を得られず、スレッドを切り替えが頻繁に起こりオーバーヘッドになってしまう。
-
-{\bf Data Segmentの再構成 }
-取得されたData Segmentに変更を行いKey Value Storeへ追加する際に、Output Data Segmentが毎回新しく作成される。そして、変更された値のコピーが行われる。
-このコピーに時間がかかっているのではないかと推測される。この無駄なコピーを無くすことで速度改善ができるのではないかと思われる。
\ No newline at end of file
diff -r 86eb165b4b91 -r e17bc730af1a sigos.bib
--- a/sigos.bib Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-
-@misc{osmesa,
-author = "",
-title = "{The Mesa 3D Graphics Library}",
-howpublished = "\url{http://www.mesa3d.org/}"
-}
-
-@misc{sdl,
-author = "",
-title = "{Simple DirectMedia Layer}",
-howpublished = "\url{http://www.libsdl.org/}"
-}
-
-@article{akira,
-author = "{Akira KAMIZATO}",
-title = "{Cell を用いたゲームフレームワークの提案}",
-journal = "{琉球大学理工学研究科情報工学専攻 平成19年度学位論文}",
-year = 2008
-}
-
-@book{amdahl,
-author = "{Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, and Doug Lea}",
-title = "{Java Concurrency in Prac-tice}",
-publisher = "{Addison-Wesley Professional}",
-year = "2005"
-}
-
-@misc{gongo,
-author = "",
-title = "{SourceForge.JP: Project Info - Cerium Rendering Engine}",
-howpublished = "\url{https://sourceforge.jp/projects/cerium/}"
-}
-
-@misc{spurs,
-author = "{Keisuke Inoue}",
-title = "{SPU Centric Execution Model}",
-text = "SACSIS 2006",
-year = 2006
-}
-
-@misc{cell,
-author = "{Sony Corporation}",
-title = "{Cell broadband engine architecture}",
-year = 2005
-}
-
-@journal{chiaki,
-author = "{Chiaki SUGIYAMA}",
-title = "{SceneGraph と StatePattern を用いたゲームフレームワークの設計と実装}",
-journal = "{琉球大学工学部情報工学科 平成19年度卒業論文}",
-year = 2008
-}
-
-@misc{blender,
-title = "{Blender.jp - Blender Japanese Website}",
-howpublished = "\url{http://blender.jp/}"
-}
-
-@manual{libspe2,
-author = "{International Business Machines Corporation, Sony Computer Entertainment Incorporated, Toshiba Corporation}",
-title = "{SPE Runtime Management Library}",
-year = 2006
-}
-
-@article{kono,
-author = "{Shinji KONO}",
-title = "{検証を自身で表現できるハードウェア、ソフトウェア記述言語 Continuation ba sed C と、その Cell への応用}",
-journal = "{電子情報通信学会VLSI設計技術研究会}",
-year = 2008
-}
-
-@manual{mailbox,
-author = "{Sony Corporation}",
-title = "{Cell BroadbandEngine アーキテクチャ}",
-year = 2006
-}
diff -r 86eb165b4b91 -r e17bc730af1a sigos.tex
--- a/sigos.tex Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-\documentclass[techrep]{ipsjpapers}
-\usepackage[dvipdfm]{graphicx}
-\usepackage{listings,jlisting}
-\usepackage{url}
-
-\input{dummy.tex} %% Font
-
-% ユーザが定義したマクロなど.
-\makeatletter
-
-\begin{document}
-
-% 和文表題
-\title{分散フレームワークAliceのDataSegmentの更新に関する改良}
-% 英文表題
-\etitle{}
-
-% 所属ラベルの定義
-\affilabel{1}{琉球大学理工学研究科情報工学専攻 \\Interdisciplinary information Engineering, Graduate School of Engineering and Science, University of the Ryukyus.}
-\affilabel{2}{琉球大学工学部情報工学科\\information Engineering, University of the Ryukyus.}
-
-% 和文著者名
-\author{
- 杉本 優\affiref{1}\and
- 河野 真治\affiref{2}
-}
-
-% 英文著者名
-\eauthor{
- Yu SUGIMOTO\affiref{1}\and
- Shinji KONO\affiref{2}
-}
-
-% 連絡先(投稿時に必要.製版用では無視される.)
-\contact{杉本 優\\
- 〒903-0213 沖縄県西原町千原1番地\\
- 琉球大学工学部情報工学科\\
- TEL: (098)895-2221\qquad FAX: (098)895-8727\\
- email: dimolto@cr.ie.u-ryukyu.ac.jp}
-
-% 和文概要
-\begin{abstract}
-Aliceは、データをData Segment、タスクをCode Segmentという単位に分割して記述する分散フレームワークである。Aliceを使用して水族館の例題を通して分散フレームワークとしての記述能力を確認した。一方で、bitonic sortなどの並列処理では、Data Segmentの更新のオーバーヘッドが大きいことがわかった。本論文ではこれを解決する手法としてData Segmentのflipを提案し、効果の測定を行った。
-
-\end{abstract}
-
-% 英文概要
-\begin{eabstract}
-Alice is an distributed programming framework, which uses Data Segment and Code Segment as programming units. We checked Alice has an ability to write distributed program using aquarium example.
-In bitonic sort example refined Data Segment update is slow. So We propose a new API ``flip'' to solve the problem and show its variation.
-\end{eabstract}
-% 表題などの出力
-\maketitle
-
-% 本文はここから始まる
-\lstset{%
- frame=single,
- stringstyle={\ttfamily},
- commentstyle={\ttfamily},
- identifierstyle={\ttfamily},
- keywordstyle={\ttfamily},
- basicstyle={\ttfamily},
- breaklines=true,
- xleftmargin=0zw,
- xrightmargin=0zw,
- framerule=.2pt,
- columns=[l]{fullflexible},
- numbers=left,
- stepnumber=1,
- numberstyle={\scriptsize},
- numbersep=1em,
- language={Java},
- tabsize=4,
- lineskip=-0.5zw,
- morecomment={[s][]{/**}{*/}},
-}
-
-
-\input{introduction} % 研究目的
-\input{alice} % Aliceについて
-\input{problem} % 問題点
-\input{improvement} % 改善案
-\input{compare}
-\input{conclusion} % まとめ
-
-\nocite{kono}
-\nocite{libspe2}
-\bibliographystyle{ipsjunsrt}
-\bibliography{sigos}
-
-\input{bibliography} % 参考文献
-
-\end{document}
diff -r 86eb165b4b91 -r e17bc730af1a source/.DS_Store
Binary file source/.DS_Store has changed
diff -r 86eb165b4b91 -r e17bc730af1a source/Cerium_flip.cc
--- a/source/Cerium_flip.cc Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-void swap() {
- void * tmp = readbuf;
- readbuf = writebuf;
- writebuf = tmp;
-}
\ No newline at end of file
diff -r 86eb165b4b91 -r e17bc730af1a source/LocalDataSegmentManager.java
--- a/source/LocalDataSegmentManager.java Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-public class LocalDataSegmentManager extends DataSegmentManager {
- public void putObject(String key, Object obj) {
- DataSegmentKey dataSegmentKey = getDataSegmentKey(key);
- Command cmd = new Command(CommandType.PUT, null, key, obj, 0, 0, null, null, reverseKey);
- dataSegmentKey.runCommand(cmd);
- }
\ No newline at end of file
diff -r 86eb165b4b91 -r e17bc730af1a source/MessagePackTest.java
--- a/source/MessagePackTest.java Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-import org.msgpack.annotation.Message
-
-@Message
-public class MessagePackTest {
- public String key;
- public int val;
-}
diff -r 86eb165b4b91 -r e17bc730af1a source/OutputDataSegment.java
--- a/source/OutputDataSegment.java Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-public class OutputDataSegment {
- public void flip(Receiver receiver) {
- DataSegment.getLocal().putObject(receiver.key, receiver.getObj());
- }
-}
\ No newline at end of file
diff -r 86eb165b4b91 -r e17bc730af1a source/Sort.java
--- a/source/Sort.java Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-public class SortPhase extends CodeSegment{
- private Receiver info = ids.create(CommandType.PEEK);
-
- public SortPhase(String key){
- info.setKey(key);
- }
-
- @Override
- public void run() {
- DataList list1 = info.asClass(DataList.class);
- Sort.quickSort(list1);
- ods.flip(info);
- }
-}
\ No newline at end of file
diff -r 86eb165b4b91 -r e17bc730af1a source/Sort2.java
--- a/source/Sort2.java Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-public class SortPhase extends CodeSegment{
- private Receiver info = ids.create(CommandType.PEEK);
-
- public SortPhase(String key){
- info.setKey(key);
- }
-
- @Override
- public void run() {
- DataList list1 = info.asClass(DataList.class);
- Sort.quickSort(list1);
- ods.put(info.key ,list1);
- }
-}
\ No newline at end of file
diff -r 86eb165b4b91 -r e17bc730af1a source/StartCodeSegment.java
--- a/source/StartCodeSegment.java Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-public class StartCodeSegment extends CodeSegment {
-
- @Override
- public void run() {
- System.out.println("run StartCodeSegment");
-
- TestCodeSegment cs = new TestCodeSegment();
- cs.input1.setKey("local", "key1");
-
- System.out.println("create TestCodeSegment");
-
- ods.update("local", "key1", "String data");
- }
-
-}
\ No newline at end of file
diff -r 86eb165b4b91 -r e17bc730af1a source/TestCodeSegment.java
--- a/source/TestCodeSegment.java Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-public class TestCodeSegment extends CodeSegment {
- Receiver input1 = ids.create(CommandType.PEEK);
-
- @Override public void run() {
- System.out.println("index = " + input1.index);
- System.out.println("data = " + input1.val);
-
- if (input1.index == 10) System.exit(0);
-
- TestCodeSegment cs = new TestCodeSegment();
- cs.input1.setKey("local", "key1", input1.index);
- ods.update("local", "key1", "String data");
- }
-}
\ No newline at end of file
diff -r 86eb165b4b91 -r e17bc730af1a source/TestLocalAlice.java
--- a/source/TestLocalAlice.java Tue Apr 02 17:50:32 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-public class TestLocalAlice {
- public static void main(String args[]) {
- new StartCodeSegment().execute();
- }
-}