Mercurial > hg > Papers > 2019 > ikki-sigos
changeset 0:f0c06489da13
initial commit
author | ichikitakahiro <e165713@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 07 May 2019 22:11:05 +0900 |
parents | |
children | 9d14310d6364 |
files | .hgignore MindMap.mm images/accept-accepted.graffle images/accept-accepted.pdf images/chain-fork.graffle images/chain-fork.pdf images/chain.graffle images/chain.pdf images/kvm.graffle images/kvm.pdf images/paxos.graffle images/paxos.pu images/paxos1.pdf images/paxos1.pu images/paxos1.svg images/paxos2.pdf images/paxos2.pu images/paxos2.svg images/paxos3.pdf images/paxos3.pu images/paxos3.svg images/prepare-promise.graffle images/prepare-promise.pdf images/proof-of-work-fork.graffle images/proof-of-work-fork.pdf images/proof-of-work.graffle images/proof-of-work.pdf images/ring.pdf ipsj.cls sigos.pdf sigos.tex |
diffstat | 31 files changed, 7949 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.hgignore Tue May 07 22:11:05 2019 +0900 @@ -0,0 +1,18 @@ +syntax: glob +.DS_Store +*.swp +*.*~ +*.bbl +*.blg +*.lof +*.lol +*.lot +*.log +*.aux +*.dvi +*.toc +*.cpt +*.swo +*.fls +*.fdb_latexmk +*.synctex.gz \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MindMap.mm Tue May 07 22:11:05 2019 +0900 @@ -0,0 +1,36 @@ +<map version="1.0.1"> +<!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net --> +<node CREATED="1557215700655" ID="ID_749251229" MODIFIED="1557221270760" TEXT="sisos"> +<node CREATED="1557215716256" HGAP="61" ID="ID_314437051" MODIFIED="1557216062367" POSITION="right" TEXT="研究背景" VSHIFT="-29"> +<node CREATED="1557216085333" ID="ID_1609258583" MODIFIED="1557216094565" TEXT="はじめに"/> +</node> +<node CREATED="1557215750333" HGAP="29" ID="ID_1690587382" MODIFIED="1557216020362" POSITION="left" TEXT="導入" VSHIFT="1"/> +<node CREATED="1557215779938" ID="ID_1722236641" MODIFIED="1557215799968" POSITION="left" TEXT="基本概念"/> +<node CREATED="1557215828546" ID="ID_454654073" MODIFIED="1557215850870" POSITION="left" TEXT="実験"/> +<node CREATED="1557215942048" ID="ID_172596008" MODIFIED="1557215949937" POSITION="left" TEXT="評価"/> +<node CREATED="1557215953766" HGAP="75" ID="ID_426592385" MODIFIED="1557220228403" POSITION="right" TEXT="Christie" VSHIFT="-14"> +<node CREATED="1557216100336" ID="ID_595522737" MODIFIED="1557219272085" TEXT="基本説明"/> +<node CREATED="1557216133880" ID="ID_181378387" MODIFIED="1557219279859" TEXT="CodeSegmentとDataSegment"/> +<node CREATED="1557219284822" ID="ID_1102079579" MODIFIED="1557219544311" TEXT="プログラム一例"/> +<node CREATED="1557219559077" ID="ID_585691870" MODIFIED="1557219579940" TEXT="TopologyManegerの実装"/> +</node> +<node CREATED="1557215966895" HGAP="83" ID="ID_62312274" MODIFIED="1557219588877" POSITION="right" TEXT="ブロックチェーンの解説" VSHIFT="-23"> +<node CREATED="1557216211256" ID="ID_893440525" MODIFIED="1557219080008" TEXT="P2P"/> +<node CREATED="1557219133836" ID="ID_243432965" MODIFIED="1557219652159" TEXT="ブロックとその構造"/> +<node CREATED="1557219686867" ID="ID_1599016519" MODIFIED="1557219694262" TEXT="トランザクションとその構造"/> +<node CREATED="1557219702184" ID="ID_1227197841" MODIFIED="1557219776436" TEXT="fork"/> +</node> +<node CREATED="1557216624118" HGAP="83" ID="ID_1760240129" MODIFIED="1557219855474" POSITION="right" TEXT="コンセンサスアルゴリズム" VSHIFT="-12"> +<node CREATED="1557216648656" HGAP="21" ID="ID_1553689812" MODIFIED="1557217975074" TEXT="Proof of Work 解説 必要か?" VSHIFT="-25"/> +<node CREATED="1557217918012" ID="ID_1491069858" MODIFIED="1557217983189" TEXT="Paxos 解説"> +<node CREATED="1557219779594" ID="ID_808512271" MODIFIED="1557219803950" TEXT="paxosを用いたブロックチェーン"/> +</node> +</node> +<node CREATED="1557216007032" HGAP="112" ID="ID_1510579252" MODIFIED="1557220648286" POSITION="right" TEXT="計測実験" VSHIFT="-4"> +<node CREATED="1557218078117" HGAP="31" ID="ID_1527422694" MODIFIED="1557220585584" TEXT="Torque解説" VSHIFT="-21"/> +<node CREATED="1557220597856" ID="ID_1441766258" MODIFIED="1557220628492" TEXT="PCクラスタ上でのPaxos実験と計測結果"/> +</node> +<node CREATED="1557216028557" ID="ID_409580967" MODIFIED="1557216037565" POSITION="left" TEXT="結論"/> +<node CREATED="1557220663632" HGAP="115" ID="ID_1567539160" MODIFIED="1557220679173" POSITION="right" TEXT="まとめと今後の発展" VSHIFT="4"/> +</node> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/images/paxos.pu Tue May 07 22:11:05 2019 +0900 @@ -0,0 +1,95 @@ +@startuml +title Paxos1 +/' ======= style ======= '/ + +skinparam sequence { +ArrowColor black +LifeLineBorderColor black + +ParticipantBorderColor black +ParticipantBackgroundColor white +ParticipantPadding 20 +} + +/' ======= node name ======= '/ + +/' === proposers === '/ +participant proposer1 +activate proposer1 +participant proposer2 +activate proposer2 + +/' === acceptors === '/ +participant acceptor1 +activate acceptor1 +participant acceptor2 +activate acceptor2 +participant acceptor3 +activate acceptor3 + +/' === learners === '/ +participant learner1 +activate learner1 + +/' ======= uml ======= '/ + +proposer2 -> acceptor1:Prepare request \n\ +Proposal(8, 2) +proposer2 -> acceptor2 +proposer2 -> acceptor3 + +acceptor1 --> proposer2:Promise Success\n\ +Proposal(8, 2) +acceptor2 --> proposer2:Promise Success\n\ +Proposal(8, 2) +acceptor3 --> proposer2:Promise Success\n\ +Proposal(8, 2) + +proposer1 -> acceptor1:Prepare request \n\ +Proposal(7, 1) +proposer1 -> acceptor2 +proposer1 -> acceptor3 + +acceptor1 --> proposer1:Promise Fail\n\ +Proposal(8, 2) +acceptor2 --> proposer1 +acceptor3 --> proposer1 + +proposer2 -> acceptor1:Accept request \n\ +Proposal(8, 2) +proposer2 -> acceptor2 +proposer2 -> acceptor3 + +acceptor2 --> proposer2:Accept \n\ +Proposal(8, 2) +acceptor2 --> learner1:accept \n\ +Proposal(8, 2) + +proposer1 -> acceptor1:Prepare request \n\ +Proposal(13, 1) +proposer1 -> acceptor2 +proposer1 -> acceptor3 + +acceptor1 --> proposer1:Promise Success\n\ +Proposal(13, 1) +acceptor3 --> proposer1:Promise Success\n\ +Proposal(13, 1) + +acceptor1 --> proposer2:Accept Fail\n\ +Proposal(13, 1) +acceptor3 --> proposer2:Accept Fail\n\ +Proposal(13, 1) +proposer1 -> acceptor1:accept request \n\ +Proposal(13, 1) +proposer1 -> acceptor2 +proposer1 -> acceptor3 + + +acceptor2 --> proposer1:accept \n\ +Proposal(13, 1) +acceptor2 --> learner1:accept \n\ +Proposal(13, 1) + + + +@enduml \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/images/paxos1.pu Tue May 07 22:11:05 2019 +0900 @@ -0,0 +1,74 @@ +@startuml +title Paxos 1 +/' ======= style ======= '/ + +skinparam sequence { +ArrowColor black +LifeLineBorderColor black + +ParticipantBorderColor black +ParticipantBackgroundColor white +ParticipantPadding 20 +} + +/' ======= node name ======= '/ + +/' === proposers === '/ +participant proposer1 +activate proposer1 +participant proposer2 +activate proposer2 + +/' === acceptors === '/ +participant acceptor1 +activate acceptor1 +participant acceptor2 +activate acceptor2 +participant acceptor3 +activate acceptor3 + +/' === learners === '/ +participant learner1 +activate learner1 + +/' ======= uml ======= '/ + +proposer1 -> acceptor1:Prepare request \n\ +Proposal(7, 1) +proposer1 -> acceptor2 +proposer1 -> acceptor3 + +acceptor1 --> proposer1:Promise Success\n\ +Proposal(7, 1) +acceptor2 --> proposer1 +acceptor3 --> proposer1 + +proposer2 -> acceptor1:Prepare request \n\ +Proposal(8, 2) +proposer2 -> acceptor2 +proposer2 -> acceptor3 + +acceptor1 --> proposer2:Promise Success\n\ +Proposal(8, 2) +acceptor2 --> proposer2 +acceptor3 --> proposer2 + +proposer2 -> acceptor1:Accept request \n\ +Proposal(8, 2) +proposer2 -> acceptor2 +proposer2 -> acceptor3 + +acceptor1 --> proposer2:Accept \n\ +Proposal(8, 2) +acceptor1 -> learner1:Accept \n\ +Proposal(8, 2) + +acceptor2 --> proposer2:Accept \n\ +Proposal(8, 2) +acceptor2 -> learner1:Accept \n\ +Proposal(8, 2) + +learner1 -> learner1:chosen \n\ +Proposal(8, 2) + +@enduml \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/images/paxos1.svg Tue May 07 22:11:05 2019 +0900 @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="728px" preserveAspectRatio="none" style="width:864px;height:728px;" version="1.1" viewBox="0 0 864 728" width="864px" zoomAndPan="magnify"><defs><filter height="300%" id="fc7ra6n53s53c" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="56" x="405.5" y="23.5352">Paxos 1</text><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="600.2109" style="stroke: #000000; stroke-width: 1.0;" width="10" x="68" y="78.9766"/><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="600.2109" style="stroke: #000000; stroke-width: 1.0;" width="10" x="208" y="78.9766"/><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="600.2109" style="stroke: #000000; stroke-width: 1.0;" width="10" x="346" y="78.9766"/><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="600.2109" style="stroke: #000000; stroke-width: 1.0;" width="10" x="482" y="78.9766"/><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="600.2109" style="stroke: #000000; stroke-width: 1.0;" width="10" x="618" y="78.9766"/><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="600.2109" style="stroke: #000000; stroke-width: 1.0;" width="10" x="749" y="78.9766"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="73" x2="73" y1="68.9766" y2="688.1875"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="213" x2="213" y1="68.9766" y2="688.1875"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="351" x2="351" y1="68.9766" y2="688.1875"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="487" x2="487" y1="68.9766" y2="688.1875"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="623" x2="623" y1="68.9766" y2="688.1875"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="754" x2="754" y1="68.9766" y2="688.1875"/><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="86" x="28" y="33.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="72" x="35" y="54.0234">proposer1</text><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="86" x="28" y="687.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="72" x="35" y="707.7227">proposer1</text><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="86" x="168" y="33.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="72" x="175" y="54.0234">proposer2</text><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="86" x="168" y="687.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="72" x="175" y="707.7227">proposer2</text><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="82" x="308" y="33.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="68" x="315" y="54.0234">acceptor1</text><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="82" x="308" y="687.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="68" x="315" y="707.7227">acceptor1</text><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="82" x="444" y="33.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="68" x="451" y="54.0234">acceptor2</text><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="82" x="444" y="687.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="68" x="451" y="707.7227">acceptor2</text><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="82" x="580" y="33.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="68" x="587" y="54.0234">acceptor3</text><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="82" x="580" y="687.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="68" x="587" y="707.7227">acceptor3</text><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="72" x="716" y="33.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="58" x="723" y="54.0234">learner1</text><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="72" x="716" y="687.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="58" x="723" y="707.7227">learner1</text><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="600.2109" style="stroke: #000000; stroke-width: 1.0;" width="10" x="68" y="78.9766"/><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="600.2109" style="stroke: #000000; stroke-width: 1.0;" width="10" x="208" y="78.9766"/><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="600.2109" style="stroke: #000000; stroke-width: 1.0;" width="10" x="346" y="78.9766"/><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="600.2109" style="stroke: #000000; stroke-width: 1.0;" width="10" x="482" y="78.9766"/><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="600.2109" style="stroke: #000000; stroke-width: 1.0;" width="10" x="618" y="78.9766"/><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="600.2109" style="stroke: #000000; stroke-width: 1.0;" width="10" x="749" y="78.9766"/><polygon fill="#000000" points="334,111.5977,344,115.5977,334,119.5977,338,115.5977" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="340" y1="115.5977" y2="115.5977"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="97" x="85" y="95.5449">Prepare request</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="85" y="110.8555">Proposal(7, 1)</text><polygon fill="#000000" points="470,125.5977,480,129.5977,470,133.5977,474,129.5977" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="476" y1="129.5977" y2="129.5977"/><polygon fill="#000000" points="606,139.5977,616,143.5977,606,147.5977,610,143.5977" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="612" y1="143.5977" y2="143.5977"/><polygon fill="#000000" points="89,184.2188,79,188.2188,89,192.2188,85,188.2188" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="83" x2="345" y1="188.2188" y2="188.2188"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="95" y="168.166">Promise Success</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="95" y="183.4766">Proposal(7, 1)</text><polygon fill="#000000" points="89,198.2188,79,202.2188,89,206.2188,85,202.2188" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="83" x2="481" y1="202.2188" y2="202.2188"/><polygon fill="#000000" points="89,212.2188,79,216.2188,89,220.2188,85,216.2188" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="83" x2="617" y1="216.2188" y2="216.2188"/><polygon fill="#000000" points="334,256.8398,344,260.8398,334,264.8398,338,260.8398" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="218" x2="340" y1="260.8398" y2="260.8398"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="97" x="225" y="240.7871">Prepare request</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="225" y="256.0977">Proposal(8, 2)</text><polygon fill="#000000" points="470,270.8398,480,274.8398,470,278.8398,474,274.8398" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="218" x2="476" y1="274.8398" y2="274.8398"/><polygon fill="#000000" points="606,284.8398,616,288.8398,606,292.8398,610,288.8398" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="218" x2="612" y1="288.8398" y2="288.8398"/><polygon fill="#000000" points="229,329.4609,219,333.4609,229,337.4609,225,333.4609" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="223" x2="345" y1="333.4609" y2="333.4609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="235" y="313.4082">Promise Success</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="235" y="328.7188">Proposal(8, 2)</text><polygon fill="#000000" points="229,343.4609,219,347.4609,229,351.4609,225,347.4609" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="223" x2="481" y1="347.4609" y2="347.4609"/><polygon fill="#000000" points="229,357.4609,219,361.4609,229,365.4609,225,361.4609" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="223" x2="617" y1="361.4609" y2="361.4609"/><polygon fill="#000000" points="334,402.082,344,406.082,334,410.082,338,406.082" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="218" x2="340" y1="406.082" y2="406.082"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="225" y="386.0293">Accept request</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="225" y="401.3398">Proposal(8, 2)</text><polygon fill="#000000" points="470,416.082,480,420.082,470,424.082,474,420.082" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="218" x2="476" y1="420.082" y2="420.082"/><polygon fill="#000000" points="606,430.082,616,434.082,606,438.082,610,434.082" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="218" x2="612" y1="434.082" y2="434.082"/><polygon fill="#000000" points="229,474.7031,219,478.7031,229,482.7031,225,478.7031" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="223" x2="345" y1="478.7031" y2="478.7031"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="235" y="458.6504">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="235" y="473.9609">Proposal(8, 2)</text><polygon fill="#000000" points="737,519.3242,747,523.3242,737,527.3242,741,523.3242" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="356" x2="743" y1="523.3242" y2="523.3242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="363" y="503.2715">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="363" y="518.582">Proposal(8, 2)</text><polygon fill="#000000" points="229,563.9453,219,567.9453,229,571.9453,225,567.9453" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="223" x2="481" y1="567.9453" y2="567.9453"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="235" y="547.8926">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="235" y="563.2031">Proposal(8, 2)</text><polygon fill="#000000" points="737,608.5664,747,612.5664,737,616.5664,741,612.5664" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="492" x2="743" y1="612.5664" y2="612.5664"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="499" y="592.5137">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="499" y="607.8242">Proposal(8, 2)</text><line style="stroke: #000000; stroke-width: 1.0;" x1="759" x2="801" y1="657.1875" y2="657.1875"/><line style="stroke: #000000; stroke-width: 1.0;" x1="801" x2="801" y1="657.1875" y2="670.1875"/><line style="stroke: #000000; stroke-width: 1.0;" x1="760" x2="801" y1="670.1875" y2="670.1875"/><polygon fill="#000000" points="770,666.1875,760,670.1875,770,674.1875,766,670.1875" style="stroke: #000000; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="45" x="766" y="637.1348">chosen</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="766" y="652.4453">Proposal(8, 2)</text><!-- +@startuml +title Paxos 1 + +skinparam sequence { +ArrowColor black +LifeLineBorderColor black + +ParticipantBorderColor black +ParticipantBackgroundColor white +ParticipantPadding 20 +} + + +participant proposer1 +activate proposer1 +participant proposer2 +activate proposer2 + +participant acceptor1 +activate acceptor1 +participant acceptor2 +activate acceptor2 +participant acceptor3 +activate acceptor3 + +participant learner1 +activate learner1 + + +proposer1 -> acceptor1:Prepare request \nProposal(7, 1) +proposer1 -> acceptor2 +proposer1 -> acceptor3 + +acceptor1 - -> proposer1:Promise Success\nProposal(7, 1) +acceptor2 - -> proposer1 +acceptor3 - -> proposer1 + +proposer2 -> acceptor1:Prepare request \nProposal(8, 2) +proposer2 -> acceptor2 +proposer2 -> acceptor3 + +acceptor1 - -> proposer2:Promise Success\nProposal(8, 2) +acceptor2 - -> proposer2 +acceptor3 - -> proposer2 + +proposer2 -> acceptor1:Accept request \nProposal(8, 2) +proposer2 -> acceptor2 +proposer2 -> acceptor3 + +acceptor1 - -> proposer2:Accept \nProposal(8, 2) +acceptor1 -> learner1:Accept \nProposal(8, 2) + +acceptor2 - -> proposer2:Accept \nProposal(8, 2) +acceptor2 -> learner1:Accept \nProposal(8, 2) + +learner1 -> learner1:chosen \nProposal(8, 2) + +@enduml + +PlantUML version 1.2019.01(Sun Feb 10 00:32:04 JST 2019) +(GPL source distribution) +Java Runtime: OpenJDK Runtime Environment +JVM: OpenJDK 64-Bit Server VM +Java Version: 11.0.1+13 +Operating System: Mac OS X +OS Version: 10.13.6 +Default Encoding: UTF-8 +Language: ja +Country: JP +--></g></svg> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/images/paxos2.pu Tue May 07 22:11:05 2019 +0900 @@ -0,0 +1,116 @@ +@startuml +title Paxos 2 +/' ======= style ======= '/ + +skinparam sequence { +ArrowColor black +LifeLineBorderColor black + +ParticipantBorderColor black +ParticipantBackgroundColor white +ParticipantPadding 20 +} + +/' ======= node name ======= '/ + +/' === proposers === '/ +participant proposer1 +activate proposer1 +participant proposer2 +activate proposer2 + +/' === acceptors === '/ +participant acceptor1 +activate acceptor1 +participant acceptor2 +activate acceptor2 +participant acceptor3 +activate acceptor3 + +/' === learners === '/ +participant learner1 +activate learner1 + +/' ======= uml ======= '/ + +proposer1 -> acceptor1:Prepare request \n\ +Proposal(7, 1) +proposer1 -> acceptor2 +proposer1 -> acceptor3 + +acceptor1 --> proposer1:Promise Success\n\ +Proposal(7, 1) +acceptor2 --> proposer1 +acceptor3 --> proposer1 + +proposer2 -> acceptor1:Prepare request \n\ +Proposal(8, 2) +proposer2 -> acceptor2 +proposer2 -> acceptor3 + +acceptor1 --> proposer2:Promise Success\n\ +Proposal(8, 2) +acceptor2 --> proposer2 +acceptor3 --> proposer2 + +proposer1 -> acceptor1:Accept request \n\ +Proposal(7, 1) +proposer1 -> acceptor2 +proposer1 -> acceptor3 + + + +acceptor1 --> proposer1:Accept Fail\n\ +Proposal(8, 2) +acceptor2 --> proposer1 +acceptor3 --> proposer1 + + +proposer2 -> acceptor2:Accept request \n\ +Proposal(8, 2) + +acceptor2 --> proposer2:Accept \n\ +Proposal(8, 2) +acceptor2 -> learner1:Accept \n\ +Proposal(8, 2) + +proposer1 -> acceptor1:Prepare request \n\ +Proposal(13, 1) +proposer1 -> acceptor2 +proposer1 -> acceptor3 + +acceptor2 --> proposer1:Promise Success\n\ +But Accepted \n\ +Proposal(8, 2) +acceptor1 --> proposer1:Promise Success\n\ +Proposal(13, 1) +acceptor3 --> proposer1 + +proposer2 -> acceptor1:Accept request \n\ +Proposal(8, 2) +proposer2 -> acceptor3 + +acceptor1 --> proposer2:Accept Fail\n\ +Proposal(8, 2) +acceptor3 --> proposer2 + +proposer1 -> acceptor1:Accept request \n\ +Proposal(13, 2) +proposer1 -> acceptor2 +proposer1 -> acceptor3 + +acceptor1 --> proposer2:Accept \n\ +Proposal(13, 2) +acceptor1 -> learner1:Accept \n\ +Proposal(13, 2) + + +acceptor2 --> proposer2:Accept \n\ +Proposal(13, 2) +acceptor2 -> learner1:Accept \n\ +Proposal(13, 2) + +learner1 -> learner1:chosen \n\ +Proposal(13, 2) + +@enduml \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/images/paxos2.svg Tue May 07 22:11:05 2019 +0900 @@ -0,0 +1,102 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="1316px" preserveAspectRatio="none" style="width:872px;height:1316px;" version="1.1" viewBox="0 0 872 1316" width="872px" zoomAndPan="magnify"><defs><filter height="300%" id="f1ronj4dwj7ktb" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="56" x="409.5" y="23.5352">Paxos 2</text><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="1187.7324" style="stroke: #000000; stroke-width: 1.0;" width="10" x="68" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="1187.7324" style="stroke: #000000; stroke-width: 1.0;" width="10" x="208" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="1187.7324" style="stroke: #000000; stroke-width: 1.0;" width="10" x="346" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="1187.7324" style="stroke: #000000; stroke-width: 1.0;" width="10" x="482" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="1187.7324" style="stroke: #000000; stroke-width: 1.0;" width="10" x="618" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="1187.7324" style="stroke: #000000; stroke-width: 1.0;" width="10" x="749" y="78.9766"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="73" x2="73" y1="68.9766" y2="1275.709"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="213" x2="213" y1="68.9766" y2="1275.709"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="351" x2="351" y1="68.9766" y2="1275.709"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="487" x2="487" y1="68.9766" y2="1275.709"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="623" x2="623" y1="68.9766" y2="1275.709"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="754" x2="754" y1="68.9766" y2="1275.709"/><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="86" x="28" y="33.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="72" x="35" y="54.0234">proposer1</text><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="86" x="28" y="1274.709"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="72" x="35" y="1295.2441">proposer1</text><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="86" x="168" y="33.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="72" x="175" y="54.0234">proposer2</text><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="86" x="168" y="1274.709"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="72" x="175" y="1295.2441">proposer2</text><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="82" x="308" y="33.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="68" x="315" y="54.0234">acceptor1</text><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="82" x="308" y="1274.709"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="68" x="315" y="1295.2441">acceptor1</text><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="82" x="444" y="33.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="68" x="451" y="54.0234">acceptor2</text><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="82" x="444" y="1274.709"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="68" x="451" y="1295.2441">acceptor2</text><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="82" x="580" y="33.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="68" x="587" y="54.0234">acceptor3</text><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="82" x="580" y="1274.709"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="68" x="587" y="1295.2441">acceptor3</text><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="72" x="716" y="33.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="58" x="723" y="54.0234">learner1</text><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="72" x="716" y="1274.709"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="58" x="723" y="1295.2441">learner1</text><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="1187.7324" style="stroke: #000000; stroke-width: 1.0;" width="10" x="68" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="1187.7324" style="stroke: #000000; stroke-width: 1.0;" width="10" x="208" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="1187.7324" style="stroke: #000000; stroke-width: 1.0;" width="10" x="346" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="1187.7324" style="stroke: #000000; stroke-width: 1.0;" width="10" x="482" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="1187.7324" style="stroke: #000000; stroke-width: 1.0;" width="10" x="618" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="1187.7324" style="stroke: #000000; stroke-width: 1.0;" width="10" x="749" y="78.9766"/><polygon fill="#000000" points="334,111.5977,344,115.5977,334,119.5977,338,115.5977" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="340" y1="115.5977" y2="115.5977"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="97" x="85" y="95.5449">Prepare request</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="85" y="110.8555">Proposal(7, 1)</text><polygon fill="#000000" points="470,125.5977,480,129.5977,470,133.5977,474,129.5977" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="476" y1="129.5977" y2="129.5977"/><polygon fill="#000000" points="606,139.5977,616,143.5977,606,147.5977,610,143.5977" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="612" y1="143.5977" y2="143.5977"/><polygon fill="#000000" points="89,184.2188,79,188.2188,89,192.2188,85,188.2188" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="83" x2="345" y1="188.2188" y2="188.2188"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="95" y="168.166">Promise Success</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="95" y="183.4766">Proposal(7, 1)</text><polygon fill="#000000" points="89,198.2188,79,202.2188,89,206.2188,85,202.2188" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="83" x2="481" y1="202.2188" y2="202.2188"/><polygon fill="#000000" points="89,212.2188,79,216.2188,89,220.2188,85,216.2188" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="83" x2="617" y1="216.2188" y2="216.2188"/><polygon fill="#000000" points="334,256.8398,344,260.8398,334,264.8398,338,260.8398" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="218" x2="340" y1="260.8398" y2="260.8398"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="97" x="225" y="240.7871">Prepare request</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="225" y="256.0977">Proposal(8, 2)</text><polygon fill="#000000" points="470,270.8398,480,274.8398,470,278.8398,474,274.8398" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="218" x2="476" y1="274.8398" y2="274.8398"/><polygon fill="#000000" points="606,284.8398,616,288.8398,606,292.8398,610,288.8398" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="218" x2="612" y1="288.8398" y2="288.8398"/><polygon fill="#000000" points="229,329.4609,219,333.4609,229,337.4609,225,333.4609" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="223" x2="345" y1="333.4609" y2="333.4609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="235" y="313.4082">Promise Success</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="235" y="328.7188">Proposal(8, 2)</text><polygon fill="#000000" points="229,343.4609,219,347.4609,229,351.4609,225,347.4609" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="223" x2="481" y1="347.4609" y2="347.4609"/><polygon fill="#000000" points="229,357.4609,219,361.4609,229,365.4609,225,361.4609" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="223" x2="617" y1="361.4609" y2="361.4609"/><polygon fill="#000000" points="334,402.082,344,406.082,334,410.082,338,406.082" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="340" y1="406.082" y2="406.082"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="85" y="386.0293">Accept request</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="85" y="401.3398">Proposal(7, 1)</text><polygon fill="#000000" points="470,416.082,480,420.082,470,424.082,474,420.082" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="476" y1="420.082" y2="420.082"/><polygon fill="#000000" points="606,430.082,616,434.082,606,438.082,610,434.082" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="612" y1="434.082" y2="434.082"/><polygon fill="#000000" points="89,474.7031,79,478.7031,89,482.7031,85,478.7031" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="83" x2="345" y1="478.7031" y2="478.7031"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="69" x="95" y="458.6504">Accept Fail</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="95" y="473.9609">Proposal(8, 2)</text><polygon fill="#000000" points="89,488.7031,79,492.7031,89,496.7031,85,492.7031" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="83" x2="481" y1="492.7031" y2="492.7031"/><polygon fill="#000000" points="89,502.7031,79,506.7031,89,510.7031,85,506.7031" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="83" x2="617" y1="506.7031" y2="506.7031"/><polygon fill="#000000" points="470,547.3242,480,551.3242,470,555.3242,474,551.3242" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="218" x2="476" y1="551.3242" y2="551.3242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="225" y="531.2715">Accept request</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="225" y="546.582">Proposal(8, 2)</text><polygon fill="#000000" points="229,591.9453,219,595.9453,229,599.9453,225,595.9453" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="223" x2="481" y1="595.9453" y2="595.9453"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="235" y="575.8926">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="235" y="591.2031">Proposal(8, 2)</text><polygon fill="#000000" points="737,636.5664,747,640.5664,737,644.5664,741,640.5664" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="492" x2="743" y1="640.5664" y2="640.5664"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="499" y="620.5137">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="499" y="635.8242">Proposal(8, 2)</text><polygon fill="#000000" points="334,681.1875,344,685.1875,334,689.1875,338,685.1875" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="340" y1="685.1875" y2="685.1875"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="97" x="85" y="665.1348">Prepare request</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="85" y="680.4453">Proposal(13, 1)</text><polygon fill="#000000" points="470,695.1875,480,699.1875,470,703.1875,474,699.1875" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="476" y1="699.1875" y2="699.1875"/><polygon fill="#000000" points="606,709.1875,616,713.1875,606,717.1875,610,713.1875" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="612" y1="713.1875" y2="713.1875"/><polygon fill="#000000" points="89,769.1191,79,773.1191,89,777.1191,85,773.1191" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="83" x2="481" y1="773.1191" y2="773.1191"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="95" y="737.7559">Promise Success</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="82" x="95" y="753.0664">But Accepted</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="95" y="768.377">Proposal(8, 2)</text><polygon fill="#000000" points="89,813.7402,79,817.7402,89,821.7402,85,817.7402" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="83" x2="345" y1="817.7402" y2="817.7402"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="95" y="797.6875">Promise Success</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="95" y="812.998">Proposal(13, 1)</text><polygon fill="#000000" points="89,827.7402,79,831.7402,89,835.7402,85,831.7402" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="83" x2="617" y1="831.7402" y2="831.7402"/><polygon fill="#000000" points="334,872.3613,344,876.3613,334,880.3613,338,876.3613" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="218" x2="340" y1="876.3613" y2="876.3613"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="225" y="856.3086">Accept request</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="225" y="871.6191">Proposal(8, 2)</text><polygon fill="#000000" points="606,886.3613,616,890.3613,606,894.3613,610,890.3613" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="218" x2="612" y1="890.3613" y2="890.3613"/><polygon fill="#000000" points="229,930.9824,219,934.9824,229,938.9824,225,934.9824" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="223" x2="345" y1="934.9824" y2="934.9824"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="69" x="235" y="914.9297">Accept Fail</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="235" y="930.2402">Proposal(8, 2)</text><polygon fill="#000000" points="229,944.9824,219,948.9824,229,952.9824,225,948.9824" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="223" x2="617" y1="948.9824" y2="948.9824"/><polygon fill="#000000" points="334,989.6035,344,993.6035,334,997.6035,338,993.6035" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="340" y1="993.6035" y2="993.6035"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="85" y="973.5508">Accept request</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="85" y="988.8613">Proposal(13, 2)</text><polygon fill="#000000" points="470,1003.6035,480,1007.6035,470,1011.6035,474,1007.6035" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="476" y1="1007.6035" y2="1007.6035"/><polygon fill="#000000" points="606,1017.6035,616,1021.6035,606,1025.6035,610,1021.6035" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="612" y1="1021.6035" y2="1021.6035"/><polygon fill="#000000" points="229,1062.2246,219,1066.2246,229,1070.2246,225,1066.2246" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="223" x2="345" y1="1066.2246" y2="1066.2246"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="235" y="1046.1719">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="235" y="1061.4824">Proposal(13, 2)</text><polygon fill="#000000" points="737,1106.8457,747,1110.8457,737,1114.8457,741,1110.8457" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="356" x2="743" y1="1110.8457" y2="1110.8457"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="363" y="1090.793">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="363" y="1106.1035">Proposal(13, 2)</text><polygon fill="#000000" points="229,1151.4668,219,1155.4668,229,1159.4668,225,1155.4668" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="223" x2="481" y1="1155.4668" y2="1155.4668"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="235" y="1135.4141">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="235" y="1150.7246">Proposal(13, 2)</text><polygon fill="#000000" points="737,1196.0879,747,1200.0879,737,1204.0879,741,1200.0879" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="492" x2="743" y1="1200.0879" y2="1200.0879"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="499" y="1180.0352">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="499" y="1195.3457">Proposal(13, 2)</text><line style="stroke: #000000; stroke-width: 1.0;" x1="759" x2="801" y1="1244.709" y2="1244.709"/><line style="stroke: #000000; stroke-width: 1.0;" x1="801" x2="801" y1="1244.709" y2="1257.709"/><line style="stroke: #000000; stroke-width: 1.0;" x1="760" x2="801" y1="1257.709" y2="1257.709"/><polygon fill="#000000" points="770,1253.709,760,1257.709,770,1261.709,766,1257.709" style="stroke: #000000; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="45" x="766" y="1224.6563">chosen</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="766" y="1239.9668">Proposal(13, 2)</text><!-- +@startuml +title Paxos 2 + +skinparam sequence { +ArrowColor black +LifeLineBorderColor black + +ParticipantBorderColor black +ParticipantBackgroundColor white +ParticipantPadding 20 +} + + +participant proposer1 +activate proposer1 +participant proposer2 +activate proposer2 + +participant acceptor1 +activate acceptor1 +participant acceptor2 +activate acceptor2 +participant acceptor3 +activate acceptor3 + +participant learner1 +activate learner1 + + +proposer1 -> acceptor1:Prepare request \nProposal(7, 1) +proposer1 -> acceptor2 +proposer1 -> acceptor3 + +acceptor1 - -> proposer1:Promise Success\nProposal(7, 1) +acceptor2 - -> proposer1 +acceptor3 - -> proposer1 + +proposer2 -> acceptor1:Prepare request \nProposal(8, 2) +proposer2 -> acceptor2 +proposer2 -> acceptor3 + +acceptor1 - -> proposer2:Promise Success\nProposal(8, 2) +acceptor2 - -> proposer2 +acceptor3 - -> proposer2 + +proposer1 -> acceptor1:Accept request \nProposal(7, 1) +proposer1 -> acceptor2 +proposer1 -> acceptor3 + + + +acceptor1 - -> proposer1:Accept Fail\nProposal(8, 2) +acceptor2 - -> proposer1 +acceptor3 - -> proposer1 + + +proposer2 -> acceptor2:Accept request \nProposal(8, 2) + +acceptor2 - -> proposer2:Accept \nProposal(8, 2) +acceptor2 -> learner1:Accept \nProposal(8, 2) + +proposer1 -> acceptor1:Prepare request \nProposal(13, 1) +proposer1 -> acceptor2 +proposer1 -> acceptor3 + +acceptor2 - -> proposer1:Promise Success\nBut Accepted \nProposal(8, 2) +acceptor1 - -> proposer1:Promise Success\nProposal(13, 1) +acceptor3 - -> proposer1 + +proposer2 -> acceptor1:Accept request \nProposal(8, 2) +proposer2 -> acceptor3 + +acceptor1 - -> proposer2:Accept Fail\nProposal(8, 2) +acceptor3 - -> proposer2 + +proposer1 -> acceptor1:Accept request \nProposal(13, 2) +proposer1 -> acceptor2 +proposer1 -> acceptor3 + +acceptor1 - -> proposer2:Accept \nProposal(13, 2) +acceptor1 -> learner1:Accept \nProposal(13, 2) + + +acceptor2 - -> proposer2:Accept \nProposal(13, 2) +acceptor2 -> learner1:Accept \nProposal(13, 2) + +learner1 -> learner1:chosen \nProposal(13, 2) + +@enduml + +PlantUML version 1.2019.01(Sun Feb 10 00:32:04 JST 2019) +(GPL source distribution) +Java Runtime: OpenJDK Runtime Environment +JVM: OpenJDK 64-Bit Server VM +Java Version: 11.0.1+13 +Operating System: Mac OS X +OS Version: 10.13.6 +Default Encoding: UTF-8 +Language: ja +Country: JP +--></g></svg> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/images/paxos3.pu Tue May 07 22:11:05 2019 +0900 @@ -0,0 +1,112 @@ +@startuml +title Paxos 3 +/' ======= style ======= '/ + +skinparam sequence { +ArrowColor black +LifeLineBorderColor black + +ParticipantBorderColor black +ParticipantBackgroundColor white +ParticipantPadding 20 +} + +/' ======= node name ======= '/ + +/' === proposers === '/ +participant proposer1 +activate proposer1 +participant proposer2 +activate proposer2 + +/' === acceptors === '/ +participant acceptor1 +activate acceptor1 +participant acceptor2 +activate acceptor2 +participant acceptor3 +activate acceptor3 + +/' === learners === '/ +participant learner1 +activate learner1 + +/' ======= uml ======= '/ + +proposer1 -> acceptor1:Prepare request \n\ +Proposal(7, 1) +proposer1 -> acceptor2 +proposer1 -> acceptor3 + +acceptor1 --> proposer1:Promise Success\n\ +Proposal(7, 1) +acceptor2 --> proposer1 +acceptor3 --> proposer1 + +proposer1 -> acceptor3:Accept Request \n\ +Proposal(7, 1) +acceptor3 --> proposer1: Accept \n\ +Proposal(7,1) +acceptor3 -> learner1:Accept \n\ +Proposal(7, 1) + + +proposer2 -> acceptor1:Prepare request \n\ +Proposal(8, 2) +proposer2 -> acceptor2 +proposer2 -> acceptor3 + +acceptor1 --> proposer2:Promise Success\n\ +Proposal(8, 2) +acceptor2 --> proposer2 +acceptor3 --> proposer2:Promise Success \n\ +But Accepted \n\ +Proposal(7, 1) + +proposer1 -> acceptor1:Accept request \n\ +Proposal(7, 1) +proposer1 -> acceptor2 + +acceptor1 --> proposer1:Accept Fail\n\ +Promised \n\ +Proposal(8, 2) +acceptor2 --> proposer1 + + +proposer1 -> acceptor1:Prepare request \n\ +Proposal(13, 1) +proposer1 -> acceptor2 +proposer1 -> acceptor3 + +acceptor1 --> proposer1:Promise Success\n\ +Proposal(13, 1) +acceptor2 --> proposer1 +acceptor3 --> proposer1 + + +proposer1 -> acceptor1:Accept request \n\ +Proposal(13, 1) +proposer1 -> acceptor2 +proposer1 -> acceptor3 + +acceptor1 --> proposer1:Accept \n\ +Proposal(13, 1) +acceptor1 -> learner1:Accept \n\ +Proposal(13, 1) + +acceptor2 --> proposer1:Accept \n\ +Proposal(13, 1) +acceptor2 -> learner1:Accept \n\ +Proposal(13, 1) + + + +acceptor3 --> proposer1:Accept \n\ +Proposal(13, 1) +acceptor3 -> learner1:Accept \n\ +Proposal(13, 1) + +learner1 -> learner1:chosen \n\ +Proposal(13, 1) + +@enduml \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/images/paxos3.svg Tue May 07 22:11:05 2019 +0900 @@ -0,0 +1,97 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="1275px" preserveAspectRatio="none" style="width:872px;height:1275px;" version="1.1" viewBox="0 0 872 1275" width="872px" zoomAndPan="magnify"><defs><filter height="300%" id="f1jrqdh23d0xyz" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="56" x="409.5" y="23.5352">Paxos 3</text><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="1147.043" style="stroke: #000000; stroke-width: 1.0;" width="10" x="68" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="1147.043" style="stroke: #000000; stroke-width: 1.0;" width="10" x="208" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="1147.043" style="stroke: #000000; stroke-width: 1.0;" width="10" x="346" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="1147.043" style="stroke: #000000; stroke-width: 1.0;" width="10" x="482" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="1147.043" style="stroke: #000000; stroke-width: 1.0;" width="10" x="618" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="1147.043" style="stroke: #000000; stroke-width: 1.0;" width="10" x="749" y="78.9766"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="73" x2="73" y1="68.9766" y2="1235.0195"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="213" x2="213" y1="68.9766" y2="1235.0195"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="351" x2="351" y1="68.9766" y2="1235.0195"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="487" x2="487" y1="68.9766" y2="1235.0195"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="623" x2="623" y1="68.9766" y2="1235.0195"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="754" x2="754" y1="68.9766" y2="1235.0195"/><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="86" x="28" y="33.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="72" x="35" y="54.0234">proposer1</text><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="86" x="28" y="1234.0195"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="72" x="35" y="1254.5547">proposer1</text><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="86" x="168" y="33.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="72" x="175" y="54.0234">proposer2</text><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="86" x="168" y="1234.0195"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="72" x="175" y="1254.5547">proposer2</text><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="82" x="308" y="33.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="68" x="315" y="54.0234">acceptor1</text><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="82" x="308" y="1234.0195"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="68" x="315" y="1254.5547">acceptor1</text><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="82" x="444" y="33.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="68" x="451" y="54.0234">acceptor2</text><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="82" x="444" y="1234.0195"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="68" x="451" y="1254.5547">acceptor2</text><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="82" x="580" y="33.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="68" x="587" y="54.0234">acceptor3</text><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="82" x="580" y="1234.0195"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="68" x="587" y="1254.5547">acceptor3</text><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="72" x="716" y="33.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="58" x="723" y="54.0234">learner1</text><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="72" x="716" y="1234.0195"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="58" x="723" y="1254.5547">learner1</text><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="1147.043" style="stroke: #000000; stroke-width: 1.0;" width="10" x="68" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="1147.043" style="stroke: #000000; stroke-width: 1.0;" width="10" x="208" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="1147.043" style="stroke: #000000; stroke-width: 1.0;" width="10" x="346" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="1147.043" style="stroke: #000000; stroke-width: 1.0;" width="10" x="482" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="1147.043" style="stroke: #000000; stroke-width: 1.0;" width="10" x="618" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="1147.043" style="stroke: #000000; stroke-width: 1.0;" width="10" x="749" y="78.9766"/><polygon fill="#000000" points="334,111.5977,344,115.5977,334,119.5977,338,115.5977" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="340" y1="115.5977" y2="115.5977"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="97" x="85" y="95.5449">Prepare request</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="85" y="110.8555">Proposal(7, 1)</text><polygon fill="#000000" points="470,125.5977,480,129.5977,470,133.5977,474,129.5977" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="476" y1="129.5977" y2="129.5977"/><polygon fill="#000000" points="606,139.5977,616,143.5977,606,147.5977,610,143.5977" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="612" y1="143.5977" y2="143.5977"/><polygon fill="#000000" points="89,184.2188,79,188.2188,89,192.2188,85,188.2188" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="83" x2="345" y1="188.2188" y2="188.2188"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="95" y="168.166">Promise Success</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="95" y="183.4766">Proposal(7, 1)</text><polygon fill="#000000" points="89,198.2188,79,202.2188,89,206.2188,85,202.2188" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="83" x2="481" y1="202.2188" y2="202.2188"/><polygon fill="#000000" points="89,212.2188,79,216.2188,89,220.2188,85,216.2188" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="83" x2="617" y1="216.2188" y2="216.2188"/><polygon fill="#000000" points="606,256.8398,616,260.8398,606,264.8398,610,260.8398" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="612" y1="260.8398" y2="260.8398"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="97" x="85" y="240.7871">Accept Request</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="85" y="256.0977">Proposal(7, 1)</text><polygon fill="#000000" points="89,301.4609,79,305.4609,89,309.4609,85,305.4609" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="83" x2="617" y1="305.4609" y2="305.4609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="95" y="285.4082">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="82" x="95" y="300.7188">Proposal(7,1)</text><polygon fill="#000000" points="737,346.082,747,350.082,737,354.082,741,350.082" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="628" x2="743" y1="350.082" y2="350.082"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="635" y="330.0293">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="635" y="345.3398">Proposal(7, 1)</text><polygon fill="#000000" points="334,390.7031,344,394.7031,334,398.7031,338,394.7031" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="218" x2="340" y1="394.7031" y2="394.7031"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="97" x="225" y="374.6504">Prepare request</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="225" y="389.9609">Proposal(8, 2)</text><polygon fill="#000000" points="470,404.7031,480,408.7031,470,412.7031,474,408.7031" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="218" x2="476" y1="408.7031" y2="408.7031"/><polygon fill="#000000" points="606,418.7031,616,422.7031,606,426.7031,610,422.7031" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="218" x2="612" y1="422.7031" y2="422.7031"/><polygon fill="#000000" points="229,463.3242,219,467.3242,229,471.3242,225,467.3242" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="223" x2="345" y1="467.3242" y2="467.3242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="235" y="447.2715">Promise Success</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="235" y="462.582">Proposal(8, 2)</text><polygon fill="#000000" points="229,477.3242,219,481.3242,229,485.3242,225,481.3242" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="223" x2="481" y1="481.3242" y2="481.3242"/><polygon fill="#000000" points="229,537.2559,219,541.2559,229,545.2559,225,541.2559" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="223" x2="617" y1="541.2559" y2="541.2559"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="235" y="505.8926">Promise Success</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="82" x="235" y="521.2031">But Accepted</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="235" y="536.5137">Proposal(7, 1)</text><polygon fill="#000000" points="334,581.877,344,585.877,334,589.877,338,585.877" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="340" y1="585.877" y2="585.877"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="85" y="565.8242">Accept request</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="85" y="581.1348">Proposal(7, 1)</text><polygon fill="#000000" points="470,595.877,480,599.877,470,603.877,474,599.877" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="476" y1="599.877" y2="599.877"/><polygon fill="#000000" points="89,655.8086,79,659.8086,89,663.8086,85,659.8086" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="83" x2="345" y1="659.8086" y2="659.8086"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="69" x="95" y="624.4453">Accept Fail</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="58" x="95" y="639.7559">Promised</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="95" y="655.0664">Proposal(8, 2)</text><polygon fill="#000000" points="89,669.8086,79,673.8086,89,677.8086,85,673.8086" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="83" x2="481" y1="673.8086" y2="673.8086"/><polygon fill="#000000" points="334,714.4297,344,718.4297,334,722.4297,338,718.4297" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="340" y1="718.4297" y2="718.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="97" x="85" y="698.377">Prepare request</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="85" y="713.6875">Proposal(13, 1)</text><polygon fill="#000000" points="470,728.4297,480,732.4297,470,736.4297,474,732.4297" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="476" y1="732.4297" y2="732.4297"/><polygon fill="#000000" points="606,742.4297,616,746.4297,606,750.4297,610,746.4297" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="612" y1="746.4297" y2="746.4297"/><polygon fill="#000000" points="89,787.0508,79,791.0508,89,795.0508,85,791.0508" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="83" x2="345" y1="791.0508" y2="791.0508"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="95" y="770.998">Promise Success</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="95" y="786.3086">Proposal(13, 1)</text><polygon fill="#000000" points="89,801.0508,79,805.0508,89,809.0508,85,805.0508" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="83" x2="481" y1="805.0508" y2="805.0508"/><polygon fill="#000000" points="89,815.0508,79,819.0508,89,823.0508,85,819.0508" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="83" x2="617" y1="819.0508" y2="819.0508"/><polygon fill="#000000" points="334,859.6719,344,863.6719,334,867.6719,338,863.6719" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="340" y1="863.6719" y2="863.6719"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="85" y="843.6191">Accept request</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="85" y="858.9297">Proposal(13, 1)</text><polygon fill="#000000" points="470,873.6719,480,877.6719,470,881.6719,474,877.6719" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="476" y1="877.6719" y2="877.6719"/><polygon fill="#000000" points="606,887.6719,616,891.6719,606,895.6719,610,891.6719" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="612" y1="891.6719" y2="891.6719"/><polygon fill="#000000" points="89,932.293,79,936.293,89,940.293,85,936.293" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="83" x2="345" y1="936.293" y2="936.293"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="95" y="916.2402">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="95" y="931.5508">Proposal(13, 1)</text><polygon fill="#000000" points="737,976.9141,747,980.9141,737,984.9141,741,980.9141" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="356" x2="743" y1="980.9141" y2="980.9141"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="363" y="960.8613">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="363" y="976.1719">Proposal(13, 1)</text><polygon fill="#000000" points="89,1021.5352,79,1025.5352,89,1029.5352,85,1025.5352" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="83" x2="481" y1="1025.5352" y2="1025.5352"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="95" y="1005.4824">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="95" y="1020.793">Proposal(13, 1)</text><polygon fill="#000000" points="737,1066.1563,747,1070.1563,737,1074.1563,741,1070.1563" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="492" x2="743" y1="1070.1563" y2="1070.1563"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="499" y="1050.1035">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="499" y="1065.4141">Proposal(13, 1)</text><polygon fill="#000000" points="89,1110.7773,79,1114.7773,89,1118.7773,85,1114.7773" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="83" x2="617" y1="1114.7773" y2="1114.7773"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="95" y="1094.7246">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="95" y="1110.0352">Proposal(13, 1)</text><polygon fill="#000000" points="737,1155.3984,747,1159.3984,737,1163.3984,741,1159.3984" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="628" x2="743" y1="1159.3984" y2="1159.3984"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="635" y="1139.3457">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="635" y="1154.6563">Proposal(13, 1)</text><line style="stroke: #000000; stroke-width: 1.0;" x1="759" x2="801" y1="1204.0195" y2="1204.0195"/><line style="stroke: #000000; stroke-width: 1.0;" x1="801" x2="801" y1="1204.0195" y2="1217.0195"/><line style="stroke: #000000; stroke-width: 1.0;" x1="760" x2="801" y1="1217.0195" y2="1217.0195"/><polygon fill="#000000" points="770,1213.0195,760,1217.0195,770,1221.0195,766,1217.0195" style="stroke: #000000; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="45" x="766" y="1183.9668">chosen</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="766" y="1199.2773">Proposal(13, 1)</text><!-- +@startuml +title Paxos 3 + +skinparam sequence { +ArrowColor black +LifeLineBorderColor black + +ParticipantBorderColor black +ParticipantBackgroundColor white +ParticipantPadding 20 +} + + +participant proposer1 +activate proposer1 +participant proposer2 +activate proposer2 + +participant acceptor1 +activate acceptor1 +participant acceptor2 +activate acceptor2 +participant acceptor3 +activate acceptor3 + +participant learner1 +activate learner1 + + +proposer1 -> acceptor1:Prepare request \nProposal(7, 1) +proposer1 -> acceptor2 +proposer1 -> acceptor3 + +acceptor1 - -> proposer1:Promise Success\nProposal(7, 1) +acceptor2 - -> proposer1 +acceptor3 - -> proposer1 + +proposer1 -> acceptor3:Accept Request \nProposal(7, 1) +acceptor3 - -> proposer1: Accept \nProposal(7,1) +acceptor3 -> learner1:Accept \nProposal(7, 1) + + +proposer2 -> acceptor1:Prepare request \nProposal(8, 2) +proposer2 -> acceptor2 +proposer2 -> acceptor3 + +acceptor1 - -> proposer2:Promise Success\nProposal(8, 2) +acceptor2 - -> proposer2 +acceptor3 - -> proposer2:Promise Success \nBut Accepted \nProposal(7, 1) + +proposer1 -> acceptor1:Accept request \nProposal(7, 1) +proposer1 -> acceptor2 + +acceptor1 - -> proposer1:Accept Fail\nPromised \nProposal(8, 2) +acceptor2 - -> proposer1 + + +proposer1 -> acceptor1:Prepare request \nProposal(13, 1) +proposer1 -> acceptor2 +proposer1 -> acceptor3 + +acceptor1 - -> proposer1:Promise Success\nProposal(13, 1) +acceptor2 - -> proposer1 +acceptor3 - -> proposer1 + + +proposer1 -> acceptor1:Accept request \nProposal(13, 1) +proposer1 -> acceptor2 +proposer1 -> acceptor3 + +acceptor1 - -> proposer1:Accept \nProposal(13, 1) +acceptor1 -> learner1:Accept \nProposal(13, 1) + +acceptor2 - -> proposer1:Accept \nProposal(13, 1) +acceptor2 -> learner1:Accept \nProposal(13, 1) + + + +acceptor3 - -> proposer1:Accept \nProposal(13, 1) +acceptor3 -> learner1:Accept \nProposal(13, 1) + +learner1 -> learner1:chosen \nProposal(13, 1) + +@enduml + +PlantUML version 1.2019.01(Sun Feb 10 00:32:04 JST 2019) +(GPL source distribution) +Java Runtime: OpenJDK Runtime Environment +JVM: OpenJDK 64-Bit Server VM +Java Version: 11.0.1+13 +Operating System: Mac OS X +OS Version: 10.13.6 +Default Encoding: UTF-8 +Language: ja +Country: JP +--></g></svg> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ipsj.cls Tue May 07 22:11:05 2019 +0900 @@ -0,0 +1,5950 @@ + +% ipsj.cls (C) 2012 Information Processing Society of Japan +% Copyright (C) 1995-2010 by Hiroshi Nakashima, Yasuki Saito and +% The Editorial Board of the IPSJ Journal + +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{ipsj} +% [2011/08/22-11/25 Test.ver IPSJ class] +% [2011/12/15-2012/04/24 v1.01-v1.02e IPSJ class] +% [2012/06/01-2018/03/22 v1.03-v3.05 IPSJ class] + [2018/08/03 v4.0 IPSJ class] + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\RequirePackage{color} + +\newif\if@Proof \@Prooffalse% +\DeclareOption{Proof}{\@Prooftrue} + + +\newif\if@LAYOUT \@LAYOUTfalse% +\DeclareOption{LAYOUT}{\@LAYOUTtrue} + +\newif\if@submit \@submitfalse +\DeclareOption{submit}{\@submittrue} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%% Document Styles %%%%%% +%\newif\ifDS@printer \DS@printerfalse +\newif\ifDS@english \DS@englishfalse +\newif\ifDS@technote \DS@technotefalse +\newif\ifDS@preface \DS@prefacefalse +\newif\ifDS@techrep \DS@techrepfalse +\newif\ifDS@sigrecommended \DS@sigrecommendedfalse +\newif\ifDS@invited \DS@invitedfalse +\newif\ifDS@online \DS@onlinefalse +\newif\ifDS@draft \DS@draftfalse +%====================== +\newif\ifDS@PRO \DS@PROfalse +\newif\ifDS@ACS \DS@ACSfalse +\newif\ifDS@TOD \DS@TODfalse +\newif\ifDS@TOM \DS@TOMfalse +\newif\ifDS@CVA \DS@CVAfalse +\newif\ifDS@TBIO \DS@TBIOfalse +\newif\ifDS@SLDM \DS@SLDMfalse +\newif\ifDS@CDS \DS@CDSfalse +\newif\ifDS@DC \DS@DCfalse % v1.5 +\newif\ifDS@DCON \DS@DCONfalse % v2.0 +%====================== +\newif\ifDS@JIP \DS@JIPfalse +\newif\ifDS@Data \DS@Datafalse +\newif\ifDS@Survey \DS@Surveyfalse +\newif\ifDS@Research \DS@Researchfalse +\newif\ifDS@Short \DS@Shortfalse +\newif\ifDS@systems \DS@systemsfalse +\newif\ifDS@services \DS@servicesfalse +\newif\ifDS@devices \DS@devicesfalse +%====================== +\newif\ifDS@abstract \DS@abstractfalse +\newif\ifDS@EEE \DS@EEEfalse +%====================== +\newif\ifDS@OT \DS@OTfalse + + +%% v1.02b +\newif\ifDS@noauthor \DS@noauthorfalse + +%% v1.4 +\newif\ifDS@system \DS@systemfalse + + +%% v1.5 +\newif\ifDS@Express \DS@Expressfalse +\newif\ifDS@Practice \DS@Practicefalse +\newif\ifDS@Content \DS@Contentfalse + +%% v1.7 TCE +\newif\ifDS@TCE \DS@TCEfalse +\newif\ifDS@invitedshort \DS@invitedshortfalse +\newif\ifDS@recommendedshort \DS@recommendedshortfalse +%% v1.7 DCON +%% v2.0 DCON +\newif\ifDS@recommendedresearch \DS@recommendedresearchfalse +\newif\ifDS@recommendedpractice \DS@recommendedpracticefalse +\newif\ifDS@recommendedcontent \DS@recommendedcontentfalse + +%% v3.5 CDS +\newif\ifDS@recommendeddevices \DS@recommendeddevicesfalse + + + + + + +\DeclareOption{DAM}{\def\@type{DAM}\def\@Mtype{DAM}} + +\DeclareOption{english}{\DS@englishtrue\DS@EEEtrue} +%%% +\DeclareOption{technote}{\DS@technotetrue\def\@Mtype{technote}} +\DeclareOption{sigrecommended}{\DS@sigrecommendedtrue\def\@Mtype{sigrecommended}} +\DeclareOption{invited}{\DS@invitedtrue\def\@Mtype{invited}} +%============= +\DeclareOption{PRO}{\DS@PROtrue\def\@type{PRO}\DS@EEEfalse} +\DeclareOption{ACS}{\DS@ACStrue\def\@type{ACS}\DS@EEEfalse} +\DeclareOption{TOD}{\DS@TODtrue\def\@type{TOD}\DS@EEEfalse} +\DeclareOption{TOM}{\DS@TOMtrue\def\@type{TOM}\DS@EEEfalse} +\DeclareOption{CDS}{\DS@CDStrue\def\@type{CDS}\DS@EEEfalse} +\DeclareOption{DC}{\DS@DCtrue\def\@type{DC}\DS@EEEfalse}% v1.5 +\DeclareOption{DCON}{\DS@DCONtrue\def\@type{DCON}\DS@EEEfalse}% v2.0 +%% +\DeclareOption{CVA}{\DS@englishtrue\DS@CVAtrue\def\@type{CVA}\DS@EEEfalse} +\DeclareOption{TBIO}{\DS@englishtrue\DS@TBIOtrue\def\@type{TBIO}\def\@Mtype{TBIOM}\DS@EEEfalse} +\DeclareOption{SLDM}{\DS@englishtrue\DS@SLDMtrue\def\@type{SLDM}\DS@EEEfalse} +%% +\DeclareOption{JIP}{\DS@englishtrue\DS@JIPtrue\def\@type{JIP}\DS@EEEfalse} + +\DeclareOption{Data}{\DS@Datatrue\def\@type{Data}\def\@Mtype{Data}\DS@EEEfalse} +\DeclareOption{Survey}{\DS@Surveytrue\def\@type{Survey}\def\@Mtype{Survey}\DS@EEEfalse} +\DeclareOption{Research}{\DS@Researchtrue\def\@type{Research}\def\@Mtype{Research}\DS@EEEfalse} +\DeclareOption{Short}{\DS@Shorttrue\def\@type{Short}\def\@Mtype{Short}\DS@EEEfalse} + +\DeclareOption{abstract}{\DS@abstracttrue\def\@Mtype{abstract}\DS@EEEfalse} + +\DeclareOption{systems}{\DS@systemstrue\def\@Mtype{systems}\DS@EEEfalse} +\DeclareOption{services}{\DS@servicestrue\def\@Mtype{services}\DS@EEEfalse} +\DeclareOption{devices}{\DS@devicestrue\def\@Mtype{devices}\DS@EEEfalse} + +\DeclareOption{preface}{\DS@prefacetrue} +\DeclareOption{draft}{\DS@drafttrue} + +\DeclareOption{OT}{\DS@OTtrue} + +%% v1.02b +\DeclareOption{techrep}{\DS@techreptrue} +\DeclareOption{noauthor}{\DS@noauthortrue} + +%% v1.4 +\DeclareOption{system}{\DS@systemtrue\def\@Mtype{system}\DS@EEEfalse} + +%% v1.5 +\DeclareOption{Express}{\DS@Expresstrue\def\@Mtype{Express}\DS@EEEfalse} +\DeclareOption{Practice}{\DS@Practicetrue\def\@Mtype{Practice}\DS@EEEfalse} +\DeclareOption{Content}{\DS@Contenttrue\def\@Mtype{Content}\DS@EEEfalse} + +%% v1.7 TCE +\DeclareOption{TCE}{\DS@TCEtrue\def\@type{TCE}\DS@EEEfalse} +\DeclareOption{invitedshort}{\DS@invitedshorttrue\def\@Mtype{invitedshort}\DS@EEEfalse} +\DeclareOption{recommendedshort}{\DS@recommendedshorttrue\def\@Mtype{recommendedshort}\DS@EEEfalse} + +%% v1.7 DCON +%% v2.0 DCON +\DeclareOption{recommendedresearch}{\DS@recommendedresearchtrue\def\@Mtype{recommendedresearch}\DS@EEEfalse} +\DeclareOption{recommendedpractice}{\DS@recommendedpracticetrue\def\@Mtype{recommendedpractice}\DS@EEEfalse} +\DeclareOption{recommendedcontent}{\DS@recommendedcontenttrue\def\@Mtype{recommendedcontent}\DS@EEEfalse} + +%% v3.5 +\DeclareOption{recommendeddevices}{\DS@recommendeddevicestrue\def\@Mtype{recommendeddevices}\DS@EEEfalse} + + + + + + +%% v1.8 +\newif\ifDS@preprint \DS@preprintfalse + +\DeclareOption{preprint}{% +\DS@preprinttrue% +\DS@englishtrue% +\DS@PROfalse% +\DS@TOMfalse% +\DS@ACSfalse% +\DS@TODfalse% +\DS@DCfalse% +\DS@DCONfalse% +\DS@TCEfalse% +\DS@CDSfalse% +\def\@type{DAM}% +\def\@Mtype{DAM}% +\DS@EEEtrue% +\ifDS@systems\def\@Mtype{systems}\fi +\ifDS@services\def\@Mtype{services}\fi +\ifDS@devices\def\@Mtype{devices}\fi +\ifDS@Research\def\@Mtype{Research}\fi +\ifDS@Practice\def\@Mtype{Practice}\fi +\ifDS@Content\def\@Mtype{Content}\fi +%%%v1.10 +\ifDS@invited\def\@Mtype{invited}\fi +\ifDS@sigrecommended\def\@Mtype{sigrecommended}\fi +%%%v3.04 +\ifDS@technote\def\@Mtype{technote}\fi +%%v3.04 +\ifDS@recommendeddevices\def\@Mtype{recommendeddevices}\fi +} +%%%%%%%%%%%%% + + + + + + + + + + +%%%% parameter %%%%%%%%% +\unitlength=1mm +\predisplaypenalty=0 +%%%%%%%%%%%%%%%%%%%%%%%% + + + +%%A4: 210mm, 297mm +\newcounter{@paper} +\newif\if@landscape \@landscapefalse +\newcommand{\@ptsize}{} +\newif\if@restonecol +\newif\if@titlepage +\@titlepagetrue +\newif\if@openright +\newif\if@mainmatter \@mainmattertrue +%\hour\time \divide\hour by 60\relax +%\@tempcnta\hour \multiply\@tempcnta 60\relax +%\minute\time \advance\minute-\@tempcnta +\newif\if@stysize \@stysizefalse +\newif\if@enablejfam \@enablejfamtrue +\DeclareOption{a4paper}{\setcounter{@paper}{1}% + \setlength\paperheight {297mm}% + \setlength\paperwidth {210mm}} +\DeclareOption{a5paper}{\setcounter{@paper}{2}% + \setlength\paperheight {210mm} + \setlength\paperwidth {148mm}} +\DeclareOption{b4paper}{\setcounter{@paper}{3}% + \setlength\paperheight {364mm} + \setlength\paperwidth {257mm}} +\DeclareOption{b5paper}{\setcounter{@paper}{4}% + \setlength\paperheight {257mm} + \setlength\paperwidth {182mm}} +\DeclareOption{a4j}{\setcounter{@paper}{1}\@stysizetrue + \setlength\paperheight {297mm}% + \setlength\paperwidth {210mm}} +\DeclareOption{a5j}{\setcounter{@paper}{2}\@stysizetrue + \setlength\paperheight {210mm} + \setlength\paperwidth {148mm}} +\DeclareOption{b4j}{\setcounter{@paper}{3}\@stysizetrue + \setlength\paperheight {364mm} + \setlength\paperwidth {257mm}} +\DeclareOption{b5j}{\setcounter{@paper}{4}\@stysizetrue + \setlength\paperheight {257mm} + \setlength\paperwidth {182mm}} +\DeclareOption{a4p}{\setcounter{@paper}{1}\@stysizetrue + \setlength\paperheight {297mm}% + \setlength\paperwidth {210mm}} +\DeclareOption{a5p}{\setcounter{@paper}{2}\@stysizetrue + \setlength\paperheight {210mm} + \setlength\paperwidth {148mm}} +\DeclareOption{b4p}{\setcounter{@paper}{3}\@stysizetrue + \setlength\paperheight {364mm} + \setlength\paperwidth {257mm}} +\DeclareOption{b5p}{\setcounter{@paper}{4}\@stysizetrue + \setlength\paperheight {257mm} + \setlength\paperwidth {182mm}} +\if@compatibility + \renewcommand{\@ptsize}{0} +\else + \DeclareOption{10pt}{\renewcommand{\@ptsize}{0}} +\fi +\DeclareOption{11pt}{\renewcommand{\@ptsize}{1}} +\DeclareOption{12pt}{\renewcommand{\@ptsize}{2}} +\DeclareOption{landscape}{\@landscapetrue + \setlength\@tempdima{\paperheight}% + \setlength\paperheight{\paperwidth}% + \setlength\paperwidth{\@tempdima}} +%\DeclareOption{tombow}{% +% \tombowtrue \tombowdatetrue +% \setlength{\@tombowwidth}{.1\p@}% +% \@bannertoken{% +% \jobname\space:\space\number\year/\number\month/\number\day +% (\number\hour:\number\minute)} +% \maketombowbox} +%\DeclareOption{tombo}{% +% \tombowtrue \tombowdatefalse +% \setlength{\@tombowwidth}{.1\p@}% +% \maketombowbox} +\DeclareOption{mentuke}{% + \tombowtrue \tombowdatefalse + \setlength{\@tombowwidth}{\z@}% + \maketombowbox} +\DeclareOption{tate}{% + \AtBeginDocument{\tate\message{《縦組モード》}% + \adjustbaseline}% +} +\DeclareOption{oneside}{\@twosidefalse} +\DeclareOption{twoside}{\@twosidetrue} +\DeclareOption{onecolumn}{\@twocolumnfalse} +\DeclareOption{twocolumn}{\@twocolumntrue} +\DeclareOption{titlepage}{\@titlepagetrue} +\DeclareOption{notitlepage}{\@titlepagefalse} +\if@compatibility +\@openrighttrue +\else +\DeclareOption{openright}{\@openrighttrue} +\DeclareOption{openany}{\@openrightfalse} +\fi +\DeclareOption{leqno}{\input{leqno.clo}} +\DeclareOption{fleqn}{\input{fleqn.clo}} +\DeclareOption{openbib}{% + \AtEndOfPackage{% + \renewcommand\@openbib@code{% + \advance\leftmargin\bibindent + \itemindent -\bibindent + \listparindent \itemindent + \parsep \z@ + }% + \renewcommand\newblock{\par}}} +\if@compatibility +\else + \DeclareOption{disablejfam}{\@enablejfamfalse} +\fi +%\DeclareOption{draft}{\setlength\overfullrule{5pt}} +\DeclareOption{final}{\setlength\overfullrule{0pt}} + +%% +%% Option +%% +\ExecuteOptions{a4paper,10pt,twoside,twocolumn,final,openright,DAM,Prooffalse}%!! +\tracingmacros=1 +\ProcessOptions\relax +\tracingmacros=0 + +%% +\newdimen\h + \h=0.25mm +\newdimen\JQ + \JQ=0.7392507pt +\newdimen\Q + \Q=0.71144pt + +\newdimen\@Q \@Q=0.25mm + + +%% +%% Font +%% + +\ifDS@english +\else +%% +\expandafter\let\csname JY1/mc/m/n/10\endcsname\relax +\expandafter\let\csname JY1/gt/m/n/10\endcsname\relax +%%% +\DeclareFontShape{JT1}{gt}{m}{it}{<-> ssub*gt/m/n}{} +\DeclareFontFamily{JT1}{mdg}{} +\DeclareFontShape{JT1}{mdg}{m}{n}{<-> ssub*gt/m/n}{} +\DeclareFontFamily{JT1}{gmb}{} +\DeclareFontShape{JT1}{gmb}{m}{n}{<-> ssub*gt/m/n}{} +\DeclareFontShape{JT1}{gmb}{bx}{n}{<-> ssub*gt/m/n}{} +\DeclareFontFamily{JT1}{sg}{} +\DeclareFontShape{JT1}{sg}{m}{n}{<-> ssub*gt/m/n}{} +\DeclareFontShape{JT1}{sg}{bx}{n}{<-> ssub*gt/m/n}{} +\DeclareFontFamily{JT1}{gbm}{} +\DeclareFontShape{JT1}{gbm}{m}{n}{<-> ssub*gt/m/n}{} +\DeclareFontShape{JT1}{gbm}{bx}{n}{<-> ssub*gt/m/n}{} +\DeclareFontFamily{JT1}{jun}{} +\DeclareFontShape{JT1}{jun}{b}{n}{<-> ssub*gt/m/n}{} +\DeclareFontShape{JT1}{jun}{m}{n}{<-> ssub*gt/m/n}{} +\DeclareFontShape{JT1}{jun}{bx}{n}{<-> ssub*gt/m/n}{} +\DeclareFontShape{JT1}{mc}{m}{it}{<-> ssub*mc/m/n}{} +\DeclareFontShape{JY1}{mc}{m}{it}{<-> ssub*mc/m/n}{}%% v1.4 +% +\DeclareFontShape{JT1}{mc}{bx}{it}{<-> ssub*gt/m/n}{}%% v1.4 +\DeclareFontShape{JY1}{mc}{bx}{it}{<-> ssub*gt/m/n}{}%% v1.4 + + +%%% +\DeclareFontShape{JT1}{mc}{m}{sc}{<-> ssub*mc/m/n}{} +\DeclareFontShape{JY1}{mc}{m}{sc}{<-> ssub*mc/m/n}{} + +\DeclareFontShape{JY1}{mc}{m}{n}{<5>jis <6> jis + <7> s * [1.05571] jis + <8> s * [1.01625] jis + <9> s * [0.98556] jis + <10> s * [0.961] jis + <10.95> s * [0.94516] jis + <12> s * [0.98567] jis + <14.4> s * [0.92406] jis + <17.28> s * [0.85561] jis + <20.74> s * [0.88545] jis + <24.88> s * [0.9508] jis + <-> jis + }{} +% +\DeclareFontShape{JY1}{gt}{m}{n}{<5>jisg <6> jisg + <7> s * [1.05571] jisg + <8> s * [1.01625] jisg + <9> s * [0.98556] jisg + <10> s * [0.961] jisg + <10.95> s * [0.94516] jisg + <12> s * [0.98567] jisg + <14.4> s * [0.92406] jisg + <17.28> s * [0.85561] jisg + <20.74> s * [0.88545] jisg + <24.88> s * [0.9508] jisg + <-> jisg + }{} +\fi + + +% +\DeclareFontShape{OT1}{cmr}{m}{n}% + {<-5.5> cmr5% + <5.5-6.5> cmr6% + <6.5-7.5> cmr7% + <7.5-8.5> cmr8% + <8.5-11.5> cmr10% + <11.5-16.5> cmr12% + <16.5-> cmr17% + }{} +\DeclareFontShape{OT1}{cmr}{m}{sl}% + { <-8.5> cmsl8% + <8.5-9.5> cmsl9% + <9.5-11.5> cmsl10% + <11.5-> cmsl12% + }{} +\DeclareFontShape{OT1}{cmr}{m}{it}% + {% + <-7.5> cmti7% + <7.5-8.5> cmti8% + <8.5-9.5> cmti9% + <9.5-11.5> cmti10% + <11.5-> cmti12% + }{} +\DeclareFontShape{OT1}{cmr}{m}{sc}% + {% + <->cmcsc10% + }{} +\DeclareFontShape{OT1}{cmr}{m}{ui} + {% + <-> cmu10% + }{} +%%%%%%% bold series +\DeclareFontShape{OT1}{cmr}{b}{n} + {% + <-> cmb10% + }{} +%%%%%%%% bold extended series +\DeclareFontShape{OT1}{cmr}{bx}{n} + {% + <-5.5> cmbx5 + <5.5-6.5> cmbx6 + <6.5-7.5> cmbx7 + <7.5-8.5> cmbx8 + <8.5-9.5> cmbx9% + <9.5-11.5> cmbx10% + <11.5-> cmbx12% + }{} +\DeclareFontShape{OT1}{cmr}{bx}{sl} + {% + <-> cmbxsl10% + }{} +\DeclareFontShape{OT1}{cmr}{bx}{it} + {% + <-> cmbxti10% + }{} +\DeclareFontShape{OT1}{cmr}{bx}{ui} + {<->sub*cmr/m/ui}{} +%OMScmsy +\DeclareFontShape{OMS}{cmsy}{m}{n}{% + <-5.5> cmsy5 + <5.5-6.5> cmsy6 + <6.5-7.5> cmsy7 + <7.5-8.5> cmsy8 + <8.5-9.5> cmsy9 + <9.5-> cmsy10% + }{} +\DeclareFontShape{OMS}{cmsy}{b}{n}{% + <-5.5> cmbsy5 + <5.5-6.5> cmbsy6 + <6.5-7.5> cmbsy7 + <7.5-8.5> cmbsy8 + <8.5-9.5> cmbsy9 + <9.5-> cmbsy10% + }{} +%OMXcmex +\DeclareFontShape{OMX}{cmex}{m}{n}{% + <-> cmex10% + }{} +%OMLcmmi +\DeclareFontShape{OML}{cmm}{m}{it}% + {<-5.5> cmmi5 + <5.5-6.5> cmmi6 + <6.5-7.5> cmmi7 + <7.5-8.5> cmmi8 + <8.5-9.5> cmmi9% + <9.5-11.5>cmmi10% + <11.5-> cmmi12% + }{} +\DeclareFontShape{OML}{cmm}{b}{it}{% + <-5.5> cmmib5 + <5.5-6.5> cmmib6 + <6.5-7.5> cmmib7 + <7.5-8.5> cmmib8 + <8.5-9.5> cmmib9% + <9.5-> cmmib10% + }{} +\DeclareFontShape{OML}{cmm}{bx}{it}% + {<->ssub*cmm/b/it}{} +%%OT1cmtt +\DeclareFontShape{OT1}{cmtt}{m}{n} + {% + <-8.5> cmtt8 + <8.5-9.5> cmtt9% + <9.5-11.5> cmtt10% + <11.5-> cmtt12% + }{} +%%%%%% make sure subst shapes are available +\DeclareFontShape{OT1}{cmtt}{m}{it} + {% + <-> cmitt10% + }{} +\DeclareFontShape{OT1}{cmtt}{m}{sl} + {% + <-> cmsltt10% + }{} +\DeclareFontShape{OT1}{cmtt}{m}{sc} + {% + <-> cmtcsc10% + }{} +\DeclareFontShape{OT1}{cmtt}{m}{ui} + {<->ssub*cmtt/m/it}{} +\DeclareFontShape{OT1}{cmtt}{bx}{n} + {<->ssub*cmtt/m/n}{} +\DeclareFontShape{OT1}{cmtt}{bx}{it} + {<->ssub*cmtt/m/it}{} +\DeclareFontShape{OT1}{cmtt}{bx}{ui} + {<->ssub*cmtt/m/it}{} +%umsa +\DeclareFontFamily{U}{msa}{} +\DeclareFontShape{U}{msa}{m}{n}{ + < -5.5> msam5 + <5.5-6.5> msam6 + <6.5-7.5> msam7 + <7.5-8.5> msam8 + <8.5-9.5> msam9 + <9.5- > msam10 + }{} +\DeclareFontFamily{U}{msb}{} +\DeclareFontShape{U}{msb}{m}{n}{ + < -5.5> msbm5 + <5.5-6.5> msbm6 + <6.5-7.5> msbm7 + <7.5-8.5> msbm8 + <8.5-9.5> msbm9 + <9.5- > msbm10 + }{} + +\DeclareFontShape{OT1}{cmss}{m}{n} + {% + <-8.5>cmss8% + <8.5-9.5>cmss9% + <9.5-11.5>cmss10% + <11.5-16.5>cmss12% + <16.5->cmss17% + }{} +\DeclareFontShape{OT1}{cmss}{m}{it} + {<->sub*cmss/m/sl}{} +\DeclareFontShape{OT1}{cmss}{m}{sl} + {% + <-8.5>cmssi8 + <8.5-9.5>cmssi9% + <9.5-11.5>cmssi10% + <11.5-16.5>cmssi12% + <16.5->cmssi17% + }{} +\DeclareFontShape{OT1}{cmss}{m}{sc} + {<->sub*cmr/m/sc}{} +\DeclareFontShape{OT1}{cmss}{m}{ui} + {<->sub*cmr/m/ui}{} +\DeclareFontShape{OT1}{cmss}{sbc}{n} + {% + <->cmssdc10% + }{} +\DeclareFontShape{OT1}{cmss}{bx}{n} + {% + <->cmssbx10% + }{} +\DeclareFontShape{OT1}{cmss}{bx}{ui} + {<->sub*cmr/bx/ui}{} +%%for latexsym +\DeclareFontFamily{U}{lasy}{} +\DeclareFontShape{U}{lasy}{m}{n}{ + < -5.5>lasy5 + <5.5-6.5>lasy6 + <6.5-7.5>lasy7 + <7.5-8.5>lasy8 + <8.5-9.5>lasy9 + <9.5- >lasy10 }{} +\DeclareFontShape{U}{lasy}{b}{n}{ + < -10> ssub * lasy/m/n + <10- > lasyb10 }{} +%%% + + + +\ifDS@english +\else +%% FutoGo + \DeclareFontFamily{JY1}{fgb}{} + \DeclareFontShape{JY1}{fgb}{m}{n}{% + <-14> s *[0.961] FutoGoB101-Bold-J.tfm% + <14-> s *[1] FutoGoB101-Bold-J.tfm% + }{} + \DeclareFontFamily{JT1}{fgb}{} + \DeclareFontShape{JT1}{fgb}{m}{n}{% + <-> s *tmin10% + }{} + +%% FutoMin + \DeclareFontFamily{JY1}{fmb}{} + \DeclareFontShape{JY1}{fmb}{m}{n}{% + <-14> s *[0.961] FutoMinA101-Bold-J.tfm% + <14-> s *[1] FutoMinA101-Bold-J.tfm% + }{} + \DeclareFontFamily{JT1}{fmb}{} + \DeclareFontShape{JT1}{fmb}{m}{n}{% + <-> s *tmin10% + }{} +\fi + + +\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} + + +\newskip\ChtE +\newskip\CdpE +\newskip\CwdE +\newskip\CvsE + + + +% normalsize +% J: 13Q x 21H +% E: 13Q x 18H + +\ifDS@english +\renewcommand{\normalsize}{% + \@setfontsize\normalsize{9.25pt}{12.80592pt}% +% \kanjiskip\z@ \@plus .1zw \@minus .05zw + \abovedisplayskip 9\p@ \@plus 3\p@ \@minus 4\p@ + \abovedisplayshortskip \z@ \@plus 2.5\p@ + \belowdisplayshortskip 5\p@ \@plus 2\p@ \@minus 2\p@ + \belowdisplayskip \abovedisplayskip + \let\@listi\@listI} + \normalsize +% \setbox0\hbox{\char\euc"A1A1}% " +% \setlength\Cht{\ht0} +% \setlength\Cdp{\dp0} +% \setlength\Cwd{\wd0} +% \setlength\Chs{\wd0} + \setlength\ChtE{7.19269pt} + \setlength\CdpE{1.28441pt} + \setlength\CwdE{8.9005pt} + \setlength\CvsE{12.80592pt} +\else +\renewcommand{\normalsize}{% + \@setfontsize\normalsize{13\JQ}{21H}% + \kanjiskip\z@ \@plus .1zw \@minus .05zw + \abovedisplayskip 9\p@ \@plus 3\p@ \@minus 4\p@ + \abovedisplayshortskip \z@ \@plus 2.5\p@ + \belowdisplayshortskip 5\p@ \@plus 2\p@ \@minus 2\p@ + \belowdisplayskip \abovedisplayskip + \let\@listi\@listI} + \normalsize + \setbox0\hbox{\char\euc"A1A1}% " + \setlength\Cht{\ht0} + \setlength\Cdp{\dp0} + \setlength\Cwd{\wd0} + \setlength\Cvs{\baselineskip} + \setlength\Chs{\wd0} +\fi + +\ifDS@english +\let\Cht\ChtE +\let\Cdp\CdpE +\let\Cwd\CwdE +\let\Cvs\CvsE +\else\fi + + + +% small +% J: 12Q x 20H +% E: 12Q x 17H + +\ifDS@english + \newcommand{\small}{% + \@setfontsize\small{8.53728pt}{9.960159pt}% +% \kanjiskip\z@ \@plus .1zw \@minus .05zw + \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@ + \abovedisplayshortskip \z@ \@plus\p@ + \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@ + \def\@listi{\leftmargin\leftmargini + \topsep 3\p@ \@plus \p@ \@minus \p@ + \parsep 1\p@ \@plus \p@ \@minus \p@ + \itemsep \parsep}% + \belowdisplayskip \abovedisplayskip} +\else +\newcommand{\small}{% + \@setfontsize\small{12\JQ}{20H}% + \kanjiskip\z@ \@plus .1zw \@minus .05zw + \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@ + \abovedisplayshortskip \z@ \@plus\p@ + \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@ + \def\@listi{\leftmargin\leftmargini + \topsep 3\p@ \@plus \p@ \@minus \p@ + \parsep 1\p@ \@plus \p@ \@minus \p@ + \itemsep \parsep}% + \belowdisplayskip \abovedisplayskip} +\fi + + +% footnotesize +% J: 11Q x 18H +% E: 11Q x 13H + +\ifDS@english + \newcommand{\footnotesize}{% +% \@setfontsize\footnotesize{7.82584pt}{9.24872pt}% + \@setfontsize\footnotesize{7.82584pt}{9.24872pt}% +% \kanjiskip\z@ \@plus .1zw \@minus .05zw + \abovedisplayskip 5\p@ \@plus 1.5\p@ \@minus 3\p@ + \abovedisplayshortskip \z@ \@plus\p@ + \belowdisplayshortskip 2.5\p@ \@plus \p@ \@minus 1.5\p@ + \def\@listi{\leftmargin\leftmargini + \topsep 2\p@ \@plus\p@ \@minus\p@ + \parsep 1\p@ \@plus\p@ \@minus\p@ + \itemsep \parsep}% + \belowdisplayskip \abovedisplayskip} +\else + \newcommand{\footnotesize}{% + \@setfontsize\footnotesize{11\JQ}{18H}% + \kanjiskip\z@ \@plus .1zw \@minus .05zw + \abovedisplayskip 5\p@ \@plus 1.5\p@ \@minus 3\p@ + \abovedisplayshortskip \z@ \@plus\p@ + \belowdisplayshortskip 2.5\p@ \@plus \p@ \@minus 1.5\p@ + \def\@listi{\leftmargin\leftmargini + \topsep 2\p@ \@plus\p@ \@minus\p@ + \parsep 1\p@ \@plus\p@ \@minus\p@ + \itemsep \parsep}% + \belowdisplayskip \abovedisplayskip} +\fi + + + +\ifDS@english + \newcommand{\scriptsize}{\@setfontsize\scriptsize{10\Q}{12\h}} +\else + \newcommand{\scriptsize}{\@setfontsize\scriptsize{10\JQ}{16H}} +\fi + + \newcommand{\tiny}{\@setfontsize\tiny\@vpt\@vipt} + \newcommand{\large}{\@setfontsize\large\@xpt{22\JQ}} + \newcommand{\Large}{\@setfontsize\Large\@xipt{27\JQ}} + \newcommand{\LARGE}{\@setfontsize\LARGE\@xiipt{33\JQ}} + \newcommand{\huge}{\@setfontsize\huge\@xivpt{25}} + \newcommand{\Huge}{\@setfontsize\Huge\@xviipt{30}} + + + +\setlength\floatsep {1\Cvs \@plus .75\Cvs \@minus .25\Cvs} +\setlength\textfloatsep{1\Cvs \@plus .75\Cvs \@minus .25\Cvs} +\setlength\intextsep {1\Cvs \@plus .75\Cvs \@minus .25\Cvs} +\setlength\dblfloatsep {12\p@ \@plus 2\p@ \@minus 2\p@} +\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@} + + +\setlength\@fptop{0\p@ \@plus 1fil} +\setlength\@fpsep{8\p@ \@plus 2fil} +\setlength\@fpbot{0\p@ \@plus 1fil} +\setlength\@dblfptop{0\p@ \@plus 1fil} +\setlength\@dblfpsep{8\p@ \@plus 2fil} +\setlength\@dblfpbot{0\p@ \@plus 1fil} +\setlength\partopsep{2\p@ \@plus 1\p@ \@minus 1\p@} +\def\@listi{\leftmargin\leftmargini + \parsep 4\p@ \@plus2\p@ \@minus\p@ + \topsep 8\p@ \@plus2\p@ \@minus4\p@ + \itemsep4\p@ \@plus2\p@ \@minus\p@} +\let\@listI\@listi +\@listi +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii \advance\labelwidth-\labelsep + \topsep 4\p@ \@plus2\p@ \@minus\p@ + \parsep 2\p@ \@plus\p@ \@minus\p@ + \itemsep\parsep} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii \advance\labelwidth-\labelsep + \topsep 2\p@ \@plus\p@\@minus\p@ + \parsep\z@ + \partopsep \p@ \@plus\z@ \@minus\p@ + \itemsep\topsep} +\def\@listiv {\leftmargin\leftmarginiv + \labelwidth\leftmarginiv + \advance\labelwidth-\labelsep} +\def\@listv {\leftmargin\leftmarginv + \labelwidth\leftmarginv + \advance\labelwidth-\labelsep} +\def\@listvi {\leftmargin\leftmarginvi + \labelwidth\leftmarginvi + \advance\labelwidth-\labelsep} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + +\setlength\headheight{12\p@} +\setlength\headsep{4.5mm} +\ifDS@english +\setlength\topskip{7.19269pt}%% 1\Cht +\else +\setlength\topskip{1\Cht} +\fi +%\advance\topskip by 0.14748pt%%%%%%%%%%% +%\setlength\topskip{12.80592pt} +%\setlength\topskip{12Q} +\setlength\footskip{11.7mm} % +\if@compatibility + \setlength\maxdepth{4\p@} +\else + \setlength\maxdepth{.5\topskip} +\fi +\if@compatibility + \if@stysize + \ifnum\c@@paper=2 % A5 + \if@landscape + \setlength\textwidth{47\Cwd} + \else + \setlength\textwidth{28\Cwd} + \fi + \else\ifnum\c@@paper=3 % B4 + \if@landscape + \setlength\textwidth{75\Cwd} + \else + \setlength\textwidth{60\Cwd} + \fi + \else\ifnum\c@@paper=4 % B5 + \if@landscape + \setlength\textwidth{60\Cwd} + \else + \setlength\textwidth{37\Cwd} + \fi + \else % A4 ant other + \if@landscape + \setlength\textwidth{73\Cwd} + \else + \setlength\textwidth{47\Cwd} + \fi + \fi\fi\fi + \else + \if@twocolumn + \setlength\textwidth{52\Cwd} + \else + \setlength\textwidth{4.3in} + \fi + \fi +\else + \if@stysize + \if@twocolumn + \setlength\textwidth{.8\paperwidth} + \else + \setlength\textwidth{.7\paperwidth} + \fi + \else + \setlength\@tempdima{\paperwidth} + \addtolength\@tempdima{-2in} + \setlength\@tempdimb{327\p@} + \if@twocolumn + \ifdim\@tempdima>2\@tempdimb\relax + \setlength\textwidth{2\@tempdimb} + \else + \setlength\textwidth{\@tempdima} + \fi + \else + \ifdim\@tempdima>\@tempdimb\relax + \setlength\textwidth{\@tempdimb} + \else + \setlength\textwidth{\@tempdima} + \fi + \fi + \fi +\fi +\@settopoint\textwidth +\if@compatibility + \if@stysize + \ifnum\c@@paper=2 % A5 + \if@landscape + \setlength\textheight{17\Cvs} + \else + \setlength\textheight{28\Cvs} + \fi + \else\ifnum\c@@paper=3 % B4 + \if@landscape + \setlength\textheight{38\Cvs} + \else + \setlength\textheight{57\Cvs} + \fi + \else\ifnum\c@@paper=4 % B5 + \if@landscape + \setlength\textheight{22\Cvs} + \else + \setlength\textheight{35\Cvs} + \fi + \else % A4 and other + \if@landscape + \setlength\textheight{27\Cvs} + \else + \setlength\textheight{43\Cvs} + \fi + \fi\fi\fi + \addtolength\textheight{\topskip} + \addtolength\textheight{\baselineskip} + \else + \setlength\textheight{554\p@} + \fi +\else + \if@stysize + \setlength\textheight{.70\paperheight} + \else + \setlength\@tempdima{\paperheight} + \addtolength\@tempdima{-2in} + \addtolength\@tempdima{-1.5in} + \divide\@tempdima\baselineskip + \@tempcnta\@tempdima + \setlength\textheight{\@tempcnta\baselineskip} + \fi +\fi +\addtolength\textheight{\topskip} +\@settopoint\textheight +\if@compatibility + \if@stysize + \setlength\topmargin{-.3in} + \else + \setlength\topmargin{.75in} + \fi +\else + \setlength\topmargin{\paperheight} + \addtolength\topmargin{-\headheight} + \addtolength\topmargin{-\headsep} + \addtolength\topmargin{-\textheight} + \addtolength\topmargin{-\footskip} + \if@stysize + \ifnum\c@@paper=2 % A5 + \addtolength\topmargin{-1.3in} + \else + \addtolength\topmargin{-2.0in} + \fi + \else + \addtolength\topmargin{-2.0in} + \fi + \addtolength\topmargin{-.5\topmargin} +\fi +\@settopoint\topmargin +\if@twocolumn + \setlength\marginparsep{10\p@} +\else + \setlength\marginparsep{10\p@} +\fi +\setlength\marginparpush{5\p@} +\if@compatibility + \setlength\oddsidemargin {.5in} + \setlength\evensidemargin {1.5in} + \setlength\marginparwidth {.75in} + \if@twocolumn + \setlength\oddsidemargin {30\p@} + \setlength\evensidemargin {30\p@} + \setlength\marginparwidth {48\p@} + \fi + \if@stysize + \if@twocolumn\else + \setlength\oddsidemargin{0\p@} + \setlength\evensidemargin{0\p@} + \fi + \fi +\else + \setlength\@tempdima{\paperwidth} + \addtolength\@tempdima{-\textwidth} + \if@twoside + \setlength\oddsidemargin{.4\@tempdima} + \else + \setlength\oddsidemargin{.5\@tempdima} + \fi + \addtolength\oddsidemargin{-1in} + \setlength\evensidemargin{\paperwidth} + \addtolength\evensidemargin{-2in} + \addtolength\evensidemargin{-\textwidth} + \addtolength\evensidemargin{-\oddsidemargin} + \@settopoint\oddsidemargin + \@settopoint\evensidemargin + \if@twoside + \setlength\marginparwidth{.6\@tempdima} + \addtolength\marginparwidth{-.4in} + \else + \setlength\marginparwidth{.5\@tempdima} + \addtolength\marginparwidth{-.4in} + \fi + \ifdim \marginparwidth >2in + \setlength\marginparwidth{2in} + \fi + \@settopoint\marginparwidth +\fi + +% +\headheight5mm +% +\headsep9.5mm + + +\if@Proof + \def\@Rtop{\rlap{\smash{\rule[-\headsep]{0.05mm}{10mm}% + \rule[-\headsep]{10mm}{0.05mm}}}} + \def\@Ltop{\llap{\smash{\rule[-\headsep]{10mm}{0.05mm}% + \rule[-\headsep]{0.05mm}{10mm}}}} + \def\@Rbot{\rlap{\smash{\raisebox{1\footskip} + {\rule[-10mm]{0.05mm}{10mm}\rule{10mm}{0.05mm}}}}} + \def\@Lbot{\llap{\smash{\raisebox{1\footskip} + {\rule{10mm}{0.05mm}\rule[-10mm]{0.05mm}{10mm}}}}} +\else + \let\@Rtop\relax\let\@Ltop\relax\let\@Rbot\relax\let\@Lbot\relax +\fi + + +% +\newif\if@enablejfam \@enablejfamtrue% + +\setlength\lineskip{1\p@}% +\setlength\normallineskip{1\p@}% +\renewcommand{\baselinestretch}{}% +\newskip\normalbaselineskip + +\setlength\parskip{\z@}% + + +\ifDS@english +\setlength\parindent{1em}% +\else +\setlength\parindent{1zw}% +\fi + + +%penalty +\@lowpenalty 51 +\@medpenalty 151 +\@highpenalty 301 + +%%float +\setcounter{topnumber}{8} +\setcounter{bottomnumber}{8} +\setcounter{totalnumber}{16} +\setcounter{dbltopnumber}{2} + +%\renewcommand{\topfraction}{1} +%\renewcommand{\bottomfraction}{1} +%\renewcommand{\textfraction}{.05} +%\renewcommand{\floatpagefraction}{.05} +%\renewcommand{\dbltopfraction}{.95} +%\renewcommand{\dblfloatpagefraction}{.05} + +\def\topfraction{1} +\def\bottomfraction{1} +\def\textfraction{0} +\def\floatpagefraction{0} +\def\dbltopfraction{1} +\def\dblfloatpagefraction{0} +% + +%================================================================================= + +% +\def\SIGHead{\ifDS@english% +{IPSJ Transactions on}% +\else 情報処理学会論文誌\fi}%% + + +\def\signame@DAM{\ifDS@english% +Electronic Preprint for Journal of Information Processing% +\else 情報処理学会論文誌\fi}%% + +\ifDS@english +\newcommand{\COMS}{Consumer Devices \& Systems} +\else +\newcommand{\COMS}{コンシューマ・デバイス\,\&\,システム} +\fi + + +\def\signame@ACS{\ifDS@english% +{{{\SIGHead} Advanced Computing Systems}}% +\else {\SIGHead}\hskip12\JQ コンピューティングシステム\fi}% +% +\def\signame@PRO{\ifDS@english% +{{{\SIGHead} Programming}}% +\else {\SIGHead}\hskip12\JQ プログラミング\fi}% +% +\def\signame@TOM{\ifDS@english% +{{{\SIGHead} Mathematical Modeling and Its Applications}}% +\else {\SIGHead}\hskip12\JQ 数理モデル化と応用\fi}% +% +\def\signame@TOD{\ifDS@english% +{{{\SIGHead} Databases}}% +\else {\SIGHead}\hskip12\JQ データベース\fi}% +% +\def\signame@CDS{\ifDS@english% +{{{\SIGHead} Consumer Devices \& Systems}}% +\else {\SIGHead}\hskip12\JQ \COMS% +\fi}% +% +% v1.5 +\def\signame@DC{\ifDS@english% +{{{\SIGHead} Digital Content}}% +\else {\SIGHead}\hskip12\JQ デジタルコンテンツ\fi}% +%%% +% v2.0 +\def\signame@DCON{\ifDS@english% +{{{\SIGHead} Digital Content}}% +\else {\SIGHead}\hskip12\JQ デジタルコンテンツ\fi}% +%%% +\def\signame@CVA{{{{\SIGHead} Computer Vision and Applications}}} +\def\signame@TBIO{{{{\SIGHead} Bioinformatics}}} +\def\signame@SLDM{{{{\SIGHead} System LSI Design Methodology}}} +\def\signame@JIP{{{Journal of Information Processing}}} +%%% +\let\signame@Data\signame@TBIO +\let\signame@Survey\signame@TBIO +%\let\signame@Research\signame@CVA +\let\signame@Short\signame@SLDM +% +% v1.7 +\def\signame@TCE{\ifDS@english% +{{{\SIGHead} Computers and Education}}% +\else {\SIGHead}\hskip12\JQ 教育とコンピュータ\fi}% + + + + + +%%%<<<< 1.02 +\def\signame@Research{% + \ifDS@CVA + {{\SIGHead} Computer Vision and Applications}% + \else + \ifDS@CDS% + \ifDS@english% + {{{\SIGHead} Consumer Devices \& Systems}}% + \else {\SIGHead}\hskip12\JQ \COMS% + \fi + \else\fi +%%% + \ifDS@DCON% + \ifDS@english% + {{{\SIGHead} Digital Content}}% + \else {\SIGHead}\hskip12\JQ デジタルコンテンツ% + \fi + \else\fi +%%% + \ifDS@DC% + \ifDS@english% + {{{\SIGHead} Digital Content}}% + \else {\SIGHead}\hskip12\JQ デジタルコンテンツ% + \fi + \else\fi + \fi +}% +% + + + + +\def\signame{\csname signame@\@type\endcsname} + +\def\type#1{\def\@type{#1}} + + +\def\HeadfontE{% +\ifDS@english + \fontsize{13\Q}{0\h}\sffamily\bfseries\selectfont% +\else + \if@submit + \fontsize{13\Q}{0\h}\sffamily\bfseries\selectfont% + \else + \fontsize{13\Q}{0\h}\usefont{OT1}{phv}{b}{n}\selectfont% + \fi +\fi +} + + +\def\HeadfontJ{\fontsize{12\JQ}{0\h}\bfseries\selectfont} + +\def\DOIHeadfont{\fontsize{11\Q}{0\h}%\usefont{OT1}{phv}{m}{n}\selectfont +\sffamily\selectfont} + +%============================================================ + + +\def\Mtype#1{\def\@type{#1}} + +\def\SHUBETUname{\csname SHUBETUname@\@Mtype\endcsname} + + + +\def\SHUBETUfontE{\fontsize{18\Q}{0\h}\bfseries% +%\usefont{OT1}{ptm}{b}{n}%Times-Bold* +\selectfont +} + +\def\SHUBETUfontJ{% +\if@submit +\fontsize{18\JQ}{0\h}\usefont{JY1}{gt}{m}{n}% +\selectfont% +\else +\fontsize{18\JQ}{0\h}\usefont{JY1}{fgb}{m}{n}% +\selectfont% +\fi +} + + +%v1.7 +\def\SHUBETUname@DAM{\ifDS@english% +Regular Paper% +\else + \ifDS@TCE + 論{\hskip1\zw}文% + \fi +\leavevmode \fi}%% + + + + +%%% +\def\SHUBETUname@invited{\ifDS@english% +Invited Paper% +\else 招待論文\fi} + + +%v1.7 +\def\SHUBETUname@sigrecommended{\ifDS@english% +Recommended Paper% +\else + \ifDS@TCE + 研究会% + \fi +推薦論文\fi}% + + +%v1.7 +\def\SHUBETUname@invitedshort{\ifDS@english% +Invited Short Paper% +\else 招待ショートペーパー\fi}% + + +\def\SHUBETUname@recommendedshort{\ifDS@english% +Recommended Short Paper% +\else 研究会推薦ショートペーパー\fi}% + + + +\def\SHUBETUname@technote{\ifDS@english% +Technical Note% +\else テクニカルノート\fi}% + + + +\def\SHUBETUname@recommendedresearch{\ifDS@english% +Recommended Research Paper% +\else 推薦研究論文\fi}% + + + +\def\SHUBETUname@recommendedpractice{\ifDS@english% +Recommended Practice Paper% +\else 推薦産業論文\fi}% + + +\def\SHUBETUname@recommendedcontent{\ifDS@english% +Recommended Content Paper% +\else 推薦作品論文\fi}% + + + + + + + + + +%%%<<<< 4.0 +\def\SHUBETUname@abstract{\ifDS@english% +Presentation Abstract% +\else 発表概要\fi}% + + +\def\SHUBETUname@Eabstract{Presentation Abstract} + + + + + +\ifDS@english +\newcommand{\COMSYS}{Paper on Consumer Systems} +\newcommand{\COMSER}{Paper on Consumer Services} +\newcommand{\COMSDV}{Paper on Consumer Devices} +\newcommand{\RECCOMSDV}{Paper on Consumer Devices}%% v3.05 +\newcommand{\COMSAN}{Practice Paper}% v1.5 +\newcommand{\COMCON}{Content Paper} % v1.5 +\else +\newcommand{\COMSYS}{コンシューマ・システム論文} +\newcommand{\COMSER}{コンシューマ・サービス論文} +\newcommand{\COMSDV}{コンシューマ・デバイス論文} +\newcommand{\RECCOMSDV}{推薦コンシューマ・デバイス論文}%v3.05 +\newcommand{\COMSAN}{産業論文}% v1.5 +\newcommand{\COMCON}{作品論文}% v1.5 +\fi + + + +\def\SHUBETUname@systems{\ifDS@english% +\ifDS@JIP Paper (Consumer Systems)\else Paper on Consumer Systems\fi +\else \COMSYS% +\fi} + +\def\SHUBETUname@services{\ifDS@english% +\ifDS@JIP Paper (Consumer Services)\else Paper on Consumer Services\fi +\else \COMSER% +\fi} + +\def\SHUBETUname@devices{\ifDS@english% +\ifDS@JIP Paper (Consumer Devices)\else Paper on Consumer Devices\fi +\else \COMSDV% +\fi} + +\def\SHUBETUname@Research{\ifDS@english% +\ifDS@JIP Regular Paper\else Research Paper\fi +\else 研究論文\fi} + + +\def\SHUBETUname@Data{Database/Software Paper} +\def\SHUBETUname@Survey{Survey Paper} +\def\SHUBETUname@TBIOM{Original Paper} + + +%v1.7 +\def\SHUBETUname@Short{\ifDS@english% +Short Paper% +\else ショートペーパー\fi} + + + + +% v1.4 +\def\SHUBETUname@system{Systems Paper} + +% v1.5 +\def\SHUBETUname@Express{Express Paper} + +% v3.05 +\def\SHUBETUname@recommendeddevices{\ifDS@english% +\ifDS@JIP Paper (Consumer Devices)\else Paper on Consumer Devices\fi +\else \RECCOMSDV% +\fi} + + + +\def\SHUBETUname@Practice{\ifDS@english% +\ifDS@JIP Regular Paper\else Practice Paper\fi +\else \COMSAN% +\fi} + + +\def\SHUBETUname@Content{\ifDS@english% +\ifDS@JIP Regular Paper\else Content Paper\fi +\else \COMCON% +\fi} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\def\ps@plain{\let\@mkboth\@gobbletwo + \let\ps@jpl@in\ps@plain + \let\@oddhead\@empty + \def\@oddfoot{\reset@font\hfil\thepage\hfil}% + \let\@evenhead\@empty + \let\@evenfoot\@oddfoot} +\let\ps@jpl@in\ps@plain +\def\ps@headnombre{\let\@mkboth\@gobbletwo + \let\ps@jpl@in\ps@headnombre + \def\@evenhead{\thepage\hfil}% + \def\@oddhead{\hfil\thepage}% + \let\@oddfoot\@empty\let\@evenfoot\@empty} +\def\ps@footnombre{\let\@mkboth\@gobbletwo + \let\ps@jpl@in\ps@footnombre + \def\@evenfoot{\thepage\hfil}% + \def\@oddfoot{\hfil\thepage}% + \let\@oddhead\@empty\let\@evenhead\@empty} + + +\def\ps@empty{% + \def\@oddhead{\@Ltop\hfil\@Rtop}% + \let\@evenhead\@oddhead + \def\@oddfoot{\@Lbot\hfil\@Rbot}% + \let\@evenfoot\@oddfoot + \let\@mkboth\@gobbletwo +} + +%=============================================================== + + +% copyright +\DeclareTextCommandDefault{\textcopyrighttx}{% +{\fontfamily{txsy}\textcircled{% +\usefont{OT1}{ptm}{m}{n}\selectfont% +c}}} + + + +\def\bothashira{% +\ifDS@english + \fontsize{10\Q}{0\h}\normalfont\selectfont% +\else + \if@submit + \fontsize{10\Q}{0\h}\normalfont\selectfont% + \else + \fontsize{10\Q}{0\h}\usefont{OT1}{ptm}{m}{n}%Times + \selectfont% + \fi +\fi +} + + +\def\botnomble{% +\ifDS@english + \fontsize{13\Q}{0\h}\normalfont\selectfont% +\else + \if@submit + \fontsize{13\Q}{0\h}\normalfont\selectfont% + \else + \fontsize{13\Q}{0\h}\usefont{OT1}{ptm}{m}{n}%Times + \selectfont% + \fi +\fi +} + + + + + +%%%<<<< 1.02 +\ifDS@english +\def\ps@IPSJTITLEheadings{% + \def\@oddhead{\@Ltop% +\rlap{\small{%% +%% +\ifx\signame\relax% +{\HeadfontE{\signame@DEF}}%% +\else%<<<-- to TCE + \ifDS@JIP + {\HeadfontE{\signame@JIP}}%% + \else + {\HeadfontE{\signame}}%% + \fi +\fi +%%%%% +%vol +%%%%% +%=============== +\hskip12\Q{\HeadfontE{Vol.\number\c@volume}}% +%=============== + \ifDS@CVA\relax\else + \ifDS@TBIO\relax\else + \ifDS@SLDM\relax\else +%%%<<<< 3.03 + \ifDS@preprint\relax\else + \ifDS@JIP\relax\else +%%%%%% +%no +%%%%%% +%%%<<<< 3.01 +\hskip1em{\HeadfontE{No.\number\c@number}}% +\fi\fi\fi\fi\fi +%%%%%% +%page +%%%%%% +\bgroup +%%% +% +\ifDS@ACS +%%%<<<< 3.01 +%\hskip1em{\HeadfontE{No.\number\c@number}}% + \ifDS@JIP + \else + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% + \fi +\else\relax\fi +% +\ifDS@PRO +%%%<<<< 3.01 +%\hskip1em{\HeadfontE{No.\number\c@number}}% + \ifDS@abstract + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}}}\ % + \HeadfontE{(\@monthyear)}% + \else + \ifDS@JIP + \else + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% + \fi + \fi +\else\relax\fi +% +\ifDS@TOD +%%%<<<< 3.01 +%\hskip1em{\HeadfontE{No.\number\c@number}}% + \ifDS@JIP + \else + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% + \fi +\else\relax\fi +% +\ifDS@TOM +%%%<<<< 3.01 +%\hskip1em{\HeadfontE{No.\number\c@number}}% + \ifDS@JIP + \else + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% + \fi +\else\relax\fi +% +\ifDS@TBIO + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% +\else\relax\fi +% +\ifDS@CVA + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% +\else\relax\fi +% +\ifDS@SLDM + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% +\else\relax\fi +% +\ifDS@JIP + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% +\else\relax\fi +% +\ifDS@CDS +%%%<<<< 3.01 +%\hskip1em{\HeadfontE{No.\number\c@number}}% + \ifDS@JIP + \else + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% + \fi +\else\relax\fi +% +% v1.5 +\ifDS@DC +%%%%<<<< 3.01 +\hskip1em{\HeadfontE{No.\number\c@number}}% + \ifDS@JIP + \else + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% + \fi +\else\relax\fi +% +% v2.0 +\ifDS@DCON +%%%<<<< 3.01 +%\hskip1em{\HeadfontE{No.\number\c@number}}% + \ifDS@JIP + \else + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% + \fi +\else\relax\fi +% +% v1.7 +\ifDS@TCE%% invitedshort,recommendedshort +%%%<<<< 3.01 +%\hskip1em{\HeadfontE{No.\number\c@number}}% + \ifDS@JIP + \else + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% + \fi +\else\relax\fi +%%% +\egroup +}% +}% +%%%%% +\smash{\raisebox{-6mm}{\rlap{% +{\DOIHeadfont% +%%%% +\bgroup +\ifDS@TBIO + [DOI: 10.2197/ipsjtbio.\number\c@volume.\pageref{ipsj@firstpage}] +\else\fi +% +\ifDS@CVA + [DOI: 10.2197/ipsjtcva.\number\c@volume.\pageref{ipsj@firstpage}] +\else\fi +% +\ifDS@SLDM + [DOI: 10.2197/ipsjtsldm.\number\c@volume.\pageref{ipsj@firstpage}] +\else\fi +% +\ifDS@JIP + [DOI: 10.2197/ipsjjip.\number\c@volume.\pageref{ipsj@firstpage}] +\else\fi +% +%% +%% +%%%%% +\egroup +}% +}}}% +\hfil\@Rtop}% +%%%%% + \let\@evenhead\@oddhead + \def\@oddfoot{\@Lbot% +\rlap{%\fontsize{10\Q}{0\h}% +%\usefont{OT1}{ptm}{m}{n}%Times +%\selectfont% +%\normalfont% +{\bothashira% +\copyright \ {\@footyear} Information Processing Society of Japan% +}}% +\hfil +%\fontsize{13\Q}{0\h}% +%\usefont{OT1}{ptm}{m}{n}%Times +%\selectfont% +%\normalsize +{\botnomble +%%%%%% +\ifDS@ACS{\ifDS@JIP\else\thepage\fi}\else\fi +\ifDS@PRO{\ifDS@JIP\else\thepage\fi}\else\fi +\ifDS@TOD{\ifDS@JIP\else\thepage\fi}\else\fi +\ifDS@TOM{\ifDS@JIP\else\thepage\fi}\else\fi +\ifDS@TBIO{\thepage}\else\fi +\ifDS@CVA{\thepage}\else\fi +\ifDS@SLDM{\thepage}\else\fi +\ifDS@JIP{\thepage}\else\fi +\ifDS@CDS{\ifDS@JIP\else\thepage\fi}\else\fi +\ifDS@DC{\ifDS@JIP\else\thepage\fi}\else\fi +\ifDS@DCON{\ifDS@JIP\else\thepage\fi}\else\fi +\ifDS@TCE{\ifDS@JIP\else\thepage\fi}\else\fi +%<<<<<<<<<<< 3.02 +%\ifDS@invitedshort{\thepage}\else\fi % v1.7 +%\ifDS@recommendedshort{\thepage}\else\fi % v1.7 +%%%%% +\@Rbot}% + \let\@evenfoot\@oddfoot + \let\@mkboth\@gobbletwo +}} +%%% +%%%%%%%%% +\else +%%%%%%%%% +%%% +\def\ps@IPSJTITLEheadings{% + \def\@oddhead{\@Ltop% +\rlap{\small% +%% +\ifx\signame\relax% +{\HeadfontJ{\signame@DEF}}%% +\else +{\HeadfontJ{\signame}}%% +\fi +%%%%% +{%% +\hskip12\JQ{\HeadfontE{Vol.\number\c@volume}}% +\hskip12\JQ{\HeadfontE{No.\number\c@number}}% jp1p +\ifDS@abstract + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}}}\ % + \HeadfontE{(\@monthyear)}% +\else +\hskip12\JQ{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % +\HeadfontE{(\@monthyear)}% +\fi +}}% +%%%% +\smash{\raisebox{-6mm}{\rlap{% +{\DOIHeadfont%% +}% +}}}% +\hfil\@Rtop}% +%% + \let\@evenhead\@oddhead + \def\@oddfoot{\@Lbot% +\rlap{% +%\fontsize{10\Q}{0\h}\usefont{OT1}{ptm}{m}{n}%Times +%\selectfont% +{\bothashira% +{\textcopyrighttx} \ {\@footyear} Information Processing Society of Japan% +}}% +\hfil% +%\fontsize{13\Q}{0\h}% +%\usefont{OT1}{ptm}{m}{n}%Times +%\selectfont% +{\botnomble% +{\thepage}}% +\@Rbot}% + \let\@evenfoot\@oddfoot + \let\@mkboth\@gobbletwo +} +\fi + + + + + + + + +%=================================================================== +%%% +\ifDS@english +\def\ps@headings{% + \def\@oddhead{\@Ltop% +\rlap{\small{%% +%% +\ifx\signame\relax% +{\HeadfontE{\signame@DEF}}%% +\else%<<<-- to TCE + \ifDS@JIP + {\HeadfontE{\signame@JIP}}%% + \else + {\HeadfontE{\signame}}%% + \fi +\fi +%%%%% +%vol +%%%%% +%=============== +\hskip12\Q{\HeadfontE{Vol.\number\c@volume}}% +%=============== + \ifDS@CVA\relax\else + \ifDS@TBIO\relax\else + \ifDS@SLDM\relax\else +%%%<<<< 3.03 + \ifDS@preprint\relax\else + \ifDS@JIP\relax\else +%%%%%% +%no +%%%%%% +%%%<<<< 3.01 +\hskip1em{\HeadfontE{No.\number\c@number}}% +\fi\fi\fi\fi\fi +%%%%%% +%page +%%%%%% +\bgroup +%%% +% +\ifDS@ACS +%%%<<<< 3.01 +%\hskip1em{\HeadfontE{No.\number\c@number}}% + \ifDS@JIP + \else + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% + \fi +\else\relax\fi +% +\ifDS@PRO +%%%<<<< 3.01 +%\hskip1em{\HeadfontE{No.\number\c@number}}% + \ifDS@JIP + \else + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% + \fi +\else\relax\fi +% +\ifDS@TOD +%%%<<<< 3.01 +%\hskip1em{\HeadfontE{No.\number\c@number}}% + \ifDS@JIP + \else + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% + \fi +\else\relax\fi +% +\ifDS@TOM +%%%<<<< 3.01 +%\hskip1em{\HeadfontE{No.\number\c@number}}% + \ifDS@JIP + \else + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% + \fi +\else\relax\fi +% +\ifDS@TBIO + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% +\else\relax\fi +% +\ifDS@CVA + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% +\else\relax\fi +% +\ifDS@SLDM + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% +\else\relax\fi +% +\ifDS@JIP + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% +\else\relax\fi +% +\ifDS@CDS +%%%<<<< 3.01 +%\hskip1em{\HeadfontE{No.\number\c@number}}% + \ifDS@JIP + \else + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% + \fi +\else\relax\fi +% +% v1.5 +\ifDS@DC +%%%<<<< 3.01 +%\hskip1em{\HeadfontE{No.\number\c@number}}% + \ifDS@JIP + \else + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% + \fi +\else\relax\fi +% +% v2.0 +\ifDS@DCON +%%%<<<< 3.01 +%\hskip1em{\HeadfontE{No.\number\c@number}}% + \ifDS@JIP + \else + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% + \fi +\else\relax\fi +% +% v1.7 +\ifDS@TCE%% invitedshort,recommendedshort +%%%<<<< 3.01 +%\hskip1em{\HeadfontE{No.\number\c@number}}% + \ifDS@JIP + \else + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% + \fi +\else\relax\fi +% +% +%%% +\egroup +}% +}% +%%%%% +\smash{\raisebox{-6mm}{\rlap{% +{\DOIHeadfont% +%%%% +}% +}}}% +\hfil\@Rtop}% +%%%%% + \let\@evenhead\@oddhead + \def\@oddfoot{\@Lbot% +\rlap{% +%\fontsize{10\Q}{0\h}\usefont{OT1}{ptm}{m}{n}%Times +%\selectfont% +{\bothashira% +\copyright \ {\@footyear} Information Processing Society of Japan% +}}% +\hfil +%\fontsize{13\Q}{0\h}\usefont{OT1}{ptm}{m}{n}%Times +%\selectfont% +{\botnomble% +%%%%%% +\ifDS@ACS{\ifDS@JIP\else\thepage\fi}\else\fi +\ifDS@PRO{\ifDS@JIP\else\thepage\fi}\else\fi +\ifDS@TOD{\ifDS@JIP\else\thepage\fi}\else\fi +\ifDS@TOM{\ifDS@JIP\else\thepage\fi}\else\fi +\ifDS@TBIO{\thepage}\else\fi +\ifDS@CVA{\thepage}\else\fi +\ifDS@SLDM{\thepage}\else\fi +\ifDS@JIP{\thepage}\else\fi +\ifDS@CDS{\ifDS@JIP\else\thepage\fi}\else\fi +\ifDS@DC{\ifDS@JIP\else\thepage\fi}\else\fi +\ifDS@DCON{\ifDS@JIP\else\thepage\fi}\else\fi +\ifDS@TCE{\ifDS@JIP\else\thepage\fi}\else\fi +%<<<<<<<<<<< 3.02 +%\ifDS@invitedshort{\thepage}\else\fi % v1.7 +%\ifDS@recommendedshort{\thepage}\else\fi % v1.7 +% +% +% +%\ifDS@ACS{\thepage}\else\fi +%\ifDS@PRO{\ifDS@JIP\else\thepage\fi}\else\fi +%\ifDS@TOD{\thepage}\else\fi +%\ifDS@TOM{\thepage}\else\fi +%\ifDS@TBIO{\thepage}\else\fi +%\ifDS@CVA{\thepage}\else\fi +%\ifDS@SLDM{\thepage}\else\fi +%\ifDS@JIP{\thepage}\else\fi +%\ifDS@CDS{\thepage}\else\fi +%\ifDS@DC{\thepage}\else\fi % v1.5 +%\ifDS@TCE{\thepage}\else\fi % v1.7 +%\ifDS@invitedshort{\thepage}\else\fi % v1.7 +%\ifDS@recommendedshort{\thepage}\else\fi % v1.7 +%%%%% +\@Rbot}}% + \let\@evenfoot\@oddfoot + \let\@mkboth\@gobbletwo +} +%%% +%%%%%%%%% +\else +%%%%%%%%% +%%% +\def\ps@headings{% + \def\@oddhead{\@Ltop% +\rlap{\small% +%% +\ifx\signame\relax% +{\HeadfontJ{\signame@DEF}}%% +\else +{\HeadfontJ{\signame}}%% +\fi +%%%%% +{%% +\hskip12\JQ{\HeadfontE{Vol.\number\c@volume}}% +\hskip12\JQ{\HeadfontE{No.\number\c@number}}% jp +\hskip12\JQ{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % +\HeadfontE{(\@monthyear)}}}% +%%%% +\smash{\raisebox{-6mm}{\rlap{% +{\DOIHeadfont%% +}% +}}}% +\hfil\@Rtop}% +%% + \let\@evenhead\@oddhead + \def\@oddfoot{\@Lbot% +\rlap{%\fontsize{10\Q}{0\h}\usefont{OT1}{ptm}{m}{n}%Times +%\selectfont% +{\bothashira% +{\textcopyrighttx} \ {\@footyear} Information Processing Society of Japan% +}}% +\hfil% +%\fontsize{13\Q}{0H}\usefont{OT1}{ptm}{m}{n}%Times +%\selectfont% +{\botnomble% +{\thepage}}% +\@Rbot}% + \let\@evenfoot\@oddfoot + \let\@mkboth\@gobbletwo +} +\fi + + + + + + + +%%%<<<< 1.02 + +\def\ipsj@year{% +%%% +\ifDS@JIP +\ifnum\c@year<\z@ +\c@year1992 \advance\c@year\c@volume +\fi\fi +%%% +\ifDS@EEE +\ifnum\c@year<\z@ +\c@year1992 \advance\c@year\c@volume +\fi\fi +\ifDS@ACS +\ifnum\c@year<\z@ +\c@year2007 \advance\c@year\c@volume +\fi\fi +\ifDS@PRO +\ifnum\c@year<\z@ +\c@year2007 \advance\c@year\c@volume +\fi\fi +\ifDS@TOD +\ifnum\c@year<\z@ +\c@year2007 \advance\c@year\c@volume +\fi\fi +\ifDS@TOM +\ifnum\c@year<\z@ +\c@year2007 \advance\c@year\c@volume +\fi\fi +\ifDS@TBIO +\ifnum\c@year<\z@ +\c@year2007 \advance\c@year\c@volume +\fi\fi +\ifDS@CVA +\ifnum\c@year<\z@ +\c@year2008 \advance\c@year\c@volume %!! +\fi\fi +\ifDS@SLDM +\ifnum\c@year<\z@ +\c@year2007 \advance\c@year\c@volume +\fi\fi +\ifDS@CDS +\ifnum\c@year<\z@ +\c@year2010 \advance\c@year\c@volume +\fi\fi +\ifDS@DC % v1.5 +\ifnum\c@year<\z@ +\c@year2012 \advance\c@year\c@volume +\fi\fi +\ifDS@DCON % v2.0 +\ifnum\c@year<\z@ +\c@year2012 \advance\c@year\c@volume +\fi\fi +\ifDS@TCE % v1.5 +\ifnum\c@year<\z@ +\c@year2014 \advance\c@year\c@volume +\fi\fi +%% +%=== +\ifnum\c@year<\z@ +\c@year1959 \advance\c@year\c@volume +\fi +\number\c@year +%=== +} + + + + +%%%<<<< 1.02 +%%%<<<< 1.09 +%%%<<<< 3.01 +\def\ipsj@month{{% + \@tempcnta\ifDS@online\ipsj@olh@month \else + \ifnum\c@month<\z@ \c@number \else \c@month \fi \fi \relax + %\ifDS@JIP + %\ifcase\@tempcnta???\or Jan.\or Mar.\or May\or July\or Sep.\or Nov.\else + % ???\fi + %\else + \ifcase\@tempcnta???\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 + %\fi +}} + + + + + +\def\@monthyear{\ipsj@month \hskip.5\Cwd \ipsj@year} + +\def\@footyear{\ipsj@year} + + +\newcounter{volume} \c@volume\z@ +\newcounter{number} \c@number\z@ +\newcounter{month} \c@month\m@ne +\newcounter{year} \c@year\m@ne + + +\expandafter\let\csname c@巻数\endcsname\c@volume +\expandafter\let\csname c@号数\endcsname\c@number +\expandafter\let\csname c@月数\endcsname\c@month +\expandafter\let\csname c@年数\endcsname\c@year + + + +\AtBeginDocument{\label{ipsj@firstpage}} +\AtEndDocument{% + \clearpage + \addtocounter{page}{-1}% + \immediate\write\@auxout + {\string\newlabel{ipsj@lastpage}{{}{\thepage}}}% +} + + +%========================================================================================================================== + + +\def\jtitle{\@ifnextchar[% + {\d@jtitle}{\s@jtitle}} +\def\d@jtitle[#1]#2{\gdef\hd@title{#1}\gdef\@jtitle{#2}} +\def\s@jtitle#1{\gdef\hd@title{#1}\gdef\@jtitle{#1}} +\def\@jtitle{} +\def\hd@title{} +\def\etitle#1{\gdef\@etitle{#1}} +\def\@etitle{} + + +\def\p@thanks#1{\footnotemark + \protected@xdef\@thanks{\@thanks + \protect{\noindent$\m@th^\thefootnote$~#1\protect\par}}} + + + +%================================================================================= +% author,affiliate +%================================================================================= + +\newcount\author@count +\newcount\label@count +\newcount\email@count +\newcount\affiliate@count +\newcount\offsetemail +\newcount\paffiliate@count + + + +\ifDS@english +\def\author#1#2{% +\@ifnextchar[% +{\@author{#1}{#2}} +{\@author{#1}{#2}[]} +} +%==== +\else +%==== +\def\author#1#2#3{% +\@ifnextchar[% +{\@author{#1}{#2}{#3}} +{\@author{#1}{#2}{#3}[]} +} +\fi + + + +\ifDS@english +\def\@author#1#2[#3]{% + \advance\author@count\@ne +\expandafter\def\csname authorname\the\author@count\endcsname{#1} +%% +\edef\@labellist{\zap@space#2 \@empty} +\@for\@temp:=\@labellist\do{% + \advance\label@count\@ne +\expandafter\edef\csname authorlabel\the\author@count @\the\label@count\endcsname{\@temp}} +\expandafter\edef\csname authorlabel@num@\the\author@count \endcsname{\the\label@count} +\label@count\z@ +\def\_{\leavevmode \kern.06em\vbox{\hrule\@width.3em}}%%%!!!! +\edef\@emaillist{\zap@space#3 \@empty} +\@for\@temp:=\@emaillist\do{% + \advance\email@count\@ne +\expandafter\edef\csname authoremail\the\author@count @\the\email@count\endcsname{\@temp}% +}% +\expandafter\edef\csname authoremail@num@\the\author@count \endcsname{\the\email@count}% +\email@count\z@ +}% +%=== +\else +%=== +\def\@author#1#2#3[#4]{% + \advance\author@count\@ne +\expandafter\def\csname authorname\the\author@count\endcsname{#1} +%% +\expandafter\def\csname eauthorname\the\author@count\endcsname{#2} +%% +\edef\@labellist{\zap@space#3 \@empty} +\@for\@temp:=\@labellist\do{% + \advance\label@count\@ne +\expandafter\edef\csname authorlabel\the\author@count @\the\label@count\endcsname{\@temp}} +\expandafter\edef\csname authorlabel@num@\the\author@count \endcsname{\the\label@count} +\label@count\z@ +%% +\def\_{\leavevmode \kern.06em\vbox{\hrule\@width.3em}}%%%!!!! +\edef\@emaillist{\zap@space#4 \@empty} +\@for\@temp:=\@emaillist\do{% + \advance\email@count\@ne +\expandafter\edef\csname authoremail\the\author@count @\the\email@count\endcsname{\@temp}} +\expandafter\edef\csname authoremail@num@\the\author@count \endcsname{\the\email@count} +\email@count\z@ +} +\fi + + + + + + + + + +\def\affiliate#1#2{% +%\expandafter\def\csname affiliate@#1\endcsname{#2} +\advance\affiliate@count\@ne +\expandafter\edef\csname affiliate@num@#1\endcsname{\the\affiliate@count}% +%\typeout{>>>>>>\csname affiliate@1\endcsname} +\expandafter\def\csname affiliate@\the\affiliate@count\endcsname{#2}% +} + + +\def\paffiliate#1#2{% +%\advance\affiliate@count\@ne +\advance\paffiliate@count\@ne +\expandafter\edef\csname paffiliate@num@#1\endcsname{$\dagger$\the\paffiliate@count}% +\expandafter\def\csname paffiliate@\the\paffiliate@count\endcsname{#2}% +} + + + +\def\authoroutput#1{% +%\begin{center} +\bgroup +\offsetemail\z@ +\count@\@ne +\advance\author@count\@ne +%%% +%%% +%%% +\@whilenum{\count@<\author@count}\do{% +\mbox{% start +% +%% \csname #1authorfont\endcsname%% !! font +% +\ifDS@english + \csname authorname\the\count@\endcsname %\csname affiliate@num@\endcsname +\else + \csname #1authorname\the\count@\endcsname %\csname affiliate@num@\endcsname +\fi +%%%%%label +\null{}% +\expandafter\@tempcnta\csname authorlabel@num@\the\count@\endcsname + \advance\@tempcnta\@ne + \@tempcntb\@ne +{% + \@whilenum{\@tempcntb<\@tempcnta}\do{% + \edef\temp{\csname authorlabel\the\count@ @\the\@tempcntb\endcsname}% + \textsuperscript{\csname #1labelfont\endcsname%% !! font +%%%change from here +%%%add paffiliate +% \expandafter\if\csname affiliate@num@\temp\endcsname\relax %% v1.06 + \expandafter\ifx\csname affiliate@num@\temp\endcsname\relax + \csname paffiliate@num@\temp\endcsname%%affiliate + \else + \csname affiliate@num@\temp\endcsname + \fi +%%%end + \comma@or@relax@affilabel}% + \advance\@tempcntb\@ne +}% +}% +%%%%%%email +\expandafter\@tempcnta\csname authoremail@num@\the\count@\endcsname\relax + \ifnum\@tempcnta=\z@\relax\else\textsuperscript{,}\fi + \advance\@tempcnta\@ne + \@tempcntb\@ne + \@whilenum{\@tempcntb<\@tempcnta}\do{% + %\textsuperscript{\space}% + \bgroup + \advance\@tempcntb\offsetemail + \textsuperscript{\csname #1labelfont\endcsname%% !! font + \@alph{\@tempcntb}\rparen\comma@or@relax@email}% + \egroup + \advance\@tempcntb\@ne + }% +\advance\@tempcntb-1\relax +\global\advance\offsetemail\@tempcntb +% +}%% end +%% +\csname #1break@or@oneskip\endcsname +%% +\advance\count@\@ne +%%% +}% +%%%%%% +%\end{center}% +\egroup +} + + + + + + + +\def\breakauthorline#1{% + \edef\temp@break{\zap@space#1 \@empty} + \@for\@temp:=\temp@break\do{% + \expandafter\def\csname break@\@temp\endcsname{\\}% + }% +} + +\def\breakeauthorline#1{% + \edef\temp@break{\zap@space#1 \@empty} + \@for\@temp:=\temp@break\do{% + \expandafter\def\csname ebreak@\@temp\endcsname{\\}% + }% +} + +\def\break@or@oneskip{% + \expandafter\ifx\csname break@\the\count@\endcsname\relax +\ifDS@english +\hskip1em \else \hskip1zw \fi + \else + \csname break@\the\count@\endcsname + \fi +} + +\def\ebreak@or@oneskip{% + \expandafter\ifx\csname ebreak@\the\count@\endcsname\relax +\ifDS@english +\hskip1em \else \hskip1zw \fi + \else + \csname ebreak@\the\count@\endcsname + \fi +} + + + +\ifDS@english +\let\breakauthorline\breakeauthorline +\else\fi + + + +%%( +\def\rparen{)}%% + + + +\def\comma@or@relax@affilabel{% + \bgroup + \count@\@tempcnta + \advance\count@\m@ne + \ifnum\count@=\@tempcntb + \relax + \else + ,%\space + \fi + \egroup +} + +\def\comma@or@relax@email{% + \bgroup + \count@\@tempcnta + \advance\count@\m@ne + \advance\@tempcntb-\offsetemail + \ifnum\count@=\@tempcntb + \relax + \else + ,%\space + \fi + \egroup +} + + + + + + + + +%================================================================================= +% maketitle +%================================================================================= + + + +\def\maketitle{\par + \begingroup + \renewcommand{\thefootnote}{\fnsymbol{footnote}}% + \def\@makefnmark{\hbox{\ifydir $\m@th^{\@thefnmark}$ + \else\hbox{\yoko$\m@th^{\@thefnmark}$}\fi}}% + \long\def\@makefntext##1{\parindent 1em\noindent + \hbox to1.8em{\hss$\m@th^{\@thefnmark}$}##1}% + \if@twocolumn + \ifnum \col@number=\@ne \@maketitle + \else \twocolumn[\@maketitle]% + \fi + \else + \newpage + \global\@topnum\z@ % Prevents figures from going at top of page. + \@maketitle + \fi + \thispagestyle{IPSJTITLEheadings} +\@thanks + \endgroup + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\maketitle\relax + \global\let\p@thanks\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@eauthor\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\title\relax + \global\let\@etitle\@empty + \global\let\etitle\relax +%%% + \global\let\author\relax + \global\let\eauthor\relax + \global\let\date\relax + \global\let\and\relax +%%% +% affiliate +%%% +\bgroup +\setcounter{footnote}{0} +\def\thefootnote{\@arabic{\c@footnote}\protect\hphantom{\rparen}} +\advance\affiliate@count\@ne +\count@\@ne +\@whilenum{\count@<\affiliate@count}\do{% + \refstepcounter{footnote} + \footnotetext{\csname affiliate@\the\count@\endcsname}% + \advance\count@\@ne +}% +\egroup +%%% +% paffiliate +%%% +\bgroup +\setcounter{footnote}{0} +\def\thefootnote{$\dagger$\@arabic{\c@footnote}\protect\hphantom{\rparen}} +\advance\paffiliate@count\@ne +\count@\@ne +\@whilenum{\count@<\paffiliate@count}\do{% + \refstepcounter{footnote} +%%%% + \ifDS@english + \footnotetext{% +Presently with\ % +\csname paffiliate@\the\count@\endcsname}% + \else + \footnotetext{% +\def\\{\newline Presently with \ignorespaces}% +現在,\csname paffiliate@\the\count@\endcsname}% + \fi% + \advance\count@\@ne +}% +\egroup +%%% +%===== +% email +%===== +\bgroup +\setcounter{footnote}{0} +\def\thefootnote{\@alph{\c@footnote}\rparen} +\count@\@ne +\advance\author@count\@ne + \@whilenum{\count@<\author@count}\do{% + \expandafter\@tempcntb\csname authoremail@num@\the\count@ \endcsname + \advance\@tempcntb\@ne + \@tempcnta\@ne + \@whilenum{\@tempcnta<\@tempcntb}\do{% + \refstepcounter{footnote} + \footnotetext{\csname authoremail\the\count@ @\the\@tempcnta\endcsname}% + \advance\@tempcnta\@ne + }% + \advance\count@\@ne + }% +\egroup +%================= +\setcounter{footnote}{0} + } +%%% + + + + + + +%================================================================================= +% @maketitle +%================================================================================= + +%% +\newskip\shubetutitlesep +\newskip\JEhonbunsep + +\shubetutitlesep=6.2mm% default 10mm +\JEhonbunsep=13.7mm % default 15mm + +\newskip\Etitleauthorsep +\newskip\Eauthorreceivesep +\newskip\Ereceiveabstsep +\newskip\Eabstkeywordsep + +\Etitleauthorsep=10mm% default 12.5mm +\Eauthorreceivesep=5.5mm% default 7mm +\Ereceiveabstsep=2.5mm% default 6mm +\Eabstkeywordsep=4mm % default 5mm + +% +\newskip\Jtitlejauthorsep +\newskip\Jauthorjreceivesep +\newskip\Jreceivejabstsep +\newskip\Jabstsepjkeyword +\newskip\Jkeywordetitle +\newskip\Jetitleeauthor +\newskip\Jeauthorereceivesep +\newskip\Jereceiveeabstsep +\newskip\Jeabstekeywordsep + +\Jtitlejauthorsep=9mm% default 10mm +\Jauthorjreceivesep=6.5mm% default 7mm +\Jreceivejabstsep=2.5mm% default 5mm +\Jabstsepjkeyword=5.5mm % default 5mm +\Jkeywordetitle=14.2mm % default 16mm +\Jetitleeauthor=5.5mm% default 7mm +\Jeauthorereceivesep=5.5mm% default 6.5mm +\Jereceiveeabstsep=1.5mm% default 4.5mm +\Jeabstekeywordsep=5mm % default 5mm + +%====================================================== + + + +\def\@maketitle{% +\newpage\null +%%%%%%%%%% +\ifDS@english +%% +\vskip-1.3mm% +\ifx\SHUBETUname\relax% +{\SHUBETUfontE{\SHUBETUname@DEF}}%% +\else +{\SHUBETUfontE{\SHUBETUname}}%% +\fi +%% +\else +\ifx\SHUBETUname\relax% +{\SHUBETUfontJ{\SHUBETUname@DEF}}%% +\else +{\SHUBETUfontJ{\SHUBETUname}}%% +\fi\fi +%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\shubetutitlesep% +%%%%%%%%%%%%%%%%%%%%%%%% +%% +%\vskip 10mm% +\begin{center} +\authortitle %%<--- +\end{center} +%%%%%%%%%%%%%%%%%%% +% +} + + + +\ifDS@english +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\authortitle{% +{\Engtitlefont% +{\@title}\par} +%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Etitleauthorsep% +%%%%%%%%%%%%%%%%%%%%%%% +%% author %%% +{\Engeauthorfont% +\authoroutput{e}\par}% +%%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Eauthorreceivesep% +%%%%%%%%%%%%%%%%%%%%%%%%% +{\Enguketukefont% +{\@uketsuke}\par}% +%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Ereceiveabstsep% +%%%%%%%%%%%%%%%%%%%%%%% +\mbox{\box\@abstractbox}\par% +%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Eabstkeywordsep% +%%%%%%%%%%%%%%%%%%%%%%% +\let\@keywordbox\@ekeywordbox +\mbox{\box\@ekeywordbox}\par% +%%%%%%%%%%%%%%%%%%% +\vskip\JEhonbunsep% +%%%%%%%%%%%%%%%%%%% +} +%=========== +\else +%========== +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\authortitle{% +{\jtitlefont% +{\@title}\par}% +%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jtitlejauthorsep% +%%%%%%%%%%%%%%%%%%%%%%%% +%% author +%====== +{\authorfont% +\authoroutput{}\par}% +%%%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jauthorjreceivesep% +%%%%%%%%%%%%%%%%%%%%%%%%%% +%====== +{\juketukefont% +{\@uketsuke}\par}% +%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jreceivejabstsep% +%%%%%%%%%%%%%%%%%%%%%%%% +\mbox{\box\@abstractbox}\par% +%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jabstsepjkeyword% +%%%%%%%%%%%%%%%%%%%%%%%% +\mbox{\box\@jkeywordbox}\par% +%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jkeywordetitle% +%%%%%%%%%%%%%%%%%%%%%% +{\etitlefont% +{\bfseries{\@etitle}}}\par% +%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jetitleeauthor% +%%%%%%%%%%%%%%%%%%%%%% +{\eauthorfont% +\authoroutput{e}\par}% +%%%%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jeauthorereceivesep% +%%%%%%%%%%%%%%%%%%%%%%%%%%% +{\euketukefont% +{\@euketsuke}\par}% +%%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jereceiveeabstsep% +%%%%%%%%%%%%%%%%%%%%%%%%% +\mbox{\box\@eabstractbox}\par% +%%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jeabstekeywordsep% +%%%%%%%%%%%%%%%%%%%%%%%%% +\mbox{\box\@ekeywordbox}\par% +%%%%%%%%%%%%%%%%%%% +\vskip\JEhonbunsep% +%%%%%%%%%%%%%%%%%%% +} +\fi + + + + +%<<<< 4.0 +%%%%%%%%%%%%%%%%%%%%%%%%%% +% abstract +%%%%%%%%%%%%%%%%%%%%%%%%%% + +\ifDS@abstract +\ifDS@english +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\authortitle{% +{\Engtitlefont% +{\@title}\par} +%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Etitleauthorsep% +%%%%%%%%%%%%%%%%%%%%%%% +{\Engeauthorfont% +\authoroutput{e}\par}% +%%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Eauthorreceivesep% +%%%%%%%%%%%%%%%%%%%%%%%%% + {\Enguketukefont% + {\@huketsuke}\par}% +%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Ereceiveabstsep% +%%%%%%%%%%%%%%%%%%%%%%% +\mbox{\box\@abstractbox}\par% +%%%%%%%%%%%%%%%%%%% +\vskip\JEhonbunsep% +%%%%%%%%%%%%%%%%%%% +} +%=========== +\else +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\authortitle{% +{\jtitlefont% +{\@title}\par}% +%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jtitlejauthorsep% +%%%%%%%%%%%%%%%%%%%%%%%% +{\authorfont% +\authoroutput{}\par}% +%%%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jauthorjreceivesep% +%%%%%%%%%%%%%%%%%%%%%%%%%% + {\juketukefont% + {\@huketsuke}\par}% +%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jreceivejabstsep% +%%%%%%%%%%%%%%%%%%%%%%%% +\mbox{\box\@abstractbox}\par% +%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jkeywordetitle% +%%%%%%%%%%%%%%%%%%%%%% +\rlap{\SHUBETUfontE{\SHUBETUname@Eabstract}}%% +\vskip\shubetutitlesep% +%%%%%%%%%%%%%%%%%%%%%% +{\etitlefont% +{\bfseries{\@etitle}}}\par% +%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jetitleeauthor% +%%%%%%%%%%%%%%%%%%%%%% +{\eauthorfont% +\authoroutput{e}\par}% +%%%%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jeauthorereceivesep% +%%%%%%%%%%%%%%%%%%%%%%%%%%% + {\euketukefont% + {\@heuketsuke}\par}% +%%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jereceiveeabstsep% +%%%%%%%%%%%%%%%%%%%%%%%%% +\mbox{\box\@eabstractbox}\par% +%%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\JEhonbunsep% +%%%%%%%%%%%%%%%%%%% +} +\fi\fi + + + + + +%================================================================================= +% maketitle Font +%================================================================================= + + +%% Times -> CM +\def\titleddash{{\usefont{OT1}{cmr}{bx}{n}\selectfont% +\leavevmode \raise.1zh\hbox to 2zw{---\hss ---}}} + + +%% +\def\jtitlefont{% +\if@submit + \fontsize{26\JQ}{34\h} + \usefont{JY1}{gt}{m}{n}% +% \usefont{OT1}{ptm}{b}{n}%Times-Bold* + \bfseries% + \mathversion{bold}\selectfont% +\else + \fontsize{26\JQ}{34\h} + \usefont{JY1}{fmb}{m}{n}% FutoMin + \usefont{OT1}{ptm}{b}{n}%Times-Bold* + \mathversion{bold}\selectfont% +\let\ddash\titleddash% +\fi +} + + +%% J-Uketuke +\def\juketukefont{% +\if@submit + \fontsize{10\JQ}{12\h}\normalfont\selectfont +\else + \fontsize{10\JQ}{12\h}\usekanji{JY1}{gt}{m}{n}% + \useroman{OT1}{phv}{m}{n}\selectfont +\fi} + + +%% v1.02c +%% E-title +\def\etitlefont{\fontsize{20\Q}{22\h}\mathversion{bold}\selectfont} + +%% E-Uketuke +\def\euketukefont{% +\if@submit + \fontsize{10\JQ}{12\h}\normalfont\selectfont +\else + \fontsize{10\JQ}{12\h}\useroman{OT1}{phv}{m}{n}\selectfont +\fi} + + +%% author-migikata +\def\labelfont{\useroman{OT1}{cmr}{m}{n}\selectfont} + +%% J-name +\def\authorfont{\fontsize{16\JQ}{22\h}\selectfont} + +%% J-(e)-name +\def\eauthorfont{\fontsize{14\JQ}{18\h}\scshape\selectfont}%14Qx18 + + +%% E-name +\def\Engeauthorfont{\fontsize{17\JQ}{22\h}\scshape\selectfont}%17Qx22 + +%% eauthor-migikata +\ifDS@english + \def\elabelfont{\normalfont}%\useroman{OT1}{ptm}{m}{n}\selectfont +\else + \def\elabelfont{\normalfont}%\useroman{OT1}{cmr}{m}{n}\selectfont +\fi +%%% + + + + +%% E-only-title +\def\Engtitlefont{\fontsize{28\Q}{34\h}\bfseries% +\mathversion{bold}\selectfont} + + + +%%E Uketuke +\def\Enguketukefont{\fontsize{10\JQ}{12\h}\sffamily\selectfont} + + + + +%============================================================================= +% uketsuke, euketsuke +%============================================================================= + + +\def\@uketsuke{% +\@received +\@ifundefined{@rereceived}{, }{% + \@rereceived + \@ifundefined{@rerereceived}{, }{\@rerereceived}% + \par +}% +{\@accepted}% +\@ifundefined{@released}{}{, \@released}% +} + + +\def\@euketsuke{% +\@ereceived +\@ifundefined{@erereceived}{, }{% + \@erereceived + \@ifundefined{@ererereceived}{, }{\@ererereceived}% + \par +}% +\@eaccepted +} + + +\def\@huketsuke{% +\@Presented} + + +\def\@heuketsuke{% +\@ePresented} + + + + + + + +\def\TUKI#1{\ifcase#1 xx\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} + + + + +\ifDS@english +\def\received#1#2#3{% + \gdef\@received{Received: \TUKI{#2} #3, #1}% +} + +\def\accepted#1#2#3{% + \gdef\@accepted{Accepted: \TUKI{#2} #3, #1}% +} +\def\@accepted{} + +\def\rereceived#1#2#3{% + \gdef\@rereceived{, Revised: \TUKI{#2} #3, #1}% +} + +\def\rerereceived#1#2#3{% + \gdef\@rerereceived{/\TUKI{#2} #3, #1,}% +} +%%% +\def\released#1#2#3{% + \gdef\@released{Released: \TUKI{#2} #3, #1}% +} +%% +\else +%% +\def\received#1#2#3{% + \gdef\@received{受付日{#1}\kern0pt{年}\kern0pt{#2}\kern0pt{月}\kern0pt{#3}\kern0pt{日}}% + \gdef\@ereceived{Received: \TUKI{#2} #3, #1}% +} + +\def\accepted#1#2#3{% + \gdef\@accepted{採録日{#1}\kern0pt{年}\kern0pt{#2}\kern0pt{月}\kern0pt{#3}\kern0pt{日}}% + \gdef\@eaccepted{Accepted: \TUKI{#2} #3, #1}% +} + +\def\rereceived#1#2#3{% + \gdef\@rereceived{,再受付日{#1}\kern0pt{年}\kern0pt{#2}\kern0pt{月}\kern0pt{#3}\kern0pt{日}}% + \gdef\@erereceived{, Revised: \TUKI{#2} #3, #1}% +} + +\def\rerereceived#1#2#3{% + \gdef\@rerereceived{\,/\,{#1}\kern0pt{年}\kern0pt{#2}\kern0pt{月}\kern0pt{#3}\kern0pt{日},}% + \gdef\@ererereceived{/\TUKI{#2} #3, #1,}% +} +\fi + + + + +% abstract +\ifDS@english +\def\Presented#1#2#3{% + \gdef\@Presented{Presented: \TUKI{#2} #3, #1}% +} +\else +\def\Presented#1#2#3{% + \gdef\@Presented{{#1}\kern0pt{年}\kern0pt{#2}\kern0pt{月}\kern0pt{#3}\kern0pt{日発表}}% + \gdef\@ePresented{Presented: \TUKI{#2} #3, #1}% +} +\fi + + + + + + +%%%%%%%%%%%%%%%%% +\received{xxxx}{0}{xx} +\accepted{xxxx}{0}{xx} +\Presented{xxxx}{0}{xx} +%\rereceived{xxxx}{0}{xx} +%\rerereceived{xxxx}{0}{xx} +%%%%%%%%%%%%%% + + + +\ifDS@english\else +\let\受付\received +\let\採録\accepted +\let\再受付\rereceived +\let\再再受付\rerereceived +\let\発表\Presented +\fi + + + +%========================================================================================================================== + + + + + +\def\EGAIYOU{% +\ifDS@english + \ifDS@abstract + {\hskip1em} + \else + \sffamily\itshape% +Abstract:\hskip.5em% + \fi +\else + \if@submit + \itshape\bfseries% + \else + \useroman{OT1}{phv}{b}{it}\selectfont% + \fi +\ifDS@abstract + {\hskip1zw}\else + Abstract:\hskip.5em% + \fi +\fi +} + + + + +%%%<<<< 1.02 +\ifDS@english +\def\GAIYOU{% + \ifDS@abstract + {\hskip1em}% + \else + \itshape\bfseries\sffamily% + Abstract:\hskip.5em% + \fi +} +\else +\def\GAIYOU{% + \ifDS@abstract + {\hskip1zw}% + \else +{\textbf{概要}:} + \fi +} +\fi + + + + + +\newbox\@abstractbox +\newbox\@eabstractbox + + + +\ifDS@english +\def\abstract{% + \global\setbox\@abstractbox\hbox\bgroup% + \begin{minipage}[t]{.8\textwidth}% 12Q 14H +\fontsize{12\Q}{14\h}\selectfont% +\noindent{\GAIYOU}% +\ignorespaces} +\else +\def\abstract{% + \global\setbox\@abstractbox\hbox\bgroup% + \begin{minipage}[t]{.8\textwidth}% 12Q 18H +\fontsize{12\JQ}{18\h}\selectfont% +\noindent{\GAIYOU}% +\ignorespaces} +\fi + + + + + +\def\endabstract{% +\par% +\end{minipage}% +\egroup\ignorespaces} + + +\def\eabstract{% + \global\setbox\@eabstractbox\hbox\bgroup% + \begin{minipage}[t]{.8\textwidth}% 12Q 16H +\fontsize{12\Q}{15\h}\selectfont% +\noindent{\EGAIYOU}% +\ignorespaces} + +\def\endeabstract{% +\par% +\end{minipage}% +\egroup\ignorespaces} + + + +%========================================================================================================================== + + +\def\EKEYWORD{% +\ifDS@english +\itshape\bfseries\sffamily% +Keywords:\hskip.5em% +\else + \if@submit + \itshape\bfseries% + \else + \useroman{OT1}{phv}{b}{it}\selectfont% + \fi +Keywords:\hskip.5em% +\fi +} + + + +\ifDS@english +\def\JKEYWORD{% +\itshape\bfseries\sffamily% +Keywords:\hskip.5em% +} +\else +\def\JKEYWORD{\textbf{キーワード}:}% +\fi + + +\newbox\@jkeywordbox +\newbox\@ekeywordbox +\newbox\@keywordbox + + +\def\jkeyword{\@par% +\global\setbox\@jkeywordbox\hbox\bgroup + \begin{minipage}[t]{.8\textwidth}% +\fontsize{12\JQ}{15\h}\selectfont% +{\noindent{\JKEYWORD}}% +\ignorespaces} +\def\endjkeyword{% +\par\end{minipage}% +\egroup\ignorespaces} + +\def\ekeyword{\@par% + \global\setbox\@ekeywordbox\hbox\bgroup + \begin{minipage}[t]{.8\textwidth}% +\fontsize{12\Q}{15\h}\selectfont% +{\noindent{\EKEYWORD}}% +\ignorespaces} +\def\endekeyword{% +\par\end{minipage}% +\egroup\ignorespaces} + + +\def\keyword{\@par% + \global\setbox\@ekeywordbox\hbox\bgroup + \begin{minipage}[t]{.8\textwidth}% +\fontsize{12\Q}{15\h}\selectfont% +{\noindent{\EKEYWORD}}% +\ignorespaces} +\def\endkeyword{% +\par\end{minipage}% +\egroup\ignorespaces} + + + +%========================================================================================================================== + + + +\setcounter{secnumdepth}{3} +\newcounter{part} +\newcounter{section} +\newcounter{subsection}[section] +\newcounter{subsubsection}[subsection] +\newcounter{paragraph}[subsubsection] +\newcounter{subparagraph}[paragraph] +\renewcommand\thepart{\@Roman\c@part} +\renewcommand\thesection{\@arabic\c@section} +\renewcommand\thesubsection {\thesection.\@arabic\c@subsection} +\renewcommand\thesubsubsection{\thesubsection .\@arabic\c@subsubsection} +\renewcommand\theparagraph {\thesubsubsection.\@arabic\c@paragraph} +\renewcommand\thesubparagraph {\theparagraph.\@arabic\c@subparagraph} +\newcommand\part{% + \if@noskipsec \leavevmode \fi + \par + \addvspace{4ex}% + \@afterindentfalse + \secdef\@part\@spart} + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Midasi +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newbox\@tempboxb +%\newdimen\SECTwd +\newbox\SECTwd + +\newlength{\section@height}% +\section@height=\lineskip% +\advance \section@height-\topskip +\advance \section@height \baselineskip + + + + + +\def\@startsectionA#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\addvspace\@tempskipa + \fi + \@ifstar + {\@ssectA{#3}{#4}{#5}{#6}}% + {\@dblarg{\@sectA{#1}{#2}{#3}{#4}{#5}{#6}}}} + + + + +\ifDS@english%%!!!!!!! +\def\@sectA#1#2#3#4#5#6[#7]#8{% + \ifnum #2>\c@secnumdepth + \let\@svsec\@empty + \else + \refstepcounter{#1}% + \protected@edef\@svsec{%\protect\rule{0mm}{21.75mm} +\@seccntformatA{#1}\relax}% + \fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@%\@tempskipa>\z@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\setbox\SECTwd=\hbox{% +\begingroup +\noindent +#6{\@hangfrom{\hskip #3\relax\@svsec}}% +\interlinepenalty \@M {{#8}}% +\endgroup}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\setbox\@tempboxb\hbox{#6{% +{\hskip #3\relax{\csname #2@font\endcsname \@svsec}}}}% +%%%%%%%%%%%\the\wd\SECTwd +\ifdim \wd\SECTwd > \columnwidth +\@tempdima\columnwidth +\advance\@tempdima-\wd\@tempboxb +%%%%%%%%%%%% +\begingroup +\mbox{}\par% +\vspace{-\baselineskip}%% +\addvspace{\section@height}% +\addvspace{-.9mm}% + \noindent% + #6{\@hangfrom{\hskip #3\relax\@svsec}% + \interlinepenalty \@M + %\noindent + \hangindent\wd\@tempboxb\hangafter=1 + #8\@@par}\nobreak% +% \addvspace{.74\Cvs}% +\vspace{-.7mm}% +\addvspace{\section@height}% +\endgroup +%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\else +%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begingroup +\mbox{}\par% +\vspace{-\baselineskip}%% +\noindent +{\vbox to 8.65mm + {\vfill% + \addvspace{.54\Cvs} + #6{\@hangfrom{\hskip #3\relax\@svsec}% + \interlinepenalty \@M {#8}\@@par% + }\nobreak% + \vfill + }% + } +\endgroup +\fi +\par +%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else% + \protect\numberline{\csname the#1\endcsname}\hskip1em% + \fi% + {#7}%\vfill +}% + \else + \def\@svsechd{% + #6{\hskip #3\relax + \@svsec #8}% + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else% + \protect\numberline{\csname the#1\endcsname}% + \fi% + #7}}% + \fi% + \@xsect{#5}} +\def\@xsect#1{% + \@tempskipa #1\relax + \ifdim \@tempskipa>\z@ + \par \nobreak + \vskip \@tempskipa + \@afterheading + \else + \@nobreakfalse + \global\@noskipsectrue + \everypar{% + \if@noskipsec + \global\@noskipsecfalse + {\setbox\z@\lastbox}% + \clubpenalty\z@ + \begingroup \@svsechd \endgroup + \unskip + \@tempskipa #1\relax + \hskip -\@tempskipa + \else + \clubpenalty \@clubpenalty + \everypar{}% + \fi}% + \fi + \ignorespaces} +%%%%%%%% +\else%------------------------------------------------------------- +%%%%%%%% +\def\@sectA#1#2#3#4#5#6[#7]#8{% + \ifnum #2>\c@secnumdepth + \let\@svsec\@empty + \else + \refstepcounter{#1}% + \protected@edef\@svsec{%\protect\rule{0mm}{21.75mm} +\@seccntformatA{#1}\relax}% + \fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@%\@tempskipa>\z@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\setbox\SECTwd=\hbox{% +\begingroup +\noindent +#6{\@hangfrom{\hskip #3\relax\@svsec}}% +\interlinepenalty \@M {{#8}}% +\endgroup}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\setbox\@tempboxb\hbox{#6{% +{\hskip #3\relax{\csname #2@font\endcsname \@svsec}}}}% +%%%%%%%%%%%\the\wd\SECTwd +\ifdim \wd\SECTwd > \columnwidth +%%%%%%%%%%%% +\@tempdima\columnwidth +\advance\@tempdima-\wd\@tempboxb +%%%%%%%%%%%% +\begingroup + \mbox{}\par% + \vspace{-\baselineskip}%% + \addvspace{.65\Cvs}% + \noindent% + #6{\@hangfrom{\hskip #3\relax\@svsec}% + \interlinepenalty \@M + %\noindent + \hangindent\wd\@tempboxb\hangafter=1 + #8\@@par}\nobreak{\par}% + \addvspace{.74\Cvs}% +\endgroup +%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\else +%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begingroup + \mbox{}\par% + \vspace{-\baselineskip}%% + \noindent + {\vbox to 2.43\Cvs{\vfill% + #6{\@hangfrom{\hskip #3\relax\@svsec}% + \interlinepenalty \@M {#8}\@@par}% + \vfill}% + }\@@par% +\endgroup +\fi +\par\prevdepth=-1000pt% +%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else% + \protect\numberline{\csname the#1\endcsname}\hskip1zw% + \fi% + {#7}%\vfill +}% + \else + \def\@svsechd{% + #6{\hskip #3\relax + \@svsec #8}% + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else% + \protect\numberline{\csname the#1\endcsname}% + \fi% + #7}}% + \fi% + \@xsect{#5}} +\def\@xsect#1{% + \@tempskipa #1\relax + \ifdim \@tempskipa>\z@ + \par \nobreak + \vskip \@tempskipa + \@afterheading + \else + \@nobreakfalse + \global\@noskipsectrue + \everypar{% + \if@noskipsec + \global\@noskipsecfalse + {\setbox\z@\lastbox}% + \clubpenalty\z@ + \begingroup \@svsechd \endgroup + \unskip + \@tempskipa #1\relax + \hskip -\@tempskipa + \else + \clubpenalty \@clubpenalty + \everypar{}% + \fi}% + \fi + \ignorespaces} +\fi + + + +\ifDS@english +\def\@seccntformatA#1{\csname the#1\endcsname.\hskip1em} +\else +\def\@seccntformatA#1{\csname the#1\endcsname.\hskip1zw} +\fi + + + +%%%<<<< 1.02 +\def\@ssectA#1#2#3#4#5{% + \@tempskipa #3\relax + \ifdim \@tempskipa>\z@ +%%% +\begingroup + \mbox{}\par% + \vspace{-\baselineskip}%% + \addvspace{.5\Cvs}% + \noindent% +%%% + #4{% + \@hangfrom{\hskip #1}% + \interlinepenalty \@M #5\@@par}% + \addvspace{.5\Cvs}% + \endgroup + \else + \def\@svsechd{#4{\hskip #1\relax #5}}% + \fi + \@xsect{#3}} +\newif\if@afterindent \@afterindenttrue +\def\@afterheading{% + \@nobreaktrue + \everypar{% + \if@nobreak + \@nobreakfalse + \clubpenalty \z@ + \if@afterindent \else + {\setbox\z@\lastbox}% + \fi + \else + \clubpenalty \@clubpenalty + \everypar{}% + \fi}} + +%---------------------------------------------------------------------------- +%---------------------------------------------------------------------------- + +%%%%%%%%%%%%%%% C +\def\@startsectionC#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 +\ifnum #2=\@ne + \vskip-\prevdepth \prevdepth\z@ \vskip\Cvs + \advance\@tempskipa-\Cvs \vspace*{\@tempskipa}% + \else +\addvspace\@tempskipa +\fi + \fi + \@ifstar + {\@ssectC{#3}{#4}{#5}{#6}}% + {\@dblarg{\@sectC{#1}{#2}{#3}{#4}{#5}{#6}}}} + +\def\@sectC#1#2#3#4#5#6[#7]#8{% + \ifnum #2>\c@secnumdepth + \let\@svsec\@empty + \else + \refstepcounter{#1}% + \protected@edef\@svsec{%\protect\rule{0mm}{21.75mm} +\@seccntformatC{#1}\relax}% + \fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@ + \begingroup + #6{% +% \centering +\@hangfrom{\hskip #3\relax\@svsec}% +% \interlinepenalty \@M \protect\SECTUP{\jidoukintou{#8}}\@@par}% + \interlinepenalty \@M {#8}\@@par}% + \endgroup + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}% + \fi + {#7}}% + \else + \def\@svsechd{% + #6{\hskip #3\relax + \@svsec #8}% + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}% + \fi + #7}}% + \fi + \@xsect{#5}} +\def\@xsect#1{% + \@tempskipa #1\relax + \ifdim \@tempskipa>\z@ + \par \nobreak + \vskip \@tempskipa + \@afterheading + \else + \@nobreakfalse + \global\@noskipsectrue + \everypar{% + \if@noskipsec + \global\@noskipsecfalse + {\setbox\z@\lastbox}% + \clubpenalty\z@ + \begingroup \@svsechd \endgroup + \unskip + \@tempskipa #1\relax + \hskip -\@tempskipa + \else + \clubpenalty \@clubpenalty + \everypar{}% + \fi}% + \fi + \ignorespaces} + +\ifDS@english +\def\@seccntformatC#1{\csname the#1\endcsname\hskip1em} +\else +\def\@seccntformatC#1{\csname the#1\endcsname\hskip1zw} +\fi + +\def\@ssectC#1#2#3#4#5{% + \@tempskipa #3\relax + \ifdim \@tempskipa>\z@ + \begingroup + #4{% +% \centering +\@hangfrom{\hskip #1}% + \interlinepenalty \@M {#5}\@@par}% + \endgroup + \else + \def\@svsechd{#4{\hskip #1\relax #5}}% + \fi + \@xsect{#3}} +\newif\if@afterindent \@afterindenttrue +\def\@afterheading{% + \@nobreaktrue + \everypar{% + \if@nobreak + \@nobreakfalse + \clubpenalty \z@ + \if@afterindent \else + {\setbox\z@\lastbox}% + \fi + \else + \clubpenalty \@clubpenalty + \everypar{}% + \fi}} +\def\@hangfrom#1{\setbox\@tempboxa\hbox{#1}% + \hangindent \wd\@tempboxa\noindent\box\@tempboxa} + + + +%=========================================================== + + +\def\@startsectionAPP#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{}% +\ifnum #2=1\relax \vspace*{0mm}\fi%<--------------- + \else + \addpenalty\@secpenalty\addvspace\@tempskipa + \fi + \@ifstar + {\@ssectC{#3}{#4}{#5}{#6}}%<-------------------- + {\@dblarg{\@sectAPP{#1}{#2}{#3}{#4}{#5}{#6}}}} + + + + +\ifDS@english%%!!!!!!! +\def\@sectAPP#1#2#3#4#5#6[#7]#8{% + \ifnum #2>\c@secnumdepth + \let\@svsec\@empty + \else + \refstepcounter{#1}% + \protected@edef\@svsec{%\protect\rule{0mm}{21.75mm} +\@seccntformatAPP{#1}\relax}% + \fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@%\@tempskipa>\z@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\setbox\SECTwd=\hbox{% +\begingroup +\noindent +#6{\@hangfrom{\hskip #3\relax\@svsec}}% +\interlinepenalty \@M {{#8}}% +\endgroup}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\setbox\@tempboxb\hbox{#6{% +{\hskip #3\relax{\csname #2@font\endcsname \@svsec}}}}% +%%%%%%%%%%%\the\wd\SECTwd +\ifdim \wd\SECTwd > \columnwidth +\@tempdima\columnwidth +\advance\@tempdima-\wd\@tempboxb +%%%%%%%%%%%% +\begingroup +\mbox{}\par% +\vspace{-\baselineskip}%% +\addvspace{\section@height}% +\addvspace{-.9mm}% + \noindent% + #6{\@hangfrom{\hskip #3\relax\@svsec}% + \interlinepenalty \@M + %\noindent + \hangindent\wd\@tempboxb\hangafter=1 + #8\@@par}\nobreak% +% \addvspace{.74\Cvs}% +\vspace{-.7mm}% +\addvspace{\section@height}% +\endgroup +%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\else +%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begingroup +\mbox{}\par% +\vspace{-\baselineskip}%% +\noindent +{\vbox to 8.65mm + {\vfill% + \addvspace{.54\Cvs} + #6{\@hangfrom{\hskip #3\relax\@svsec}% + \interlinepenalty \@M {#8}\@@par% + }\nobreak% + \vfill + }% + } +\endgroup +\fi +\par +%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else% + \protect\numberline{\csname the#1\endcsname}\hskip1em% + \fi% + {#7}%\vfill +}% + \else + \def\@svsechd{% + #6{\hskip #3\relax + \@svsec #8}% + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else% + \protect\numberline{\csname the#1\endcsname}% + \fi% + #7}}% + \fi% + \@xsect{#5}} +\def\@xsect#1{% + \@tempskipa #1\relax + \ifdim \@tempskipa>\z@ + \par \nobreak + \vskip \@tempskipa + \@afterheading + \else + \@nobreakfalse + \global\@noskipsectrue + \everypar{% + \if@noskipsec + \global\@noskipsecfalse + {\setbox\z@\lastbox}% + \clubpenalty\z@ + \begingroup \@svsechd \endgroup + \unskip + \@tempskipa #1\relax + \hskip -\@tempskipa + \else + \clubpenalty \@clubpenalty + \everypar{}% + \fi}% + \fi + \ignorespaces} +%%%%%%%% +\else%------------------------------------------------------------- +%%%%%%%% +\def\@sectAPP#1#2#3#4#5#6[#7]#8{% + \ifnum #2>\c@secnumdepth + \let\@svsec\@empty + \else + \refstepcounter{#1}% + \protected@edef\@svsec{%\protect\rule{0mm}{21.75mm} +\@seccntformatAPP{#1}\relax}% + \fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@%\@tempskipa>\z@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\setbox\SECTwd=\hbox{% +\begingroup +\noindent +#6{\@hangfrom{\hskip #3\relax\@svsec}}% +\interlinepenalty \@M {{#8}}% +\endgroup}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\setbox\@tempboxb\hbox{#6{% +{\hskip #3\relax{\csname #2@font\endcsname \@svsec}}}}% +%%%%%%%%%%%\the\wd\SECTwd +\ifdim \wd\SECTwd > \columnwidth +%%%%%%%%%%%% +\@tempdima\columnwidth +\advance\@tempdima-\wd\@tempboxb +%%%%%%%%%%%% +\begingroup + \mbox{}\par% + \vspace{-\baselineskip}%% + \addvspace{.65\Cvs}% + \noindent% + #6{\@hangfrom{\hskip #3\relax\@svsec}% + \interlinepenalty \@M + %\noindent + \hangindent\wd\@tempboxb\hangafter=1 + #8\@@par}\nobreak{\par}% + \addvspace{.74\Cvs}% +\endgroup +%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\else +%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begingroup + \mbox{}\par% + \vspace{-\baselineskip}%% + \noindent + {\vbox to 2.43\Cvs{\vfill% + #6{\@hangfrom{\hskip #3\relax\@svsec}% + \interlinepenalty \@M {#8}\@@par}% + \vfill}% + }\@@par% +\endgroup +\fi +\par\prevdepth=-1000pt% +%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else% + \protect\numberline{\csname the#1\endcsname}\hskip1zw% + \fi% + {#7}%\vfill +}% + \else + \def\@svsechd{% + #6{\hskip #3\relax + \@svsec #8}% + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else% + \protect\numberline{\csname the#1\endcsname}% + \fi% + #7}}% + \fi% + \@xsect{#5}} +\def\@xsect#1{% + \@tempskipa #1\relax + \ifdim \@tempskipa>\z@ + \par \nobreak + \vskip \@tempskipa + \@afterheading + \else + \@nobreakfalse + \global\@noskipsectrue + \everypar{% + \if@noskipsec + \global\@noskipsecfalse + {\setbox\z@\lastbox}% + \clubpenalty\z@ + \begingroup \@svsechd \endgroup + \unskip + \@tempskipa #1\relax + \hskip -\@tempskipa + \else + \clubpenalty \@clubpenalty + \everypar{}% + \fi}% + \fi + \ignorespaces} +\fi + + +\ifDS@english +\def\@seccntformatAPP#1{\csname the#1\endcsname.\hskip1em} +\else +\def\@seccntformatAPP#1{\csname the#1\endcsname.\hskip1zw} +\fi + + +%---------------------------------------------------------------------------- + + + + +%----------------------------------- +\newcommand{\section}{\@startsectionA{section}{1}{\z@}% +{.00001\Cvs}% \@plus.3\Cdp \@minus.2\Cdp}% \@plus1.3\Cdp\@minus10.5\Cdp}% +{.00001\Cvs}% \@plus.3\Cdp \@minus.2\Cdp}% +{\reset@font +\fontsize{16\JQ}{21\h}\selectfont% +\bfseries\mathversion{bold}% +}} +%----------- + + + +%======================= + \newcommand{\subsection}{\@startsectionC{subsection}{2}{\z@}% +{\Cvs}%{.3125\Cvs}%{.3125\Cvs \@plus.2\Cdp \@minus.5\Cdp}% +{.00001\Cvs}% \@plus.3\Cdp \@minus.2\Cdp}% {.5\Cvs \@plus.3\Cdp}% + {\reset@font\normalsize\bfseries\mathversion{bold}}} + + +%=======================%======================= + + +\newcommand{\subsubsection}{\@startsectionC{subsubsection}{3}{\z@}% + {0.00001\Cvs}% \@plus.3\Cdp \@minus.2\Cdp}%{.5\Cvs \@plus.5\Cdp \@minus.2\Cdp}% + {0.00001\Cvs}% \@plus.3\Cdp \@minus.2\Cdp}%{.5\Cvs \@plus.3\Cdp}% + {\reset@font\normalsize\bfseries\mathversion{bold}}} + + +%=======================%======================= + + + +\newcommand{\paragraph}{\@startsectionC{paragraph}{3}{\z@}% + {0.00001\Cvs}% \@plus.3\Cdp \@minus.2\Cdp}% + {0.00001\Cvs}% \@plus.3\Cdp \@minus.2\Cdp}% + {\reset@font\normalsize\bfseries}} + +\newcommand{\subparagraph}{\@startsectionC{subparagraph}{3}{\z@}% + {0.00001\Cvs}% \@plus.3\Cdp \@minus.2\Cdp}% + {0.00001\Cvs}% \@plus.3\Cdp \@minus.2\Cdp}% + {\reset@font\normalsize\bfseries}} + + +%============================================================================ + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% fig, tab +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\ifDS@english +\newcommand{\figurename}{Fig.} +\newcommand{\tablename}{Table} +\else +\newcommand{\figurename}{図} +\newcommand{\tablename}{表} +\fi + + + +\def\CaptionType{\def\@captype} + + +\newdimen\@abovecapskip +\newdimen\@belowcapskip + + +\newcounter{figure} +\renewcommand{\thefigure}{\@arabic\c@figure} +\def\fps@figure{tbp} +\def\ftype@figure{1} +\def\ext@figure{lof} +%%%<<<< 3.03 +\def\fnum@figure{\mbox{\figurename~\thefigure}} +\def\fnum@efigure{\mbox{Fig.~\thefigure}} +\newenvironment{figure} + {\@floatenv +% \if@tecrep +\capwidth\hsize\ecapwidth\hsize +%\else +%\capwidth65mm\ecapwidth65mm +%\fi + \abovecaptionskip1mm\belowcaptionskip\z@\@float{figure}} + {\end@float} +\newenvironment{figure*} + {\@floatenv\capwidth.66\textwidth\ecapwidth.66\textwidth + \abovecaptionskip1mm\belowcaptionskip\z@\@dblfloat{figure}} + {\end@dblfloat} + + + + +\newcounter{table} +\renewcommand{\thetable}{\@arabic\c@table} +\def\fps@table{tbp} +\def\ftype@table{2} +\def\ext@table{lot} +%%%<<<< 3.03 +\def\fnum@table{\mbox{\tablename~\thetable}} +\def\fnum@etable{\mbox{Table~\thetable}} +\newenvironment{table} + {\@floatenv +% \if@tecrep +\capwidth\hsize\ecapwidth\hsize +%\else +%\capwidth65mm\ecapwidth65mm +%\fi + \abovecaptionskip\z@\belowcaptionskip1mm\@float{table}} + {\end@float} +\newenvironment{table*} + {\@floatenv\capwidth.66\textwidth\ecapwidth.66\textwidth + \abovecaptionskip\z@\belowcaptionskip1mm\@dblfloat{table}} + {\end@dblfloat} + + + +\def \@floatboxreset{% +\reset@font +\footnotesize\baselineskip16\h +%\tabcolsep.5zw +\@setminipage +} + +\def\@floatenv{\let\center\Center} + + +\def\Center{\topsep\z@\parsep\z@\partopsep\z@\itemsep\z@ + \trivlist \centering\item\relax} +\def\endCenter{\endtrivlist} + + + + +\long\def\@caption#1[#2]#3{\par + \begingroup + \@parboxrestore + \if@minipage + \@setminipage + \fi + \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par + \endgroup} + + + +\newlength\abovecaptionskip +\newlength\belowcaptionskip + + + +\newbox\@tempboxb +\newdimen\capwidth +\newdimen\ecapwidth + + + + +%%%<<< 1.02 +\long\def\@makecaption#1#2{\footnotesize% + \vskip\abovecaptionskip + \setbox\@tempboxa\hbox{\footnotesize{\bfseries% +#1}\hskip1\zw\shortstack[l]{#2}}% + \@tempdima\ht\@tempboxa \advance \@tempdima\dp\@tempboxa% + \setbox\@tempboxb\hbox{\footnotesize{\bfseries% +#1}\hskip1\zw}%% << + \ifdim \@tempdima > \baselineskip + \ifdim \wd\@tempboxa > \capwidth + \hfil\parbox[t]{\capwidth}{\hangindent\wd\@tempboxb +{\bfseries% + #1}\hskip1\zw #2}\vskip4\@Q + \else + \hfil\parbox[t]{\wd\@tempboxa}{\hangindent\wd\@tempboxb +{\bfseries% + #1}\hskip1\zw #2}%\vskip4\@Q +\par\prevdepth=0pt% +\vskip-1.5\h% + \fi + \else %% < + \ifdim \wd\@tempboxa > \capwidth + \hfil\parbox[t]{\capwidth}{\hangindent\wd\@tempboxb +{\bfseries% + #1}\hskip1\zw #2}%\vskip4\@Q +%%% +\ifx \@captype\TABLE + \ifDS@english + \par\vskip.25mm% + \else + \par\prevdepth=0pt\vskip-1.5mm% + \fi +\else + \par\prevdepth=0pt\vskip-1.5\h% +\fi +%%% + \else + \setbox\@tempboxb\hbox{#2}% +%% +% \ifdim \wd\@tempboxb < 4.5\zw %% > +% \hbox to\hsize{\hfil % +%{\bfseries% +%#1}\hskip1\zw%\kintou{5\zw}%% +%{#2}\hfil}% +% \else + \hbox to\hsize{\hfil\box\@tempboxa\hfil}% +\ifDS@english \relax\else \vspace{-\belowcaptionskip}\fi +% \fi + \fi + \fi + \vspace{\belowcaptionskip}\par +} + + + + + + + +\long\def\ecaption#1{{\footnotesize% + \setbox\@tempboxa\hbox{\footnotesize{\bfseries% +\csname fnum@e\@captype\endcsname}% +\hskip1\zw\shortstack[l]{#1}}% + \@tempdima\ht\@tempboxa \advance \@tempdima\dp\@tempboxa + \setbox\@tempboxb\hbox{\footnotesize{\bfseries% +\csname fnum@e\@captype\endcsname}\hskip1\zw}%% << +%%%%%%%%%%%% + \ifdim \@tempdima > \baselineskip + \ifdim \wd\@tempboxa > \ecapwidth + \hfil\parbox[t]{\ecapwidth}{\hangindent\wd\@tempboxb +{\bfseries% + \csname fnum@e\@captype\endcsname}\hskip1\zw #1}\par + \else + \hfil\parbox[t]{\wd\@tempboxa}{\hangindent\wd\@tempboxb +{\bfseries% + \csname fnum@e\@captype\endcsname}\hskip1\zw #1}\par + \fi +%%% + \else %% < + \ifdim \wd\@tempboxa > \ecapwidth + \hfil\parbox[t]{\ecapwidth}{\hangindent\wd\@tempboxb +{\bfseries% + \csname fnum@e\@captype\endcsname}\hskip1\zw #1}\par + \else + \hbox to\hsize{\hfil\box\@tempboxa\hfil}% + \fi + \fi +}%!!<--- + \vspace{2\belowcaptionskip}\par +} + + + + + + + + + + + +%================================================================================================== + + +%%## % ipsjpapers.sty ##%% +%% from "ipsjpapers.sty", a little customized +\leftmargini\Cwd +\leftmarginii.5\Cwd +\leftmarginiii2\Cwd +\leftmarginiv2\Cwd +\leftmarginv2\Cwd +\leftmarginvi2\Cwd + +\def\lst@listi{\labelsep\Cwd \labelwidth.25\Cwd + \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}% + \leftmargin2\Cwd \labelwidth2\Cwd \labelsep\z@ +\itemsep\z@\topsep\z@\parsep\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\Cwd \labelsep\z@ +\itemsep\z@\topsep\z@\parsep\z@%%!!! +}\fi} +\let\enditemize\endlist + + + +\def\description{\list{}{\labelwidth\z@ \labelsep\Cwd +\itemsep\z@\topsep\z@\parsep\z@%%!!! + \itemindent\labelsep \advance\itemindent-\leftmargin + \def\makelabel##1{\bf ##1}}} +\let\enddescription\endlist + + +\let\latex@trivlist\@trivlist +\def\lst@trivlist#1#2{% +\itemsep\z@\topsep\z@\parsep\z@%%!!! +\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@\Cwd}} +\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\Cwd{-\Cwd}}} +\@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{}{% +\itemsep\z@\topsep\z@\parsep\z@%%!!! +\itemindent-\Cwd \listparindent\itemindent + \rightmargin\leftmargin \advance\leftmargin\Cwd}\item[]} +\let\endverse\endlist + +\def\quotation{\list{}{% +\itemsep\z@\topsep\z@\parsep\z@%%!!! +\listparindent\Cwd \itemindent\listparindent + \rightmargin\leftmargin}\item[]} +\let\endquotation\endlist + +\def\quote{\list{}{\itemsep\z@\topsep\z@\parsep\z@%%!!! +\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 +\ifDS@english +\let\theo@it\it \let\theo@sp\ % +\else +\let\theo@it\relax \let\theo@sp\relax +\fi + +%================================================================================================== + + +\ifDS@english +\newcommand{\refname}{References} +\else +\newcommand{\refname}{参考文献} +\fi + + +\newdimen\bibindent +\setlength\bibindent{1.5em} +\def\@biblabel#1{[#1]} + + + + + +\newenvironment{thebibliography}[1] + {% +\ifDS@english +%\fontsize{11\Q}{12\h}\selectfont% +\footnotesize\baselineskip12\h % 11Qx12H +\else +\small\baselineskip15\h % 12Qx15H +\fi + \subsection*{{\normalsize%\footnotesize% +\refname}}% +\vspace*{2mm}%% +%\noindent{\bfseries{\refname}}% +%%%%%%%%%%%% +\def\@mklab##1{##1\hfil } % +%\def\@mklab##1{\hfil ##1} +% + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep +% +% + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \parskip\z@ + \topsep\z@\partopsep\z@ + \itemsep1\h + \parsep\z@ +% \baselineskip3.5mm +% + \sloppy + \clubpenalty\z@ + \@clubpenalty\clubpenalty + \widowpenalty\z@ + \sfcode`\.\@m +} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist\unskip} +%%%% +\let\@openbib@code\@empty + + + + +%================================================================================================== + + +%%%%%%%%%%%%%%%%% These are borrowed style files %%%%%%%%%%% +%%% from LaTeX +\def\pushtowall{\relax\leavevmode +\ifmmode\def\next{\mathpalette\mathpushw@ll} +\else\let\next\makepushw@ll \fi \next} +\def\finpushw@ll{\wd0=0pt \box0} +\def\makepushw@ll#1{\setbox0=\hbox{#1}\finpushw@ll} +\def\mathpushw@ll#1#2{\setbox0=\hbox{$\m@th#1{#2}$}\finpushw@ll} +%%%% + +\ifDS@english +\newcommand{\profname}{\relax} +\else +\newcommand{\profname}{著者紹介} +\fi + + + +\newenvironment{biography}{% +\vspace{2\baselineskip}% +% \subsection*{\profname}% +%\noindent{\bfseries{\profname}}\par +\nobreak% + \footnotesize\normalfont + \parindent\z@ + \vskip\baselineskip + \penalty\@medpenalty + \penalty\@M + \let\@profile\@eprofile + \let\n@profile\n@eprofile +%%% +\ifDS@english +\vskip.5\Cvs% +\else +\vskip-.5\Cvs% +\fi +%%% +}{\par} + + +%% +\newcounter{profile} +%% + + +\def\profile{\@ifstar{\n@eprofile}{\@eprofile}} + + +\def\@eprofile{% +\@ifnextchar[%% ] +{\ip@eprofile} +{\no@eprofile} +} + + + + +\ifDS@english +%%%%%%%%%%%%%%%%%%%%% +\gdef\ip@eprofile[#1]#2#3{% + \stepcounter{profile}% + \vbox{% + \fmt@pro@pic{#2}{#3}{#1}% + }% + \vskip2\Cvs% +} +%%%%%%%%%%%%%%%%%%%%% +\gdef\n@eprofile#1#2{% + \stepcounter{profile}% + \vbox{% + \fmt@pro@nopicnoframe{#1}{#2}% + }% + \vskip2\Cvs% +} +%%%%%%%%%%%%%%%%%%%%% +\gdef\no@eprofile#1#2{% + \stepcounter{profile}% + \vbox{% + \fmt@pro@nopic{#1}{#2}% + }% + \vskip2\Cvs% +} +%%%%%%%%%%%%%%%%%%%%% +%===================== +\else +%===================== +%%%%%%%%%%%%%%%%%%%%% +\gdef\ip@eprofile[#1]#2#3#4{% + \stepcounter{profile}% + \vbox{% + \fmt@pro@pic{#2}{#3}{#4}{#1}% + }% + \vskip2\Cvs% +} +%%%%%%%%%%%%%%%%%%%%% +\gdef\n@eprofile#1#2#3{% + \stepcounter{profile}% + \vbox{% + \fmt@pro@nopicnoframe{#1}{#2}{#3}% + }% + \vskip2\Cvs% +} +%%%%%%%%%%%%%%%%%%%%% +\gdef\no@eprofile#1#2#3{% + \stepcounter{profile}% + \vbox{% + \fmt@pro@nopic{#1}{#2}% + }% + \vskip2\Cvs% +} +%%%%%%%%%%%%%%%%%%%%% +\fi + + +\def\BreakMember{\def\@BreakMember{\\}} +\let\@BreakMember\relax + + + +\ifDS@english +%%%%%%%%%%%%%%%%%%%%% +\gdef\ip@eprofile[#1]#2#3{% + \stepcounter{profile}% + \vbox{% +% \fmt@pro@noEname% + \fmt@pro@pic{#2}{#3}{#1}% + }% + \vskip2\Cvs% +} +%%%%%%%%%%%%%%%%%%%%% +\gdef\n@eprofile#1#2{% + \stepcounter{profile}% + \vbox{% +% \fmt@pro@noEname{#1}% + \fmt@pro@nopicnoframe{#1}{#2}% + }% + \vskip2\Cvs% +} +%%%%%%%%%%%%%%%%%%%%% +\gdef\no@eprofile#1#2{% + \stepcounter{profile}% + \vbox{% +% \fmt@pro@noEname{#1}% + \fmt@pro@nopic{#1}{#2}% + }% + \vskip2\Cvs% +} +%%%%%%%%%%%%%%%%%%%%% +%===================== +\else +%===================== +%%%%%%%%%%%%%%%%%%%%% +\gdef\ip@eprofile[#1]#2#3#4{% + \stepcounter{profile}% + \vbox{% +% \fmt@pro@noEname% + \fmt@pro@pic{#2}{#3}{#4}{#1}% + }% + \vskip2\Cvs% +} +%%%%%%%%%%%%%%%%%%%%% +\gdef\n@eprofile#1#2#3{% + \stepcounter{profile}% + \vbox{% +% \fmt@pro@noEname{#1}% + \fmt@pro@nopicnoframe{#1}{#2}{#3}% + }% + \vskip2\Cvs% +} +%%%%%%%%%%%%%%%%%%%%% +\gdef\no@eprofile#1#2#3{% + \stepcounter{profile}% + \vbox{% +% \fmt@pro@noEname{#1}% + \fmt@pro@nopic{#1}{#2}{#3}% + }% + \vskip2\Cvs% +} +%%%%%%%%%%%%%%%%%%%%% +\fi + + + + + + + + + +%%% +\ifDS@english +\def\fmt@pro@pic#1#2#3{% +\noindent +\begin{minipage}[t]{\columnwidth}% +\leavevmode% +\noindent\IfFileExists{#3.eps}{% +\noindent +{\raisebox{-28.19mm}{\pushtowall{%{-19.3mm} +\smash{% +\resizebox{25mm}{31mm}{\includegraphics{#3.eps}}}}}%<-- kao +}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +}%{% +%\noindent{\smash{\raisebox{8mm}{\pushtowall{% +%\begin{minipage}[t]{25mm} +% \hrule \@height .1mm +% \hbox to 25mm{\vrule \@width .1mm \@height 31mm\hss +% \vrule \@width .1mm \@height 31mm}% +% \hrule \@height .1mm +%\end{minipage} +%}}}} +%}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\pushtowall{\raisebox{.5mm}{%% +\begin{minipage}[t]{\columnwidth}% +%\raggedright% +%\penalty=-200% +\hangindent30mm\hangafter-8\relax +\mbox{\fontsize{13\Q}{18\h}\selectfont\bfseries #1}\hskip.5em% +%% +% +%\@BreakMember%% +%%%%%%%%%%%%%% +%\if #1m\relax +% \hangindent31mm{\normalsize (Member)}\else% +%\if #1s\relax +% \hangindent31mm{\normalsize (Student Member)}\else% +%\if #1f\relax +% \hangindent31mm{\normalsize (Member, Fellow)}\else% +%\if #1h\relax +% \hangindent31mm{\normalsize (Honorary Member, Fellow)}\else% +%\if #1n\relax +% \relax +% \else +% \relax +%\fi\fi\fi\fi\fi +%%%%%%%%%% +%\\[.5\Cvs] +%============== +\baselineskip=18\h% +{\fontsize{13\Q}{18\h}\selectfont% +#2} +%============== +\end{minipage}}}% +\end{minipage}% +%\global\let\@BreakMember\relax +} +%=============================================================== +\else +%=============================================================== +\def\fmt@pro@pic#1#2#3#4{% +\noindent +%%% kao +\begin{minipage}[t]{\columnwidth}% +\leavevmode% +\noindent\IfFileExists{#4.eps}{% +\noindent +{\raisebox{-27.8mm}{\pushtowall{%{-19.3mm} +\smash{% +\resizebox{25mm}{31mm}{\includegraphics{#4.eps}}}}}%<-- kao +}% +%%%%%% +}%{% +%\noindent{\smash{\raisebox{8mm}{\pushtowall{% +%\begin{minipage}[t]{25mm} +% \hrule \@height .1mm +% \hbox to 25mm{\vrule \@width .1mm \@height 31mm\hss +% \vrule \@width .1mm \@height 31mm}% +% \hrule \@height .1mm +%\end{minipage} +%}}}}}% +%%%%%%%%%%%% +\pushtowall{\begin{minipage}[t]{\columnwidth}% +\hangindent30mm\hangafter-7\relax +\mbox{\fontsize{15\JQ}{0\h}\selectfont\bfseries #2}%% +%% +\hskip1.6zw%%% +\@BreakMember%% +%%%%%%%%%%%%%% <<<<<<<<<<<<<<<<< v2.0 +\@for\@temp:=#1\do{% koko + \@ifundefined{\@temp @member}{\relax}% + {\edef\@@member{(\csname \@temp @member\endcsname)}% + }% + \@ifundefined{\@temp @title@member}{\relax}% + {\edef\@title@member{\csname \@temp @title@member\endcsname.}% + }% +}% +\hangindent30mm{\normalsize \inhibitglue\csname @@member\endcsname}% +% +%\if #1m\relax +% \hangindent30mm{\normalsize \inhibitglue(正会員)}\else% +%\if #1s\relax +% \hangindent30mm{\normalsize \inhibitglue(学生会員)}\else% +%\if #1j\relax +% \hangindent30mm{\normalsize \inhibitglue(ジュニア会員)}\else% +%\if #1F\relax +% \hangindent30mm{\normalsize \inhibitglue(正会員,フェロー)}\else% +%\if #1h\relax +% \hangindent30mm{\normalsize \inhibitglue(名誉会員,フェロー)}\else% +%\if #1n\relax +% \relax +% \else +% \relax +%\fi\fi\fi\fi\fi\fi +%%%%%%%%%% +\\[.5\Cvs] +%============== <<<<<<<<<<<<<<<<< v2.0 +\baselineskip=21\h{\fontsize{13\JQ}{21\h}\selectfont #3% +\csname @title@member\endcsname}% +%============== +\end{minipage}}% +\end{minipage}% +\global\let\@BreakMember\relax +} +\fi + + +\def\h@member{名誉会員} +\def\m@member{正会員} +\def\s@member{学生会員} +\def\j@member{ジュニア会員} + +\def\F@title@member{本会フェロー} +\def\E@title@member{本会シニア会員} +\def\L@title@member{本会終身会員} + + +% +%\ifDS@english +%\newcommand{\FELLOW}{FELLOW.} +%\newcommand{\SENIOR}{SENIOR Member.} +%\else +%\newcommand{\FELLOW}{本会フェロー.} +%\newcommand{\SENIOR}{本会シニア会員.} +%\newcommand{\SHUUSIN}{本会終身会員.} +%\fi + + +%================================================================== +%================================================================== + + +%%% E: profile{name}{xxx} +%%% J: profile{m}{name}{xxx} +\ifDS@english +\def\fmt@pro@nopic#1#2{% +\noindent +%%% kao +\begin{minipage}[t]{\columnwidth}% +\leavevmode% +\noindent\IfFileExists{\the\c@profile.eps}{% +\noindent +{\raisebox{-28mm}{\pushtowall{%{-19.3mm} +\smash{% +%\resizebox{25mm}{31mm}{\includegraphics{#4.eps}} +}}}%<-- kao +}% +%%%%%%% +}{% +\noindent{%\smash +{\raisebox{2.2mm}{\pushtowall{% +\begin{minipage}[t]{25mm} + \hrule \@height .1mm + \hbox to 25mm{\vrule \@width .1mm \@height 31mm\hss + \vrule \@width .1mm \@height 31mm}% + \hrule \@height .1mm +\end{minipage} +}}}}}% +%%%%%%% +\pushtowall{\begin{minipage}[t]{\columnwidth}% +\hangindent30mm\hangafter-8\relax +\mbox{\fontsize{13\Q}{18\h}\selectfont\bfseries #1}\hskip.5em%% +%% +%\quad%%% +%\@BreakMember%% +%%%%%%%%%%%%%% +%\if #1m\relax +% \hangindent31mm{\normalsize (Member)}\else% +%\if #1s\relax +% \hangindent31mm{\normalsize (Student Member)}\else% +%\if #1j\relax +% \hangindent31mm{\normalsize (Member, Fellow)}\else% +%\if #1h\relax +% \hangindent31mm{\normalsize (Honorary Member, Fellow)}\else% +%\if #1n\relax +% \relax +% \else +% \relax +%\fi\fi\fi\fi\fi +%%%%%%%%%% +%\\[.5\Cvs] +%============== +\baselineskip=18\h% +{\fontsize{13\Q}{18\h}\selectfont% +#2} +%============== +\end{minipage}}% +\end{minipage}% +%\global\let\@BreakMember\relax +} +%=============================================================== +\else +%=============================================================== +\def\fmt@pro@nopic#1#2#3{% +\noindent +\begin{minipage}[t]{\columnwidth}% +\leavevmode% +\noindent\IfFileExists{\the\c@profile.eps}{% +\noindent +{\raisebox{-28mm}{\pushtowall{%{-19.3mm} +\smash{% +%\resizebox{25mm}{31mm}{\includegraphics{#4.eps}}%% +}}}%<-- kao +}% +%%%%%%% +}{% +\noindent{%\smash +{\raisebox{3mm}{\pushtowall{% +\begin{minipage}[t]{25mm} + \hrule \@height .1mm + \hbox to 25mm{\vrule \@width .1mm \@height 31mm\hss + \vrule \@width .1mm \@height 31mm}% + \hrule \@height .1mm +\end{minipage} +}}}}}% +%%%%%%%% +\pushtowall{\begin{minipage}[t]{\columnwidth}% +\hangindent30mm\hangafter-7\relax +\mbox{\fontsize{15\JQ}{0\h}\selectfont\bfseries #2}%% +%% +\hskip1.6zw%%% +\@BreakMember%% +%%%%%%%%%%%%%% <<<<<<<<<<<<<<<<< v2.0 +\@for\@temp:=#1\do{% koko + \@ifundefined{\@temp @member}{\relax}% + {\edef\@@member{(\csname \@temp @member\endcsname)}% + }% + \@ifundefined{\@temp @title@member}{\relax}% + {\edef\@title@member{\csname \@temp @title@member\endcsname.}% + }% +}% +\hangindent30mm{\normalsize \inhibitglue\csname @@member\endcsname}% +% +%\if #1m\relax +% \hangindent30mm{\normalsize \inhibitglue(正会員)}\else% +%\if #1s\relax +% \hangindent30mm{\normalsize \inhibitglue(学生会員)}\else% +%\if #1j\relax +% \hangindent30mm{\normalsize \inhibitglue(ジュニア会員)}\else% +%\if #1F\relax +% \hangindent30mm{\normalsize \inhibitglue(正会員,フェロー)}\else% +%\if #1h\relax +% \hangindent30mm{\normalsize \inhibitglue(名誉会員,フェロー)}\else% +%\if #1n\relax +% \relax +% \else +% \relax +%\fi\fi\fi\fi\fi\fi +%%%%%%%%%% +\\[.5\Cvs] +%============== <<<<<<<<<<<<<<<<< v2.0 +\baselineskip=21\h{\fontsize{13\JQ}{21\h}\selectfont #3% +\csname @title@member\endcsname}% +%============== +\end{minipage}}% +\end{minipage}% +\global\let\@BreakMember\relax +} +\fi + + + + + +%================================================================== +%================================================================== + + + +%%% profile*{m}{name}{xxx} +\ifDS@english +\def\fmt@pro@nopicnoframe#1#2{% +\noindent +\begin{minipage}[t]{\columnwidth}% +\pushtowall{\begin{minipage}[t]{\columnwidth}% +%\hangindent30mm\hangafter-7\relax +\mbox{\fontsize{13\JQ}{18\h}\selectfont\bfseries #1}\hskip.5em%% +%% +%\quad%%% +%\@BreakMember%% +%%%%%%%%%%%%%% +%\if #1m\relax +%{\normalsize (Member)}\else% +%\if #1s\relax +%{\normalsize (Student Member)}\else% +%\if #1j\relax +%{\normalsize (Member, Fellow)}\else% +%\if #1h\relax +%{\normalsize (Honorary Member, Fellow)}\else% +%\if #1n\relax +% \relax +% \else +% \relax +%\fi\fi\fi\fi\fi +%%%%%%%%%% +%\\[.5\Cvs] +%============== +\baselineskip=18\h% +{\fontsize{13\Q}{18\h}\selectfont% +#2} +%============== +\end{minipage}}% +\end{minipage}% +\global\let\@BreakMember\relax +} +%=============================================================== +\else +%=============================================================== +\def\fmt@pro@nopicnoframe#1#2#3{% +\begin{minipage}[t]{\columnwidth}% +\noindent +\pushtowall{\begin{minipage}[t]{\columnwidth}% +%%\hangindent30mm\hangafter-7\relax +\mbox{\fontsize{15\JQ}{0\h}\selectfont\bfseries #2}%% +%% +\hskip1.6zw%%% +\@BreakMember%% +%%%%%%%%%%%%%% <<<<<<<<<<<<<<<<< v2.0 +\@for\@temp:=#1\do{% koko + \@ifundefined{\@temp @member}{\relax}% + {\edef\@@member{(\csname \@temp @member\endcsname)}% + }% + \@ifundefined{\@temp @title@member}{\relax}% + {\edef\@title@member{\csname \@temp @title@member\endcsname.}% + }% +}% +%\hangindent30mm +{\normalsize \inhibitglue\csname @@member\endcsname}% +% +%\if #1m\relax +% \hangindent30mm{\normalsize \inhibitglue(正会員)}\else% +%\if #1s\relax +% \hangindent30mm{\normalsize \inhibitglue(学生会員)}\else% +%\if #1j\relax +% \hangindent30mm{\normalsize \inhibitglue(ジュニア会員)}\else% +%\if #1F\relax +% \hangindent30mm{\normalsize \inhibitglue(正会員,フェロー)}\else% +%\if #1h\relax +% \hangindent30mm{\normalsize \inhibitglue(名誉会員,フェロー)}\else% +%\if #1n\relax +% \relax +% \else +% \relax +%\fi\fi\fi\fi\fi\fi +%%%%%%%%%% +\\[.5\Cvs] +%============== <<<<<<<<<<<<<<<<< v2.0 +\baselineskip=21\h{\fontsize{13\JQ}{21\h}\selectfont #3% +\csname @title@member\endcsname}% +%============== +\end{minipage}}% +\end{minipage}% +\global\let\@BreakMember\relax +} +\fi + + + + +%================================================================================================== + +%\setlength\footnotesep{6.65\p@} +\setlength{\skip\footins}{9\p@ \@plus 4\p@ \@minus 2\p@} + + + + +%\renewcommand{\footnoterule}{% +% \kern-3\p@ +% \hrule width \columnwidth +% \kern 2.6\p@} + +\ifDS@english +\setlength\footnotesep{6.65\p@}%%!! +% +\renewcommand{\footnoterule}{% + \kern-3\p@ + \hrule width \columnwidth + \kern 2.6\p@} +\else +\setlength\footnotesep{10\h}%!! +% +\renewcommand{\footnoterule}{% + \kern-4\p@ + \hrule width \columnwidth + \kern 1.6\p@} +\fi + + + +\let\footnotes@ve=\footnote +\ifDS@english +\def\footnote{\footnotes@ve} +\else +\def\footnote{\inhibitglue\footnotes@ve} +\fi + +\let\footnotemarks@ve=\footnotemark +\ifDS@english +\def\footnotemark{\footnotemarks@ve} +\else +\def\footnotemark{\inhibitglue\footnotemarks@ve} +\fi + + +\def\thefootnote{\ifnum\c@footnote>\z@\leavevmode\lower.5ex\hbox{*}\@arabic\c@footnote\fi} + + + + + + +\long\def\@footnotetext#1{\insert\footins{% + \reset@font\footnotesize + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep + \splitmaxdepth \dp\strutbox \floatingpenalty \@MM + \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark + }% + \color@begingroup + \@makefntext{% + \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% + \color@endgroup}}% + + + + +\def\footfont{% +\ifDS@english + \fontsize{11\Q}{13\h}\normalfont\selectfont% +\else + \fontsize{11\JQ}{14\h}\normalfont\selectfont% +\fi +} + + +%%%<<<< 1.02 +\long\def\@makefntext#1{\footfont% +\ifDS@english +\setbox\z@=\hbox{\makebox[1.61\Cwd][l]{\@makefnmark}}% +\else +\setbox\z@=\hbox{\makebox[1.58\Cwd][l]{\@makefnmark}}% +\fi +\def\par{{\@@par}} +\@tempdima\columnwidth +\advance\@tempdima-\wd\z@ +\parshape 1 \wd\z@ \@tempdima +\parindent=1\zw +\noindent +\llap{\unhbox\z@}#1} + + + + +%================================================================================================== + +%================================================================================================== + + + + +%% from fleqn.clo +%%\ProvidesFile{fleqn.clo} +%% [1998/08/17 v1.1c Standard LaTeX option +%% (flush left equations)] +\newdimen\mathindent +\AtEndOfClass{\mathindent1\zw}% \leftmargini +\renewcommand\[{\relax + \ifmmode\@badmath + \else + \parsep 4\p@ \@plus2\p@ \@minus\p@ + \topsep 8\p@ \@plus2\p@ \@minus4\p@ + \itemsep 4\p@ \@plus2\p@ \@minus\p@ + \begin{trivlist}% + \@beginparpenalty\predisplaypenalty + \@endparpenalty\postdisplaypenalty + \item[]\leavevmode + \hb@xt@\linewidth\bgroup $\m@th\displaystyle %$ + \hskip\mathindent\bgroup + \fi} +\renewcommand\]{\relax + \ifmmode + \egroup $\hfil% $ + \egroup + \end{trivlist}% + \else \@badmath + \fi} +\renewenvironment{equation}% + {\@beginparpenalty\predisplaypenalty + \@endparpenalty\postdisplaypenalty + \refstepcounter{equation}% + \parsep 4\p@ \@plus2\p@ \@minus\p@ + \topsep 8\p@ \@plus2\p@ \@minus4\p@ + \itemsep 4\p@ \@plus2\p@ \@minus\p@ + \trivlist \item[]\leavevmode + \hb@xt@\linewidth\bgroup $\m@th% $ + \displaystyle + \hskip\mathindent}% + {$\hfil % $ + \displaywidth\linewidth\hbox{\@eqnnum}% + \egroup + \endtrivlist} +\renewenvironment{eqnarray}{% + \stepcounter{equation}% + \parsep 4\p@ \@plus2\p@ \@minus\p@ + \topsep 8\p@ \@plus2\p@ \@minus4\p@ + \itemsep 4\p@ \@plus2\p@ \@minus\p@ + \def\@currentlabel{\p@equation\theequation}% + \global\@eqnswtrue\m@th + \global\@eqcnt\z@ + \tabskip\mathindent + \let\\=\@eqncr + \setlength\abovedisplayskip{\topsep}% + \ifvmode + \addtolength\abovedisplayskip{\partopsep}% + \fi + \addtolength\abovedisplayskip{\parskip}% + \setlength\belowdisplayskip{\abovedisplayskip}% + \setlength\belowdisplayshortskip{\abovedisplayskip}% + \setlength\abovedisplayshortskip{\abovedisplayskip}% + $$\everycr{}\halign to\linewidth% $$ + \bgroup + \hskip\@centering + $\displaystyle\tabskip\z@skip{##}$\@eqnsel&% + \global\@eqcnt\@ne \hskip.8\arraycolsep \hfil${##}$\hfil&% + \global\@eqcnt\tw@ \hskip.8\arraycolsep + $\displaystyle{##}$\hfil \tabskip\@centering&% + \global\@eqcnt\thr@@ + \hb@xt@\z@\bgroup\hss##\egroup\tabskip\z@skip\cr}% + {\@@eqncr + \egroup + \global\advance\c@equation\m@ne$$% $$ + \@ignoretrue + } +%%\endinput +%% +%% End of file `fleqn.clo'. + +\def\@eqnnum{{\normalfont \normalcolor (\theequation)\hspace*{3mm}}} + + +%============================================================================= + + +%% Editor + +\def\Ediname{\csname Ediname@\@type\endcsname} + + +\def\Ediname@DAM{\ifDS@english% +{Editor in Charge:} +\else {担当編集委員} +\fi}%% + +\def\Ediname@TBIO{Communicated by} +\def\Ediname@CVA{Communicated by} + + +\def\Ediname@SLDM{\ifDS@invited +{Invited by Editor-in-Chief:}% +\else% +{Recommended by Associate Editor:}% +\fi} + + +\let\Ediname@TOD\Ediname@DAM +\let\Ediname@Data\Ediname@TBIO +\let\Ediname@Survey\Ediname@TBIO +\let\Ediname@Research\Ediname@CVA +\let\Ediname@Short\Ediname@SLDM + + + +\def\Edifont{\normalfont\normalsize} + + + +%%%% <<<<<<<<<< 4.0 +\def\Editor#1{% +\vspace{-.5\baselineskip}% +\ifDS@english +%%% v4.0 +\ifDS@JIP\else +%%% + \ifx\Ediname\relax% + \noindent + \hfill ({\Edifont{\Ediname@DEF}}%%) + \else + \noindent + \hfill ({\Edifont{\Ediname}}%%) + \fi +\fi +%% +\else +\noindent +\hfill \<({\Edifont{\Ediname}}%%) +\fi +%% +\ifDS@english +%%% v1.8 + \ifDS@JIP\else +%%% + \hskip.5em% + \textit{#1})% + \fi +\else + \hskip1\zw% + #1) +\fi +} + + + + + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + +%============================================================================= + + + +\newcommand\appendixname{% +\ifDS@english Appendix\else \protect\kintou{5zw}{付録}\fi} + + + + +\newcommand\appendix{\par +%\def\@seccntformat##1{a\thesection.\the\c@subsection\ }% ver2.3 +\ifDS@english +\def\@seccntformatAPP##1{\csname the##1\endcsname\hskip1em} +\else +\def\@seccntformatAPP##1{\csname the##1\endcsname\hskip1zw} +\fi +\vspace*{\Cvs}% +\renewcommand{\section}{\@startsectionAPP{section}{1}{\z@}% +{.00001\Cvs}% \@plus.3\Cdp \@minus.2\Cdp}% \@plus1.3\Cdp\@minus10.5\Cdp}% +{.00001\Cvs}% \@plus.3\Cdp \@minus.2\Cdp}% +{\reset@font +\fontsize{16\JQ}{21\h}\selectfont% +\bfseries\mathversion{bold}% +}}% +%----------- +\section*{\appendixname} + \setcounter{section}{0}% + \setcounter{subsection}{0}% + \setcounter{equation}{0}% + \setcounter{figure}{0}% + \setcounter{table}{0}% +%\renewcommand\thesection{\@Alph\c@section} +%\renewcommand\thesubsection {\thesection.\@arabic\c@subsection} +% +\renewcommand\thesection{A.\@arabic\c@section} +\renewcommand\thesubsection{\thesection.\@arabic\c@subsection} +% +%\renewcommand\theequation {A.\@arabic\c@equation} +\renewcommand\theequation {A.\@arabic\c@equation} +% +\renewcommand \thefigure {{A$\cdot$\@arabic\c@figure}} +\renewcommand\thetable{{A$\cdot$\@arabic\c@table}} +\def\fps@figure{tbp} +\def\ftype@figure{1} +\def\ext@figure{lof} +%%%<<<< 3.03 +\def\fnum@figure{\mbox{\figurename~\thefigure}} +\def\fnum@table{\mbox{\tablename~\thetable}} +%\@addtoreset{equation}{section} +%\@addtoreset{figure}{section} +%\@addtoreset{table}{section} +} + + + + +%============================================================================= + + +\ifDS@english +\edef\zw{em}\else +\edef\zw{zw}\fi + +\let\Cite\cite + + + +\if@twocolumn + \setlength\leftmargini {2\Cwd}% +\else + \setlength\leftmargini {2\Cwd}% +\fi + + +\if@twocolumn + \setlength\marginparsep{5mm} +\else + \setlength\marginparsep{5mm} +\fi + + +\if@twocolumn + \twocolumn + \sloppy +\else + \onecolumn +\fi + +\if@twoside + \@mparswitchtrue +\else + \@mparswitchfalse +\fi + +%\sloppy +\flushbottom +%\raggedbottom +\sloppy + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\setlength{\paperheight}{297mm} +\setlength{\paperwidth}{210mm} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + \ifDS@english +%%\AtBeginDocument{\RequirePackage{txfonts}} +\textwidth 177mm + \@settopoint\textwidth + \textheight 55\Cvs +% \textheight 250.75mm +% \textheight 55\baselineskip + \advance \textheight \topskip + \advance \textheight .4mm %% limit .31mm + \@settopoint\textheight + \setlength\marginparsep{5mm} +\else +\textwidth 177mm + \@settopoint\textwidth + \textheight 47\Cvs + \advance \textheight \topskip + \advance \textheight .4mm %% limit .31mm + \@settopoint\textheight + \setlength\marginparsep{5mm} +\fi +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%% +\@tempdima\paperwidth +\advance\@tempdima-\textwidth +\@tempdima.5\@tempdima +\advance\@tempdima-1in +\oddsidemargin\@tempdima +\evensidemargin\@tempdima +\setlength{\topmargin}{-17mm}% + + + +% +\columnsep 8mm + +%% \doublerulesep is 1pt (H.N.) +\arraycolsep5pt +\tabcolsep6pt +\arrayrulewidth.4pt +\doublerulesep1pt +\tabbingsep.5\Cwd + +\skip\@mpfootins\skip\footins +\fboxsep3pt \fboxrule.4pt + + +%% SKIP +\def\onelineskip{\par\vspace{1\baselineskip}\par} +\def\halflineskip{\par\vspace{.5\baselineskip}\par} + + + +%% kintou +\def\kintou#1#2{\ifDS@english +\relax\else +\@ifundefined{jintercharskip}% + {\leavevmode\hbox to #1{% + \kanjiskip\z@ \@plus 1fill \@minus 1fill\xkanjiskip\kanjiskip #2}}% + {\leavevmode\hbox to #1{\kanjiskip\z@ \@plus 1fill \@minus 1fill + \jasciikanjiskip\kanjiskip #2}}% +\fi +} + + +%% runy +\def\ruby#1#2{\leavevmode \setbox0=\hbox{#1}\setbox1=\hbox{\tiny #2}%% < + \ifdim\wd0>\wd1 \dimen0=\wd0 \else \dimen0=\wd1 \fi + \hbox{\kanjiskip=\fill + \vbox{\hbox to \dimen0{\tiny \hfil#2\hfil}% + \nointerlineskip \hbox to \dimen0{\hfil#1\hfil}}}} + +%% Proof end +\def\QED{{\unskip\nobreak\hfil\penalty50 + \hskip1\zw\hbox{}\nobreak\hfil \hbox{$\Box$\hskip1\zw} + \parfillskip\z@ \finalhyphendemerits\z@\par}} + + +%% +\def\Hline{\noalign{\hrule height 0.4mm}} + + + +\def\thepage{\the\c@page} + + +\hbadness4000 +\vbadness10001 +\tolerance4000\pretolerance\m@ne +\clubpenalty\z@ +\widowpenalty\z@ +\displaywidowpenalty\z@ +\interdisplaylinepenalty\z@ %% 100 +\predisplaypenalty\z@ %% 1000 + + +\pagestyle{headings} + + + + + +%================================================================================================== +%================================================================================================== + + +\def\long@fig{\ifDS@english {Figure~\nobreak}\else {\figurename~\nobreak}\fi} +\def\short@fig{\ifDS@english {Fig.\,\nobreak}\else {\figurename~\nobreak}\fi} +\def\long@figs{\ifDS@english {Figures~\nobreak}\else {\figurename~\nobreak}\fi} +\def\short@figs{\ifDS@english {Figs.\,\nobreak}\else {\figurename~\nobreak}\fi} + +\def\long@tab{\ifDS@english {Table~}\else {\tablename~\nobreak}\fi} +\def\short@tab{\ifDS@english {Table~}\else {\tablename~\nobreak}\fi} +\def\long@tabs{\ifDS@english {Tables~}\else {\tablename~\nobreak}\fi} +\def\short@tabs{\ifDS@english {Tables~}\else {\tablename~\nobreak}\fi} + + + +\def\Figref{\bgroup\let\prefix@figtabref\long@fig + \@ifstar\figtabref@star\figtabref@} +\def\figref{\bgroup\let\prefix@figtabref\short@fig + \@ifstar\figtabref@star\figtabref@} +\def\Figsref{\bgroup\let\prefix@figtabref\long@figs + \@ifstar\figtabref@star\figtabref@} +\def\figsref{\bgroup\let\prefix@figtabref\short@figs + \@ifstar\figtabref@star\figtabref@} + +\def\Tabref{\bgroup\let\prefix@figtabref\long@tab + \@ifstar\figtabref@star\figtabref@} +\def\tabref{\bgroup\let\prefix@figtabref\short@tab + \@ifstar\figtabref@star\figtabref@} +\def\Tabsref{\bgroup\let\prefix@figtabref\long@tabs + \@ifstar\figtabref@star\figtabref@} +\def\tabsref{\bgroup\let\prefix@figtabref\short@tabs + \@ifstar\figtabref@star\figtabref@} + + + +\def\figtabref@star#1{\prefix@figtabref\ref{#1}\egroup} + +\def\figtabref@#1{% + \let\bf@or@normal\normalfont + \@ifundefined{used@#1}{\expandafter\gdef\csname used@#1\endcsname{used}% + \let\bf@or@normal\bfseries}{\relax}% + \bf@or@normal\prefix@figtabref\ref{#1}\egroup} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\def\urlj{% +\@ifnextchar[%% ] +{\n@urlj} +{\@urlj} +} + +\def\n@urlj[#1]#2{% +\normalfont +\if #11\relax +入手先\\ \else% +\fi +\normalfont $\langle$\nobreak{#2}\nobreak$\rangle$} + +\def\@urlj#1{% +\normalfont 入手先$\langle$\nobreak{#1}\nobreak$\rangle$} + + +\def\urle{% +\@ifnextchar[%% ] +{\n@urle} +{\@urle} +} + + +\def\n@urle[#1]#2{% +\normalfont +\if #11\relax +available \\ from \else% +\if #12\relax +available from \\ \else +\fi\fi +$\langle$\nobreak{#2}\nobreak$\rangle$} + + +\def\@urle#1{% +\normalfont available from $\langle$\nobreak{#1}\nobreak$\rangle$} + + + + +\def\refdatej#1{\normalfont (参照{#1})\<} +\def\refdatee#1{\normalfont (accessed {#1})} + +\def\doi#1{\normalfont DOI: #1} + + + + + +\newenvironment{recommendation}{% +\normalsize% +\par\vskip\baselineskip% +\ifDS@english + \noindent{\bfseries{Editor's Recommendation}}\par +\else + \noindent{\bfseries{推薦文}}\par% +\fi +}{\par}%\vskip\baselineskip + + + + + +\def\acknowledgment{\par +\ifDS@english + {\bfseries{Acknowledgments}}% +\hskip1em\ignorespaces% +\else + {\bfseries{謝辞}}% +\hskip1\zw\ignorespaces% +\fi} + + + +%==================================== +% Dannuki-sita +%==================================== + +\newbox\@dummyfigbox + +\def\twocolcaption{\refstepcounter\@captype \@dblarg{\@twocolcaption\@captype}} + + + +\long\def\@twocolcaption#1[#2]#3{\par + \begingroup + \@parboxrestore + \if@minipage + \@setminipage + \fi +\footnotesize%% + \@maketwocolcaption{% +{\bfseries{\csname fnum@#1\endcsname}}}{\ignorespaces #3}\par + \endgroup} + + +\newdimen\twocolcapwidth +\twocolcapwidth=.66\textwidth%130mm +\newdimen\twocolecapwidth +\twocolecapwidth=.66\textwidth%130mm + + + + + + + + +\ifDS@english +\long\def\@maketwocolcaption#1#2{% + \vskip\abovecaptionskip + \setbox\@tempboxa\hbox{#1\hskip1\zw\shortstack[l]{#2}}% + \@tempdima\ht\@tempboxa \advance \@tempdima \dp\@tempboxa + \setbox\@tempboxb\hbox{#1\hskip1\zw}%% << + \ifdim \@tempdima > \baselineskip + \ifdim \wd\@tempboxa > \twocolcapwidth + \hbox to\textwidth{\hfil\parbox[t]{\twocolcapwidth}{\hangindent\wd\@tempboxb + #1\hskip1\zw #2}\hfil}% +\par\prevdepth=0pt% +\vskip4\@Q + \else +\hbox to\textwidth{\hss\parbox[t]{\wd\@tempboxa}{\hangindent\wd\@tempboxb + #1\hskip1\zw #2}\hss}% +\par\prevdepth=0pt% +\vskip4\@Q + \fi + \else %% < + \ifdim \wd\@tempboxa > \twocolcapwidth + \hbox to\textwidth{\hfil\begin{tabular}{p{\twocolcapwidth}}\hangindent\wd\@tempboxb + #1\hskip1\zw #2\end{tabular}\hfil}% +\par\prevdepth=0pt% +\vskip2.5\@Q +%\vskip12\@Q + \else + \setbox\@tempboxb\hbox{#2}% + \hbox to\textwidth{\hfil\hbox to\twocolcapwidth +{\hss\box\@tempboxa\hss}\hfil}% +\vskip\belowcaptionskip + \fi + \fi +} +%%%%% +\else +%%%%% +\long\def\@maketwocolcaption#1#2{% + \vskip\abovecaptionskip + \setbox\@tempboxa\hbox{#1\hskip1\zw\shortstack[l]{#2}}% + \@tempdima\ht\@tempboxa \advance \@tempdima \dp\@tempboxa + \setbox\@tempboxb\hbox{#1\hskip1\zw}%% << + \ifdim \@tempdima > \baselineskip + \ifdim \wd\@tempboxa > \twocolcapwidth + \hbox to\textwidth{\hfil\parbox[t]{\twocolcapwidth}{\hangindent\wd\@tempboxb + #1\hskip1\zw #2}\hfil}\vskip2\@Q + \else +\hbox to\textwidth{\hss\parbox[t]{\wd\@tempboxa}{\hangindent\wd\@tempboxb + #1\hskip1\zw #2}\hss} +\vskip2\@Q + \fi + \else %% < + \ifdim \wd\@tempboxa > \twocolcapwidth + \hbox to\textwidth{\hfil\begin{tabular}{p{\twocolcapwidth}}\hangindent\wd\@tempboxb + #1\hskip1\zw #2\end{tabular}\hfil}\vskip2\@Q + \else + \setbox\@tempboxb\hbox{#2}% +% \ifdim \wd\@tempboxb < 4.5\Cwd %% > +% \hbox to\textwidth{\hss #1\hskip1\zw\kintou{5\Cwd}{#2}\hss}% +% \else + \hbox to\textwidth{\hfil\hbox to\twocolcapwidth +{\hss\box\@tempboxa\hss}\hfil}% +% \fi + \fi + \fi +} +\fi + + +\def\TABLE{table}%%!! + + + + +\long\def\twocolecaption#1{\footnotesize% + \setbox\@tempboxa% +\hbox{{\bfseries% +\csname fnum@e\@captype\endcsname}\hskip1\zw + \shortstack[l]{#1}}% + \@tempdima\ht\@tempboxa \advance \@tempdima \dp\@tempboxa + \setbox\@tempboxb\hbox{{\bfseries% +\csname fnum@e\@captype\endcsname}\hskip1\zw}%% << + \ifdim \@tempdima > \baselineskip + \ifdim \wd\@tempboxa > \twocolecapwidth +\hbox to\textwidth{\hss\parbox[t]{\twocolecapwidth}{\hangindent\wd\@tempboxb + {\bfseries% +\csname fnum@e\@captype\endcsname}\hskip1\zw #1}\hss}\par\prevdepth=0pt% + \else + \hbox to\textwidth{\hss\parbox[t]{\wd\@tempboxa}{\hangindent\wd\@tempboxb + {\bfseries% +\csname fnum@e\@captype\endcsname}\hskip1\zw #1}\hss}\par\prevdepth=0pt%% +\vskip5.9\h% + \fi + \else %% < + \ifdim \wd\@tempboxa > \twocolecapwidth +\hbox to\textwidth{\hfil\begin{tabular}{p{\twocolecapwidth}}\hangindent\wd\@tempboxb + {\bfseries% +\csname fnum@e\@captype\endcsname}\hskip1\zw #1\end{tabular}\hfil} +\par\prevdepth=0pt% +\vskip3\h% + \else + \hbox to\textwidth{\hfil\hbox to\twocolcapwidth% +{\hss\box\@tempboxa\hss}\hfil}% +\vspace{\belowcaptionskip}\par + \fi + \fi +\ifx \@captype\TABLE +\vspace{1mm}% +\else +\fi +} + + + + + + + + +\def\twocolfig#1{% +\hbox to \columnwidth{% +\hbox to \textwidth{\hss +#1 +\hss}\hss}} + + + +\def\dummyfigure#1{% + \begin{figure}[b] + \vspace{#1} + \vskip\abovecaptionskip + \phantom{\box\@dummyfigbox}\par + \end{figure} +} + +\def\dummyfiguret#1{% + \begin{figure}[t] + \vspace{#1} + \vskip\abovecaptionskip + \phantom{\box\@dummyfigbox}\par + \end{figure} +} + +%==================================== + + + + + +% +\long\def\contact#1{} + +% +\def\MARU#1{\raisebox{0.1zh}{{\rm +\ooalign{\hfil +\lower.168ex\hbox{\ifnum#1<10\relax {#1}\else \scalebox{.5}[1]{#1}\fi}% +\hfil\crcr +\mathhexbox20D}}}} + +% +\ifDS@english +\def\ddash{\leavevmode \raise.1mm\hbox to 1.95em{\hfil ---\hss ---\hfil}} +\else +\def\ddash{\leavevmode \raise.1zh\hbox to 2zw{---\hss ---}} +\fi + +\let\doubledash\ddash + + +%% for ams +\AtBeginDocument{% +\newcommand{\ipeqref}[1]{\textup{\iptagform@{\ref{#1}}}}%% v1.5 +\mathindent1em% +\def\tagform@#1{\maketag@@@{(\ignorespaces#1\unskip\@@italiccorr)\hskip1\zw}}% +\def\iptagform@#1{\maketag@@@{(\ignorespaces#1\unskip\@@italiccorr)}}%% v1.5 +\let\eqref\ipeqref%% v1.5 +} + + + +%% sort cite +\def\@cite@itemsep{,\penalty\@m\ } +\def\@cite@firstdelim{} +\def\@cite@lastdelim{} + +\def\@cite#1#2{% + \ifvmode\leavevmode\fi\nobreak + \if@tempswa\@cite@without@comment{#1}{#2}% + \else \@cite@with@comment{#1}% + \fi} + +\def\@cite@without@comment#1#2{% + \@cite@firstdelim{#1, #2}\@cite@lastdelim}% + +\def\@cite@with@comment#1{% + \@cite@firstdelim{#1}\@cite@lastdelim +} + +\def\@citex[#1]#2{% + \let\@cite@reference@list\@empty + \let\@cite@undefined@reference\@empty + \@for\@tempa:=#2\do{% + \edef\@tempa{\expandafter\@firstofone\@tempa\@empty}% + \if@filesw + \immediate\write\@auxout{\string\citation{\@tempa}}% + \fi + \@ifundefined{b@\@tempa}% + {\G@refundefinedtrue + \@latex@warning{Citation `\@tempa' on page + \thepage \space undefined}% + \def\@cite@undefined@reference{% + \@cite@put@itemsep + \mbox{\reset@font\bfseries ?}}}% + {\edef\@tempb{{\@nameuse{b@\@tempa}}}% + \expandafter\@append@list\expandafter + \@cite@reference@list\@tempb}}% + \@simplify@list\@cite@reference@list + \@ascending@sort@list\@cite@reference@list\@compare@num + \@cite{{\let\@elt\@cite@output@elt + \def\@cite@put@itemsep{% + \def\@cite@put@itemsep{\@cite@itemsep}}% + \@cite@reference@list + \@cite@undefined@reference}}% + {#1}}% + + +\def\@cite@output@elt#1{% + \@cite@put@itemsep + \bgroup[#1]\egroup +} + +%%%%%%%%%%%%%%% +\def\@append@list#1#2{% + \@addto@macro#1{\@elt{#2}}}% + +\def\@addto@macro#1#2{% + \expandafter\def\expandafter#1\expandafter{#1#2}} + +\def\@simplify@list#1{% + \begingroup + \let\@templist\@empty + \loop\ifx#1\@empty\else + \@pop@list\@firstterm#1% + \expandafter\@append@list\expandafter\@templist + \expandafter{\@firstterm}% + \expandafter\@remove@from@list\expandafter#1% + \expandafter{\@firstterm}% + \repeat + \expandafter\endgroup\expandafter + \def\expandafter#1\expandafter{\@templist}} + +\def\@remove@from@list#1#2{% + \begingroup + \let\@templist\@empty + \def\@to@be@removed{#2}% + \let\@elt\@remove@from@list@elt + #1% + \expandafter\endgroup\expandafter + \def\expandafter#1\expandafter{\@templist}} + +\def\@remove@from@list@elt#1{% + \def\@tempa{#1}% + \ifx\@tempa\@to@be@removed\else + \@append@list\@templist{#1}% + \fi}% + +\def\@pop@list#1#2{% + \ifx#2\@empty\let#1\@empty + \else \expandafter\@pop@list@#2\@nil#1#2% + \fi +} + +\def\@pop@list@\@elt#1#2\@nil#3#4{% + \def#3{#1}\def#4{#2}} + + +\newcount\@compare@result + +\def\@compare@num#1#2{% + \@compare@result#1\relax + \advance\@compare@result-#2\relax +} + +\def\@ascending@sort@list{\@sort@list<} +\def\@descending@sort@list{\@sort@list>} + +\def\@sort@list#1#2#3{% + \begingroup + \let\@sort@templista\@empty + \def\@elt##1{% + \@addto@sorted@list#1\@sort@templista{#3}{##1}}% + #2% + \expandafter\endgroup\expandafter + \def\expandafter#2\expandafter{\@sort@templista}} + + +\newif\if@ignore@same@item + +\def\@addto@sorted@list#1#2#3#4{% + \begingroup + \let\@sort@templistb\@empty + \def\@tempz{\@elt{#4}}% + \def\@elt##1{% + #3{##1}{#4}% + \def\@tempa{\@elt{##1}}% + \let\@tempb\@empty + \ifnum\z@#1\@compare@result + \@csc@t\@tempa\@tempz\@tempa + \def\@tempb{\@addto@sorted@list@skip}% + \else + \ifnum\z@=\@compare@result + \if@ignore@same@item + \def\@tempb{\@addto@sorted@list@skip}% + \fi + \fi + \fi + \@csc@t\@sort@templistb\@sort@templistb\@tempa + \@tempb}% + #2\@addto@sorted@list@{\@elt{#4}}% + \expandafter\endgroup\expandafter + \def\expandafter#2\expandafter{\@sort@templistb}}% + +\def\@addto@sorted@list@skip#1\@addto@sorted@list@#2{% + \@addto@sorted@list@{#1}} + +\def\@addto@sorted@list@#1{% + \@addto@macro\@sort@templistb{#1}} + +\def\@csc@t#1#2#3{% + \expandafter\expandafter\expandafter\def + \expandafter\expandafter\expandafter#1% + \expandafter\expandafter\expandafter{% + \expandafter#2#3}} + + + + +%%% kinsoku %%% + +\ifDS@english +\else +\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 + + +%% v1.5 +%\def\:{\makebox[1zw][l]{:}} +\ifDS@english +\else +\prebreakpenalty34=1000%%% '' penalty +\postbreakpenalty92=1000%%% `` penalty +\def\:{\nobreak\protect\makebox[1\zw][l]{:}\ignorespaces} +\fi + + +%\ifDS@draft\def\next{\input{ipsjdraft.sty}\endinput}\else\let\next\relax\fi +%\next + +\ifDS@preface\def\next{\input{ipsjpref.sty}\endinput}\else\let\next\relax\fi +\next + + +\ifDS@OT\def\next{\input{ipsjot.sty}\endinput}\else\let\next\relax\fi +\next + +%% v1.02c +\ifDS@techrep\def\next{\input{ipsjtech.sty}\endinput}\else\let\next\relax\fi +\next + + +%% not use submit +\def\zdash{{\usefont{OT1}{cmr}{bx}{n}\selectfont\leavevmode \raise.1zh\hbox {---}}} + +\def\ndash{{\usefont{OT1}{cmr}{bx}{n}\selectfont\leavevmode \raise.1zh\hbox {--}}} + + + + +%% pdflatex papersize v1.6 +\@ifundefined{pdfpagewidth} +{\relax}%{\special{papersize=\paperwidth,\paperheight}} +{\pdfpagewidth=\paperwidth +\pdfpageheight=\paperheight +} + + + +\endinput + + + + + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sigos.tex Tue May 07 22:11:05 2019 +0900 @@ -0,0 +1,1278 @@ + +\documentclass[submit]{ipsj} +%\documentclass{ipsj} + + +\usepackage[dvipdfmx]{graphicx} +\usepackage{ascmac} +\usepackage{graphicx} +\usepackage{latexsym} + + + + +\def\Underline{\setbox0\hbox\bgroup\let\\\endUnderline} +\def\endUnderline{\vphantom{y}\egroup\smash{\underline{\box0}}\\} +\def\|{\verb|} + +\setcounter{巻数}{59} +\setcounter{号数}{1} +\setcounter{page}{1} + + +\受付{2016}{3}{4} +\再受付{2015}{7}{16} %省略可能 +\再再受付{2015}{7}{20} %省略可能 +\再再受付{2015}{11}{20} %省略可能 +\採録{2016}{8}{1} + + + + +\begin{document} + + +\title{情報処理学会論文誌ジャーナル論文の準備方法\\ +(ipsj.cls version 2.01)} + +\etitle{How to Prepare Your Paper for IPSJ Journal \\ +(ipsj.cls version 2.01)} + +\affiliate{IPSJ}{情報処理学会\\ +IPSJ, Chiyoda, Tokyo 101--0062, Japan} + + +\paffiliate{JU}{情報処理大学\\ +Johoshori University} + +\author{情報 太郎}{Taro Joho}{IPSJ}[joho.taro@ipsj.or.jp] +\author{処理 花子}{Hanako Shori}{IPSJ} +\author{学会 次郎}{Jiro Gakkai}{IPSJ,JU}[gakkai.jiro@ipsj.or.jp] + +\begin{abstract} +本稿は,情報処理学会論文誌ジャーナルに投稿する原稿を執筆する際, +および論文採択後に最終原稿を準備する際の注意点等をまとめたものである. +大きく分けると, +論文投稿の流れと,\LaTeX と専用のスタイルファイルを用いた場合の論文フォーマットに関する指針, +および論文の内容に関してするべきこと, +するべきでないことをまとめたべからずチェックリストからなる. +本稿自体も \LaTeX と専用のスタイルファイルを用いて執筆されているため, +論文執筆の際に参考になれば幸いである. +\end{abstract} + + +\begin{jkeyword} +情報処理学会論文誌ジャーナル,\LaTeX,スタイルファイル,べからず集 +\end{jkeyword} + +\begin{eabstract} +This document is a guide to prepare a draft for submitting to IPSJ +Journal, and the final camera-ready manuscript of a paper to appear in +IPSJ Journal, using {\LaTeX} and special style files. Since this +document itself is produced with the style files, it will help you to +refer its source file which is distributed with the style files. +\end{eabstract} + +\begin{ekeyword} +IPSJ Journal, \LaTeX, style files, ``Dos and Don'ts'' list +\end{ekeyword} + +\maketitle + +%1 +\section{はじめに} + +コンピュータにおいてデータの破損や不整合は深刻な異常を引き起こす原因となる.そのため,破損、不整合を検知するためのブロックチェーン技術の実装を試みたい.ブロックチェーンは分散ネットワーク技術であり,データの破損や不整合をハッシュ値によって比較できる.そして,誤操作や改ざんが発生した場合でも,ブロックチェーンを用いてデータの追跡が行える.\\ +当研究室では独自の分散フレームワークとしてChristieを開発しており,これはGearsOSにファイルシステムとして組み込む予定がある。そのため,Christieにブロックチェーンを実装し,GearsOSに組み込むことにより,GearsOSのファイルシステムにおいてデータの破損,不整合を検知することができる.また,GearsOS同士による分散ファイルシステムを構成することができ,非中央的なデータの分散ができるようになる.もし分散システムを構成しない場合においてもデータの整合性保持は行え,上記の目的は達成することができる.\\ +本研究では,Christieにブロックチェーンを実装し,実際に学科のPC上の分散環境にて動かす. + + + +%\footnotetext{本文は実際には論文誌ジャーナル編集委員会で作成したものである.} + +%2 +\section{ブロックチェーンについて} +%2.1 +\subsection{P2P (Peer-to-Peer)} +ブロックチェーンはP2Pにてネットワーク間が動作している,つまり.ブロックチェーンネットワークにはサーバー,クライアントの区別がなく,全てのノードが平等である.そのため,非中央時にデータの管理をおこなう. + +\subsection{ブロックとその構造} +ブロックチェーンにおけるブロックは,複数のトランザクションをまとめたものである.ブロックの構造はしようするコンセンサスアルゴリズムによって変わるが,基本的な構造としては次のとおりである. +\begin{itemize} +\item BlockHeader +\begin{itemize} +\item previous block hash +\item merkle root hash +\item time +\end{itemize} +\item TransactionList +\end{itemize} + +BlockHeaderには,前のブロックをハッシュ化したもの,トランザクションをまとめたmerkle treeのrootのhash,そのブロックを生成したtimeとなっている.\\previous block hashは,前のブロックのパラメータを選べてhash化したものである.それが連なっていることで図2.1のようなhash chainとして,ブロックがつながっている. + + +\begin{figure}[h] +\begin{center} +\includegraphics[width=240pt]{./images/chain.pdf} +\caption{トランジスタにて作成したANDゲート} +\end{center} +\end{figure} + +そのため,一つのブロックが変更されれば,その後につながるブロック全てを更新しなければいけなくなる.\\ +ブロックが生成された場合,知っているノードにそのブロックをブロードキャストする.実際には通信量を抑えるためにブロック高を送った後、ブロックをシリアライズして送信する場合もある.\\ +ノードごとにブロックを検証し,誤りがあればそのブロックを破棄し,誤りがなければ更にそのノードがブロックをブロードキャストする.そして,Transaction PoolというTransactionを貯めておく場所から,そのブロックに含まれているTransactionを削除し,新しいブロックを生成する. + +%\begin{quote} +%\small +%\|http://www.ipsj.or.jp/journal/submit/style.html| +%\end{quote} + +\begin{Enumerate} +\item \|ipsj.cls |: 原稿用スタイルファイル +\item \|ipsjpref.sty |: 序文用スタイル +\item \|jsample.tex |: 本稿のソースファイル +\item \|esample.tex |: 英文サンプルのソースファイル +\item \|ipsjsort.bst |: jBibTEX スタイル(著者名順) +\item \|ipsjunsrt.bst |: jBibTEX スタイル(出現順) +\item \|bibsample.bib |: 文献リストのサンプル +\item \|ebibsample.bib|: 英文文献リストのサンプル +\item \makebox[9.47zw][l]{{\tt ipsjtech.sty}}: 研究報告用スタイル +\item \| tech-jsample.tex|: 研究報告(和文)のサンプル +\item \| tech-esample.tex|: 研究報告(英文)のサンプル +\end{Enumerate}% +実行環境としては\LaTeXe を前提としているので,準備されたい. + + +Microsoft Wordに関しては,投稿されたフォーマットを基に, +業者が \LaTeX に変換して組版を行うので, +あくまでも参考としてしか使わないことを承知して頂きたい. + + + +%2.2 +\subsection{最終原稿の作成と投稿} + +本稿に従って用意した原稿の \LaTeX ソースからpdfファイルを作成し, +Adobeのpdf readerで読めることを確認した後, +\begin{quote} +\small +\|https://mc.manuscriptcentral.com/ipsj| +\end{quote} +上記のURLから投稿する. +投稿の流れについては, +\begin{quote} +\small +\|http://www.ipsj.or.jp/journal/submit/manual/|\\ +\|j_manual.html| +\end{quote} +を参照されたい. + + + +なお,情報処理学会論文誌ジャーナルでは, +論文の著者が査読者の名前を知ることがないシングルブラインドの査読を取り入れている. + + + + +%2.3 +\subsection{最終原稿の作成とファイルの送付} + +投稿した論文の採録が決定したら, +査読者からのコメントなどにしたがって原稿を修正し, +図表などのレイアウトも最終的なものとする. +なお後の校正の手間を最小にするために, +この段階で記述の誤りなどを完全に除去するように綿密にチェックして頂きたい. + + + +学会へは{\bf \LaTeX ファイル(をまとめたもの)}を送信する. +送信するファイル群の標準的な構成は \|.tex| と \|.bbl| であり, +この他にPostScriptファイルや特別なスタイルファイルがあれば付加する. +なお \|.tex| は印刷業者が修正することがあるので, +{必ず一つのファイルにする}. +また必要なファイルが全てそろっていること, +特に特別なスタイルファイルに洩れがないことを,注意深く確認して頂きたい. + + +ファイルの送信方法などについては, +採録通知とともに学会事務局から送られる指示に従う. + + + + +%2.4 +\subsection{著者校正・組版・出版} + + +学会では用語や用字を一定の基準(常用漢字および +「現代仮名遣い」等)に従って修正することがある. +また \LaTeX の実行環境の差異などによって著者が作成した最終PDFと +実際の組版結果が微妙に異なることがある. +これらの修正や差異が問題ないかを最終的に確認するために, +著者にPDFファイルが送られるので, +もし問題があれば朱書によって指摘して送信する. +なお{\bf この段階での記述誤りの修正は原則として認められない}ので, +原稿送信時に細心の注意を払っていただきたい. + + +その後,著者の校正に基づき最終的な組版を行ない, +オンライン出版する. + + + + +%3 +\section{論文フォーマットの指針} +\label{sec:format} + +以下, +情報処理学会論文誌ジャーナル用スタイルファイルを用いた論文フォーマットの +指針について述べるので, +これに従って原稿を用意頂きたい.\LaTeX を用いた +一般的な文章作成技術については,\cite{okumura, companion} 等を参考にされたい. + + + +%4 +\section{論文の構成} +\label{config} + +ファイルは次のようになる. +下線部は投稿時に省略可能なもの. +また論文誌トランザクション特有コマンドについては \ref{sig}~節を参照されたい. + +\noindent +\|\documentclass[submit]{ipsj}|\\ +\quad 必要ならばオプションのスタイルを追加\\ +\Underline{\|\setcounter{|{\bf 巻数}\|}{<巻数>}|}\\ +\Underline{\|\setcounter{|{\bf 号数}\|}{<号数>}|}\\ +\Underline{\|\setcounter{|{\bf page}\|}{<先頭ページ>}|}\\ +\Underline{\|\|{\bf 受付}\|{<年>}{<月>}{<日>}|}\\ +\Underline{\|\|{\bf 採録}\|{<年>}{<月>}{<日>}|}\\ +\quad 必要ならばユーザのマクロをここに記述\\ +\|\begin{document}|\\ +\|\title{表題(和文)}|\\ +\|\etitle{表題(英文)}|\\ +\Underline{\|\affiliate{所属ラベル}{<和文所属>\\<英文所属>}|}\\ +\quad 必要ならば \|\paffiliate| により現在の所属を宣言する\\ +\Underline{\|\paffiliate{現所属ラベル}{<和現所属>\\<英現所属>}|}\\\\ +\Underline{\|\author{情報 太郎}{Taro Joho}|}\\ +\Underline{\| {<所属ラベル>}[E-mail]|}\\ +\Underline{\|\author{処理 花子}{Hanako Shori}|}\\ +\Underline{\| {<所属ラベル2,現所属ラベル3>}|}\\\\ +\|\begin{abstract}|\\ +\|<概要(和文)>|\\ +\|\end{abstract}|\\ +\|\begin{jkeyword}|\\ +\|<キーワード>|\\ +\|\end{jkeyword}|\\ +\|\begin{eabstract}|\\ +\|<概要(英文)>|\\ +\|\end{eabstract}| +\|\begin{ekeyword}|\\ +\|<KeyWords>|\\ +\|\end{ekeyword}|\\ +\|\maketitle|\\ +\|\section{|第1節の表題\|}|\\ +\dots\dots\dots\dots\dots\\ +\quad \|<本文>|\\ +\dots\dots\dots\dots\dots\\ +謝辞がある場合は\\ +\|\begin{acknowledgment}|\\ +\|\end{acknowledgment}|\\\\ +\|\begin{thebibliography}{99}%9 or 99|\\ +\|\bibitem{1}|\\ +\|\bibitem{2}|\\ +\|\end{thebibliography}|\\\\ +付録がある場合は\\ +\|\appendix|\\ +\|\section{|付録1節の表題\|}|\\\\ +\Underline{\|\begin{biography}|}\\ +\Underline{\|\profile{<X>}{<苗字 名前>}{<プロフィール文章>}|}\\ +\Underline{\|\end{biography}|}\\ +\|\end{document}| + + + +%4.1 +\subsection{オプション・スタイル} +\label{option} +\|\documentclass{ipsj}|のオプション\footnote{論文誌トランザクション用オプションは \ref{sig}~節で説明する.}として, +以下のものを用意してある. +{\bf 何も定義しなければ和文論文用の標準スタイル}となるが, +今回,組版の際に和文論文のタイトル, +和文論文種別に「{\bf 太ミン}」「{\bf 太ゴ}」のフォントを使用しているため, +\TeX 標準フォントに置き換える \|submit| というオプションを用意した. + +\begin{enumerate} +\item\|submit | フォント置換用 +\item\|invited | 招待論文 +\item\|sigrecommended | 推薦論文 +\item\|technote | テクニカルノート用 +\item\|preface | 序文用 +\item\|JIP | 英文用 +\end{enumerate} +これらのオプションは任意の組合せで使用が可能である. + + + +なお,\|\usepackage| で補助的なスタイルファイルを指定した場合には, +最終原稿用のファイル群に必ずスタイルファイルを含める. +ただし,\LaTeXe の標準配布に含まれているもの +(たとえば \|graphicx|)については同封の必要はない. + +スタイルファイルによっては論文誌スタイルと矛盾するようなものもあるので, +注意して使用して頂きたい. + + + +%4.1.1 +\subsubsection{研究報告専用オプション・スタイル} +\label{4-1-1} + +上記オプションとは別に,研究報告専用のオプションを用意した. +\begin{enumerate} +\item\|techrep | 研究報告(必須) +\item\|noauthor | 英文著者表記無しの指定(和文;任意) +\end{enumerate} + +和文の研究報告では, +和文キーワード, +英文著者名, +英文タイトル, +英文アブスト, +英文キーワードが任意入力となるため, +\|techrep|オプションを使用していれば, +任意項目が無くとも +コンパイルが止まることはない(\|tech-jsample.tex|参照). + +\|\documentclass[submit,techrep]{ipsj}|\\ +とすれば,研究報告のスタイルとなり, + +\|\documentclass[submit,techrep,noauthor]{ipsj}|\\ +とすれば, +英文著者名等が入らない研究報告のスタイルとなる. + + + +英文の研究報告では, +キーワードのみが任意入力となるため, +\|noauthor|は使用できないので注意する +(\|tech-esample.tex|参照). + + +%4.2 +\subsection{表題・著者名等} + +表題,著者名とその所属, +および概要を前述のコマンドや環境により{\bf 和文と英文の双方について}定義した後, +\|\maketitle| によって出力する. + + + +%4.2.1 +\subsubsection{表題} + +表題は,\|\title| および \|\etitle| で定義した表題はセンタリングされる. +文字数の多いものについては,適宜 \|\\| を挿入して改行する. + +%4.2.2 +\subsubsection{著者名・所属} + +各著者の所属を第一著者から順に \|\affiliate| を用いてラベル(第1引数)を付けながら定義すると, +脚注に番号を付けて所属が出力される. +なお,複数の著者が同じ所属である場合には,一度定義するだけで良い. + + + +現在の所属は \|\paffiliate| を用い,同様にラベル,所属先を記述する. +所属先には自動で「現在」, +\|\\|の改行で「Presently with」が挿入される. +著者名は \|\author| で定義する. +各著者名の直後に,英文著者名,所属ラベルとメールアドレスを記入する. +著者が複数の場合は \|\author| を繰り返すことで, +2人,3人,\dots と増えていく. +現在の所属や,複数の所属先を追加する場合には, +所属ラベルをカンマで区切り,追加すればよい. + + + +また, +メールアドレス部分は省略が可能だが,必ず代表者のアドレスは必要となる. +なお,和文著者名,英文著者名は,姓と名を半角(ASCII)の空白で区切る. + + + +%4.2.3 +\subsubsection{概要} + +和文の概要は \|abstract| 環境の中に, +英文の概要は \|eabstract| 環境の中に,それぞれ記述する. + +%4.2.4 +\subsubsection{キーワード} + +和文の概要は \|jkeyword| 環境の中に, +英文の概要は \|ekeyword| 環境の中に,それぞれ1〜5語記述する. + +%4.3 +\subsection{本文} + +%4.3.1 +\subsubsection{見出し} + +節や小節の見出しには \|\section|, \|\subsection|, \|\subsubsection|, +\|\paragraph| といったコマンドを使用する. + +\<「定義」,「定理」などについては,\|\newtheorem|で適宜環境を宣言し, +その環境を用いて記述する. + + +%4.3.2 +\subsubsection{行送り} + +2段組を採用しており, +左右の段で行の基準線の位置が一致することを原則としている. +また,節見出しなど,行の間隔を他よりたくさんとった方が読みやすい場所では, +この原則を守るようにスタイルファイルが自動的にスペースを挿入する. +したがって本文中では \|\vspace| や \|\vskip| を用いたスペースの調整を行なわないようにすること. + + + + +%4.3.3 +\subsubsection{フォントサイズ} + +フォントサイズは, +スタイルファイルによって自動的に設定されるため, +基本的には著者が自分でフォントサイズを変更する必要はない. + + + +%4.3.4 +\subsubsection{句読点} + +句点には全角の「.」,読点には全角の「,」を用いる. +ただし英文中や数式中で「.」や「,」を使う場合には, +半角文字を使う. +「。」や「、」は使わない. + +%4.3.5 +\subsubsection{全角文字と半角文字} + +全角文字と半角文字の両方にある文字は次のように使い分ける. + +\begin{enumerate} +\item 括弧は全角の「(」と「)」を用いる.但し,英文の概要,図表見出し, +書誌データでは半角の「(」と「)」を用いる. + +\item 英数字,空白,記号類は半角文字を用いる.ただし,句読点に関しては, +前項で述べたような例外がある. + +\item カタカナは全角文字を用いる. + +\item 引用符では開きと閉じを区別する. +開きには \|``| を用い,閉じには\|''| を用いる. +\end{enumerate} + + +%4.3.6 +\subsubsection{箇条書} + +箇条書に関する形式を特に定めていない. +場合に応じて標準的な \|enumerate|, +\|itemize|, \|description| の環境を用いてよい. + + + +%4.3.7 +\subsubsection{脚注} + +脚注は \|\footnote| コマンドを使って書くと, +ページ単位に\footnote{脚注の例.}や\footnote{二つめの脚注.}のような +参照記号とともに脚注が生成される. +なお,ページ内に複数の脚注がある場合, +参照記号は \LaTeX を2回実行しないと正しくならないことに注意されたい. + + + +また場合によっては, +脚注をつけた位置と脚注本体とを別の段に置く方がよいこともある. +この場合には, +\|\footnotemark| コマンドや \|\footnotetext| コマンドを使って対処していただきたい. + + +なお,脚注番号は論文内で通し番号で出力される. + + + + +%4.3.8 +\subsubsection{OverfullとUnderfull} + +組版時にはoverfullを起こさないことを原則としている. +従って,まず提出するソースが著者の環境でoverfullを起こさないように, +文章を工夫するなどの最善の努力を払っていただきたい. +但し,\|flushleft| 環境,\|\\|,\|\linebreak| などによる両端揃えをしない形でのoverfullの回避は, +できるだけ避けていただきたい. +また著者の執筆時点では発生しないoverfullが, +組版時の環境では発生することもある. +このような事態をできるだけ回避するために, +文中の長い数式や \|\verb| を避ける, +パラグラフの先頭付近では長い英単語を使用しない, +などの注意を払うようにして頂きたい. + + + +%4.4 +\subsection{数式}\label{sec:Item} + +%4.4.1 +\subsubsection{本文中の数式} + +本文中の数式は \|$| と \|$|, \|\(| と \|\)|, あるいは \|math| 環境のいずれで囲んでもよい. + + + +%4.4.2 +\subsubsection{別組の数式} + +別組数式(displayed math)については \|$$| と \|$$| は使用せずに, +\|\[| と \|\]| で囲むか, +\|displaymath|, \|equation|, \|eqnarray| のいずれかの環境を用いる.これらは +% +\begin{equation} +\Delta_l = \sum_{i=l|1}^L\delta_{pi} +\end{equation} +% +のように,センタリングではなく固定字下げで数式を出力し, +かつ背が高い数式による行送りの乱れを吸収する機能がある. + + + + +%4.4.3 +\subsubsection{eqnarray環境} + +互いに関連する別組の数式が2行以上連続して現れる場合には, +単に\|\[| と \|\]|, +あるいは \|\begin{equation}| と\|\end{equation}| で囲った数式を書き並べるのではなく, +\|\begin|\allowbreak\|{eqnarray}| と \|\end{eqnarray}| を使って, +等号(あるいは不等号)の位置で縦揃えを行なった方が読みやすい. + + + +%4.4.4 +\subsubsection{数式のフォント} + + +\LaTeX が標準的にサポートしているもの以外の特殊な数式用フォントは, +できるだけ使わないようにされたい. +どうしても使用しなければならない場合には, +その旨申し出て頂くとともに, +組版工程に深く関与して頂くこともあることに留意されたい. + + +\begin{figure}[tb] +\setbox0\vbox{ +\hbox{\|\begin{figure}[tb]|} +\hbox{\quad \|<|図本体の指定\|>|} +\hbox{\|\caption{<|和文見出し\|>}|} +\hbox{\|\ecaption{<|英文見出し\|>}|} +\hbox{\|\label{| $\ldots$ \|}|} +\hbox{\|\end{figure}|} +} +\centerline{\fbox{\box0}} +\caption{1段幅の図} +\ecaption{Single column figure with caption\\ +explicitly broken by $\backslash\backslash$.} +\label{fig:single} +\end{figure} + + +%4.5 +\subsection{図} + +1段の幅におさまる図は, +\figref{fig:single} の形式で指定する. +位置の指定に \|h| は使わない. +また,図の下に和文と英文の双方の見出しを, +\|\caption| と \|\ecaption| で指定する. +文字数が多い見出しはは自動的に改行して最大幅の行を基準にセンタリングするが, +見出しが2行になる場合には適宜 \|\\| を挿入して改行したほうが +良い結果となることがしばしばある(\figref{fig:single} の英文見出しを参照). +図の参照は \|\figref{<|ラベル\|>}| を用いて行なう. + + + + + +また紙面スペースの節約のために, +1つの \|figure|(または \|table|)環境の中に複数の図表を並べて表示したい場合には, +\figref{fig:left} と \tabref{tab:right} のように個々の +図表と各々の \|\caption|/\|\ecaption| を \|minipage| 環境に入れることで実現できる. +なお図と表が混在する場合, +\|minipage| 環境の中で\|\CaptionType{figure}| あるいは \|\CaptionType| \|{table}| を指定すれば, +外側の環境が \|figure| であっても \|table| であっても指定された見出しが得られる. + + + +\begin{figure}[tb] +\begin{minipage}[t]{0.5\columnwidth} +\footnotesize +\setbox0\vbox{ +\hbox{\|\begin{minipage}[t]%|} +\hbox{\| {0.5\columnwidth}|} +\hbox{\|\CaptionType{table}|} +\hbox{\|\caption{| \ldots \|}|} +\hbox{\|\ecaption{| \ldots \|}|} +\hbox{\|\label{| \ldots \|}|} +\hbox{\|\makebox[\textwidth][c]{%|} +\hbox{\|\begin{tabular}[t]{lcr}|} +\hbox{\|\hline\hline|} +\hbox{\|left¢er&right\\\hline|} +\hbox{\|L1&C1&R1\\|} +\hbox{\|L2&C2&R2\\\hline|} +\hbox{\|\end{tabular}}|} +\hbox{\|\end{minipage}|}} +\hbox{} +\centerline{\fbox{\box0}} +\caption{\protect\tabref*{tab:right} の中身} +\ecaption{Contents of table \protect\ref{tab:right}.} +\label{fig:left} +\end{minipage}% +\begin{minipage}[t]{0.5\columnwidth} +\CaptionType{table} +\caption{\protect\figref*{fig:left} で作成した表} +\ecaption{A table built by\\ Fig.\,\protect\ref{fig:left}.} +\label{tab:right} +\vskip1mm +\makebox[\textwidth][c]{\begin{tabular}[t]{lcr}\hline\hline +left¢er&right\\\hline +L1&C1&R1\\ +L2&C2&R2\\\hline +\end{tabular}} +\end{minipage} +\end{figure} + +\begin{figure*}[tb] +\setbox0\vbox{\large +\hbox{\|\begin{figure*}[t]|} +\hbox{\quad \|<|図本体の指定\|>|} +\hbox{\|\caption{<|和文見出し\|>}|} +\hbox{\|\ecaption{<|英文見出し\|>}|} +\hbox{\|\label{| $\ldots$ \|}|} +\hbox{\|\end{figure*}|}} +\centerline{\fbox{\hbox to.9\textwidth{\hss\box0\hss}}} +\caption{2段幅の図} +\ecaption{Double column figure.} +\label{fig:double} +%\vspace*{-2.5mm} +\end{figure*} + + +2段の幅にまたがる図は, +\figref{fig:double} の形式で指定する. +位置の指定は \|t| しか使えない. +図の中身では本文と違い, +どのような大きさのフォントを使用しても構わない(\figref{fig:double} 参照). +また図の中身として, +encapsulate されたPostScriptファイル(いわゆるEPSファイル)を読み込むこともできる. +読み込みのためには,プリアンブルで +% +\begin{quote} +\|\usepackage{graphicx}| +\end{quote} +% +を行った上で, +\|\includegraphics| コマンドを図を埋め込む箇所に置き, +その引数にファイル名(など)を指定する. + + + + +%4.6 +\subsection{表} + +表の罫線はなるべく少なくするのが, +仕上がりをすっきりさせるコツである. +罫線をつける場合には,一番上の罫線には二重線を使い, +左右の端には縦の罫線をつけない (\tabref{tab:example}). +表中のフォントサイズのデフォルトは\|\footnotesize|である. + + +また,表の上に和文と英文の双方の見出しを, + \|\caption|と \|\ecaption| で指定する. +表の参照は \|\tabref{<|ラベル\|>}| を用いて行なう. + + + +\begin{table}[tb] +\caption{表の例} +\ecaption{An example of table.} +\label{tab:example} +\hbox to\hsize{\hfil +\begin{tabular}{l|lll}\hline\hline +& column1 & column2 & column3 \\\hline +row1 & item 1,1 & item 2,1 & ---\\ +row2 & --- & item 2,2 & item 3,2 \\ +row3 & item 1,3 & item 2,3 & item 3,3 \\ +row4 & item 1,4 & item 2,4 & item 3,4 \\\hline +\end{tabular}\hfil} +\end{table} + + + +%4.7 +\subsection{参考文献・謝辞} + +%4.7.1 +\subsubsection{参考文献の参照} + +本文中で参考文献を参照する場合には\|\cite|を使用する. +参照されたラベルは自動的にソートされ, +\|[]|でそれぞれ区切られる. +% +\begin{quote} +文献 \|\cite{companion,okumura}| は \LaTeX の総合的な解説書である. +\end{quote} +% +と書くと; +% +\begin{quote} +文献\cite{companion,okumura}は \LaTeX の総合的な解説書である. +\end{quote} +% +が得られる. + +%4.7.2 +\subsubsection{参考文献リスト} +参考文献リストには, +原則として本文中で引用した文献のみを列挙する. +順序は参照順あるいは第一著者の苗字のアルファベット順とする. +文献リストはBiB\TeX と\verb+ipsjunsrt.bst+(参照順) +または\verb+ipsjsort.bst+(アルファベット順)を用いて作り, +\verb+\bibliograhpystyle+と\verb+\bibliography+コマンドにより +利用することが出来る. +これらを用いれば, +規定の体裁にあったものができるので, +できるだけ利用していただきたい. +また製版用のファイル群には\verb+.bib+ファイルではなく\verb+.bbl+ファイルを +必ず含めることに注意されたい. +一方,何らかの理由でthebibliography環境で文献リストを +「手作り」しなければならない場合は, +このガイドの参考文献リストを注意深く見て, +そのスタイルにしたがっていただきたい. + + + +%4.7.3 +\subsubsection{謝辞} + +謝辞がある場合には,参考文献リストの直前に置き,\|acknowledgment|環境の中に入れる. + + +%4.8 +\subsection{著者紹介} + + + +本文の最後(\|\end{document}| の直前)に,以下のように著者紹介を記述する. +\begin{quote} +\|\begin{biography}|\\ +\|\profile{m}{<|第一著者名\|>}{|第一著者の紹介\|}|\\ +\|\profile{m,F}{<|第二著者名\|>}{|第二著者の紹介\|}|\\ +\|\profile{m}{<|$\dots$\|>}{|$ldots$\|}|\\ +\|\end{biography}| +\end{quote} +なお最初の引数を変えることで,会員種別が変わる. +\begin{quote} +\|名誉会員 :h|\\ +\|正会員 :m|\\ +\|学生会員 :s|\\ +\|ジュニア会員 :j|\\ +\|非会員 :n| +\end{quote} +また会員種別と同時に,称号を表記することもできる. +\begin{quote} +\|フェロー :F|\\ +\|シニア会員 :E|\\ +\|終身会員 :L| +\end{quote} +なお称号は著者紹介の末尾に表記される. + + +著者紹介用の写真は縦30ミリ×横25ミリのサイズにて使用する. +頭の一部が切れているものや背景と顔の輪郭が区別しにくいものなどは避け, +背景は無いもの,または薄い色のものを使用するのが望ましい. +なお写真データは,解像度300dpi以上,100万画素以上のカメラを使用したデータを推奨する. +電子データを用意できない場合は,証明写真を送付されたい. +また,著者紹介用写真は組版を行う際に印刷業者で取り込むため, +原稿作成時に写真を取り込む必要はない. + + +%5 +\section{論文内容に関する指針} + +論文の内容について, +論文誌ジャーナル編集委員会で作成した「べからず集」を以下に示す. +投稿前のチェックリストとして利用頂きたい. +これ以外にも,査読者用,メタ査読者用の「べからず集」\cite{webpage2}も公開しているので, +参照されたい. +また,作文技術に関する \cite{book1, book2, book3, book4}のような書籍も参考になる. + + + +%5.1 +\subsection{書き方の基本} + +\begin{itemize} + \item[$\Box$] 研究の新規性,有用性,信頼性が読者に伝わるように記述する. + \item[$\Box$] 読み手に,読みやすい文章を心がける(内容が前後する,背景・ + 課題の設定が不明瞭などは読者にとって負担). + \item[$\Box$] 解決すべき問題が汎用化(一般的に記述)されていないのは再 + 考を要する(XX大学の問題という記述に終始).あるいは, + (単に「作りました」だけで)解決すべき問題そのものの記述 + がないのは再考を要する. + \item[$\Box$] 結論が明確に記されていない,または,範囲,限界,問題点な + どの指摘が適切ではない,または,結論が内容にそったもので + はないものは再考を要する. + \item[$\Box$] 科学技術論文として不適当な表現や,分かりにくい表現がある + のは再考を要する. + \item[$\Box$] 極端な口語体や,長文の連続などは再考を要する. + \item[$\Box$] 章,節のたて方,全体の構成等が適切でない文章は再考を要す + る. + \item[$\Box$] 文中の文脈から推測しないと内容の把握が困難な論文にしない. + \item[$\Box$] 説明に飛躍した点があり,仮説等の説明が十分ではないのは再 + 考を要する. + \item[$\Box$] 説明に冗長な点,逆に簡単すぎる点があるのは再考を要する. + \item[$\Box$] 未定義語を減らす. +\end{itemize}\unskip + + +%5.2 +\subsection{新規性と有効性を明確に示す} + +\begin{itemize} + \item[$\Box$] 在来研究との関連,研究の動機,\pagebreak%%% + ねらい等が明確に説明されていないのは再考を要する. + \item[$\Box$] 既知/公知の技術が何であって,何を新しいアイデアとして提 + 案しているのかが書かれていないのは再考を要する. + \item[$\Box$] 十分な参考文献は新規性の主張に欠かせない. + \item[$\Box$] 提案内容の説明が,概念的または抽象的な水準に終始していて, + 読者が提案内容を理解できない(それだけで新規性が感じられ + ないもの)のは再考を要する. + \item[$\Box$] 論文で提案した方法の有効性の主張がない,またはきわめて貧 + 弱なのは再考を要する. +\end{itemize} + +%5.3 +\subsection{書き方に関する具体的な注意} + +\begin{itemize} + \item[$\Box$] 和文標題が内容を適切に表現していないのは再考を要する. + \item[$\Box$] 英文標題が内容を適切に表現していない,または英語として適 + 切でないのは再考を要する. + \item[$\Box$] アブストラクトが主旨を適切に表現していない,または英文が + 適切ではないのは再考を要する. + \item[$\Box$] 記号・略号等が周知のものでなく,または,用語が適切でなく, + または,図・表の説明が適当ではないのは再考を要する. + \item[$\Box$] 個人的あるいは非常に小さなグループ/企業だけで通用するよ + うな用語が特別な説明もなしに多用されているのは再考を要す + る. + \item[$\Box$] 図表自体は十分に明確ではない,または誤りがあるのは再考を + 要する. + \item[$\Box$] 図表が鮮明ではないのは再考を要する. + \item[$\Box$] 図表が大きさ,縮尺の指定が適切でないのは再考を要する. +\end{itemize} + +%5.4 +\subsection{参考文献} + +\begin{itemize} + \item[$\Box$] 参考文献は10件以上必要(分野によっては20件以上,30件以上 + という意見もある). + \item[$\Box$] 十分な参考文献は新規性の主張に欠かせない. + \item[$\Box$] 適切な文献が引用されておらず,その数も適切ではないのは再 + 考を要する. + \item[$\Box$] 日本人によるしかるべき論文を引用することで日本人研究コミュ + ニティの発展につながる. + \item[$\Box$] 参考文献は自分のものばかりではだめ. +\end{itemize} + +%5.5 +\subsection{二重投稿} + +\begin{itemize} + \item[$\Box$] 二重投稿はしてはならない ─ ただし国際会議に採択された論 + 文を著作権が問題にならないように投稿することは構わない. + \item[$\Box$] 他の論文とまったく同じ図表を引用の明示なしに利用すること + は禁止. + \item[$\Box$] 既発表の論文等との間に重複があるのは再考を要する. +\end{itemize} + +\newpage%% + +%5.6 +\subsection{他の人に読んでもらう} + +\begin{itemize} + \item[$\Box$] 投稿経験が少ない人は,採録された経験の豊富な人に校正して + もらう. + \item[$\Box$] 読者の立場から見て論理的な飛躍がないかに注意して記述する. +\end{itemize} + +%5.7 +\subsection{その他} + +\begin{itemize} + \item[$\Box$] 条件付採録後の修正で,採録条件以外を理由もなく修正するこ + とは禁止. + \item[$\Box$] 査読者を選べない. + \item[$\Box$] 投稿前にチェックリストの各項目を満たしているか,必ず確認 + する. +\end{itemize} + +%6 +\section{おわりに} + +本稿では,A4縦型2段組み用に変更したスタイルファイルを用いた論文のフォーマット方法と, +論文誌ジャーナル編集委員会がまとめた「べからず集」に基づく論文の書き方を示した. +内容的にまだ不十分の部分が多いため,意見,要望等を +\begin{quote} + \|editt@ipsj.or.jp| +\end{quote} +までお寄せ頂きたい. + + + +\begin{acknowledgment} +A4横型に対するガイドを基に,本稿を作成した. +クラスファイルの作成においては, +京都大学の中島 浩氏にさまざまなご教示を頂き, +さらにBiB\TeX 関連ファイルの利用についても快諾頂いたことを深謝する. +また,A4横型に対するガイドを作成された当時の編集委員会の担当者に深謝する. +\end{acknowledgment} + +\begin{thebibliography}{9} +\bibitem{okumura} +奥村晴彦:改訂第5版 \LaTeXe 美文書作成入門, +技術評論社(2010). + +\bibitem{companion} +Goossens, M., Mittelbach, F. and Samarin, A.: {\it The LaTeX Companion}, +Addison Wesley, Reading, Massachusetts (1993). + +\bibitem{book1} +木下是雄: +理科系の作文技術, +中公新書(1981). + +\bibitem{book2} +Strunk, W.J. and White, E.B.: {\it The Elements of Style, Forth Edition}, +Longman (2000). + +\bibitem{book3} +Blake, G. and Bly, R.W.: {\it The Elements of Technical Writing}, +Longman (1993). + +\bibitem{book4} +Higham, N.J.: +{\it Handbook of Writing for the Mathematical Sciences}, +SIAM (1998). + +\bibitem{webpage1} +情報処理学会論文誌ジャーナル編集委員会: +投稿者マニュアル(オンライン), +\urlj{http://www.ipsj.or.jp/journal/ submit/manual/j\_manual.html}% +\refdatej{2007-04-05}. + +\bibitem{webpage2} +情報処理学会論文誌ジャーナル編集委員会: +べからず集(オンライン), +\urlj{http://www.ipsj.or.jp/journal/\\ manual/bekarazu.html}% +\refdatej{2011-09-15}. + +\end{thebibliography} + + + + +\appendix +%A.1 +\section{付録の書き方} + +付録がある場合には,参考文献リストの直後にコマンド \|\appendix| に引き続いて書く. +付録では,\|\section| コマンドが{\bf A.1},{\bf A.2}などの見出しを生成する. + + +%A.1.1 +\subsection{見出しの例} + +付録の \|\subsetion| ではこのよう見出しになる. + +%A.2 +\section{論文誌トランザクション用コマンド} +\label{sig} + +論文誌トランザクションには各々に固有のサブタイトル,略称,通番がある. +最終原稿では,以下のコマンドを \|\documentclass| の{\bf オプション}とすることで, +これらの情報を与える. + +\begin{itemize} +\item \|PRO|(プログラミング) +\item \|TOM|(数理モデル化と応用) +\item \|TOD|(データベース) +\item \|ACS|(コンピューティングシステム) +\item \|CDS|(コンシューマ・デバイス\,\&\,システム) +\item \|DCON|(デジタルコンテンツ) +\item \|TCE|(教育とコンピュータ) +\item \|TBIO|(Bioinformatics)\footnote{% +TBIO, SLDM, CVAは英文論文誌であるので和名はない.} +\item \|SLDM|(System LSI Design Methodology)\footnotemark[4] +\item \|CVA|(Computer Vision and Applicaitons)\footnotemark[4] +\end{itemize} + +また英文論文作成の際には \|english| をオプションに追加すればよい. +したがって, +\|\documentclass[PRO]{ipsj}| とすれば「プログラミング」の和文用, +\|\documentclass[PRO,english]| \|{ipsj}| とすれば英文用となる. + + +また論文誌トランザクションには「号」と連動しない「発行月」があるため, +学会あるいは編集委員会の指示に基づき,発行月を +% +\begin{itemize}\item[] +\|\setcounter{|{\bf 月数}\|}{<発行月>}| +\end{itemize} +% +によって指定する. + +この他,以下の各節で示すように, +いくつかの論文誌に固有の機能を実現するためのコマンドなどが用意されている. + + + +%A.3 +\section{各論文誌トランザクション固有コマンド} + +各論文誌トランザクションによってそれぞれ細かい仕様が違うため, +同じコマンドでも出力結果が異なる場合がある. +また「再受付」,「再々受付」が入る場合があり,それらは + +\noindent +和文では +\begin{itemize}\item[] +\|\|{\bf 再受付}\|{<年>}{<月>}{<日>}|\\ +\|\|{\bf 再再受付}\|{<年>}{<月>}{<日>}| +\end{itemize} +英文では +\begin{itemize}\item[] +\|\|{\bf rereceived}\|{<年>}{<月>}{<日>}|\\ +\|\|{\bf rerereceived}\|{<年>}{<月>}{<日>}| +\end{itemize} +とプリアンブルに追加する. + +%A.3.1 +\subsection{\<「プログラミング(PRO)」固有機能} + +\<「論文誌:プログラミング」には論文以外に, +プログラミング研究会での研究発表の内容梗概が含まれている. +この内容梗概は,\|\documentclass|のオプションとして\|abstract|を指定する. +\ref{config}~節の\|\maketitle|までの内容からなるファイル +(すなわち本文がないファイル)から生成する.なお\|\|{\bf 受付}や\|\|{\bf 採録}は不要であるが, +代わりに発表年月日を, + + +\noindent +和文では +\begin{itemize}\item[] +\|\|{\bf 発表}\|{<年>}{<月>}{<日>}| +\end{itemize} +英文では +\begin{itemize}\item[] +\|\|{\bf Presented}\|{<年>}{<月>}{<日>}| +\end{itemize} +により指定する. + +%A.3.2 +\subsection{\<「データベース(TOD)」固有機能} + +\<「論文誌:データベース」の論文の担当編集委員は, +\begin{itemize}\item[] +\|\Editor{<氏名>}| +\end{itemize} +により指定する.和文では「担当編集委員」,英文では「Editor in Charge:」 +と入る. + +またスタイルの変更に伴い,\underline{本文の最後}に入るので, +\|\end{document}|の前に直接置く. + + + + +%A.3.3 +\subsection{\<「コンシューマ・デバイス\,\&\,システム(CDS)」固有機能} + +\<「論文誌:コンシューマ・デバイス\,\&\,システム」では, +論文の種類によって見出しが変わるため, +オプションで切替えを行う. + +各種別は +\begin{itemize} +\item \|systems |コンシューマ・システム論文\\ +\| |Paper on Consumer Systems + +\item \|services |コンシューマ・サービス論文\\ +\| |Paper on Consumer Services + +\item \|devices |コンシューマ・デバイス論文\\ +\| |Paper on Consumer Devices + +\item \|Research |研究論文\\ +\| |Research Paper +\end{itemize} +となる. + +和文のコンシューマ・システム論文なら,\\ +\|\documentclass[CDS,systems]{ipsj}| +となり,英文原稿なら \|english|を追加すればよい. + + + +%A.3.4 +\subsection{\<「デジタルコンテンツ(DCON)」固有機能} + +\<「論文誌:デジタルコンテンツ」では, +論文の種類によって見出しが変わるため, +オプションで切替えを行う. + +各種別は +\begin{itemize} +\item \|Research |研究論文\\ +\| |Research Paper + +\item \|Practice |産業論文\\ +\| |Practice Paper + +\item \|Content |作品論文\\ +\| |Content Paper +\end{itemize} +となる. + +和文の研究論文なら,\\ +\|\documentclass[DC,Research]{ipsj}| +となり,英文原稿なら \|english|を追加すればよい. + + + + +%A.3.5 +\subsection{\<「教育とコンピュータ(TCE)」固有機能} + +\<「論文誌\:教育とコンピュータ」では,論文の種類によって見出しが変わるため, +オプションで切替えを行う. + +各種別は +\begin{itemize} +\item \makebox[9.8zw][l]{指定なし}論文 + +\| |Regular Paper + +\item \makebox[9.8zw][l]{{\tt Short}}ショートペーパー + +\| |Short Paper + +\end{itemize} +となる. + +和文のショートペーパーなら,\\ +\|/documentclass[TCE,Short]{ipsj}| +となり,英文原稿なら\|english|を追加すればよい. + + + +%A.3.6 +\subsection{\<「Bioinformatics(TBIO)」固有機能} + +Trans.\ Bioinformatics (TBIO)は英文論文誌であるので,\|TBIO|オプションの +指定によって自動的に\|english|オプションが指定されたものとみなされ, +\|english| オプションの省略が可能. + +論文種別は以下の3種. +\begin{itemize} +\item \makebox[4.9zw][l]{指定なし} Original Paper (Default) +\item \|Data | Database/Software Paper +\item \|Survey | Survey Paper +\end{itemize} + +\|\documentclass[TBIO]{ipsj}|でOriginal Paper,\\ +\|\documentclass[TBIO,Survey]{ipsj}|でSurvey Paperとなる. + +また,担当編集委員はTOD同様,\|\Editor|で定義するが,「Communicated by」 +となる.TOD同様,\|\end{document}|の前に直接置く. + +%A.3.7 +\subsection{\<「Computer Vision and Applicaitons\\\<(CVA)」固有機能} + +Trans.\ CVAも英文論文誌であるため,\|english| オプションの省略が可. + +論文種別は4種類あり, +\begin{itemize} +\item \makebox[4.9zw][l]{指定なし} Regular Paper (Default) +\item \|Research | Research Paper +\item \|system | Systems Paper +\item \|Express | Express Paper +\end{itemize} +となる. + +TBIO同様,担当編集委員が入り, +挿入文章もTBIO同様,「Communicated by」となる. + +また,Express Paperでは著者紹介(\|\profile|)は不要のため,記述する必要はない. + + + +%A.3.8 +\subsection{\<「System LSI Design Methodology(SLDM)」固有機能} + +Trans.\ SLDMも英文論文誌であるため,\|english| オプションの省略が可. + +論文種別は2種類あり, +\begin{itemize} +\item \makebox[4.9zw][l]{指定なし} Regular Paper (Default) +\item \|Short | Short Paper +\end{itemize} +となる. + + +SLDMも担当編集委員が入るが挿入文章が論文によって自動挿入文章が異なる. + +通常は「Recommended by Associate Editor:」,\|invited|のオプションが入った場合のみ, +「Invited by Editor-in-Chief:」となる. + + + + +\begin{biography} +\profile{m,E}{情報 太郎}{1970年生.1992年情報処理大学理学部情報科学科卒業. +1994年同大学大学院修士課程修了.同年情報処理学会入社.オンライン出版の研究 +に従事.電子情報通信学会,IEEE,ACM 各会員.} +% +\profile{n}{処理 花子}{1960年生.1982年情報処理大学理学部情報科学科卒業. +1984年同大学大学院修士課程修了.1987年同博士課程修了.理学博士.1987年情報処 +理大学助手.1992年架空大学助教授.1997年同大教授.オンライン出版の研究 +に従事.2010年情報処理記念賞受賞.電子情報通信学会,IEEE,IEEE-CS,ACM +各会員.} +% +\profile{h,L}{学会 次郎}{1950年生.1974年架空大学大学院修士課程修了. +1987年同博士課程修了.工学博士.1977年架空大学助手.1992年情報処理大学助 +教授.1987年同大教授.2000年から情報処理学会顧問.オンライン出版の研究 +に従事.2010年情報処理記念賞受賞.情報処理学会理事.電子情報通信学会, +IEEE,IEEE-CS,ACM 各会員.} +\end{biography} + + + +\end{document}