# 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; -% <a> do nothing at midpage -% <b> 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 "<nn>)". -% 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 <<paper-category>>} -% \vfill -% \beign{center}\LARGE\bf <Japanese title>\end{center} -% \vfill -% \begin{center}\LARGE\bf <Engilish title>\end{center} -% \vfill\vfill -% \newpage -% \large <Japanese author names> -% \vfill -% <<contact info>> -% \begin{itemize}\item[]\large <Contact address>\end{itemize} -% \vfill\vfill -% \newpage -% \normalsize <Japanese abstract> -% \normalsize <English abstract> - -\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{<A of hiragana>} 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 <Japanese title> -% \vskip 32Q -% \Large <Japanese author names> -% \vskip 32Q -% \small <Japanese abstract> -% \vskip 34Q -% \LARGE\bf <English title> -% \vskip 28Q -% \Large\sc <English author names> -% \vskip 28Q -% \small <English abstract> -% \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 -> <name-1>^* -% 2 -> <name-1>^* and~<name-2>^* -% 3 or more -> <name-1>,^* <name-2>,^* ... <name-n-1>^* and~<name-n>^* -% (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{% % <vol><year><month><page>[<lastpage>] - \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{<vertical materials>} 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\<!$K$*$1$kJ8;z$HHV9f$N6u$-(B -\let \l@lstlisting = \l@figure -% $B%-%c%W%7%g%s$H%=!<%9%3!<%IL\<!$KBP$9$kF|K\8lBP1~(B -\def\lstlistingname{$B%=!<%9%3!<%I(B} -\def\lstlistlistingname{$B%=!<%9%3!<%IL\<!(B} -% \end{$B=$@5;v9`(B} -\endinput -% -%#!platex -\documentclass[papersize]{jsarticle} -% Macros -\IfFileExists{dvipdfmx.def}{% - \usepackage[dvipdfmx]{color,graphicx}% -}{% - \usepackage[dvipdfm]{color,graphicx}% -} -\usepackage{listings}[2004/09/07] -\usepackage{jlisting}[2006/02/20] -\usepackage{url} -\usepackage{verbatim} - -\makeatletter -% Original Macros -\def\email#1{\gdef\@email{\texttt{#1}}} -\def\homepage#1{\gdef\@homepage{\texttt{#1}}} -\def\mac#1{\textsf{#1}} -\def\URL#1{\texttt{#1}} -\def\src#1{\texttt{#1}} - -% Dvipdfmx.def -\def\dvipdfmxDefi{http://tex.dante.jp/ok/dvipdfmx/} -\def\dvipdfmxDefii{http://ftp.ktug.or.kr/KTUG/dvipdfmx/contrib/latex/} - -\IfFileExists{dvipdfmx.def}{% - \let \IfDvipdfmxDef = \empty \relax}{% - \typeout{^^Jget dvipdfmx.def at \dvipdfmxDefi^^J - or \dvipdfmxDefii^^J}% - \def\IfDvipdfmxDef{Get \src{dvipdfmx.def} at \URL \dvipdfmxDefii \\ - or \URL \dvipdfmxDefi.}% -} - -% Author Info -\author {Th\'or Watanabe\thanks \@email \space \thanks \@homepage} -\title {\mac{jlisting.sty}\\ - ---Japanese Localized Patch File of \mac{listings}---} -\email {thor@tex.dante.jp} -\homepage {http://tex.dante.jp/typo/} -\date {2006/02/20} - -\makeatother - -\begin{document} -\maketitle -%\IfDvipdfmxDef - -\section{$B$A$g$C$H$7$?@bL@(B}% Short Description - -$B1|B<@2I';a$N7G<(HD$N!VHFMQE*$JIbF0BN!W$H$$$&0lO"$N=q$-9~$_$+$i(B -$BE>:\$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<sect-command> [`.' if \section] <1 Kanji sp> <title> +% 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; +% <a> do nothing at midpage +% <b> 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 "<nn>)". +% 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 <<paper-category>>} +% \vfill +% \beign{center}\LARGE\bf <Japanese title>\end{center} +% \vfill +% \begin{center}\LARGE\bf <Engilish title>\end{center} +% \vfill\vfill +% \newpage +% \large <Japanese author names> +% \vfill +% <<contact info>> +% \begin{itemize}\item[]\large <Contact address>\end{itemize} +% \vfill\vfill +% \newpage +% \normalsize <Japanese abstract> +% \normalsize <English abstract> + +\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{<A of hiragana>} 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 <Japanese title> +% \vskip 32Q +% \Large <Japanese author names> +% \vskip 32Q +% \small <Japanese abstract> +% \vskip 34Q +% \LARGE\bf <English title> +% \vskip 28Q +% \Large\sc <English author names> +% \vskip 28Q +% \small <English abstract> +% \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 -> <name-1>^* +% 2 -> <name-1>^* and~<name-2>^* +% 3 or more -> <name-1>,^* <name-2>,^* ... <name-n-1>^* and~<name-n>^* +% (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{% % <vol><year><month><page>[<lastpage>] + \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{<vertical materials>} 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\<!$K$*$1$kJ8;z$HHV9f$N6u$-(B +\let \l@lstlisting = \l@figure +% $B%-%c%W%7%g%s$H%=!<%9%3!<%IL\<!$KBP$9$kF|K\8lBP1~(B +\def\lstlistingname{$B%=!<%9%3!<%I(B} +\def\lstlistlistingname{$B%=!<%9%3!<%IL\<!(B} +% \end{$B=$@5;v9`(B} +\endinput +% +%#!platex +\documentclass[papersize]{jsarticle} +% Macros +\IfFileExists{dvipdfmx.def}{% + \usepackage[dvipdfmx]{color,graphicx}% +}{% + \usepackage[dvipdfm]{color,graphicx}% +} +\usepackage{listings}[2004/09/07] +\usepackage{jlisting}[2006/02/20] +\usepackage{url} +\usepackage{verbatim} + +\makeatletter +% Original Macros +\def\email#1{\gdef\@email{\texttt{#1}}} +\def\homepage#1{\gdef\@homepage{\texttt{#1}}} +\def\mac#1{\textsf{#1}} +\def\URL#1{\texttt{#1}} +\def\src#1{\texttt{#1}} + +% Dvipdfmx.def +\def\dvipdfmxDefi{http://tex.dante.jp/ok/dvipdfmx/} +\def\dvipdfmxDefii{http://ftp.ktug.or.kr/KTUG/dvipdfmx/contrib/latex/} + +\IfFileExists{dvipdfmx.def}{% + \let \IfDvipdfmxDef = \empty \relax}{% + \typeout{^^Jget dvipdfmx.def at \dvipdfmxDefi^^J + or \dvipdfmxDefii^^J}% + \def\IfDvipdfmxDef{Get \src{dvipdfmx.def} at \URL \dvipdfmxDefii \\ + or \URL \dvipdfmxDefi.}% +} + +% Author Info +\author {Th\'or Watanabe\thanks \@email \space \thanks \@homepage} +\title {\mac{jlisting.sty}\\ + ---Japanese Localized Patch File of \mac{listings}---} +\email {thor@tex.dante.jp} +\homepage {http://tex.dante.jp/typo/} +\date {2006/02/20} + +\makeatother + +\begin{document} +\maketitle +%\IfDvipdfmxDef + +\section{$B$A$g$C$H$7$?@bL@(B}% Short Description + +$B1|B<@2I';a$N7G<(HD$N!VHFMQE*$JIbF0BN!W$H$$$&0lO"$N=q$-9~$_$+$i(B +$BE>:\$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 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>ActiveLayerIndex</key> + <integer>0</integer> + <key>ApplicationVersion</key> + <array> + <string>com.omnigroup.OmniGrafflePro</string> + <string>139.16.0.171715</string> + </array> + <key>AutoAdjust</key> + <true/> + <key>BackgroundGraphic</key> + <dict> + <key>Bounds</key> + <string>{{0, 0}, {558.99997329711914, 783}}</string> + <key>Class</key> + <string>SolidGraphic</string> + <key>ID</key> + <integer>2</integer> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <key>BaseZoom</key> + <integer>0</integer> + <key>CanvasOrigin</key> + <string>{0, 0}</string> + <key>ColumnAlign</key> + <integer>1</integer> + <key>ColumnSpacing</key> + <real>36</real> + <key>CreationDate</key> + <string>2012-02-07 04:36:21 +0000</string> + <key>Creator</key> + <string>Kazuki AKAMINE</string> + <key>DisplayScale</key> + <string>1 0/72 in = 1.0000 in</string> + <key>GraphDocumentVersion</key> + <integer>8</integer> + <key>GraphicsList</key> + <array> + <dict> + <key>Bounds</key> + <string>{{230.88900000000001, 161}, {27, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>149</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>AllowLabelDrop</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>147</integer> + <key>Info</key> + <integer>3</integer> + </dict> + <key>ID</key> + <integer>148</integer> + <key>Points</key> + <array> + <string>{248.88900000000001, 126.25}</string> + <string>{198.87100000000001, 210.5}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>HeadScale</key> + <real>1.4285709857940674</real> + <key>Legacy</key> + <true/> + <key>TailArrow</key> + <string>0</string> + <key>TailScale</key> + <real>0.5</real> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>123</integer> + <key>Info</key> + <integer>1</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{148.87100000000001, 196.5}, {50, 28}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>147</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{148.87100000000001, 182.5}, {50, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>146</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{152.87100000000001, 161}, {43, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>145</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{140.38, 175}, {66.981499999999997, 57}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W3</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>144</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{73.888999999999996, 98.25}, {50, 28}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>143</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{73.888999999999996, 84.25}, {50, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>142</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{123.889, 98.25}, {50, 28}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>141</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{123.889, 84.25}, {50, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>140</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{173.88900000000001, 98.25}, {50, 28}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>139</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{173.88900000000001, 84.25}, {50, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>138</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{223.88900000000001, 98.25}, {50, 28}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>123</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{223.88900000000001, 84.25}, {50, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>122</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>AllowLabelDrop</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>118</integer> + <key>Points</key> + <array> + <string>{67.852000000000004, 129.5}</string> + <string>{279.88900000000001, 129.5}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>0</string> + <key>HeadScale</key> + <real>1.4285709857940674</real> + <key>Legacy</key> + <true/> + <key>TailArrow</key> + <string>0</string> + <key>TailScale</key> + <real>0.5</real> + </dict> + </dict> + </dict> + <dict> + <key>AllowLabelDrop</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>121</integer> + <key>Points</key> + <array> + <string>{67.852000000000004, 80}</string> + <string>{279.88900000000001, 80}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>0</string> + <key>HeadScale</key> + <real>1.4285709857940674</real> + <key>Legacy</key> + <true/> + <key>TailArrow</key> + <string>0</string> + <key>TailScale</key> + <real>0.5</real> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{68.852000000000004, 30}, {131, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>119</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\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);}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{156.87100000000001, 48.75}, {34, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>120</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\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"}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{57.851999999999997, 48}, {233.03700000000001, 103}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>117</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>CornerRadius</key> + <real>10</real> + </dict> + </dict> + </dict> + </array> + <key>GridInfo</key> + <dict/> + <key>GuidesLocked</key> + <string>NO</string> + <key>GuidesVisible</key> + <string>YES</string> + <key>HPages</key> + <integer>1</integer> + <key>ImageCounter</key> + <integer>1</integer> + <key>KeepToScale</key> + <false/> + <key>Layers</key> + <array> + <dict> + <key>Lock</key> + <string>NO</string> + <key>Name</key> + <string>レイヤー 1</string> + <key>Print</key> + <string>YES</string> + <key>View</key> + <string>YES</string> + </dict> + </array> + <key>LayoutInfo</key> + <dict> + <key>Animate</key> + <string>NO</string> + <key>circoMinDist</key> + <real>18</real> + <key>circoSeparation</key> + <real>0.0</real> + <key>layoutEngine</key> + <string>dot</string> + <key>neatoSeparation</key> + <real>0.0</real> + <key>twopiSeparation</key> + <real>0.0</real> + </dict> + <key>LinksVisible</key> + <string>NO</string> + <key>MagnetsVisible</key> + <string>NO</string> + <key>MasterSheets</key> + <array/> + <key>ModificationDate</key> + <string>2013-03-31 10:39:26 +0000</string> + <key>Modifier</key> + <string>YuSugimoto</string> + <key>NotesVisible</key> + <string>NO</string> + <key>Orientation</key> + <integer>2</integer> + <key>OriginVisible</key> + <string>NO</string> + <key>PageBreaks</key> + <string>YES</string> + <key>PrintInfo</key> + <dict> + <key>NSBottomMargin</key> + <array> + <string>float</string> + <string>41</string> + </array> + <key>NSHorizonalPagination</key> + <array> + <string>coded</string> + <string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG</string> + </array> + <key>NSLeftMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + <key>NSPaperSize</key> + <array> + <string>size</string> + <string>{594.99997329711914, 842}</string> + </array> + <key>NSPrintReverseOrientation</key> + <array> + <string>int</string> + <string>0</string> + </array> + <key>NSRightMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + <key>NSTopMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + </dict> + <key>PrintOnePage</key> + <false/> + <key>ReadOnly</key> + <string>NO</string> + <key>RowAlign</key> + <integer>1</integer> + <key>RowSpacing</key> + <real>36</real> + <key>SheetTitle</key> + <string>キャンバス 1</string> + <key>SmartAlignmentGuidesActive</key> + <string>YES</string> + <key>SmartDistanceGuidesActive</key> + <string>YES</string> + <key>UniqueID</key> + <integer>1</integer> + <key>UseEntirePage</key> + <false/> + <key>VPages</key> + <integer>1</integer> + <key>WindowInfo</key> + <dict> + <key>CurrentSheet</key> + <integer>0</integer> + <key>ExpandedCanvases</key> + <array/> + <key>Frame</key> + <string>{{59, 121}, {730, 779}}</string> + <key>ListView</key> + <false/> + <key>OutlineWidth</key> + <integer>142</integer> + <key>RightSidebar</key> + <false/> + <key>ShowRuler</key> + <true/> + <key>Sidebar</key> + <true/> + <key>SidebarWidth</key> + <integer>138</integer> + <key>VisibleRegion</key> + <string>{{-9, 0}, {577, 640}}</string> + <key>Zoom</key> + <real>1</real> + <key>ZoomValues</key> + <array> + <array> + <string>キャンバス 1</string> + <real>1</real> + <real>1</real> + </array> + </array> + </dict> +</dict> +</plist> 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 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>ActiveLayerIndex</key> + <integer>0</integer> + <key>ApplicationVersion</key> + <array> + <string>com.omnigroup.OmniGrafflePro</string> + <string>139.16.0.171715</string> + </array> + <key>AutoAdjust</key> + <true/> + <key>BackgroundGraphic</key> + <dict> + <key>Bounds</key> + <string>{{0, 0}, {558.99997329711914, 783}}</string> + <key>Class</key> + <string>SolidGraphic</string> + <key>ID</key> + <integer>2</integer> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <key>BaseZoom</key> + <integer>0</integer> + <key>CanvasOrigin</key> + <string>{0, 0}</string> + <key>ColumnAlign</key> + <integer>1</integer> + <key>ColumnSpacing</key> + <real>36</real> + <key>CreationDate</key> + <string>2012-02-07 04:36:21 +0000</string> + <key>Creator</key> + <string>Kazuki AKAMINE</string> + <key>DisplayScale</key> + <string>1 0/72 in = 1.0000 in</string> + <key>GraphDocumentVersion</key> + <integer>8</integer> + <key>GraphicsList</key> + <array> + <dict> + <key>Bounds</key> + <string>{{56, 113}, {21, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>172</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>AllowLabelDrop</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>185</integer> + </dict> + <key>ID</key> + <integer>186</integer> + <key>Points</key> + <array> + <string>{159.51492156862744, 40.5}</string> + <string>{25, 122.75}</string> + <string>{111.232, 168.75}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>CornerRadius</key> + <real>23</real> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>HeadScale</key> + <real>1.4285709857940674</real> + <key>Legacy</key> + <true/> + <key>TailArrow</key> + <string>0</string> + <key>TailScale</key> + <real>0.5</real> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>170</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{190.482, 140.75}, {41, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>183</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{111.232, 154.75}, {200.5, 28}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>185</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Text</key> + <string>{\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);}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{110.5, 94.75}, {50, 28}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>179</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{110.5, 80.75}, {50, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>177</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{160.5, 94.75}, {50, 28}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>181</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{160.5, 80.75}, {50, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>174</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{210.5, 94.75}, {50, 28}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>178</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{210.5, 80.75}, {50, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>175</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{260.5, 94.75}, {50, 28}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>180</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{260.5, 80.75}, {50, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>176</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>AllowLabelDrop</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>182</integer> + <key>Points</key> + <array> + <string>{104.46299999999999, 126}</string> + <string>{316.5, 126}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>0</string> + <key>HeadScale</key> + <real>1.4285709857940674</real> + <key>Legacy</key> + <true/> + <key>TailArrow</key> + <string>0</string> + <key>TailScale</key> + <real>0.5</real> + </dict> + </dict> + </dict> + <dict> + <key>AllowLabelDrop</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>173</integer> + <key>Points</key> + <array> + <string>{104.46299999999999, 76.5}</string> + <string>{316.5, 76.5}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>0</string> + <key>HeadScale</key> + <real>1.4285709857940674</real> + <key>Legacy</key> + <true/> + <key>TailArrow</key> + <string>0</string> + <key>TailScale</key> + <real>0.5</real> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{105.46299999999999, 26.5}, {131, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>170</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\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);}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{193.482, 45.25}, {34, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>171</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\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"}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{94.462999999999994, 44.5}, {233.03700000000001, 150.25}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>184</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>CornerRadius</key> + <real>10</real> + </dict> + </dict> + </dict> + </array> + <key>GridInfo</key> + <dict/> + <key>GuidesLocked</key> + <string>NO</string> + <key>GuidesVisible</key> + <string>YES</string> + <key>HPages</key> + <integer>1</integer> + <key>ImageCounter</key> + <integer>1</integer> + <key>KeepToScale</key> + <false/> + <key>Layers</key> + <array> + <dict> + <key>Lock</key> + <string>NO</string> + <key>Name</key> + <string>レイヤー 1</string> + <key>Print</key> + <string>YES</string> + <key>View</key> + <string>YES</string> + </dict> + </array> + <key>LayoutInfo</key> + <dict> + <key>Animate</key> + <string>NO</string> + <key>circoMinDist</key> + <real>18</real> + <key>circoSeparation</key> + <real>0.0</real> + <key>layoutEngine</key> + <string>dot</string> + <key>neatoSeparation</key> + <real>0.0</real> + <key>twopiSeparation</key> + <real>0.0</real> + </dict> + <key>LinksVisible</key> + <string>NO</string> + <key>MagnetsVisible</key> + <string>NO</string> + <key>MasterSheets</key> + <array/> + <key>ModificationDate</key> + <string>2012-11-19 05:58:30 +0000</string> + <key>Modifier</key> + <string>Yu SUGIMOTO</string> + <key>NotesVisible</key> + <string>NO</string> + <key>Orientation</key> + <integer>2</integer> + <key>OriginVisible</key> + <string>NO</string> + <key>PageBreaks</key> + <string>YES</string> + <key>PrintInfo</key> + <dict> + <key>NSBottomMargin</key> + <array> + <string>float</string> + <string>41</string> + </array> + <key>NSHorizonalPagination</key> + <array> + <string>coded</string> + <string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG</string> + </array> + <key>NSLeftMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + <key>NSPaperSize</key> + <array> + <string>size</string> + <string>{594.99997329711914, 842}</string> + </array> + <key>NSPrintReverseOrientation</key> + <array> + <string>int</string> + <string>0</string> + </array> + <key>NSRightMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + <key>NSTopMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + </dict> + <key>PrintOnePage</key> + <false/> + <key>ReadOnly</key> + <string>NO</string> + <key>RowAlign</key> + <integer>1</integer> + <key>RowSpacing</key> + <real>36</real> + <key>SheetTitle</key> + <string>キャンバス 1</string> + <key>SmartAlignmentGuidesActive</key> + <string>YES</string> + <key>SmartDistanceGuidesActive</key> + <string>YES</string> + <key>UniqueID</key> + <integer>1</integer> + <key>UseEntirePage</key> + <false/> + <key>VPages</key> + <integer>1</integer> + <key>WindowInfo</key> + <dict> + <key>CurrentSheet</key> + <integer>0</integer> + <key>ExpandedCanvases</key> + <array/> + <key>Frame</key> + <string>{{227, 52}, {730, 779}}</string> + <key>ListView</key> + <false/> + <key>OutlineWidth</key> + <integer>142</integer> + <key>RightSidebar</key> + <false/> + <key>ShowRuler</key> + <true/> + <key>Sidebar</key> + <true/> + <key>SidebarWidth</key> + <integer>138</integer> + <key>VisibleRegion</key> + <string>{{-9, 0}, {577, 640}}</string> + <key>Zoom</key> + <real>1</real> + <key>ZoomValues</key> + <array> + <array> + <string>キャンバス 1</string> + <real>1</real> + <real>1</real> + </array> + </array> + </dict> +</dict> +</plist> 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 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>ActiveLayerIndex</key> + <integer>0</integer> + <key>ApplicationVersion</key> + <array> + <string>com.omnigroup.OmniGraffle</string> + <string>138.17.0.133677</string> + </array> + <key>AutoAdjust</key> + <true/> + <key>BackgroundGraphic</key> + <dict> + <key>Bounds</key> + <string>{{0, 0}, {559, 783}}</string> + <key>Class</key> + <string>SolidGraphic</string> + <key>ID</key> + <integer>2</integer> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <key>CanvasOrigin</key> + <string>{0, 0}</string> + <key>ColumnAlign</key> + <integer>1</integer> + <key>ColumnSpacing</key> + <real>36</real> + <key>CreationDate</key> + <string>2012-02-07 13:36:21 +0900</string> + <key>Creator</key> + <string>Kazuki AKAMINE</string> + <key>DisplayScale</key> + <string>1 0/72 in = 1 0/72 in</string> + <key>GraphDocumentVersion</key> + <integer>6</integer> + <key>GraphicsList</key> + <array> + <dict> + <key>AllowLabelDrop</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>76</integer> + </dict> + <key>ID</key> + <integer>77</integer> + <key>Points</key> + <array> + <string>{351.537, 232}</string> + <string>{376, 198}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>HeadScale</key> + <real>1.4285709857940674</real> + <key>TailArrow</key> + <string>0</string> + <key>TailScale</key> + <real>0.5</real> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>62</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{351, 170}, {50, 28}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>76</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{351, 156}, {50, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>75</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{401, 170}, {50, 28}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>74</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{401, 156}, {50, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>73</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>AllowLabelDrop</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>72</integer> + <key>Points</key> + <array> + <string>{323, 201.5}</string> + <string>{456, 201.5}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>0</string> + <key>HeadScale</key> + <real>1.4285709857940674</real> + <key>TailArrow</key> + <string>0</string> + <key>TailScale</key> + <real>0.5</real> + </dict> + </dict> + </dict> + <dict> + <key>AllowLabelDrop</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>71</integer> + <key>Points</key> + <array> + <string>{323, 152}</string> + <string>{456, 152}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>0</string> + <key>HeadScale</key> + <real>1.4285709857940674</real> + <key>TailArrow</key> + <string>0</string> + <key>TailScale</key> + <real>0.5</real> + </dict> + </dict> + </dict> + <dict> + <key>AllowLabelDrop</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>69</integer> + <key>Info</key> + <integer>1</integer> + </dict> + <key>ID</key> + <integer>70</integer> + <key>Points</key> + <array> + <string>{178.036, 232}</string> + <string>{243.963, 198}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>HeadScale</key> + <real>1.4285709857940674</real> + <key>TailArrow</key> + <string>0</string> + <key>TailScale</key> + <real>0.5</real> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>54</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{218.963, 170}, {50, 28}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>69</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{218.963, 156}, {50, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>68</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>AllowLabelDrop</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>66</integer> + <key>Points</key> + <array> + <string>{297.982, 97}</string> + <string>{297.982, 252}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>0</string> + <key>HeadScale</key> + <real>1.4285709857940674</real> + <key>Pattern</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + <key>TailScale</key> + <real>0.5</real> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{323, 232}, {47, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>62</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{339.5, 102}, {100, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>58</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\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);}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{370.269, 120}, {34, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>57</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\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"}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{313, 120}, {148.537, 103}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>56</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>CornerRadius</key> + <real>10</real> + </dict> + </dict> + <key>Text</key> + <dict> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{140.963, 232}, {47, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>54</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>AllowLabelDrop</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>53</integer> + <key>Points</key> + <array> + <string>{140.963, 201.5}</string> + <string>{273.963, 201.5}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>0</string> + <key>HeadScale</key> + <real>1.4285709857940674</real> + <key>TailArrow</key> + <string>0</string> + <key>TailScale</key> + <real>0.5</real> + </dict> + </dict> + </dict> + <dict> + <key>AllowLabelDrop</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>52</integer> + <key>Points</key> + <array> + <string>{140.963, 152}</string> + <string>{273.963, 152}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>0</string> + <key>HeadScale</key> + <real>1.4285709857940674</real> + <key>TailArrow</key> + <string>0</string> + <key>TailScale</key> + <real>0.5</real> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{157.463, 102}, {100, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>50</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\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);}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{188.232, 120}, {34, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>47</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\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"}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{130.963, 120}, {148.537, 103}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>46</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>CornerRadius</key> + <real>10</real> + </dict> + </dict> + <key>Text</key> + <dict> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + </array> + <key>GridInfo</key> + <dict/> + <key>GuidesLocked</key> + <string>NO</string> + <key>GuidesVisible</key> + <string>YES</string> + <key>HPages</key> + <integer>1</integer> + <key>ImageCounter</key> + <integer>1</integer> + <key>KeepToScale</key> + <false/> + <key>Layers</key> + <array> + <dict> + <key>Lock</key> + <string>NO</string> + <key>Name</key> + <string>レイヤー 1</string> + <key>Print</key> + <string>YES</string> + <key>View</key> + <string>YES</string> + </dict> + </array> + <key>LayoutInfo</key> + <dict> + <key>Animate</key> + <string>NO</string> + <key>circoMinDist</key> + <real>18</real> + <key>circoSeparation</key> + <real>0.0</real> + <key>layoutEngine</key> + <string>dot</string> + <key>neatoSeparation</key> + <real>0.0</real> + <key>twopiSeparation</key> + <real>0.0</real> + </dict> + <key>LinksVisible</key> + <string>NO</string> + <key>MagnetsVisible</key> + <string>NO</string> + <key>MasterSheets</key> + <array/> + <key>ModificationDate</key> + <string>2012-02-07 13:53:06 +0900</string> + <key>Modifier</key> + <string>Kazuki AKAMINE</string> + <key>NotesVisible</key> + <string>NO</string> + <key>Orientation</key> + <integer>2</integer> + <key>OriginVisible</key> + <string>NO</string> + <key>PageBreaks</key> + <string>YES</string> + <key>PrintInfo</key> + <dict> + <key>NSBottomMargin</key> + <array> + <string>float</string> + <string>41</string> + </array> + <key>NSLeftMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + <key>NSPaperSize</key> + <array> + <string>size</string> + <string>{595, 842}</string> + </array> + <key>NSRightMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + <key>NSTopMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + </dict> + <key>PrintOnePage</key> + <false/> + <key>QuickLookPreview</key> + <data> + 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= + </data> + <key>QuickLookThumbnail</key> + <data> + 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 + /ZH///ui///9owAAA9wAAMBs + </data> + <key>ReadOnly</key> + <string>NO</string> + <key>RowAlign</key> + <integer>1</integer> + <key>RowSpacing</key> + <real>36</real> + <key>SheetTitle</key> + <string>キャンバス 1</string> + <key>SmartAlignmentGuidesActive</key> + <string>YES</string> + <key>SmartDistanceGuidesActive</key> + <string>YES</string> + <key>UniqueID</key> + <integer>1</integer> + <key>UseEntirePage</key> + <false/> + <key>VPages</key> + <integer>1</integer> + <key>WindowInfo</key> + <dict> + <key>CurrentSheet</key> + <integer>0</integer> + <key>ExpandedCanvases</key> + <array/> + <key>Frame</key> + <string>{{68, 181}, {693, 937}}</string> + <key>ListView</key> + <true/> + <key>OutlineWidth</key> + <integer>142</integer> + <key>RightSidebar</key> + <false/> + <key>ShowRuler</key> + <true/> + <key>Sidebar</key> + <true/> + <key>SidebarWidth</key> + <integer>120</integer> + <key>VisibleRegion</key> + <string>{{0, 0}, {558, 783}}</string> + <key>Zoom</key> + <real>1</real> + <key>ZoomValues</key> + <array> + <array> + <string>キャンバス 1</string> + <real>1</real> + <real>1</real> + </array> + </array> + </dict> + <key>saveQuickLookFiles</key> + <string>YES</string> +</dict> +</plist> 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 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>ActiveLayerIndex</key> + <integer>0</integer> + <key>ApplicationVersion</key> + <array> + <string>com.omnigroup.OmniGraffle</string> + <string>138.17.0.133677</string> + </array> + <key>AutoAdjust</key> + <true/> + <key>BackgroundGraphic</key> + <dict> + <key>Bounds</key> + <string>{{0, 0}, {559, 783}}</string> + <key>Class</key> + <string>SolidGraphic</string> + <key>ID</key> + <integer>2</integer> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <key>CanvasOrigin</key> + <string>{0, 0}</string> + <key>ColumnAlign</key> + <integer>1</integer> + <key>ColumnSpacing</key> + <real>36</real> + <key>CreationDate</key> + <string>2012-02-08 00:00:26 +0900</string> + <key>Creator</key> + <string>Kazuki AKAMINE</string> + <key>DisplayScale</key> + <string>1 0/72 in = 1 0/72 in</string> + <key>GraphDocumentVersion</key> + <integer>6</integer> + <key>GraphicsList</key> + <array> + <dict> + <key>AllowLabelDrop</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>3</integer> + </dict> + <key>ID</key> + <integer>14</integer> + <key>Points</key> + <array> + <string>{281, 186}</string> + <string>{206, 122}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>HeadScale</key> + <real>1.4285709857940674</real> + <key>TailArrow</key> + <string>0</string> + <key>TailScale</key> + <real>0.5</real> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>10</integer> + <key>Info</key> + <integer>4</integer> + </dict> + </dict> + <dict> + <key>AllowLabelDrop</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>9</integer> + </dict> + <key>ID</key> + <integer>13</integer> + <key>Points</key> + <array> + <string>{206, 186}</string> + <string>{281, 122}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>HeadScale</key> + <real>1.4285709857940674</real> + <key>TailArrow</key> + <string>0</string> + <key>TailScale</key> + <real>0.5</real> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>4</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{310.5, 73}, {33, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>11</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{281, 158.5}, {92, 55}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>10</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{281, 94.5}, {92, 55}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>9</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{273, 87}, {108, 134}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W3</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>8</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{143.5, 73}, {33, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>7</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{114, 158.5}, {92, 55}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>4</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{114, 94.5}, {92, 55}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>3</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{106, 87}, {108, 134}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W3</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>6</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + </array> + <key>GridInfo</key> + <dict/> + <key>GuidesLocked</key> + <string>NO</string> + <key>GuidesVisible</key> + <string>YES</string> + <key>HPages</key> + <integer>1</integer> + <key>ImageCounter</key> + <integer>1</integer> + <key>KeepToScale</key> + <false/> + <key>Layers</key> + <array> + <dict> + <key>Lock</key> + <string>NO</string> + <key>Name</key> + <string>レイヤー 1</string> + <key>Print</key> + <string>YES</string> + <key>View</key> + <string>YES</string> + </dict> + </array> + <key>LayoutInfo</key> + <dict> + <key>Animate</key> + <string>NO</string> + <key>circoMinDist</key> + <real>18</real> + <key>circoSeparation</key> + <real>0.0</real> + <key>layoutEngine</key> + <string>dot</string> + <key>neatoSeparation</key> + <real>0.0</real> + <key>twopiSeparation</key> + <real>0.0</real> + </dict> + <key>LinksVisible</key> + <string>NO</string> + <key>MagnetsVisible</key> + <string>NO</string> + <key>MasterSheets</key> + <array/> + <key>ModificationDate</key> + <string>2012-02-08 00:12:51 +0900</string> + <key>Modifier</key> + <string>Kazuki AKAMINE</string> + <key>NotesVisible</key> + <string>NO</string> + <key>Orientation</key> + <integer>2</integer> + <key>OriginVisible</key> + <string>NO</string> + <key>PageBreaks</key> + <string>YES</string> + <key>PrintInfo</key> + <dict> + <key>NSBottomMargin</key> + <array> + <string>float</string> + <string>41</string> + </array> + <key>NSLeftMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + <key>NSPaperSize</key> + <array> + <string>size</string> + <string>{595, 842}</string> + </array> + <key>NSRightMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + <key>NSTopMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + </dict> + <key>PrintOnePage</key> + <false/> + <key>QuickLookPreview</key> + <data> + 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 + </data> + <key>QuickLookThumbnail</key> + <data> + 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 + wGw= + </data> + <key>ReadOnly</key> + <string>NO</string> + <key>RowAlign</key> + <integer>1</integer> + <key>RowSpacing</key> + <real>36</real> + <key>SheetTitle</key> + <string>キャンバス 1</string> + <key>SmartAlignmentGuidesActive</key> + <string>YES</string> + <key>SmartDistanceGuidesActive</key> + <string>YES</string> + <key>UniqueID</key> + <integer>1</integer> + <key>UseEntirePage</key> + <false/> + <key>VPages</key> + <integer>1</integer> + <key>WindowInfo</key> + <dict> + <key>CurrentSheet</key> + <integer>0</integer> + <key>ExpandedCanvases</key> + <array/> + <key>Frame</key> + <string>{{128, 121}, {693, 937}}</string> + <key>ListView</key> + <true/> + <key>OutlineWidth</key> + <integer>142</integer> + <key>RightSidebar</key> + <false/> + <key>ShowRuler</key> + <true/> + <key>Sidebar</key> + <true/> + <key>SidebarWidth</key> + <integer>120</integer> + <key>VisibleRegion</key> + <string>{{0, 0}, {558, 783}}</string> + <key>Zoom</key> + <real>1</real> + <key>ZoomValues</key> + <array> + <array> + <string>キャンバス 1</string> + <real>1</real> + <real>1</real> + </array> + </array> + </dict> + <key>saveQuickLookFiles</key> + <string>YES</string> +</dict> +</plist> 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 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>ActiveLayerIndex</key> + <integer>0</integer> + <key>ApplicationVersion</key> + <array> + <string>com.omnigroup.OmniGraffle</string> + <string>138.17.0.133677</string> + </array> + <key>AutoAdjust</key> + <true/> + <key>BackgroundGraphic</key> + <dict> + <key>Bounds</key> + <string>{{0, 0}, {559, 783}}</string> + <key>Class</key> + <string>SolidGraphic</string> + <key>ID</key> + <integer>2</integer> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <key>CanvasOrigin</key> + <string>{0, 0}</string> + <key>ColumnAlign</key> + <integer>1</integer> + <key>ColumnSpacing</key> + <real>36</real> + <key>CreationDate</key> + <string>2012-02-07 13:36:21 +0900</string> + <key>Creator</key> + <string>Kazuki AKAMINE</string> + <key>DisplayScale</key> + <string>1 0/72 in = 1 0/72 in</string> + <key>GraphDocumentVersion</key> + <integer>6</integer> + <key>GraphicsList</key> + <array> + <dict> + <key>AllowLabelDrop</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>123</integer> + </dict> + <key>ID</key> + <integer>171</integer> + <key>Points</key> + <array> + <string>{193.379, 233}</string> + <string>{297, 184.25}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>HeadScale</key> + <real>1.4285709857940674</real> + <key>TailArrow</key> + <string>0</string> + <key>TailScale</key> + <real>0.5</real> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>170</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{155, 233}, {47, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>170</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{304, 233}, {27, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>149</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>AllowLabelDrop</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>147</integer> + <key>Info</key> + <integer>3</integer> + </dict> + <key>ID</key> + <integer>148</integer> + <key>Points</key> + <array> + <string>{322, 198.25}</string> + <string>{271.982, 282.5}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>HeadScale</key> + <real>1.4285709857940674</real> + <key>TailArrow</key> + <string>0</string> + <key>TailScale</key> + <real>0.5</real> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>123</integer> + <key>Info</key> + <integer>1</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{221.982, 268.5}, {50, 28}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>147</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{221.982, 254.5}, {50, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>146</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{225.982, 233}, {43, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>145</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{213.491, 247}, {66.9815, 57}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W3</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>144</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{147, 170.25}, {50, 28}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>143</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{147, 156.25}, {50, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>142</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{197, 170.25}, {50, 28}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>141</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{197, 156.25}, {50, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>140</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{247, 170.25}, {50, 28}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>139</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{247, 156.25}, {50, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>138</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{297, 170.25}, {50, 28}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>123</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Pattern</key> + <integer>1</integer> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{297, 156.25}, {50, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>122</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Pattern</key> + <integer>1</integer> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>AllowLabelDrop</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>118</integer> + <key>Points</key> + <array> + <string>{140.963, 201.5}</string> + <string>{353, 201.5}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>0</string> + <key>HeadScale</key> + <real>1.4285709857940674</real> + <key>TailArrow</key> + <string>0</string> + <key>TailScale</key> + <real>0.5</real> + </dict> + </dict> + </dict> + <dict> + <key>AllowLabelDrop</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>121</integer> + <key>Points</key> + <array> + <string>{140.963, 152}</string> + <string>{353, 152}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>0</string> + <key>HeadScale</key> + <real>1.4285709857940674</real> + <key>TailArrow</key> + <string>0</string> + <key>TailScale</key> + <real>0.5</real> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{143.463, 102}, {128, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>119</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\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);}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{229.982, 120.75}, {34, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>120</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\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"}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{130.963, 120}, {233.037, 103}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>117</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>CornerRadius</key> + <real>10</real> + </dict> + </dict> + <key>Text</key> + <dict> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + </array> + <key>GridInfo</key> + <dict/> + <key>GuidesLocked</key> + <string>NO</string> + <key>GuidesVisible</key> + <string>YES</string> + <key>HPages</key> + <integer>1</integer> + <key>ImageCounter</key> + <integer>1</integer> + <key>KeepToScale</key> + <false/> + <key>Layers</key> + <array> + <dict> + <key>Lock</key> + <string>NO</string> + <key>Name</key> + <string>レイヤー 1</string> + <key>Print</key> + <string>YES</string> + <key>View</key> + <string>YES</string> + </dict> + </array> + <key>LayoutInfo</key> + <dict> + <key>Animate</key> + <string>NO</string> + <key>circoMinDist</key> + <real>18</real> + <key>circoSeparation</key> + <real>0.0</real> + <key>layoutEngine</key> + <string>dot</string> + <key>neatoSeparation</key> + <real>0.0</real> + <key>twopiSeparation</key> + <real>0.0</real> + </dict> + <key>LinksVisible</key> + <string>NO</string> + <key>MagnetsVisible</key> + <string>NO</string> + <key>MasterSheets</key> + <array/> + <key>ModificationDate</key> + <string>2012-02-07 14:33:47 +0900</string> + <key>Modifier</key> + <string>Kazuki AKAMINE</string> + <key>NotesVisible</key> + <string>NO</string> + <key>Orientation</key> + <integer>2</integer> + <key>OriginVisible</key> + <string>NO</string> + <key>PageBreaks</key> + <string>YES</string> + <key>PrintInfo</key> + <dict> + <key>NSBottomMargin</key> + <array> + <string>float</string> + <string>41</string> + </array> + <key>NSLeftMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + <key>NSPaperSize</key> + <array> + <string>size</string> + <string>{595, 842}</string> + </array> + <key>NSRightMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + <key>NSTopMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + </dict> + <key>PrintOnePage</key> + <false/> + <key>QuickLookPreview</key> + <data> + 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== + </data> + <key>QuickLookThumbnail</key> + <data> + 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 + </data> + <key>ReadOnly</key> + <string>NO</string> + <key>RowAlign</key> + <integer>1</integer> + <key>RowSpacing</key> + <real>36</real> + <key>SheetTitle</key> + <string>キャンバス 1</string> + <key>SmartAlignmentGuidesActive</key> + <string>YES</string> + <key>SmartDistanceGuidesActive</key> + <string>YES</string> + <key>UniqueID</key> + <integer>1</integer> + <key>UseEntirePage</key> + <false/> + <key>VPages</key> + <integer>1</integer> + <key>WindowInfo</key> + <dict> + <key>CurrentSheet</key> + <integer>0</integer> + <key>ExpandedCanvases</key> + <array/> + <key>Frame</key> + <string>{{68, 181}, {693, 937}}</string> + <key>ListView</key> + <true/> + <key>OutlineWidth</key> + <integer>142</integer> + <key>RightSidebar</key> + <false/> + <key>ShowRuler</key> + <true/> + <key>Sidebar</key> + <true/> + <key>SidebarWidth</key> + <integer>120</integer> + <key>VisibleRegion</key> + <string>{{0, 0}, {558, 783}}</string> + <key>Zoom</key> + <real>1</real> + <key>ZoomValues</key> + <array> + <array> + <string>キャンバス 1</string> + <real>1</real> + <real>4</real> + </array> + </array> + </dict> + <key>saveQuickLookFiles</key> + <string>YES</string> +</dict> +</plist> 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 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>ActiveLayerIndex</key> + <integer>0</integer> + <key>ApplicationVersion</key> + <array> + <string>com.omnigroup.OmniGrafflePro</string> + <string>139.16.0.171715</string> + </array> + <key>AutoAdjust</key> + <true/> + <key>BackgroundGraphic</key> + <dict> + <key>Bounds</key> + <string>{{0, 0}, {558.99997329711914, 783}}</string> + <key>Class</key> + <string>SolidGraphic</string> + <key>ID</key> + <integer>2</integer> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <key>BaseZoom</key> + <integer>0</integer> + <key>CanvasOrigin</key> + <string>{0, 0}</string> + <key>ColumnAlign</key> + <integer>1</integer> + <key>ColumnSpacing</key> + <real>36</real> + <key>CreationDate</key> + <string>2012-02-07 04:36:21 +0000</string> + <key>Creator</key> + <string>Kazuki AKAMINE</string> + <key>DisplayScale</key> + <string>1 0/72 in = 1.0000 in</string> + <key>GraphDocumentVersion</key> + <integer>8</integer> + <key>GraphicsList</key> + <array> + <dict> + <key>AllowLabelDrop</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>ID</key> + <integer>137</integer> + <key>Points</key> + <array> + <string>{409.67948780487808, 232}</string> + <string>{427.73099999999999, 198}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>HeadScale</key> + <real>1.4285709857940674</real> + <key>Legacy</key> + <true/> + <key>TailArrow</key> + <string>0</string> + <key>TailScale</key> + <real>0.5</real> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>136</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{382.46300000000002, 232}, {47, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>136</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>AllowLabelDrop</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>126</integer> + </dict> + <key>ID</key> + <integer>125</integer> + <key>Points</key> + <array> + <string>{351.53658536585368, 232}</string> + <string>{376, 198}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>HeadScale</key> + <real>1.4285709857940674</real> + <key>Legacy</key> + <true/> + <key>TailArrow</key> + <string>0</string> + <key>TailScale</key> + <real>0.5</real> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>132</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{351, 170}, {50, 28}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>126</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{351, 156}, {50, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>127</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{401, 170}, {50, 28}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>128</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Pattern</key> + <integer>1</integer> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{401, 156}, {50, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>129</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Pattern</key> + <integer>1</integer> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>AllowLabelDrop</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>130</integer> + <key>Points</key> + <array> + <string>{323, 201.5}</string> + <string>{456, 201.5}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>0</string> + <key>HeadScale</key> + <real>1.4285709857940674</real> + <key>Legacy</key> + <true/> + <key>TailArrow</key> + <string>0</string> + <key>TailScale</key> + <real>0.5</real> + </dict> + </dict> + </dict> + <dict> + <key>AllowLabelDrop</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>131</integer> + <key>Points</key> + <array> + <string>{323, 152}</string> + <string>{456, 152}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>0</string> + <key>HeadScale</key> + <real>1.4285709857940674</real> + <key>Legacy</key> + <true/> + <key>TailArrow</key> + <string>0</string> + <key>TailScale</key> + <real>0.5</real> + </dict> + </dict> + </dict> + <dict> + <key>AllowLabelDrop</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>123</integer> + <key>Info</key> + <integer>1</integer> + </dict> + <key>ID</key> + <integer>174</integer> + <key>Points</key> + <array> + <string>{178.0338530760572, 232}</string> + <string>{243.5158138267511, 198.22366164559278}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>HeadScale</key> + <real>1.4285709857940674</real> + <key>Legacy</key> + <true/> + <key>TailArrow</key> + <string>0</string> + <key>TailScale</key> + <real>0.5</real> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>173</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{218.96299999999999, 170}, {50, 28}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>123</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{218.96299999999999, 156}, {50, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>122</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>AllowLabelDrop</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>66</integer> + <key>Points</key> + <array> + <string>{297.98200000000003, 97}</string> + <string>{297.98200000000003, 252}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>0</string> + <key>HeadScale</key> + <real>1.4285709857940674</real> + <key>Legacy</key> + <true/> + <key>Pattern</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + <key>TailScale</key> + <real>0.5</real> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{323, 232}, {47, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>132</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{329.5, 102}, {120, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>133</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\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);}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{370.26900000000001, 120}, {34, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>134</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\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"}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{313, 120}, {148.53700000000001, 103}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>135</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>CornerRadius</key> + <real>10</real> + </dict> + </dict> + <key>Text</key> + <dict> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{140.96299999999999, 232}, {47, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>173</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\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}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>AllowLabelDrop</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>118</integer> + <key>Points</key> + <array> + <string>{140.96299999999999, 201.5}</string> + <string>{273.96300000000002, 201.5}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>0</string> + <key>HeadScale</key> + <real>1.4285709857940674</real> + <key>Legacy</key> + <true/> + <key>TailArrow</key> + <string>0</string> + <key>TailScale</key> + <real>0.5</real> + </dict> + </dict> + </dict> + <dict> + <key>AllowLabelDrop</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>121</integer> + <key>Points</key> + <array> + <string>{140.96299999999999, 152}</string> + <string>{273.96300000000002, 152}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>0</string> + <key>HeadScale</key> + <real>1.4285709857940674</real> + <key>Legacy</key> + <true/> + <key>TailArrow</key> + <string>0</string> + <key>TailScale</key> + <real>0.5</real> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{147.46299999999999, 102}, {120, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>171</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\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);}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{188.232, 120}, {34, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>120</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\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"}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{130.96299999999999, 120}, {148.53700000000001, 103}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>117</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>CornerRadius</key> + <real>10</real> + </dict> + </dict> + <key>Text</key> + <dict> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + </array> + <key>GridInfo</key> + <dict/> + <key>GuidesLocked</key> + <string>NO</string> + <key>GuidesVisible</key> + <string>YES</string> + <key>HPages</key> + <integer>1</integer> + <key>ImageCounter</key> + <integer>1</integer> + <key>KeepToScale</key> + <false/> + <key>Layers</key> + <array> + <dict> + <key>Lock</key> + <string>NO</string> + <key>Name</key> + <string>レイヤー 1</string> + <key>Print</key> + <string>YES</string> + <key>View</key> + <string>YES</string> + </dict> + </array> + <key>LayoutInfo</key> + <dict> + <key>Animate</key> + <string>NO</string> + <key>circoMinDist</key> + <real>18</real> + <key>circoSeparation</key> + <real>0.0</real> + <key>layoutEngine</key> + <string>dot</string> + <key>neatoSeparation</key> + <real>0.0</real> + <key>twopiSeparation</key> + <real>0.0</real> + </dict> + <key>LinksVisible</key> + <string>NO</string> + <key>MagnetsVisible</key> + <string>NO</string> + <key>MasterSheets</key> + <array/> + <key>ModificationDate</key> + <string>2012-02-07 04:57:12 +0000</string> + <key>Modifier</key> + <string>Kazuki AKAMINE</string> + <key>NotesVisible</key> + <string>NO</string> + <key>Orientation</key> + <integer>2</integer> + <key>OriginVisible</key> + <string>NO</string> + <key>PageBreaks</key> + <string>YES</string> + <key>PrintInfo</key> + <dict> + <key>NSBottomMargin</key> + <array> + <string>float</string> + <string>41</string> + </array> + <key>NSHorizonalPagination</key> + <array> + <string>coded</string> + <string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG</string> + </array> + <key>NSLeftMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + <key>NSPaperSize</key> + <array> + <string>size</string> + <string>{594.99997329711914, 842}</string> + </array> + <key>NSPrintReverseOrientation</key> + <array> + <string>int</string> + <string>0</string> + </array> + <key>NSRightMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + <key>NSTopMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + </dict> + <key>PrintOnePage</key> + <false/> + <key>ReadOnly</key> + <string>NO</string> + <key>RowAlign</key> + <integer>1</integer> + <key>RowSpacing</key> + <real>36</real> + <key>SheetTitle</key> + <string>キャンバス 1</string> + <key>SmartAlignmentGuidesActive</key> + <string>YES</string> + <key>SmartDistanceGuidesActive</key> + <string>YES</string> + <key>UniqueID</key> + <integer>1</integer> + <key>UseEntirePage</key> + <false/> + <key>VPages</key> + <integer>1</integer> + <key>WindowInfo</key> + <dict> + <key>CurrentSheet</key> + <integer>0</integer> + <key>ExpandedCanvases</key> + <array/> + <key>Frame</key> + <string>{{57, 83}, {693, 937}}</string> + <key>ListView</key> + <true/> + <key>OutlineWidth</key> + <integer>142</integer> + <key>RightSidebar</key> + <false/> + <key>ShowRuler</key> + <true/> + <key>Sidebar</key> + <true/> + <key>SidebarWidth</key> + <integer>120</integer> + <key>VisibleRegion</key> + <string>{{0, -7}, {558, 798}}</string> + <key>Zoom</key> + <real>1</real> + <key>ZoomValues</key> + <array> + <array> + <string>キャンバス 1</string> + <real>1</real> + <real>1</real> + </array> + </array> + </dict> +</dict> +</plist> 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(); - } -}